Integracja z MójLic...
 
Powiadomienia
Wyczyść wszystko

Integracja z MójLicznik od Energa S.A

76 Wpisów
15 Użytkownicy
13 Likes
10.4 K Wyświetleń
leckimarcin
(@leckimarcin)
Wpisów: 53
Kontrybutor
 

@maciej_h jeśli wszystko wykonałeś poprawnie, to musisz teraz dodać encje do dashboardu. Klikasz edycja dashboardu i tam klikasz w prawym dolnym rogu dodaj.

 
Dodane : 04/01/2022 9:18 pm
(@lowang)
Wpisów: 3
Świeżak
 

@maciej_h proponuje pójść w HACS i multiscrape następnie do konfiga dodaj to: https://gist.github.com/lowang/18601a2d063a1e933fb7c6e0e97a3c7c

 
Dodane : 04/01/2022 9:19 pm
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h, masz zainstalowany dodatek node-red? Powyżej wkleiłem link do dokumentacji gdzie jest instrukcja instalacji. Potem importujesz flow zgodnie ze zrzutem ekranu który wkleiłem kilka postów wyżej. 

 
Dodane : 04/01/2022 9:37 pm
(@baernie)
Wpisów: 6
Bywalec
 

@lowang i właśnie o to chodziło. Dzięki 

 
Dodane : 04/01/2022 10:11 pm
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h Jeżeli masz HA od 2ch dni to zakladam że masz niezainstalowanego node-red? Link do dokumentacji i instrukcji jak to zrobić podpiąłem wcześniej.

 

Z tym że chyba najprostszym i najbardziej eleganckim rozwiązaniem będzie multiscrape zaproponowany przez @Przemysław Wroblewski.

 
Dodane : 05/01/2022 9:10 am
(@maciej_h)
Wpisów: 8
Bywalec
 

@tani_kredyt 

Cześć,

node-red mam zainstalowanego, importuje Twój plik, wprowadziłem login i haslo do MojLicznik, wszystko się ładnie przeładowuje, w debagu żadnych błędów.

Następnie jak chcę dodać encie (do dashboardzie) nie wiem co wybrać.

 

 
Dodane : 05/01/2022 11:01 am
leckimarcin
(@leckimarcin)
Wpisów: 53
Kontrybutor
 

@maciej_h to pojedynczą encje wybierasz i tam szukasz w rozwijanym menu "Power produced".

 
Dodane : 05/01/2022 11:20 am
(@maciej_h)
Wpisów: 8
Bywalec
 

@leckimarcin 

No właśnie brakuje mi tutaj tej encji do wyboru.

 
Dodane : 05/01/2022 11:52 am
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h 

Dodałeś wpis w configuration.yaml?

sensor:
  - platform: mqtt
    name: "Power Produced"
    state_topic: "/homeassistant/PP"
    unit_of_measurement: "kWh"
    state_class: total
    device_class: energy
  - platform: mqtt
    name: "Power Used"
    state_topic: "/homeassistant/PU"
    unit_of_measurement: "kWh"
    state_class: total
    device_class: energy
 
Dodane : 05/01/2022 12:44 pm
(@maciej_h)
Wpisów: 8
Bywalec
 

@tani_kredyt

"Dodałeś wpis w configuration.yaml?"

 

 

Tak, oczywiście.

Zauważyłem ze jak wchodzę w edycję pliku configuration.yaml to w dolnym rogu pojawia się alert:

obraz

może on "przeszkadza"?

 

Dodaje jeszcze jak mam zrobioną konfiguracje Node-red

obraz

 i

Mosquitto brokera

obraz
 
Dodane : 05/01/2022 1:47 pm
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h jeżeli encji w ogóle nie widać to coś nie tak z configuration.yaml. Nawet jak skrypt nie działa to sensor bez wartości wg mnie powinien być widoczny.

Restartowałeś HA po dodaniu wpisu? Walidując konfigurację nie zwraca żadnych błędów? Może coś w logach się pojawiło?

 
Dodane : 05/01/2022 5:32 pm
(@maciej_h)
Wpisów: 8
Bywalec
 

@tani_kredyt 

Reset pomógł 🙂

Dziękuje bardzo za pomoc.

teraz mam taką sytuację:

obraz

czy jeśli na jednym koncie mam dodane trzy oddzielne liczniki (w tym dwa G12) to można to jakoś skonfigurować czy rozdzielić te liczniki na różne konta i każdy z nich robić na oddzielnych encjach

 
Dodane : 05/01/2022 6:35 pm
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h 

Proponowalbym podpiąć debug node jak na obrazku i zobaczyć ile elementów z klasy 'last' znajduje skrypt.

image

Podejrzewam że dla każdego licznika będzie osobny element. Wtedy trzeba by:

- dodać kilka nodów 'string' i przekonwertowac kolejne elementy na liczby (ja ustawilem tylko 2 - jeden dla energi pobranej i drugi dla wytworzonej). Można po prostu skopiować istniejące nody i odnieść je do msg.payload[i] gdzie i to numer elementu

- dodac kilka nodów wysyłających dane MQTT dając im odpowiedni temat.

- dodać sensory w configuration.yaml wychwytujące odpowiednie tematy MQTT

 

Pozdr

MM

 
Dodane : 05/01/2022 7:05 pm
 Maks
