modified: .gitignore
modified: src/CHANGELOG.md modified: src/Dockerfile modified: src/INSTALL.md modified: src/README.md modified: src/api.py modified: src/config.yaml deleted: src/cron.py modified: src/img/grafana_02.png modified: src/img/grafana_03.png modified: src/img/grafana_06.png deleted: src/img/grafana_07.png renamed: srcdev/img/grafana_08.png -> src/img/grafana_08.png renamed: srcdev/img/grafana_09.png -> src/img/grafana_09.png renamed: srcdev/img/grafana_10.png -> src/img/grafana_10.png renamed: srcdev/log_config.py -> src/log_config.py modified: src/main.py modified: src/moj_licznik.py renamed: srcdev/run.py -> src/run.py modified: src/run.sh deleted: srcdev/CHANGELOG.md deleted: srcdev/Dockerfile deleted: srcdev/INSTALL.md deleted: srcdev/README.md deleted: srcdev/api.py deleted: srcdev/config.yaml deleted: srcdev/cron.py deleted: srcdev/icon.png deleted: srcdev/img/addon.png deleted: srcdev/img/grafana_01.png deleted: srcdev/img/grafana_02.png deleted: srcdev/img/grafana_03.png deleted: srcdev/img/grafana_04.png deleted: srcdev/img/grafana_05.png deleted: srcdev/img/grafana_06.png deleted: srcdev/logo.png deleted: srcdev/main.py deleted: srcdev/moj_licznik.py deleted: srcdev/requirements.txt deleted: srcdev/run.sh
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
[](https://www.home-assistant.io/)
|
||||
# [Energa meter](https://github.com/tcich/ha-addon-energa-meter) Home Assistant add-on
|
||||
# Wersja podstawowa
|
||||
# Wersja dev
|
||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
|
||||
[armv6-shield]: https://img.shields.io/badge/armv6-yes-green.svg
|
||||
@@ -12,13 +12,19 @@
|
||||
![armv7-shield]
|
||||
![i386-shield]
|
||||
|
||||
<a href="https://buycoffee.to/tcich"><img src="../img/logo-buycoffee-wide.jpg" width=200 alt="Postaw kawę"></a>
|
||||
|
||||
[kawa-logo]: https://github.com/tcich/ha-addon-energa-meter/blob/main/img/buycoffeeto-btn-primary-outline.png
|
||||
[kawa]: https://buycoffee.to/tcich
|
||||
|
||||
<a href="https://buycoffee.to/tcich"><img src="../img/logo-buycoffee-wide.jpg" width=200 alt="Postaw kawę"></a>
|
||||
|
||||
## O dodatku
|
||||
|
||||
To jest dodatek dla [Home Assistant](https://www.home-assistant.io/). Instalacja dodatku [Energa meter](https://github.com/tcich/ha-addon-energa-meter) umożliwia cykliczne pobieranie danych z aplikacji [Mój Licznik - Energa](https://mojlicznik.energa-operator.pl) udostępnianej klientom Operatora energetycznego Energa.
|
||||
|
||||
### Wersja dev
|
||||
Wersja dev jest wersją developeską, nie należy jej używać w produkcyjnej wersji HA, może powodować różne problemy, może nie działać.
|
||||
|
||||
## Instalacja
|
||||
1) Dodaj repozytorium do repozytoriów dodatków swojego HA za pomocą poniższego przycisku
|
||||
|
||||
@@ -47,59 +53,53 @@ Wymagane parametry:
|
||||
|
||||
|
||||
## Konfiguracja sensorów
|
||||
Do HA możesz dodać sensory, które zawierają informacje udostępniane przez API
|
||||
|
||||
Poniższa instrukcja zawiera założenia:
|
||||
* dodatek jest dostępny pod adresem *localhost* na porcie *8000*
|
||||
* ID Twojego licznika to *123456789*
|
||||
|
||||
1) Ustal ID Twoich liczników, w tym celu przejdź do adresu Twojego HA na porcie 8000 lub innym jeźeli zmieniłeś go w konfiguracji, np. http://192.168.1.10:8000 wyświetli się w formacie json lista dostępnych liczników.
|
||||
2) W pliku configuration.yaml w HA dodaj następującą konfigurację np.:
|
||||
|
||||
```
|
||||
sensor:
|
||||
- platform: rest
|
||||
resource: http://localhost:8000/meters/12335379
|
||||
name: "Energia aktualna T1"
|
||||
unique_id: 12335379_sumz1
|
||||
resource: http://localhost:8000/123456789/A%2B/1
|
||||
name: "A+ Taryfa 1"
|
||||
unique_id: 123456789_apt1
|
||||
unit_of_measurement: "kWh"
|
||||
value_template: "{{ value_json.meter.zone1.meter | round(2) }}"
|
||||
value_template: "{{ value_json.countner.meter_value | round(2) }}"
|
||||
- platform: rest
|
||||
resource: http://localhost:8000/meters/12335379
|
||||
name: "Dzienny odczyt licznika"
|
||||
unique_id: 12335379_meterz1
|
||||
resource: http://localhost:8000/123456789/A%2B/2
|
||||
name: "A+ Taryfa 2"
|
||||
unique_id: 123456789_apt2
|
||||
unit_of_measurement: "kWh"
|
||||
value_template: "{{ value_json.meter.zone1.sum | round(2) }}"
|
||||
- platform: rest
|
||||
resource: http://localhost:8000/meters/12335379
|
||||
name: "Energia aktualna T2"
|
||||
unique_id: 12335379_sumz2
|
||||
unit_of_measurement: "kWh"
|
||||
value_template: "{{ value_json.meter.zone2.meter | round(2) }}"
|
||||
- platform: rest
|
||||
resource: http://localhost:8000/meters/12335379
|
||||
name: "Dzienny odczyt licznika"
|
||||
unique_id: 12335379_meterz2
|
||||
unit_of_measurement: "kWh"
|
||||
value_template: "{{ value_json.meter.zone2.sum | round(2) }}"
|
||||
value_template: "{{ value_json.countner.meter_value | round(2) }}"
|
||||
```
|
||||
|
||||
# Opis konfiguracji
|
||||
### Opis konfiguracji
|
||||
| element konfiguracji | Opis |
|
||||
|-------------------|-------------------|
|
||||
| resource: http://localhost:8000/meters/12335379 | Adres API z danymi konkretnego licznika, podajemy nazwę instancji dockera (**Nazwa hosta** z okna dodatku) lub localhost|
|
||||
| name: "Energia aktualna" | Nazwa sensora, wpisz dowolną|
|
||||
| resource: http://localhost:8000/123456789/A%2B/1 | Adres API z danymi konkretnego licznika, podajemy **localhost** lub nazwę instancji dockera (**Nazwa hosta** z okna dodatku), port, id licznika, rodzaj pomiaru, taryfa|
|
||||
| name: "A+ Taryfa 1" | Nazwa sensora, wpisz dowolną|
|
||||
| unique_id | Unikalny ID sensora, nie mogą być w systemie dwa sensory z tym samym ID|
|
||||
| unit_of_measurement: "kWh" | Jednostka miary, nie zmieniaj chyba, że wiesz co robisz|
|
||||
| value_template: "{{ value_json.meter.zone2.meter \| round(2) }}" | Zaokrąglony do dwóch miejsc po przecinku stan sensora|
|
||||
|
||||
# Opis konfiguracji cd
|
||||
| value_template | Opis |
|
||||
|-------------------|-------------------|
|
||||
| value_json.meter.zone1.sum | Suma licznika oraz dziennego zużycia dla tartfy1 (dostępne są: zone1, zone2, zone3)|
|
||||
| value_json.meter.zone2.meter | Stan licznika dziennego dla taryfy1 (dostępne są: zone1, zone2, zone3)|
|
||||
|
||||
| value_template: "{{ value_json.meter.countner.meter_value \| round(2) }}" | Zaokrąglony do dwóch miejsc po przecinku stan sensora|
|
||||
|
||||
## API dla wykresów, np. Grafana
|
||||
Aby pobrać dane z API w formacie JSON należy użyć adresu http://home_assistant:8000/charts/12729?start_date=1695332400129&end_date=1697924583285
|
||||
Aby pobrać dane z API w formacie JSON należy użyć adresu http://home_assistant:8000/charts/12729?start_date=1695332400129&end_date=1697924583285&mp=123456789&zone=1
|
||||
|
||||
gdzie:
|
||||
* 12729 - jest to ID licznika
|
||||
* start_date - początek okresu w milisekundach wg. standardu EPOCH (timestamp)
|
||||
* end_date - koniec okresu w milisekundach wg. standardu EPOCH (timestamp)
|
||||
### Opis konfiguracji
|
||||
| element konfiguracji | Opis |
|
||||
|-------------------|-------------------|
|
||||
| resource: http://localhost:8000/charts | Adres API z danymi do wykresów, podajemy **localhost** lub nazwę instancji dockera (**Nazwa hosta** z okna dodatku), port, id licznika, rodzaj pomiaru, taryfa|
|
||||
| start_date | data początkowa danych w formacie epoch (ms), domyślnie czas bieżący |
|
||||
| end_date | data końcowa danych w formacie epoch (ms), domyślnie czas bieżący - 1 dzień |
|
||||
| mp | numer licznika |
|
||||
| meter_type_url | typ licznika (np. A+: A%2B, A-: A- ) |
|
||||
| zone | numer strefy (np. 1, 2) |
|
||||
| negative | dodanie parametru z dowolną wartością powoduje, że pomiar jest wartością ujemną|
|
||||
|
||||
## Jak dodać wykres do Grafana
|
||||
### Źródło danych
|
||||
@@ -118,12 +118,13 @@ gdzie:
|
||||
1) Przechodzimy do Dashboards
|
||||
2) Klikamy New -> New dashboard -> Add visualization
|
||||
3) Wskazujemy Data source: ENERGA
|
||||
4) W **Path** wpisujemy: GET: /charts/12335379 (id Twojego licznika)
|
||||
4) W **Path** wpisujemy: GET: /charts
|
||||
|
||||
(id Twojego licznika)
|
||||
5) W **Fields** wpisujemy \$.charts\[\*\].czas typu Time oraz $.charts[*].value typu number z aliasem kWh
|
||||
5) W **Params** wpisujemy Key: start_date Value: $__from
|
||||
6) W **Params** wpisujemy Key: end_date Value: $__to
|
||||
|
||||
|
||||
<img src="img/grafana_06.png" style="width: 80%;" alt="Grafana">
|
||||
|
||||
<img src="img/grafana_02.png" style="width: 80%;" alt="Grafana">
|
||||
@@ -134,10 +135,23 @@ gdzie:
|
||||
|
||||
<img src="img/grafana_05.png" style="width: 80%;" alt="Grafana">
|
||||
|
||||
7) W **Params** wpisujemy Key: meter_type_url Value: A+ lub A- jeżeli mamy energię pobieraną i oddawaną, w takim przypadku tworzymy również oddzielne **Query** dla A+ i A-
|
||||
|
||||
<img src="img/grafana_07.png" style="width: 80%;" alt="Grafana">
|
||||
|
||||
8) W **Params** wpisujemy Key: negative Value: OK (może być dowolna wartość) jeżeli chcemy aby wykres był z wartościami ujemnymi (poniżej osi X)
|
||||
|
||||
<img src="img/grafana_08.png" style="width: 80%;" alt="Grafana">
|
||||
|
||||
9) W **Params** aby uzyskać bilans energii należy dodać **Transform**, przy czym wartość energii oddawanej powinna być jako energia ujemna (parametr negative)
|
||||
|
||||
<img src="img/grafana_09.png" style="width: 80%;" alt="Grafana">
|
||||
|
||||
<img src="img/grafana_10.png" style="width: 80%;" alt="Grafana">
|
||||
|
||||
## Znane problemy
|
||||
Czasami w aplikacji Mój Licznik włącza się captha (jeżeli masz dużo danych historycznych lub wielokrotnie instalujesz dodatek)
|
||||
Dane wytwórcy (energia oddana oraz bilans) nie są dostępne, prace w tym zakresie trwają.
|
||||
* Czasami w aplikacji Mój Licznik włącza się captha (jeżeli masz dużo danych historycznych lub wielokrotnie instalujesz dodatek) - należy poczekać kilka godzin, problem rozwiąże się sam
|
||||
|
||||
|
||||
## Uwagi
|
||||
Dostęp do aktualnej wersji API nie jest zabezpieczony tokenem
|
||||
|
||||
Reference in New Issue
Block a user