Dobry wieczór, nie marnując czasu wziąłem się za integracje następnego urządzenia z HA.
Licznik mam połączony przez serwer TCP, jest to drugie urządzenie więc ustawiłem slave ID na 2 i jest komunikacja, posiłkuje się tabelą rejestru:
Znalazłem też inne adresy rejestru ale żadne nie działają należycie, mimo tego, że pojawiają się aktywne encje w rejestrze, to nie są to dane które odpowiadają rzeczywistym, dla przykładu ss:
Tylko w Voltage phase 1, jest coś co może przypominać poprawną wartość jeśli przesuniemy przecinek.
moja konfiguracja w yaml:
Gdzie robię błędy?
Zgodnie z tabelą modbusową licznika zmienne są zadeklarowane jako float'y. Ty masz zdefiniowane je w HA różnie, głównie jako uint. Adresy rejestrów częściowo dziesiętnie, gdzie indziej szesnastkowo. Nie jestem biegły w HA, ale sprawdziłbym odczyty licznika przed integracją najpierw w jakimś zewnętrznym narzędziu, np.: https://modbus.pl/modbus-rtu-and-tcp-ip-master-application/
To adresy które udało mi się odczytać, wszystko powyżej ma illegall data address, aż do 8200 lub nawet 16400 - jakieś adresy znalezione w sieci które faktycznie coś pokazują, jak z nich wyłuskać to co mnie interesuje?
I jeżeli zacznę od np. 8190 czytać adresy, to nie pokaże mi nic, to samo jeśli zmienię długość czytanych adresów na więcej niż 60, również nic nie pokazuje.
Zmień "Data Format" na Float albo Float Swapped (zależy który będzie działał) i pokaż odczyt rejestrów 8200-8240 ponownie.