(@maks)
Wpisów: 1
Świeżak
 

@lowang 

Cześć,

Zacznę od podziękowań - super rozwiązanie! 🙂

Teraz temat, z którym przychodzę: Czy w przykładzie pliku configuration.yaml mógłbyś również pokazać, jak ogarnąć sensor dla A-, czyli energii oddanej?

Próbuję to ogarnąć, ale nie bardzo mi wychodzi 🙁

Kopiując CSS Selector uzyskuję: .clear > tbody:nth-child(2) > tr:nth-child(3) > td:nth-child(2). Wycinam tbody i mam zapis dla sensora:

- unique_id: energa_energy_meter_total_transferred2
  name: Energy meter total transferred2
  device_class: energy
  state_class: total_increasing
  unit_of_measurement: kWh
  select: '#right > table > tr:nth-child(3) > td:nth-child(2)'
  value_template: '{{ value | striptags | replace(" ", "") | replace(",", ".") | float }}'
  on_error:
    value: last

Niestety nie działa poprawnie, nie jestem w stanie uzyskać wartości.

Podobnie nie działa poprawnie sensor energa_energy_meter_total_consumption z Twojego przykładu, jeżeli zastosuję zapis (bo kombinuję już na rózne sposoby):
 
select: '#right > table.clear > tr:nth-child(1) > td:nth-child(2)'.
 
Zgodnie z dokumentacją/standardem powinno działać... 🙁
 
EDIT:
Poradziłem sobie używając select_list w miejsce select:
 
select_list: "#right > table.clear > tr > td.last"
value_template: >-
{% set list = (value | striptags | replace(" ", "")).split(',') %}
{% set value = float(list[2] + "." + list[3]) %}       
{{value}}
 
BTW: zapis: float(list[0] + "." + list[1]) pozwoli wyciągnąć wartość dla energii pobranej. I nie jestem programistą, pewnie dałoby się zoptymalizować kod 😉
 
@tani_kredyt - fajne rozwiązanie, nauczyłem się czegoś nowego w Node-RED 🙂
 
Dodane : 06/01/2022 12:58 am
(@maciej_h)
Wpisów: 8
Bywalec
 

@tani_kredyt 

Aktualnie jeden licznik śmiga dobrze (1 i 2 taryfa)

obraz

 

 

ale skrypt znajduje tylko te dwa elementy

obraz
 
Dodane : 06/01/2022 10:08 am
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h zostaje inspekcja HTML w przeglądarce.  Trzeba sprawdzić jakie klasy albo id zostały wykorzystane w pozostałych licznikach. 
Ja mam tylko jeden i wartości liczników są w klasie ‚last’.

U mnie w Firefox wygląda to tak:

Screenshot 2022 01 06 at 09.18.06

 

 
Dodane : 06/01/2022 10:13 am
(@maciej_h)
Wpisów: 8
Bywalec
 

@tani_kredyt 

mam tak samo, wszystkie sa w klasie last.

Ale aby wyświetlić licznik muszę go wybrać w górnym prawym rogu i wtedy strona się przeładowuje na stan danego licznika

obraz
 
Dodane : 06/01/2022 10:41 am
(@tani_kredyt)
Wpisów: 21
Praktykant
 

@maciej_h

Trudno mi podpowiedzieć na 100%, bo mam tylko jeden licznik. Podejrzewam że trzeba kolejny get request dodać żeby przeładować stronę na inny licznik. Proponuje włączyć inspektora i zakładkę network:

Untitled

Po zmianie licznika powinien się tam jakiś request pojawić. Wtedy do flow w node-red trzeba będzie dodać kolejny http request na bazie tego co widać w inspektorze (podejrzewam że w request headers bedzie jakaś właściwość wskazująca licznik albo coś w requestowanym linku bedzie sugerowac ktory to licznik.

Potem trzeba dodać kolejny edit html node żeby wyciagnac klasę last, string node żeby to przerobić na liczbę i mqtt publish żeby to wysłać do HA.

Ewentualnie może jest strona na której widać wszystkie liczniki naraz? Pewnie byłoby to prostsze niż skakać po licznikach. Wtedy jeden request żeby się dostać na tę stronę by wystarczył.

Mogłaby Energa stworzyć API...

 
Dodane : 06/01/2022 11:40 am
(@maciej_h)
Wpisów: 8
Bywalec
 

@tani_kredyt 

No i sukces 🙂

Choć pewnie w mało "elegancki" sposób ale musiałem każdy licznik "wyciągać" ze strony oddzielnie poprzez logowanie się na określoną stronę dedykowaną konkretnemu licznikowi. Jak na mój początek z HA i nieznajomość wszystkich zagadnienie jest MEGA 😉

obraz

 

@tani_kredyt  - bardzo ale to bardzo dziękuje za poświęcony czas, dużo się dzięki temu nauczyłem, choć to dopiero podstawy

 

 
Dodane : 06/01/2022 1:20 pm
(@tomaszerdmanski)
Wpisów: 1
Świeżak
 

@tani_kredyt nie mogę ściągnąć JSON'a załączonego na idrive: "The number of downloads for this shared file has been exceeded". można prosić o ponowne wrzucenie?

 
Dodane : 23/01/2022 10:40 pm
Strona 2 / 4
Udostępnij: