Licznik od Taurona ZE314 - integracja?

Cześć

Czy ktoś z Was ma licznik ZPA ZE314?
https://www.zpa.cz/de/e-shop/elektronische-stromzaehler/ze314-2/
https://www.zpa.cz/en/e-shop/electricity-meters/ze314-copy/

Jak tak to jakiej integracji używacie (najlepiej pod ESPHome)?

1 polubienie

Skoro to licznik dostawcy energii to nie masz dużych możliwości, możesz liczyć impulsy optyczne (do weryfikacji) i użyć Home Assistant Glow albo skorzystać z rozwiązania OneMeter, ten licznik jest wspierany Lista kompatybilności liczników | OneMeter.com.


Edit:
Liczbę impulsów można także odczytać za pomocą Ble 4.0 - iNode Energy Meter, przesyłana ramki BLE ma udostępnioną dokumentację więc można się zintegrować, rozwiązanie wg mnie fajne jak nie chcesz ingerować w rozdzielnicę albo nie ma w niej miejsca.

No właśnie, mając port optyczny nie opłaca bawić mi się z odczytem jakiejś migającej diody.
Tę głowicę optyczną zrobiłem sobie dosłownie za grosze, więc OneMeter odpada.

Szukałem czegoś pod ESPHome z wykorzystaniem tego portu optycznego, ale nic z protokołem IEC62056-21 nie znalazłem.

Naprawdę nie istnieje gotowe rozwiązanie?

Niby fajnie, ale znowu ludzie mylą IEC 62056-21 z SML (które to z IEC ma tylko wzięty port optyczny).

Widzę że pod ESPHome też dyskusja otwarta (przynajmniej w dobrym kierunku)

Jak widać, naprawdę nie istnieje, będziesz musiał napisać sam :slight_smile:, jak wiemy, potrafisz to zrobić. Chłopaki z OneMeter też to zrobili, nie znalazłem podobnego rozwiązania - odczyt danych z portu optycznego.

3 polubienia

Poeksperymentowałem sobie trochę z moim DIY portem optycznym i poczytałem dokumentacje tego protokołu.

Wniosek jest jeden komponent można napisać, ale nie będzie on raczej użyteczny (ogólnie to transmisja trwa wieki i całe ESPHome by wisiało).

Pozostaje bramka do MQTT.

Update:
Wniosek jest fałszywy - mam przecież bufor UART gdzie mogę zbierać dane w tle.

Proszę rozwiń myśl, jestem po prostu ciekawy :grin:.

Podstawowa szybkość tego optycznego złącza to 300 Bd - czyli wolnoooooooooooo. Na szczęście tylko początkowa wymiana informacji jest na tej prędkości, potem może nastąpić przejście na wyższą. Tę drugą szybkość wyznacza licznik, my mamy tylko możliwość zostać na 300 Bd albo zmienić. Ale to nie będą oszałamiające prędkości.
W tym moim ZE314 mogę się rozpędzić do 4800 Bd, co przy ilości danych jakie wysyła licznik nie jest oszałamiające. Jedno zapytanie i odpowiedź trwa ~8 sekund :wink:

Na upartego można odczytywać tylko pierwsze parę linii, zakładając że OBIS 15.8.x jest wysyłany jako jeden z pierwszych. Wtedy w ESPHome komponencie można by skończyć robotę. Minus jest taki że licznik nadal nadaje, więc musimy mieć PollingComponent z czasem ~10-30 sekund (tak dla pewności).

Acha i największy problem - w ESPHome komponencie UART nie ma zaimplementowanej dynamicznej zmiany szybkości, więc jakieś workaroundy trzeba by zrobić.

1 polubienie

I wszystko jasne, dzieki za opis.

Znalazłem coś co ma działać:

Osobiście nie testowałem jeszcze tego komponentu. Na pierwszy rzut oka brakuje mu sprawdzania poprawności danych (CRC).

Ciekawe jak zadziała - niby w opisie jest ZE312 a ja mam ZE314, ale z moich prób z licznikiem jestem sceptyczny (nie widzę w kodzie modyfikacji prędkości danych + ACK).

Weekend się rozpoczyna i miam trochę czasu żeby zagłębić się w ESP. Spokojnie można napusać nieblokujący komponent do ESPHome nawet działający tylki na tej najwolniejszej prędkości - 300. Przecież mam bufor w UART więc dane mogą się tam spokojnie odkładać, podczas gdy ESPHome obrabia pozostałe komponenty.

Jakąś wersję beta mam. Ładnie odbiera ale nie testowałem jej jeszcze na przypadki zerwania transmisji itp.

