Klimakonwektor Vaillant VA 2 i modbus

Witam
Czytałem wątek o kotłach Vaillant ale nie znalazłem rozwiązania swojego problemu z klimakonwektorem.
Zastępuję grzejniki klimakonwektorami aby obniżyć temp. zasilania CO na pompie ciepła. Kupiłem klimakonwektory Vaillant VA 2 CN.
Aby nimi sterować mogę kupić dedykowany regulator ale jak to pogodzić z HA?

Nie kupowałem na razie termostatów: “Vaillant VA 2-WC C Regulator elektroniczny przewodowy” bo nie wiem czy uda mi się to zintegrować.
Do oryginalnego regulatora skłania mnie estetyka i możliwość sterowania manualnego bezpośrednio pod klapką klimakonwektora ale nie chcę rezygnować z integracji. Rozumiem, że kupując ww. regulator oraz konwerter RS485 do UART z ESP tworzę połączenie WiFi i dodając modbus w HA po zaadresowaniu każdego klimakonwektora mam możliwość sterowania nimi przez HA?
Fakt wyjdzie ponad 400 zł do każdej sztuki nie wiem jednak czy uda mi się to uruchomić a dodatkowo muszę mieć sterowanie zarówno grzania jak i chłodzenia jednym i tym samym zaworem.

Tanią opcją z pewnością jest dokupienie chińczyka z Tuyą (rozwiązanie z Elektrody), podpięcie pod sterownik i aby uniknąć chmury może się uda jak w sterowaniu podłogówką - wymiana softu/modułu Wifi na ESP ale stracę jednak pomiary temperatury z klimakonwektora czyli temp. powietrza na wejściu wentylatora i zasilania z CO.

Czytałem wątki o piecach i klimie Vaillanta ale nie znalazłem nic o klimakonwektorach może ktoś coś już walczył w sposób bardziej zaawansowany niż na Elektrodzie?

Pozdrawiam
Wojtek

Już poprawiam:

https://www.elektroda.pl/rtvforum/viewtopic.php?p=20205941#20205941

https://www.elektroda.pl/rtvforum/topic3795583-30.html

https://www.elektroda.pl/rtvforum/viewtopic.php?p=20959092#20959092

Gdzie linki do tego co czytałeś na Elektroda? Jakim protokołem komunikuje się ten sprzęt ze światem? Jesli to ModBUS to potrzebna jest tabela rejestrów.

Vaillant, czyli zapewne eBus

Podłączyłem się do sterownika i próbuję czytać za pomocą Modbus Monitor XPF ale pierwszy raz używam tego softu i nie bardzo cokolwiek czyta:

08:22:02:987401,Poll Once: False
08:22:03:228188,Client-STARTING
08:22:03:245901,Connection obtained for channel 'RTU:COM6'
08:22:03:245982,Client-RUNNING
08:22:03:275344,RTU TX,01 04 00 00 00 01 31 CA,Read Input Registers,SID:1,FC:4,ADR:0,CNT:1
08:22:03:336558,RTU RX,01 84 01 82 C0
08:22:03:337103, Illegal Function,ERR:1,SID:1 FC:84,Sample Input Register,300001,1,1,0,INT16,ABCD_BE,30001,,
08:22:03:353697,RTU TX,01 02 00 00 00 01 B9 CA,Read Inputs Registers,SID:1,FC:2,ADR:0,CNT:1
08:22:03:416074,RTU RX,01 82 01 81 60
08:22:03:416414, Illegal Function,ERR:1,SID:1 FC:82,Discrete Input Register,100001,1,1,0,BIT,ABCD_BE,1,,
08:22:03:447650,RTU TX,01 01 00 00 00 01 FD CA,Read Coils,SID:1,FC:1,ADR:0,CNT:1
08:22:04:449505,Timeout, 3 retries remaining
08:22:04:449545,RTU TX,01 01 00 00 00 01 FD CA,Read Coils,SID:1,FC:1,ADR:0,CNT:1
08:22:05:450613,Timeout, 2 retries remaining
08:22:05:450687,RTU TX,01 01 00 00 00 01 FD CA,Read Coils,SID:1,FC:1,ADR:0,CNT:1
08:22:06:453182,Timeout, 1 retries remaining
08:22:06:453777,Response Time Out
08:22:07:485918,RTU TX,01 01 00 00 00 10 3D C6,Read Coils,SID:1,FC:1,ADR:0,CNT:16
08:22:08:487628,Timeout, 3 retries remaining
08:22:08:487668,RTU TX,01 01 00 00 00 10 3D C6,Read Coils,SID:1,FC:1,ADR:0,CNT:16
08:22:09:490717,Timeout, 2 retries remaining
08:22:09:490754,RTU TX,01 01 00 00 00 10 3D C6,Read Coils,SID:1,FC:1,ADR:0,CNT:16
08:22:10:495694,Timeout, 1 retries remaining
08:22:10:495890,Response Time Out
08:22:10:526854,RTU TX,01 04 00 00 00 01 31 CA,Read Input Registers,SID:1,FC:4,ADR:0,CNT:1
08:22:10:596685,RTU RX,01 84 01 82 C0
08:22:10:596980, Illegal Function,ERR:1,SID:1 FC:84,Sample Input Register,300001,1,1,0,INT16,ABCD_BE,30001,,
08:22:10:620731,RTU TX,01 02 00 00 00 01 B9 CA,Read Inputs Registers,SID:1,FC:2,ADR:0,CNT:1
08:22:10:677374,RTU RX,01 82 01 81 60
08:22:10:677707, Illegal Function,ERR:1,SID:1 FC:82,Discrete Input Register,100001,1,1,0,BIT,ABCD_BE,1,,
08:22:10:698763,RTU TX,01 01 00 00 00 01 FD CA,Read Coils,SID:1,FC:1,ADR:0,CNT:1
08:22:11:708324,Timeout, 3 retries remaining
08:22:11:708392,RTU TX,01 01 00 00 00 01 FD CA,Read Coils,SID:1,FC:1,ADR:0,CNT:1
08:22:12:709903,Timeout, 2 retries remaining
08:22:12:709979,RTU TX,01 01 00 00 00 01 FD CA,Read Coils,SID:1,FC:1,ADR:0,CNT:1
08:22:13:711921,Timeout, 1 retries remaining
08:22:13:712171,Response Time Out

