Horologium - это простой инструмент библиотеки и командной строки GO, который помогает отслеживать потребление и затраты. В настоящее время он в основном обращается к расходным материалам, выставленным счетчиками, например, властью, водой,….
Приложение Command Line - это простой инструмент для получения обзора затрат и потребления за последние месяцы:
$ > 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 |
Приведенный выше пример был выполнен в июле 2020 года, поэтому последние шесть месяцев оцениваются.
Показания счетчика и планы ценообразования должны быть предоставлены в файле YAML, имеющего следующий формат:
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}Как правило, каждый месяц в файл добавляется показания метра (с внешним редактором).
Это приложение интерпретирует даты как в начале дня. Таким образом, диапазон с 2020-01-04 до 2020-01-06 охватывает 48 часов, с 4 января до 5 января, 24:00 или января, 6:00.
Код также может быть использован в другой программе GO в качестве библиотеки. Экспортируемые функции полностью задокументированы.
Это мой хобби -проект. Есть некоторые вещи, которые я люблю улучшать и добавлять, я не знаю, когда и если это произойдет.