Horologium ist ein einfaches GO -Bibliotheks- und Befehlszeilen -Tool, mit dem Verbrauch und Kosten im Auge behalten können. Derzeit befasst es sich hauptsächlich um Verbrauchsmaterialien, die von Metern in Rechnung gestellt werden, z. B. Kraft, Wasser,….
Die Befehlszeilen -App ist ein einfaches Tool, um in den letzten Monaten einen Überblick über die Kosten und den Verbrauch zu erhalten:
$ > horologium -lastMonths 6 powerConsumption.yml
| MONTH | YEAR | CONSUMPTION | COSTS |
| ----------- | ------ | ------------- | --------- |
| January | 2020 | 22.11 | 1987.52 |
| February | | 33.59 | 2292.43 |
| March | | 48.41 | 2686.05 |
| April | | 44.59 | 2584.59 |
| May | | 48.61 | 2691.36 |
| June | | 66.58 | 3168.64 |
| July | | 0.00 | 1400.28 |
Das obige Beispiel wurde im Juli 2020 ausgeführt, daher werden die letzten sechs Monate bewertet.
Die Messwerte und Preispläne müssen in einer YAML -Datei mit dem folgenden Format angegeben werden:
name : " A pseudo power consumption for testing "
consumptionFormat : " %.2f " # Optional, defaults to %.2f
currencyFormat : " %.2f " # Optional, defaults to %.2f
plans :
- {name: 2018, basePrice: 1241.34, unitPrice: 26.32, validFrom: "2018-01-01", validTo: "2018-01-01"}
- {name: 2019, basePrice: 1341.12, unitPrice: 27.28, validFrom: "2019-01-01", validTo: "2019-01-01"}
- {name: 2020, basePrice: 1400.28, unitPrice: 26.56, validFrom: "2020-01-01", validTo: "2020-01-01"}
readings :
- {date: 2019-12-01, count: 1104.25}
- {date: 2020-01-01, count: 1201.23}
- {date: 2020-02-01, count: 1223.34}
- {date: 2020-03-01, count: 1256.93}
- {date: 2020-04-01, count: 1305.34}
- {date: 2020-05-01, count: 1349.93}
- {date: 2020-06-01, count: 1398.54}
- {date: 2020-07-01, count: 1465.12}In der Regel wird der Datei jeden Monat jeden Monat eine Messvorlage hinzugefügt (mit einem externen Editor).
Diese App interpretiert die Daten als zu Beginn des Tages. Daher erstreckt sich die Reichweite 2020-01-04 bis 2020-01-06 von 48 Stunden vom 4. Januar 0:00 bis 5. Januar, 24:00 Uhr oder 6. Januar, 0:00 Uhr.
Der Code kann auch in einem anderen GO -Programm als Bibliothek verwendet werden. Die exportierten Funktionen sind vollständig dokumentiert.
Dies ist ein Hobbyprojekt von mir. Es gibt einige Dinge, die ich gerne verbessern und hinzufügen möchte, ich weiß nicht, wann oder ob dies passieren wird.