modified: README.md
renamed: .dockerignore -> docker/.dockerignore modified: repository.yaml modified: src.dev/README.md modified: src.dev/api.py modified: src.dev/config.yaml new file: src.dev/img/addon.png new file: src.dev/img/grafana_01.png new file: src.dev/img/grafana_02.png new file: src.dev/img/grafana_03.png new file: src.dev/img/grafana_04.png new file: src.dev/img/grafana_05.png new file: src.dev/img/grafana_06.png new file: src.dev/img/grafana_07.png modified: src.dev/rund.sh modified: src/README.md new file: src/img/addon.png new file: src/img/grafana_01.png new file: src/img/grafana_02.png new file: src/img/grafana_03.png new file: src/img/grafana_04.png new file: src/img/grafana_05.png new file: src/img/grafana_06.png new file: src/img/grafana_07.png
126
README.md
@@ -13,131 +13,43 @@
|
|||||||
![i386-shield]
|
![i386-shield]
|
||||||
|
|
||||||
|
|
||||||
[![Postaw kawę][kawa-logo]][kawa]
|
<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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## O dodatku
|
## 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
|
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.
|
||||||
|
* Udostępnia dane o aktualnym stanie licznika dla sensorów
|
||||||
|
* Udostępnia dane historyczne dla wykresów
|
||||||
|
|
||||||
## Instalacja
|
### Wersja podstawowa
|
||||||
1) Dodaj repozytorium do repozytoriów dodatków swojego HA za pomocą poniższego przycisku
|
Jest to głowna wersja. Więcej informacji [tutaj](src/README.md)
|
||||||
|
|
||||||
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Ftcich%2Fha-addon-energa-meter)
|
|
||||||
|
|
||||||
Lub zainstaluj manualnie z Ustawienia -> Dodatki -> Sklep z dodatkami -> ⁞ (Menu) -> Repozytoria -> Wpisz `https://github.com/tcich/hassio-mojlicznik` -> Dodaj. Następnie w ⁞ (Menu) -> Sprawdź aktualizacje (może być konieczne przeładowanie strony)
|
|
||||||
|
|
||||||
2) Odszukaj dodatek na liście dodatków w sklepie z dodatkami i zainstaluj go.
|
|
||||||
|
|
||||||
3) W zakładce konfiguracja uzupełnij nazwę użytkownika oraz hasło do aplikacji Mój Licznik, jeżeli potrzebujesz to zmień udostępniany port dla API
|
|
||||||
|
|
||||||
4) Przejdź do zakładki informacje i uruchom dodatek (pierwsze uruchomienie może trwać kilkanaście minut), jeżeli w logu pojawi się informacja *INFO: Czekam...* oznacza to, że pierwsze inicjalne pobieranie danych zostało ukończone.
|
|
||||||
|
|
||||||
|
### 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ć. Więcej informacji [tutaj](src.dev/README.md)
|
||||||
|
|
||||||
## Wersja Docker
|
## Wersja Docker
|
||||||
|
Aby ruchomić wersję docker należy skorzystać z polecenia poniżej
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -p 8000:8000 -e ENERGA_USERNAME=LoginEnerga -e ENERGA_PASSWORD=HasloEnerga tomcic/energa-meter:v0.1.0
|
docker run -p 8000:8000 -e ENERGA_USERNAME=LoginEnerga -e ENERGA_PASSWORD=HasloEnerga tomcic/energa-meter:v0.1.0
|
||||||
```
|
```
|
||||||
|
|
||||||
## Konfiguracja sensorów
|
Wymagane parametry:
|
||||||
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, możesz również odszukać ID w logu: *Licznik 12335379 istnieje w systemie*
|
|
||||||
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
|
|
||||||
unit_of_measurement: "kWh"
|
|
||||||
value_template: "{{ value_json.meter.zone1.meter | round(2) }}"
|
|
||||||
- platform: rest
|
|
||||||
resource: http://localhost:8000/meters/12335379
|
|
||||||
name: "Dzienny odczyt licznika"
|
|
||||||
unique_id: 12335379_meterz1
|
|
||||||
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) }}"
|
|
||||||
```
|
|
||||||
|
|
||||||
# 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ą|
|
|
||||||
| 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)|
|
|
||||||
|
|
||||||
|
|
||||||
## 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
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
## Jak dodać wykres do Grafana
|
|
||||||
### Źródło danych
|
|
||||||
1) Dodajemy źródło danych Home -> Data sources - Add new datasources: Wyszukujemy JSON API (jeżeli nie ma to musimy dodać)
|
|
||||||
2) NAME: ENERGA (1)
|
|
||||||
3) URL: http://twoj_addon:8000 (2)
|
|
||||||
4) Klikamy Save&test (3)
|
|
||||||
5) Uwaga: Jeżeli Grafana jest addonem w HA użyj właściwej nazwy hosta dostępnej w docker.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Dashboard
|
|
||||||
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)
|
|
||||||
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
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
* ENERGA_USERNAME - nazwa użytkownika w aplikacji Energa Mój licznik
|
||||||
|
* ENERGA_PASSWORD - hasło użytkownika w aplikacji Energa Mój licznik
|
||||||
|
|
||||||
## Znane problemy
|
## Znane problemy
|
||||||
Czasami w aplikacji Mój Licznik włącza się captha (jeżeli masz dużo danych historycznych lub wielokrotnie instalujesz dodatek)
|
* 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ą.
|
* Dane wytwórcy (energia oddana oraz bilans) nie są dostępne, prace w tym zakresie trwają.
|
||||||
|
|
||||||
## Uwagi
|
## Uwagi
|
||||||
Dostęp do aktualnej wersji API nie jest zabezpieczony tokenem
|
Dostęp do aktualnej wersji API nie jest zabezpieczony tokenem
|
||||||
Każde przeinstalowanie dodatku pobiera ponownie dane z aplikacji Mój Licznik
|
Każde przeinstalowanie dodatku pobiera ponownie dane z aplikacji Mój Licznik
|
||||||
|
|
||||||
[![Postaw kawę][kawa-logo]][kawa]
|
## Uwagi
|
||||||
|
Błędy można zgłaszać przez https://github.com/tcich/ha-addon-energa-meter/issues
|
||||||
|
|
||||||
|
<a href="https://buycoffee.to/tcich"><img src="img/logo-buycoffee-wide.jpg" width=200 alt="Postaw kawę"></a>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: EnergaMeter
|
- name: EnergaMeter
|
||||||
url: https://github.com/tcich/ha-addon-energa-meter
|
url: https://github.com/tcich/ha-addon-energa-meter/src
|
||||||
|
maintainer: TCICH <https://github.com/tcich/>
|
||||||
|
- name: EnergaMeter (dev)
|
||||||
|
url: https://github.com/tcich/ha-addon-energa-meter/src.dev
|
||||||
maintainer: TCICH <https://github.com/tcich/>
|
maintainer: TCICH <https://github.com/tcich/>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[](https://www.home-assistant.io/)
|
[](https://www.home-assistant.io/)
|
||||||
# [Energa meter](https://github.com/tcich/ha-addon-energa-meter) Home Assistant add-on
|
# [Energa meter](https://github.com/tcich/ha-addon-energa-meter) Home Assistant add-on
|
||||||
|
# Wersja dev
|
||||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||||
[amd64-shield]: https://img.shields.io/badge/amd64-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
|
[armv6-shield]: https://img.shields.io/badge/armv6-yes-green.svg
|
||||||
@@ -12,24 +12,135 @@
|
|||||||
![armv7-shield]
|
![armv7-shield]
|
||||||
![i386-shield]
|
![i386-shield]
|
||||||
|
|
||||||
**Podoba Ci się?** [Postaw kawę.](https://buycoffee.to/tcich)
|
|
||||||
|
|
||||||
|
|
||||||
|
[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
|
## 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, pobierane są zarówno aktualne stany liczników jak i dane historyczne. Dzieki temu możliwe jest generowanie wykresów oraz analiza danych z użyciem zaawansowanych narzędzi, np. Grafana
|
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.
|
||||||
|
|
||||||
## Możliwości:
|
### Wersja dev
|
||||||
* Obsługa liczników jako sensory
|
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ć.
|
||||||
* Wykresy w Grafana
|
|
||||||
|
|
||||||
## Instalacja
|
## Instalacja
|
||||||
|
1) Dodaj repozytorium do repozytoriów dodatków swojego HA za pomocą poniższego przycisku
|
||||||
|
|
||||||
Instrukcja instalacji jest dostępna pod adresem: [Instrukcja konfiguracji](https://github.com/tcich/ha-addon-energa-meter/blob/main/README.md)
|
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Ftcich%2Fha-addon-energa-meter)
|
||||||
|
|
||||||
## Motywacja
|
Lub zainstaluj manualnie z Ustawienia -> Dodatki -> Sklep z dodatkami -> ⁞ (Menu) -> Repozytoria -> Wpisz `https://github.com/tcich/hassio-mojlicznik` -> Dodaj. Następnie w ⁞ (Menu) -> Sprawdź aktualizacje (może być konieczne przeładowanie strony)
|
||||||
|
|
||||||
**Podoba Ci się?** [Postaw kawę.](https://buycoffee.to/tcich)
|
2) Odszukaj dodatek na liście dodatków w sklepie z dodatkami i zainstaluj go.
|
||||||
|
|
||||||
|
3) W zakładce konfiguracja uzupełnij nazwę użytkownika oraz hasło do aplikacji Mój Licznik, jeżeli potrzebujesz to zmień udostępniany port dla API
|
||||||
|
|
||||||
|
4) Przejdź do zakładki informacje i uruchom dodatek (pierwsze uruchomienie może trwać kilkanaście minut), jeżeli w logu pojawi się informacja *INFO: Czekam...* oznacza to, że pierwsze inicjalne pobieranie danych zostało ukończone.
|
||||||
|
|
||||||
|
|
||||||
|
## Wersja Docker
|
||||||
|
Aby ruchomić wersję docker należy skorzystać z polecenia poniżej
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -p 8000:8000 -e ENERGA_USERNAME=LoginEnerga -e ENERGA_PASSWORD=HasloEnerga tomcic/energa-meter:v0.1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
Wymagane parametry:
|
||||||
|
|
||||||
|
* ENERGA_USERNAME - nazwa użytkownika w aplikacji Energa Mój licznik
|
||||||
|
* ENERGA_PASSWORD - hasło użytkownika w aplikacji Energa Mój licznik
|
||||||
|
|
||||||
|
|
||||||
|
## 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/123456789/A%2B/1
|
||||||
|
name: "A+ Taryfa 1"
|
||||||
|
unique_id: 123456789_apt1
|
||||||
|
unit_of_measurement: "kWh"
|
||||||
|
value_template: "{{ value_json.countner.meter_value | round(2) }}"
|
||||||
|
- platform: rest
|
||||||
|
resource: http://localhost:8000/123456789/A%2B/2
|
||||||
|
name: "A+ Taryfa 2"
|
||||||
|
unique_id: 123456789_apt2
|
||||||
|
unit_of_measurement: "kWh"
|
||||||
|
value_template: "{{ value_json.countner.meter_value | round(2) }}"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Opis konfiguracji
|
||||||
|
| element konfiguracji | Opis |
|
||||||
|
|-------------------|-------------------|
|
||||||
|
| 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.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&mp=123456789&zone=1
|
||||||
|
|
||||||
|
### 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) |
|
||||||
|
|
||||||
|
## Jak dodać wykres do Grafana
|
||||||
|
### Źródło danych
|
||||||
|
1) Dodajemy źródło danych Home -> Data sources - Add new datasources: Wyszukujemy JSON API (jeżeli nie ma to musimy dodać)
|
||||||
|
2) NAME: ENERGA (1)
|
||||||
|
3) URL: http://twoj_addon:8000 (2)
|
||||||
|
4) Klikamy Save&test (3)
|
||||||
|
5) Uwaga: Jeżeli Grafana jest addonem w HA użyj właściwej nazwy hosta dostępnej w docker.
|
||||||
|
|
||||||
|
<img src="img/addon.png" style="width: 80%;" alt="Nazwa hosta">
|
||||||
|
|
||||||
|
<img src="img/grafana_01.png" style="width: 80%;" alt="Grafana źródło danych">
|
||||||
|
|
||||||
|
|
||||||
|
### Dashboard
|
||||||
|
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)
|
||||||
|
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">
|
||||||
|
|
||||||
|
<img src="img/grafana_03.png" style="width: 80%;" alt="Grafana">
|
||||||
|
|
||||||
|
<img src="img/grafana_04.png" style="width: 80%;" alt="Grafana">
|
||||||
|
|
||||||
|
<img src="img/grafana_05.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ą.
|
||||||
|
|
||||||
|
## Uwagi
|
||||||
|
Dostęp do aktualnej wersji API nie jest zabezpieczony tokenem
|
||||||
|
Każde przeinstalowanie dodatku pobiera ponownie dane z aplikacji Mój Licznik
|
||||||
|
|
||||||
|
<a href="https://buycoffee.to/tcich"><img src="../img/logo-buycoffee-wide.jpg" width=200 alt="Postaw kawę"></a>
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ def charts():
|
|||||||
start_date = request.args.get('start_date', start_time_unix*1000)
|
start_date = request.args.get('start_date', start_time_unix*1000)
|
||||||
end_date = request.args.get('end_date', current_time_unix*1000)
|
end_date = request.args.get('end_date', current_time_unix*1000)
|
||||||
mp = request.args.get('mp', None)
|
mp = request.args.get('mp', None)
|
||||||
meter_type = request.args.get('meter_type', None)
|
meter_type_url = request.args.get('meter_type_url', None)
|
||||||
zone = request.args.get('zone', None)
|
zone = request.args.get('zone', None)
|
||||||
|
|
||||||
query = MainChartTable.select().where((MainChartTable.tm >= int(start_date)) & (MainChartTable.tm <= int(end_date)))
|
query = MainChartTable.select().where((MainChartTable.tm >= int(start_date)) & (MainChartTable.tm <= int(end_date)))
|
||||||
@@ -210,8 +210,8 @@ def charts():
|
|||||||
if mp:
|
if mp:
|
||||||
query = query.where(MainChartTable.mp == mp)
|
query = query.where(MainChartTable.mp == mp)
|
||||||
|
|
||||||
if meter_type:
|
if meter_type_url:
|
||||||
query = query.where(MainChartTable.meter_type == meter_type)
|
query = query.where(MainChartTable.meter_type_url == meter_type_url)
|
||||||
|
|
||||||
if zone:
|
if zone:
|
||||||
query = query.where(MainChartTable.zone == zone)
|
query = query.where(MainChartTable.zone == zone)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
name: "Energa meter"
|
name: "Energa meter (dev)"
|
||||||
description: "Energa meter addon"
|
description: "Energa meter addon"
|
||||||
version: "0.1.3"
|
version: "0.1.3"
|
||||||
slug: "energa_meter"
|
slug: "energa_meter_dev"
|
||||||
init: false
|
init: false
|
||||||
options:
|
options:
|
||||||
energa_username: ""
|
energa_username: ""
|
||||||
|
|||||||
BIN
src.dev/img/addon.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
src.dev/img/grafana_01.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
src.dev/img/grafana_02.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
src.dev/img/grafana_03.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
src.dev/img/grafana_04.png
Normal file
|
After Width: | Height: | Size: 85 KiB |
BIN
src.dev/img/grafana_05.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
src.dev/img/grafana_06.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
src.dev/img/grafana_07.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
USERNAME="$ENERGA_USERNAME"
|
USERNAME="$ENERGA_USERNAME"
|
||||||
PASSWORD="$ENERGA_PASSWORD"
|
PASSWORD="$ENERGA_PASSWORD"
|
||||||
|
LOG_LEVEL="$LOG_LEVEL"
|
||||||
|
|
||||||
if [ -z "$USERNAME" ]; then
|
if [ -z "$USERNAME" ]; then
|
||||||
echo "Błąd: Zmienna ENERGA_USERNAME jest pusta. Proszę podać wartość."
|
echo "Błąd: Zmienna ENERGA_USERNAME jest pusta. Proszę podać wartość."
|
||||||
|
|||||||
136
src/README.md
@@ -1,6 +1,6 @@
|
|||||||
[](https://www.home-assistant.io/)
|
[](https://www.home-assistant.io/)
|
||||||
# [Energa meter](https://github.com/tcich/ha-addon-energa-meter) Home Assistant add-on
|
# [Energa meter](https://github.com/tcich/ha-addon-energa-meter) Home Assistant add-on
|
||||||
|
# Wersja podstawowa
|
||||||
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
|
||||||
[amd64-shield]: https://img.shields.io/badge/amd64-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
|
[armv6-shield]: https://img.shields.io/badge/armv6-yes-green.svg
|
||||||
@@ -12,22 +12,136 @@
|
|||||||
![armv7-shield]
|
![armv7-shield]
|
||||||
![i386-shield]
|
![i386-shield]
|
||||||
|
|
||||||
**Podoba Ci się?** [Postaw kawę.](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
|
## 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
|
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.
|
||||||
|
|
||||||
## Możliwości:
|
|
||||||
* Obsługa liczników jako sensory
|
|
||||||
* Wykresy w Grafana
|
|
||||||
|
|
||||||
## Instalacja
|
## Instalacja
|
||||||
|
1) Dodaj repozytorium do repozytoriów dodatków swojego HA za pomocą poniższego przycisku
|
||||||
|
|
||||||
Instrukcja instalacji jest dostępna pod adresem: [Instrukcja konfiguracji](https://github.com/tcich/ha-addon-energa-meter/blob/main/README.md)
|
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Ftcich%2Fha-addon-energa-meter)
|
||||||
|
|
||||||
## Motywacja
|
Lub zainstaluj manualnie z Ustawienia -> Dodatki -> Sklep z dodatkami -> ⁞ (Menu) -> Repozytoria -> Wpisz `https://github.com/tcich/hassio-mojlicznik` -> Dodaj. Następnie w ⁞ (Menu) -> Sprawdź aktualizacje (może być konieczne przeładowanie strony)
|
||||||
|
|
||||||
|
2) Odszukaj dodatek na liście dodatków w sklepie z dodatkami i zainstaluj go.
|
||||||
|
|
||||||
|
3) W zakładce konfiguracja uzupełnij nazwę użytkownika oraz hasło do aplikacji Mój Licznik, jeżeli potrzebujesz to zmień udostępniany port dla API
|
||||||
|
|
||||||
|
4) Przejdź do zakładki informacje i uruchom dodatek (pierwsze uruchomienie może trwać kilkanaście minut), jeżeli w logu pojawi się informacja *INFO: Czekam...* oznacza to, że pierwsze inicjalne pobieranie danych zostało ukończone.
|
||||||
|
|
||||||
|
|
||||||
|
## Wersja Docker
|
||||||
|
Aby ruchomić wersję docker należy skorzystać z polecenia poniżej
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -p 8000:8000 -e ENERGA_USERNAME=LoginEnerga -e ENERGA_PASSWORD=HasloEnerga tomcic/energa-meter:v0.1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
Wymagane parametry:
|
||||||
|
|
||||||
|
* ENERGA_USERNAME - nazwa użytkownika w aplikacji Energa Mój licznik
|
||||||
|
* ENERGA_PASSWORD - hasło użytkownika w aplikacji Energa Mój licznik
|
||||||
|
|
||||||
|
|
||||||
|
## Konfiguracja sensorów
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
sensor:
|
||||||
|
- platform: rest
|
||||||
|
resource: http://localhost:8000/meters/12335379
|
||||||
|
name: "Energia aktualna T1"
|
||||||
|
unique_id: 12335379_sumz1
|
||||||
|
unit_of_measurement: "kWh"
|
||||||
|
value_template: "{{ value_json.meter.zone1.meter | round(2) }}"
|
||||||
|
- platform: rest
|
||||||
|
resource: http://localhost:8000/meters/12335379
|
||||||
|
name: "Dzienny odczyt licznika"
|
||||||
|
unique_id: 12335379_meterz1
|
||||||
|
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) }}"
|
||||||
|
```
|
||||||
|
|
||||||
|
# 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ą|
|
||||||
|
| 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)|
|
||||||
|
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
## Jak dodać wykres do Grafana
|
||||||
|
### Źródło danych
|
||||||
|
1) Dodajemy źródło danych Home -> Data sources - Add new datasources: Wyszukujemy JSON API (jeżeli nie ma to musimy dodać)
|
||||||
|
2) NAME: ENERGA (1)
|
||||||
|
3) URL: http://twoj_addon:8000 (2)
|
||||||
|
4) Klikamy Save&test (3)
|
||||||
|
5) Uwaga: Jeżeli Grafana jest addonem w HA użyj właściwej nazwy hosta dostępnej w docker.
|
||||||
|
|
||||||
|
<img src="img/addon.png" style="width: 80%;" alt="Nazwa hosta">
|
||||||
|
|
||||||
|
<img src="img/grafana_01.png" style="width: 80%;" alt="Grafana źródło danych">
|
||||||
|
|
||||||
|
|
||||||
|
### Dashboard
|
||||||
|
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)
|
||||||
|
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">
|
||||||
|
|
||||||
|
<img src="img/grafana_03.png" style="width: 80%;" alt="Grafana">
|
||||||
|
|
||||||
|
<img src="img/grafana_04.png" style="width: 80%;" alt="Grafana">
|
||||||
|
|
||||||
|
<img src="img/grafana_05.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ą.
|
||||||
|
|
||||||
|
## Uwagi
|
||||||
|
Dostęp do aktualnej wersji API nie jest zabezpieczony tokenem
|
||||||
|
Każde przeinstalowanie dodatku pobiera ponownie dane z aplikacji Mój Licznik
|
||||||
|
|
||||||
|
<a href="https://buycoffee.to/tcich"><img src="../img/logo-buycoffee-wide.jpg" width=200 alt="Postaw kawę"></a>
|
||||||
|
|
||||||
**Podoba Ci się?** [Postaw kawę.](https://buycoffee.to/tcich)
|
|
||||||
|
|||||||
BIN
src/img/addon.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
src/img/grafana_01.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
src/img/grafana_02.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
src/img/grafana_03.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
src/img/grafana_04.png
Normal file
|
After Width: | Height: | Size: 85 KiB |
BIN
src/img/grafana_05.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
src/img/grafana_06.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
src/img/grafana_07.png
Normal file
|
After Width: | Height: | Size: 71 KiB |