Sinotimer 3F licznik energii RS485 - integracja z HA

zmieniłem i efekt jest taki:

edit:

wpisałem float32 i teraz kompilacja przechodzi

W końcu zacząłeś czytać :+1:
Nie jestem w stanie sypać z głowy, bo nie mam zintegrowanego modbusa w HA

ok, ale mi pomogłeś, bo ja tego nie kumam,
jednak nadal nie znajduję encji o tej nazwie name: pomiar U L1

EDIT:
przeładowałem całego HA i encja się pojawiła :+1:

logi… musisz ustalić czy rejestry w liczniku to holding czy input.

HA działa, Encja sie [pojawiła na dashbordzie ale w logu mam coś takiego:

W takim razie jednak dodaj count: 2

coś mu nie pasuje nie bardzo wiem o co chodzi:

wstawiłem to tu:
image

Jak pisałem, szczegółów nie znam,
w pierwszym chodziło o to , że oczekiwał 4 bajtów (tyle zajmuje float32), czyli dwa kolejne rejestry.
Wstaw count: 1 (ale to bez sensu)

niestety to samo, wywala błąd :

Jest prawie dobrze :wink: musisz szukać po przykładach i sprawdzać. Struktura jest OK tylko coś z parametrami.

kombinowałem z samym float i float64 ale to samo nie przechodzi kompilacja,
na razie wielkie dzięki może ktoś się jeszcze przyłączy i coś doradzi

Z foki którą zamieściłeś wynika, że dane są typu float (zajmują dwa rejestry - czyli 32bity). Spróbuj jeszcze zamiast holding, input.
Moja zmyłka

  • Coils (C) – zmienne bitowe – możliwy odczyt i zapis – 1 bit długości
  • Holding Registers (HR) – rejestry – możliwy odczyt i zapis – 16 bitów długości
  • Discrete Inputs (DI) – zmienne bitowe wejściowe – możliwy tylko odczyt – 1 bit długości
  • Input Registers (IR) – rejestry wejściowy – możliwy tylko odczyt – 16 bitów długości

Ustaw input.

i cytat z dokumentacji

count integer (Optional)

Number of registers to read. only valid for data_type: custom and data_type: string, for other data types count is automatically calculated.

skoro masz data_type: float32 to ten sam sensor nie może zawierać count

A tak czytam ten wątek i się zastanawiam skąd wiesz, że parametry komunikacji maja być 8, N, 1?

tak od początku myślałem, z tym count to był “rozpaczliwiec” :wink:

Powinno być typ rejestru input - od tego trzeba zaczać
Modbus w HA się trochę zmienił - nie mam więc nie śledzę.

1 polubienie

na razie HA dostał twardy orzech do zgryzienia bo mieli i mieli i sie nie chce przeładować

Wykonałeś sprawdzenie konfiguracji? Zwykle jeśli “długo mieli” to jest to skutek błędów.
@RobinI30 też nie mam i nie śledzę, ale zajrzałem w dokumentację mając akurat ten błąd przed oczami.

przy sprawdzaniu konfiguracji też to długo trwało aż wreszcie sie załadował

No OK, a jakieś info skąd wziąłeś 8N1?
może jakaś dokumentacja tego licznika istnieje?

Do tego też się odniosę
zamiast /dev/ttyUSB0 sugeruję ścieżkę taką jak z obrazka (by-id) wtedy niezależnie jak zostanie zanumerowany port ścieżka będzie wskazywała zawsze na to samo urządzenie (o ile będzie tylko jedno, które się tak identyfikuje)

Na swoją obronę - jeden z pierwszych postów

oczywiście że istnieje, fragment zamieściłem na początku,
a parametry przyjęte zostały z przykładów na których się wzorowałem, więc mogą być nie do końca dopasowane
inaczej, licznik ten sprawdzałem programem modbus pull64 i mi się połączył i czytał więc część ustawień wziąłem z tego programu