Konfiguracja Licznika trójfazowego ORNO OR-WE-516 pod ESP Home

Cześć
Jestem świeży w tematyce HA.
Nie potrafię wyciągnąć wartości z ORNO
Co wykonałem
Podłączyłem licznik pod Sonoffa RF R3
W Esp home : https://i.ibb.co/fvFgxyj/1.png
W configuration.yaml : https://i.ibb.co/C9mRNjj/2.png

Co mam zrbić dalej? :wink:

Wymieniłeś kilka różnych urządzeń (w różnych technologiach i z różnymi protokołami), które mają ze sobą współpracować i się zintegrować. Sorry ale nie jestem wstanie wywróżyć (z kuli, kart) co sobie wymyśliłeś i jak? Po prostu brakuje tych informacji. Może innym uda się na podstawie tego co napisałeś powyżej :grin:.

Czego oczekujesz? Jak podłączyłeś licznik do ESP? Licznik ModBus → konwerter → ESP, czy z wyjścia impulsowego licznika do ESP?

No mnie intryguje jak z Sonoffa RF R3 można zrobić bramkę RS485<->Ethernet, bo jeśli to jest faktycznie możliwe, to reszta pójdzie już z górki (choć integracja sensorów Modbus w HA nie jest tak banalna by to były 4 linijki - trzeba czytać z rejestrów, ale jest to teoretycznie możliwe).

Na moje oko taki konwerter może będzie OK? (połowę tańsza wersja nie ma wsparcia modbus)

Kolejne dwie osoby głowią się co autor posta miał na myśli :thinking:.

Przepraszam napisałem tyle ile wiedziałem
Chcę sczytać te informacje zrobić z nich encje.
Z ORNO połączyłem się przewodami z RS485 przewodami do Sonoffa pod RX i TX - UART Bus — ESPHome
Sonoff połączony z WIFI HA > ESP HOME

No OK, ja nie widzę szans w ten sposób, ale jeśli się mylę, to chętnie poczytam jakim cudem to możliwe (czasem rzeczy są prostsze niż się wydaje).

  1. O ile ogólnie jestem fanem ESPHome, to w/g mojej wiedzy jak dotąd nikt nie napisał na niego softu bramki modbus (z tego na ile się orientuję pakiety przesyłane przez port szeregowy różnią się nieco od tych pchanych przez Ethernet, stąd potrzeba bramki modbus, a nie prostego konwertera mediów, o czym nie pomyślałem w poprzednim poście). edit: taka bramka już jest dostępna
  2. UART w ESP to bodajże TTL, a potrzebujesz RS485, ale nawet gdyby dołożyć brakujący sprzęt to 1.
  3. Konfiguracja w HA, którą pokazałeś jest “kulawa” tzn. zbyt skromna, nawet jeśli użyjesz prawidłowej bramki to jeszcze musisz doczytać resztę dokumentacji i uzupełnić braki (no myślę, że kilkadziesiąt linijek brakuje)
    Modbus - Home Assistant
    ustawiając też odpowiednie klasy dla poszczególnych sensorów
    Sensor - Home Assistant
  4. Oczywiście punkt 3. realizujesz w oparciu o dokumentację techniczną licznika i protokołu modbus (wprawdzie istnieją bramki plug and play, które i tak nie dają 100% pewności auto-wykrycia podpiętych urządzeń, ale wtedy do ceny tego przykładowego chińczyka, którego podlinkowałem wyżej raczej dolicz jeszcze jedno zero, jakkolwiek moje doświadczenie w tym temacie jest zerowe - ze względu na ceny odpuściłem takie rozwiązania już na wstępie).
  5. Identyczny log w ESPHome otrzymasz gdy ten sprzęt nie będzie podłączony nigdzie - widać w nim tylko prawidłowo zainicjalizowane komponenty systemu i nic ponadto, ten sprzęt prawdopodobnie nic nie robi, bo nic nie ma w logu (nie mam pod ręką nic z sensorami, ale gdy one raportują jakies wartości to po tym standardowym kawałku loga widać jakąś ich komunikację), zastanawiałem się skąd wyczesałeś port dla bramki modbus, a to po prostu port API ESPHome…
  6. Musisz się chyba nauczyć wklejać i formatować tekst na forum, tu masz przykładowy log prostego wyświetlacza bazującego na ESP (on akurat pracuje poprawnie, ale tego nie widać w logu)
[13:05:39][I][app:105]: ESPHome version 1.17.2 compiled on May 10 2021, 19:31:34
[13:05:39][C][wifi:443]: WiFi:
[13:05:39][C][wifi:303]:   SSID: 

[redacted]
[13:05:39][C][wifi:304]:   IP Address: 192.168.20.34
[13:05:39][C][wifi:306]:   BSSID: 

