Witam Wszystkich
Mam zrobiony pomiar energii w Domoticzu na module PZEM-004T i esp8266.
Wszystko działa poprawnie licznik od zamontowania wskazuje 11,56 kW, ale jakoś na wykresach zawsze kw zaokrągla do 1kw.
Wchodząc w konkretny dzień widać zawsze na wykresie zużycie godzinowe 1kw pomimo, że monitoruje prace pompy ciepła która cały czas zmienia pobór energii
Ja mam pomiar energii elektrycznej zrealizowany przez zliczanie impulsów wysyłanych do esp2866 z licznika. W zakładce podzielniki RFX domoticza mam ustawione wartość 1000 bo 1000 impulsów 1kWh. W liczniku mam zużycie podane z dokładnością 3 miejsc po przecinku
@dzidzi20 Hej możesz rozwinąć swoje rozwiązanie co i jak tak dla prawdziwego nowicjusza
licznik mam SDM120 Modbus RS485 (Modbus -a nie udało mi się do teraz uruchomić) . Licznik podłączyłem do nodemcu v3 z wgranym espeasy wg tego schematu klik.
Pin pod który jest podłączony licznik musi być jako input (w moim przypadku pin nr 14(D5) ). W espeasy w zakładce Rules trzeba wpisać :
On Clock#Time=All,00:10 do
Reboot
endOn
To spowoduje reboot nodemcu v3 o godzinie 10 min po północy i przy okazji skasowanie naliczonych impulsów. Espeasy liczy impulsy do jakieś określonej liczby. po przekroczeniu tej liczby w domoticzu wychodzą mi cuda na kiju (nie wiedziałem o tym i przez to 2 razy system na malinie stawiałem na nowo)
tu masz zrzuty ekranu z ustawieniami na espeasy
W domoticzu trzeba utworzyć licznik przyrostowy (w sprzęt dodać Dummy (Does nothing, use for virtual switches a następnie licznik przyrostowy) Licznik ma swój idx który trzeba wpisać w espeasy w moim przypadku 24. Na koniec trzeba w ustawieniach domoticza w zakładce Mierniki/Liczniki wpisać ile impulsów to 1kWh w polu Energia elektryczna
a tak to wygląda w ustawieniach domoticza
Nie to ,że bym się czepiał , ale w ESP możesz bezpośrednio wyjscie s0 połączyć z GPIO , i zrobić pullup programowo. Da się to espeasy zrobić .
A jaki masz problem z tym modbusem ?
Kupiłem konwerter usb rs485. Do tego użyłem skryptu do odczytywania danych z licznika. Nie mogę zmusić maliny i licznika do współpracy. Podobno wystarczy tylko dwa kabelki podłączyć do konwertera i licznika. U mnie nie działa. Kupiłem drugi konwerter bo wiadomo jak to z chińskim wynalazkami bywa. Ale to nic nie dało. Znalazłem sposób który opisałem powyżej i jak na razie działa bez zarzutu od roku. Praktycznie te same wskazania co na liczniku głównym. Teraz kupiłem kolejny konwerter i spróbuję podłączyć do wemosa i licznika może będzie działać.
Kolega zmusił swoj chinski licznik do gadania po takiej przejsciowce usb i na malinie , przy pomocy domoticza z tym pluginem: https://www.domoticz.com/forum/viewtopic.php?f=65&t=21297&hilit=pymodbus&sid=0f508e45ad6c6700ad2e1061e03174cf
Choć długo walczył ,udało się , głównym powodem był nieprawidłowo wpisany adres ID , na liczniku był 032 , a w pluginie trzeba było wpisać 0:32...
Ja swoj chinski licznik zczytuje po modbusie przez przejsciowke i Wemosa , i działa tez od ponad roku . "Dostałem" program do skompilowania od znajomego , trzeba bylo go dopasowac - zmienic dane polaczenia , oraz dopasowac rejestry ( bo był na bazie sdm120 , a ten chinski mial troche inne adresy rejestrow). Przekazuje to do mqtt , nie tylko energie , ale i energie bierna , moce ,napiecia ,prady itd.
@marcingajda
a możesz napisać jak to wszystko zrobić ale tak łopatologicznie.
Mogę , ale ,którą wersję ?:)
No i być moze jakąś podpowiedź ,co zpłyciłem...
Teraz tak patrzę i chyba chińczyk mnie w konia zrobił licznik chyba nie ma tego modbus. Zostanę przy tym co jest. Dzięki
Skoro piszesz , że masz SDM120 , to on modbusa musi mieć.
Ok , podłączałeś do terminali 9 i 10 odpowiednio do A i B ?
Podłączyłeś ten konwerter do RPI ? Wykrył go jako ttyUSB ?
W domoticzu masz ten plugin ?

Tak podłączyłem jak piszesz. Wykrywa konwerter ale komunikacji brak
Ok ,w liczniku masz paramery jak:
Baud rate 1200, 2400, 4800, 9600
Parity none / odd / even
RS485 network address 3-digit number, 1 to 247
Jakoś da się je odczytać ,a nawet zmieniać. Wpisałeś je takie same ?
z tym ,żeby pamiętać o tym ID , żeby wpisać np.: 0:01
Odczytujęc Read Input Registers (Function 4) , i register 1 powinno odczytać się napięcie.
EDIT :Register 1 , albo 0 , bo to różnie programy liczą.
Naciskając guzik w liczniku nie wadzę tych parametrów :
Parity none / odd / even
RS485 network address 3-digit number, 1 to 247
Ale pokazuje : Id , i trzy cyfry ?
pokazuje b i np. 9600 ?
Pokazuje Prty ?
Jak tu : https://www.youtube.com/watch?v=yBtqKSWDn1Q#t=3m19s
OK , zdjęcie wkleiłeś z b 2400 ... no ale gdzie są pozostałe rzeczy ?
https://drive.google.com/file/d/1D7V9yNekKjneZxjL3PVGi-Hzi43tKnBV/view?usp=sharing
https://drive.google.com/file/d/1CpJiG11nW-770wZ0nVPFAM16er2OeKVd/view?usp=sharing
https://drive.google.com/file/d/1D7lU0B9dXMhRzDnn2-_FTh74yl0FMAnl/view?usp=sharing
reszta jak wciskam guzik to napięcie ampery i kWh
No to masz wszystkie dane:
Id 0:01 (albo coś w tym stylu jak 0:1)
Parity : None
Baudrate: 2400
Function 4
Register 0
Data type FLOAT 32
Podłączasz A z A , B z B i musi zaczytać napięcie.






