Cześć, używam dwukierunkowy trójfazowy licznik energii EASTRON SDM72D-M z wyjściem RS485, chyba jeden z lepszych opcji jeśli chodzi cenę. W necie nigdzie nie znalazłem configa do HA więc załączam, może komuś się przyda:
modbus:
type: serial
method: rtu
port: /dev/ttyUSB0
baudrate: 9600
stopbits: 1
bytesize: 8
parity: N
sensor:
- platform: modbus
registers:
- name: Total system power
unit_of_measurement: W
slave: 1
register: 52
register_type: input
count: 2
data_type: float
- name: Total Import kWh
unit_of_measurement: kWh
slave: 1
register: 72
register_type: input
count: 2
data_type: float
- name: Total Export kWh
unit_of_measurement: kWh
slave: 1
register: 74
register_type: input
count: 2
data_type: float
- name: Total kWh
unit_of_measurement: kWh
slave: 1
register: 342
register_type: input
count: 2
data_type: float
- name: Resettable total active energy
unit_of_measurement: kWh
slave: 1
register: 384
register_type: input
count: 2
data_type: float
- name: Resettable import active energy
unit_of_measurement: kWh
slave: 1
register: 388
register_type: input
count: 2
data_type: float
- name: Resettable export active energy
unit_of_measurement: kWh
slave: 1
register: 391
register_type: input
count: 2
data_type: float
- name: Total import active power
unit_of_measurement: W
slave: 1
register: 1280
register_type: input
count: 2
data_type: float
- name: Total export active power
unit_of_measurement: W
slave: 1
register: 1282
register_type: input
count: 2
data_type: float
Licznik ma interface RS485, w konfiguracji HA jest port USB /dev/ttyUSB0, co jest między licznikiem a urządzeniem z USB? Wg mnie musi być konwerter sygnałów.
SDM + ESP . Sdm120 np. przez ESP easy można odczytać ale z sdm630 jest już problem bo wyświetla wartości tylko jednej fazy (jest tylko jedna do wyboru)
Z SDM120 dane można odczytać na różne sposoby, @suchypl stosujesz za dużo skrótów myślowych a to nie pomaga, powoduje tylko konieczność zadawania kolejnych pytań a to jest po prostu nieefektywne i jak dla mnie strata czasu. Chętnie pomagam ale nie lubię zabawy w stylu: “sto pytań do”, “co ktoś miał na myśli” itd, . Pamiętaj: punkt widzenia zależy od punktu siedzenia, napewno nie siedzimy na tym samym krześle i nie patrzymy na to samo .
Witam .
Przepraszam za mało szczegółów . Generalnie rozchodzi się o to , że mam licznik sdm630 jako podlicznik , oraz na razie jeden sdm120 (wszystkie z interfejsem modbus) który mierzy użycie energii przez piec , a w przyszłości jeszcze klika sdn120 będzie zamontowanych . Teraz nie wiem jak spąć je do jednego modułu wifi . Nie widziałem żeby można było wskazać adres licznika po modbus a zależy mi żeby była bezprzewodowa komunikacja z HA.
Myślę, że przy Tasmota do każdego SDM potrzebny będzie osobny moduł ESP oraz konwerter RS485->UART. Tu nie jest wykorzystana komunikacja adresowalna, a najprostszy port szeregowy TTL.
W espeasy można wybierać adresy urządzeń do odpytania tylko tam jest problem z sdm630 , bo pokazuje tylko parametry pierwszej fazy . Znalazłem jakąś bibliotekę poprawioną ale mam problem z kompilacją dlatego szukam coś innego . Bardziej bym się przychylał żeby wszystkie liczniki były obsługiwane z jednego modułu ale jak się nie da to trzeba będzie uszykować kilka modułów odbiorczych albo zastosować jakąś bramkę .
Więc zapoznaj się z tym działem: https://tasmota.github.io/docs/Smart-Meter-Interface/#sdm530-modbus
Prawdopodobnie po samodzielnej kompilacji można zrobić podłączenie wielu liczników. A może taka obsługa działa od razu. Nie wiem nigdy nic po MODBUS nie podłączałem do Tasmota.
Jak kompilować binarki Tasmota też jest przedstawione w dokumentacji. Projekt ma fajne w tym zakresie platformy typu Tasmocompiler z GUI. Polecam również Gitpod.
Proponuję zacząć od nauki jak działa Modbus - na jednej magistrali może być kilka urządzeń, każde urządzenie musi mieć unikatowy adres więc możesz mieć kilka liczników podłączonych na jednej szynie:
@suchypl z poziomu licznika ustawiasz SET ADDR (od 001 do 247). Na każdym liczniku musi być inny adres. Następnie w HA dodajesz sensory gdzie “SLAVE” to numer licznika (ale bez zer na początku):
- name: SDM630 L3 Power
address: 16
unit_of_measurement: W
slave: 2
input_type: input
count: 2
data_type: float32
precision: 0
scan_interval: 5
device_class: power
U mnie SDM630 ma adres “002” zatem slave wskazuje na “2”.
mam podłączony przez WemosD1 mini (Tasmota) + SDM630 - ale nie pokazuje wszystkich wartości nie wiem jak wyciągnąć export do sieci np. no i encje poza total nie chcą wejść do zakładki energia. Jestem dość swierzy w programowaniu internet przekopany, ktoś mógłby mi pomóc?
Mam lolin nodemcu v3 z Tasmota (12.0.2), podlaczoną do SDM72-M (skopilowalem sobie z opcja energy meter , bound rate zczytalem z licznika ). W konfiguracji tasmota mam widoczne kilka wersji TX/RX dla roznych licznikow (SDM 620, 72, i SDMx20).
Do komunikacji uzywam Tego RS485
Niby wszystko ladnie podlaczone a nie dziala. Niezaleznie od tego czy zrobie konfiguracje modulu na 630,72, czy Sdmx20 dane się nie pokazują.
Probowalem tez z rezystorem (niestety nie mialem 120ohm, uzylem 110- byc moze za malo, mam jeszcze 130 ale nie wiem czy znowu nie za duzo).
Pytanie co moge jeszcze zrobic - dodam ze wczesniej mialem domoticz z pluginem, połączenie przez USB->rs485 i ladnie gadalo wiec problem musi byc albo w polaczeniu fizycznym albo w konfiguracji tasmota.
Podłącz w ten sposob licznik do komputera i zweryfikuj czy możesz odczytac z niego dane. Jeżeli tak, spisz parametry transmisji, potem te parametry ustaw w Tasmota.
Możesz na szybko sprobowac uruchomic Eastron SDM Energy Monitor — ESPHome.
P.S. nie masz przypadkiem zamienionych miejscami TX i RX?
Jak w tym rozwiązałeś sprawę zasilania i dostosowania poziomów TTL? …bo teoretycznie jest niedopasowanie. Moduł jest 5V na MAX485, który słabo to toleruje i jest loteria.