Esphome modbus i lambda

Cześć,
mam taki problem z licznikiem DTSD422 D3,
chodzi o to że ma on dziwnie zakodowane wartości prądu tj w dwóch rejestrach np 0x01 i 0x02 z tym że w pierwszym rejstrze jak jest 32768 czyi 0x8000 to znak tej drugiej jest -, natomiast jak jest 0 to jest na +

próbuje to odczytać jako S_DWORD ale wychodzą głupoty, zrobiłem obejście i czytam dwa rejestry osobno tj najpierw 0x01 potem 0x02 zrobiłem sensor template gdzie sprawdzam czy 0x01 = 0 jak tak to podaje wartość z 0x02 jak nie to mnoże wartość 0x02 razy -1 i wszystko gra, tylko że to tak na około, wiem że można to zapisać jako odczyt dwóch adresów i zdekodować za pomocą lambda, tylko nie wiem jak to ugryźć, całość działa na ESPhome, ktoś ma jakieś pojęcie jak to ogarnać

1 polubienie