Rekuperator podłączony jest do komputera hosta przez przejściówkę USB<>RS485, w systemie widoczny jest na /dev/ttyUSB0, w virtualbox udostępniony jest jako port COM1 (tryb pracy portu urządzenie gospodarza → scieżka /dev/ttyUSB0), a więc na VM z HAOS widoczny jest jako /dev/ttyS0.
Na hoscie działa bez problemów (testowałem z konsoli przez modpoll), a na HA często gubi komunikację, a sensor pokazuje jako “unavailable”, dane znikają i się pojawiają tak samo ich historia - nie wiem co jest tego przyczyną.
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Temperatura Czerpnia with int is not valid, trying to convert
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Temperatura Nawiew with int is not valid, trying to convert
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Temperatura Wywiew with int is not valid, trying to convert
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Temperatura za FPX with int is not valid, trying to convert
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Temperatura PCB with int is not valid, trying to convert
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Strumień nawiew with int is not valid, trying to convert
2022-01-06 14:36:07 WARNING (MainThread) [homeassistant.components.modbus.validators] Strumień wywiew with int is not valid, trying to convert
2022-01-06 14:36:08 ERROR (SyncWorker_0) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2022-01-06 14:36:13 ERROR (SyncWorker_1) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)
2022-01-06 14:37:11 ERROR (SyncWorker_2) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2022-01-06 14:38:10 ERROR (SyncWorker_3) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2022-01-06 14:38:23 ERROR (SyncWorker_4) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)
2022-01-06 14:39:13 ERROR (SyncWorker_1) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)
2022-01-06 14:39:20 ERROR (SyncWorker_1) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2022-01-06 14:41:10 ERROR (SyncWorker_4) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2022-01-06 14:41:15 ERROR (SyncWorker_4) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)
2022-01-06 14:43:07 ERROR (SyncWorker_4) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2022-01-06 14:44:10 ERROR (SyncWorker_3) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2022-01-06 14:45:10 ERROR (SyncWorker_2) [homeassistant.components.modbus.modbus] Pymodbus: reku: Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
Próbowałem zmieniać “scan_interval” oraz “message_wait_milliseconds”, mam rekuperator z płytą w wersji, gdzie CF blokuje port AirB (opisany jako BMS), więc wypinam Air++ i w jego miejsce wchodzę modbusem - komunikacja na 100% jest poprawna bo z modbus pool na windowisie działa i odczytuje nawet z interwałem 1s - nic się nie wiesza. Z hosta również czyta prawidłowo, testowo odpaliłem HA na VM na swoim laptopie i również udostępniłem port do VM efekt identyczny także na 1000% to wina HA lub konfiguracji. Ma ktoś jakiś pomysł ?
A jaki system działa na hoście, na którym działa VirtualBox?
A jaki jest system na laptopie, na którym działa VirtualBox?
Próbuję zdiagnozować czy faktycznie oba środowiska, na których robiłeś testy są identyczne.
Ubuntu na VirtualBox, na laptopie Windows 10 i VMware, w obu przypadkach host działa prawidłowo.
Mało tego, na Ubuntu odpaliłem teraz GitHub - 3cky/mbusd: Open-source Modbus TCP to Modbus RTU (RS-232/485) gateway., i HA komunikuje się po TCP do hostOS z mbusd, i wszystko działa jak należy - ale po co to robić tak dookoła ?
ehh… testowałem na Ubuntu z Virtual Box na którym stoi HAOS i na Windows 10 na VMware Workstation, na którym jest ta sama maszyna z HAOS, której udostępniam port COM, a udostępnianie portu COM działa na 100% (na windows, nie testowałem na Ubuntu ale to jest to samo) bo uruchomiłem VM z Windowsem udostępniłem port i modbus pool odczytał bez problemów - także na 100% to problem z HA.
Hmm tylko, że nie mam żadnego błędu jak to czytam przez tcp… nawet w logach mbusd nie ma błędów. jedyna różnica to nie ma w HA opcji ustawienia parametru trx_control = rts. Chyba będę musiał to zostawić jako tcp z mbus na hostOS bo działa to stabilnie.
Ja rozumiem o co Ci chodzi, o pozbycie się wpisów o tym, że “with int is not valid, trying to convert” przez zmianę na int16, ale to jest tylko ostrzeżenie, które nie ma wpływu na działanie jak używam modus przez tcp, więc po rtu równie nie powinno mieć. Ale dla Twojej satysfakcji pozbyłem się tego przez zmianę na int16 wpisów nie ma, a nadal nie działa po rtu…
Zmieniłem konwerter na Acess I/O RS485-IND, USB-232-IND, USB-422-IND, USB-485-IND, USB-422-485-IND - ACCES I/O Products (niestety nie kosztuje 5zł a więcej…), i teraz VirtualBox widzi go jako urządzenie USB, pozwala udostępnić usb to maszyny, i HA potrafi pytać do /dev/ttyUSB0 i wszystko działa. Coś jednak ten chiński konwerter chyba nie do końca był wspierany przez kernel. Dzięki za zainteresowanie i okazaną pomoc.
Jestem po zmianie konwertera USB-RS485. Siedzi teraz Waveshare FT232 i od 3 godzin w logach mam czysto. Wszystkie sensory są poprawnie odpytywane i żaden nie miał jeszcze statusu “niedostępny”. Nie rozpisuję się tutaj bo wątek będę drążył u siebie: Konwerter USB-RS485 (który? FT232RL vs CH340) poprawne działanie i błędy w logach
Cześć. mam od niedawna reku Airpack4 i chciałbym się do niego podłączyć przez modbusa. Kupiłem konwerter modbusrtu - TCP ale niestety nie potrafię go skonfigurować. czy mógłbym prosić Was o pomoc w tej sprawie? Poniżej okienko z konfiguracją konwertera
Raczej ma pracować jako jako TCP Serwer.
Wtedy pracuje jako serwer portu szeregowego i używasz Modbus RTU.
Nie znam tego modułu, czy ma wbudowany modbus?
Jeśli w zakładce Expand jest Modbus do wyboru to używasz Modbus TCP
Udało mi się pierwsze dane wyświetlić w HA to teraz kolejne pytanie czujniki “wyciągamy” z modbusa tworząc sensor, a jak tworzyć switche? czy np możliwość zmiany siły nawiewu (%)?
Wilgotność na nawiewie i wywiewie mierzę osobno przez esp32 i dth22. Niestety ale większość odsyła jedynie do manuala HA, a tam nie wszystko jest pokazane niestety, masz przykład zrób z nim co chcesz.
A w jaki sposób mogę pomóc bardziej, jeżeli ogólnie pytanie brzmi “czujniki “wyciągamy” z modbusa tworząc sensor, a jak tworzyć switche?”. Jest jeszcze inny wariant: nie odpowiadać. Chyba nie o to chodzi na forum.
Wybierasz Edytor konfiguracji YAML - ale tam ważne są wcięcia i nie zawsze ctrl+c ctrl+v będzie działać właśnie z racji na wcięcia, ale to sobie dojdziesz do tego myślę.
Ja użyłem obrazek jako tło i kilka state image (np do pokazania FPX) najlepiej zainstalować dodatek do HA o nazwie “samba share” i wtedy masz dostęp do folderów po sieci, a obrazki należy wrzucić tutaj: “\\IP_HA\config\www” wtedy dostępne są jako /local/nazwa_pliku, jak chcesz taki sam efekt jak ten co ja mam to masz obrazki:
reku_bypass
reku empty
reku_fpx
reku_nobypass
reku_alarm
reku_1
reku_2
PS: Jakbyś coś usprawnił w tym, albo jakby ktoś znalazł jakieś lepsze czy prostsze rozwiązanie to dobrze byłoby dodać dla innych
oczywiście jak tylko coś usprawnię to wrzucę. Zobacz też ten wątek który podlinkowałem ( może tam też coś znajdziesz, chociaż biorąc pod uwagę jak pięknie masz to zrobione :D)
który obrazek to reku_empty.png?
bo rozumiem że pierwszy to reku_bypass.png
drugi reku_fpx.png
trzeci reku_nobypass.png??
tego alarmu i 1,2 nie znalazłem w kodzie
Zobacz teraz - edytowałem posty - teraz wszystko powinno być, również w kodzie chyba wrzuciłem coś starszego niż mam bo to modyfikuje, także te linki do pastebin też są nowe