Możesz mnie naprowadzić na pewien trop: SML, podobnie jak DLMS używają portu optycznego zgodnego ze standardem IEC 62056 jako interfejsu komunikacyjnego. Zakładam, że do skorzystania z tego potrzebuję jakieś nakładki do odczytu z tego portu optycznego i oprogramowania, np. GitHub - DomiStyle/esphome-dlms-meter: ESPHome component to read out DLMS smart meters via M-Bus. To wszystko “poskładane razem” powinno umożliwić odczyt danych z https://www.apator.com/nasze-rozwiazania/energia-elektryczna/opomiarowanie-energii-elektrycznej/liczniki-elektroniczne/norax-3 tak samo jak poprzez OneMeter. Mam rację czy gdzieś popełniam błąd?

Edit:
“Jakąś” nakładkę znalazłem na ali Page Not Found - Aliexpress.com
Na Githubie jest sporo na temat “DLSMS” dlms · GitHub Topics · GitHub , trochę dziwne, że nadal nie ma gotowego rozwiązania DYI.

1 polubienie

@macek

A więc tak:

Nie wiem jak ten Twój NORAX ale mój ZE314 rozmawia w tym IECu w modzie C
Bardzo ładny parser do DSMR (a jak dodasz troszkę to i IEC w modzie C) jest tu GitHub - glmnet/arduino-dsmr: Arduino library for interfacing with Dutch smart meters implementing DSMR to co dodać troszkę aby był przydatny dla nas możesz znaleźć u mnie GitHub - SzczepanLeon/arduino-dsmr: Arduino library for interfacing with Dutch smart meters implementing DSMR

Na dziś to mam, po nocach napisany - więc brzydki ale działający, komponent odczytujący dane co 20 sekund i przy tym nie blokujący całego ESPHome (spokojnie działa razem z moim wmbus). Taka wariacja na temat iec62056-lora/heltec-esp32 at master · pavax/iec62056-lora · GitHub z paroma zmianami i tym parserem. Jeszcze nigdzie nie udostępniona.

Nie kupuj na Aliexpres tej głowicy optycznej - przepłacisz dużo. Tu masz schemat jak własną zrobić hardware:controllers:ir-schreib-lesekopf-ttl-ausgang [wiki.volkszaehler.org] Nawet odpowiednie magnesy kupisz w PL.

Masz racje. Zacznij od przeczytania standardu - punkty 4.3, 6.3, 6.4.3 W dokumentacji do NORAXa coś wspominają o IEC – może ten mod C zadziała od kopa?

1 polubienie

W dokumnetacji licznika bardzo oszczędnie i niejednoznacznie bo w kacie katalogowej jest tak:
Komunikacja - Port optyczny i opcjonalnie port szeregowy RS-485: protokół DLMS/COSEM, IEC 62056-21

To nie moje kompetencje żeby to zbudować samemu, nie mam nawet dobrej lutownicy, ta z czasów technikum to taka na grot z drutu :grin:. Poszukam jeszcze gotowej podobnej głowicy.

W necie znalazłem jakieś niemieckie PDFy do Norax 3D. Tam jest przynajmniej podane że port optyczny to 9600bit/s 8N1 oraz format SML + COSEM. Ciekawe czy wersja Norax 3 też tak ma. Przynajmniej jest od czego zacząć.

Tak jak wcześniej pisałem pierwszy testowy komponent pracuje i zbiera z ZE314 + pomiary z wodomierzy (przy pomocy wmbus)
Wygląda to obiecująco.

Odczyty:

  • watomierz 20s
  • wodomierz g. nadaje co 8s
  • wodomierz o. nadaje co 1m
  • wodomierz c. nadaje co 3m

Sprzęt to ESP32-POE z Olimex’a:

1 polubienie

Nie bardzo rozumiem czym zbierasz dane z tego ze314? Przez wmbus?

Nie, poprzez port optyczny. Wmbus dołożyłem do testów aby sprawdzić czy nic nie zamula, nie stopuje i działa.

Jest idealnie - wszystko bez problemów działa - tylko czasu brak aby na czysto kod przebisać.

Wiem już, że z czasem u Ciebie krucho, ale pytanko - czy od kwietnia coś działałeś w temacie odczytu licznika energii przez port optyczny? Ja mam Landis +GYR 360, na obudowie logo DLMS i tyle wiem na razie. Nawet jakiś bardziej szczegółowy manual do niego ciężko znaleźć. Chętnie bym popróbował odczytów :slight_smile:

I tak i nie :wink:

Od lutego działa mi ta testowa wersja, i nawet stabilnie.
To jest taki ulep że nie pamiętam nawet gdzie mam źródła.
Jak znajdę to opublikuję na githubie.