Jeśli ebus to tym zestawem nic nie odczytam. Czyli aby podjąć próbę jakiejkolwiek komunikacji po ebus muszę kupić adapter.
Złącze CN23 na sterowniku ma opis “MODBUS RTU TO UPPER UNIT” stąd próba komunikacji zwykłym adapterem RS485

Jak ma taki opis to jest to modbus (ebus jest w kotłach gazowych grupy vaillant, dlatego napisałem że zapewne ebus, ale z opisu wynika ze w tym przypadku nie). Komunikację masz raczej zestawioną poprawnie. To wygląda raczej na nieprawidłowy typ rejestru - w logu widać “Read Input Registers” i “Read Coils” natomiast zaglądając tutaj:

Wygląda na to że tam również może być

Modbus function code 0x03 (read holding registers).

Tu jest wątek na ten temat:

Supported function codes:
1: Read Coils
2: Read Discrete Input
3: Read Holding Register
4: Read Input Register
5: Write Single Coil
6: Write Single Register
15: Write Multiple Coils
16: Write Multiple Registers

Da się w jakiś sposób w tym programie zmienić typ odczytywanego rejestru z “Input Registers” na “Holding Registers” ? Może to rozwiąże problem z “illegal function” (o ile już nie zmieniałeś).

Jutro powinny dojść konwertery i poskładam adapter z tego linka:
Może będzie prościej cokolwiek odczytać.

Sorki, że późno odpowiadam ale buduję wiatę pod panele (to będzie pewnie kolejny mój problem z integracją falownika) i dopiero późnym wieczorem nadrabiam zaległości przy kompie.

Na razie to nie wiesz co i gdzie odczytać, więc skutek będzie podobny jak w przypadku Modbus Monitor. Słabo to widzę aby bez dokumentacji odnaleźć, rozszyfrować i odkryć przeznaczenie rejestrów.

Zobaczymy pewnie nie będzie łatwo a z pewnością bez kontrolera, na którym mógłbym zmieniać ustawienia i ewentualnie je odczytywać wręcz niemożliwe.
Komunikacja jest - podłączyłem ESP i sniffera przez USB.
AI napisał mi kawałek kodu do ESP który wysyła do Vaillanta zapytania o kolejne rejestry.
Modbussniffer loguje to sobie do pliku .
Jak skończą to wyszukam na które Vaillant nie odpowiedział błędem 83.

Próbuj :+1: . Moje obawy budzi opis złącza “MODBUS RTU TO UPPER UNIT” , sugeruje to raczej przeznaczenie niezgodne z Twoimi oczekiwaniami i służy do komunikacji między jednostkami w “kaskadzie”.

Jak się nie uda będę próbował wpiąć się równolegle do kontrolera (jeśli go kupię) lub ewentualnie gdy będzie to możliwe sam konwerter do ebus i kontroler z wyświetlaczem i enkoderem na ESP jako termostat. ESP odpytał wszystkie adresy a sniffer zapisał 10 MB tekstu wstępnie widziałem, że pojawiły się odpowiedzi np. 9600 co by sugerowało ustawienie prędkości portu. Od chińczyka jedzie też na próbę termostat z Tuya, ktory będzie do przeróbki na ESPHome.