[redacted]
[13:05:39][C][wifi:307]:   Hostname: 'ttgo_display'
[13:05:39][C][wifi:311]:   Signal strength: -33 dB ▂▄▆█
[13:05:39][C][wifi:315]:   Channel: 1
[13:05:39][C][wifi:316]:   Subnet: 255.255.255.0
[13:05:39][C][wifi:317]:   Gateway: 192.168.20.1
[13:05:39][C][wifi:318]:   DNS1: 192.168.20.1
[13:05:39][C][wifi:319]:   DNS2: 0.0.0.0
[13:05:39][C][spi:081]: SPI bus:
[13:05:39][C][spi:082]:   CLK Pin: GPIO18 (Mode: OUTPUT)
[13:05:39][C][spi:084]:   MOSI Pin: GPIO19 (Mode: OUTPUT)
[13:05:39][C][spi:085]:   Using HW SPI: YES
[13:05:39][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'T-Display Button Input 0'
[13:05:39][C][gpio.binary_sensor:016]:   Pin: GPIO0 (Mode: INPUT, INVERTED)
[13:05:39][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'T-Display Button Input 1'
[13:05:39][C][gpio.binary_sensor:016]:   Pin: GPIO35 (Mode: INPUT, INVERTED)
[13:05:39][C][logger:185]: Logger:
[13:05:39][C][logger:186]:   Level: DEBUG
[13:05:39][C][logger:187]:   Log Baud Rate: 115200
[13:05:39][C][logger:188]:   Hardware UART: UART0
[13:05:39][C][status:034]: Status Binary Sensor 'Node Status'
[13:05:39][C][status:034]:   Device Class: 'connectivity'
[13:05:39][C][homeassistant.time:010]: Home Assistant Time:
[13:05:39][C][homeassistant.time:011]:   Timezone: 'CET-1CEST-2,M3.4.0/2,M10.5.0/3'
[13:05:39][C][st7789v:119]: SPI ST7789V
[13:05:39][C][st7789v:119]:   Rotations: 90 °
[13:05:39][C][st7789v:119]:   Dimensions: 240px x 135px
[13:05:39][C][st7789v:120]:   CS Pin: GPIO5 (Mode: OUTPUT)
[13:05:39][C][st7789v:121]:   DC Pin: GPIO16 (Mode: OUTPUT)
[13:05:39][C][st7789v:122]:   Reset Pin: GPIO23 (Mode: OUTPUT)
[13:05:39][C][st7789v:123]:   B/L Pin: GPIO4 (Mode: OUTPUT)
[13:05:39][C][st7789v:124]:   Update Interval: 5.0s
[13:05:39][C][captive_portal:169]: Captive Portal:
[13:05:39][C][ota:029]: Over-The-Air Updates:
[13:05:39][C][ota:030]:   Address: ttgo_display.local:3232
[13:05:39][C][api:095]: API Server:
[13:05:39][C][api:096]:   Address: ttgo_display.local:6053

Tak przy okazji - okienko tekstowe loggera w ESPHome ma magiczną funkcję ukrywania “danych wrażliwych”, stąd wstawki “redacted”

  1. “Zaemulowałem” jakiś raport sensora (zapomniałem że mam wkompilowaną obsługę przycisków), przyciski to akurat sensory binarne, ale przynajmniej widać, że cokolwiek samoróbka raportuje :stuck_out_tongue: nie mam nic co by wykorzystywało port szeregowy, więc nie wiem jak by wyglądało jego działanie w logu (ale spodziewam się, że może cokolwiek jednak będzie)
[13:33:14][D][binary_sensor:036]: 'T-Display Button Input 0': Sending state ON
[13:33:14][D][binary_sensor:036]: 'T-Display Button Input 0': Sending state OFF
[13:33:18][D][binary_sensor:036]: 'T-Display Button Input 1': Sending state ON
[13:33:18][D][binary_sensor:036]: 'T-Display Button Input 1': Sending state OFF

PS być może właściwszym i prostszym podejściem do tematu będzie konwerter USB<->modbus, wtedy prawdopodobnie będziesz mógł wykorzystać integrację dla portu szeregowego (jakkolwiek będzie trzeba pociągnąć kabel od licznika do HA).

A jeżeli nie ma możliwości pociągnięcia kabla to można wyjście impulsowe licznika podpiąć do ESPHome.

Żeby spiąć licznik przez ModBus z Sonofem przez UART potrzebujesz czegoś takiego:

ModBus RS485 to sygnał symetryczny/róznicowy, zupełnie inny od UART.

Oficjalny zalecany przez producenta moduł USB-RS485 też nie kosztuje majątku

No oczywiście lepsze coś niż nic :stuck_out_tongue:
jakkolwiek w ten sposób da się mierzyć tylko 2 parametry - zużycie energii “total” (zliczjąc impulsy) oraz “pseudochwilowe” obciążenie (mierząc ich częstotliwość), a czytając dane z licznika dostępne jest zazwyczaj wszystko co można zobaczyć na jego wyświetlaczu np. napięcia na każdej z faz (a czasem i coś więcej).

PS Z czystej ciekawości nieco podrążyłem temat i znalazłem coś takiego, więc być może odpowiednio modyfikując to rozwiązanie dałoby się zintegrować ten licznik na bazie ESPHome (ale jak widać trzeba sobie samemu napisać obsługę tego licznika, bo ten z linka wygląda na jednofazowy i generalnie jest po prostu inny) oczywiście po uzupełnieniu sprzętu

Jak go podłączyć do sonoffa?

TX sonoff → DI
RX sonoff → RO
DE łączysz z RE i łaczysz z wybranym GPIO w Sonoff.

Kwestia tego, czy ESPHome jest w stanie obsłużyć protokół RS485 i zdekodować modbus.

Są też moduły które same zarządza komunikacja bez pinu kierunku, ale ESPHome musi wiedzieć kiedy odbierać i wysyłać dane i w jaki sposób.

obraz

Tasmota obsługuje Modbus i liczniki Orno od wersji 9.4

https://tasmota.github.io/docs/Smart-Meter-Interface/

Jak patrzę na ten schemat w dokumentacji Tasmoty, to trzeba by zastosować np. taki konwerter

między UART’em Sonoff’a, a licznikiem. Oczywiście można poszukać w ChRL (w sumie oferty z ChRL są też na znanym portalu niegdyś aukcyjnym) jakiegoś tańszego odpowiednika, np. takiego jaki przedstawił na obrazku @wileu.

Ten też się sprawdzi
https://allegro.pl/oferta/modul-konwerter-uart-ttl-do-rs485-cia00485t-10417611977

1 Like