Mam mały zgrzyt dotyczący portów USB w moim HA postawionym na RPi3B. Mam w tej chwili podłączony konwerter USB - RS485 do licznika energii. Jednak w momencie kiedy podpinam inne urządzenia na USB często zmienia mi się adresacja USB i licznik przestaje działać. Czy istnieje możliwość zaadresowania w taki sposób urządzeń USB żeby nie było takich problemów?
W tej chwili w integracji z licznikiem mam wpis: port: /dev/ttyUSB0. Gdzieś kiedyś czytałem że można wprowadzać adresację ID ale nie bardzo wiem jak to zrobić.
A masz dwa identyczne urządzenia?
(wtedy nie da się ich rozpoznać po identyfikatorze, bo mają identyczny)
Swoją drogą to jest najzwyklejszy mostek UART (+ serial + parralel) do USB, a konkretniej CH341 w/g tego co widać w tym kawałku, który załączyłeś (nawet wspomniałeś, że to mostek USB-RS485), więc owszem może być problem z rozróżnieniem nawet rożnych urządzeń, bo ten mostek jest dość powszechnie stosowany we wszystkim co tanie… a przede wszystkim w tanich modułach developerskich, na których często bazuje sprzęt produkowany małoseryjnie.
Jeśli używasz samoróbek na ESP, to po prostu pozostałe oprzyj na modułach zawierających np. mostek CP2102 (np. niektóre TTGO), chociaż w sumie to takie zgadywanie .
Witam forumowiczów.
Mam bardzo podobny problem. Posiadam wpiętych 12 urządzeń USB, do mojego Raspberry. Są to klony arduino, które moją takie samo ID wiec ta metoda identyfikacji odpada. Inny sposób na porty USB to identyfikacja przez fizyczne miejsce i one nigdy się nie zmieniają jest to ścieżka /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0.3:1 oznacza pierwsze urządzenie w trzecim porcie. Problem polega na tym, że po restarcie HA nie uruchomi się z niewiadomego mi powodu. Jeżeli wyjmiemy urządzenie i ponownie włożymy do tego portu to będzie bez problemów widoczne.
2023-02-10 18:30:24.306 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.5:1.0-port0
2023-02-10 18:30:24.341 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.7:1.0-port0
2023-02-10 18:30:24.364 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.1:1.0-port0
2023-02-10 18:30:24.380 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.2:1.0-port0
2023-02-10 18:30:24.389 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.3:1.0-port0
2023-02-10 18:30:24.396 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.4:1.0-port0
2023-02-10 18:30:24.412 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.5:1.0-port0
2023-02-10 18:30:34.263 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-port0
2023-02-10 18:30:34.276 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.6:1.0-port0
2023-02-10 18:30:34.316 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.5:1.0-port0
2023-02-10 18:30:34.350 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.7:1.0-port0
2023-02-10 18:30:34.373 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.1:1.0-port0
2023-02-10 18:30:34.389 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.2:1.0-port0
2023-02-10 18:30:34.396 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.3:1.0-port0
2023-02-10 18:30:34.404 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.4:1.0-port0
2023-02-10 18:30:34.419 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.5:1.0-port0
2023-02-10 18:30:44.272 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-port0
2023-02-10 18:30:44.287 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.6:1.0-port0
2023-02-10 18:30:44.323 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.5:1.0-port0
2023-02-10 18:30:44.359 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.7:1.0-port0
2023-02-10 18:30:44.382 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.1:1.0-port0
2023-02-10 18:30:44.397 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.2:1.0-port0
2023-02-10 18:30:44.405 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.3:1.0-port0
2023-02-10 18:30:44.412 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.4:1.0-port0
2023-02-10 18:30:44.426 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.5:1.0-port0
2023-02-10 18:30:54.282 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.4:1.0-port0
2023-02-10 18:30:54.296 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.6:1.0-port0
2023-02-10 18:30:54.332 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.5:1.0-port0
2023-02-10 18:30:54.368 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.3.7:1.0-port0
2023-02-10 18:30:54.391 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.1:1.0-port0
2023-02-10 18:30:54.405 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.2:1.0-port0
2023-02-10 18:30:54.412 ERROR (MainThread) [mysensors.gateway_serial] Unable to connect to /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.3:1.0-port0
i tak bez końca …
Edit:
Wydaje mi się, że problem jest gdzie indziej. Zapomniałem, że podobną sytuację miałem przy Domoticzu. Dongel Sonoff tworzy jakiś problem. Jaki dokładnie nie wiem … ilość urządzeń USB … ilość danych ? Nie mam pojęcia. Natomiast natknąłem się kiedyś na taki problem na zagranicznych forach i pomagało dodanie do pliku cmdline.txt
fsck.repair=yes rootwait coherent_pool=4M
Na chwilę obecną testuję to rozwiązanie i wydaje się działać więc dla osób, które mają dużo klonów płytek Arduino ten sposób wydaje się być OK.
Próbuję się przekonać do Home Assistanta po Domoticzu, ale mam problem z mysensors podłączone przea usb.
HA ma zainstalowanego na RPi3B+ i podpięte 3 arduino nano (klony), działa to przez godzinę może dwie, po tym czasie jakby się usypiały i nie nie reagują i nie pokazują zmiany sensorów.
W moim HA niema pliku cmdline.txt aby wstawić “fsck.repair=yes rootwait coherent_pool=4M”.
Jest może jakieś rozwiązanie podobne jak w domoticzu.
Dziękuje za zainteresowanie.
Po jakimś czasie mysensors zamiera (nie pokazuje stanu sensoru np. otwarcie okien, nie reaguje na sterowanie przekażnika), ponowne wczytanie integracji przywraca je do życia.
Coś podobnego było w Domoticzu, tam znalazłem takie rozwiązanie:
“PersistentUSBDevices - Domoticz”
Devpath to hierarchia portów. Tak więc w tym konkretnym przykładzie, używając dwóch tanich chińskich klonów Arduino bez odpowiednich numerów seryjnych na Raspberry Pi 3, możemy dodać to do pliku USB Serial Rules:
być może jest to ten sam problem, tyle tylko, że przy tej instalacji HA nie wiadomo jak to zaimplementować.
Myślałem o zastępczym rozwiązaniu, że może tak by np. co godzinę odpytywać o stan wybranych sensorów z mysensors aby podtrzymywać je przy życiu.
Jak zgaduję twój system to HAOS (nie za bardzo można w nim grzebać) jeśli potrzebujesz skutecznego adresowania to jest dostępne adresowanie po portach
Natomiast to co wygrzebałem odnośnie podpinania masowej ilości sprzętu USB do RPi to opcja “coherent_pool=4M” (właściwie to wykopałem, że “coherent_pool=2M” ma wystarczyć dla 48 urządzeń USB) - możesz to wypróbować dopisując do commandline.txt
Za dużo roboty by opisywać jak się dostać z wewnątrz HA do plików na partycji boot wymaga to m.in. trybu debugowania OSa, ale możesz zrobić to dużo prościej - zamknij “po bożemu” system HAOS na RPi i przełóż kartę (czy podepnij ssd) do peceta z w zasadzie dowolnym systemem, ale jeśli to Windows to jedyna widzialna partycja to właśnie boot, tam znajdziesz commandline.txt.
no i nie wiem czy poprawnie, czy problem jest gdzie indziej bo arduino-klon po pewnym czasie jakby usypiał się. Po różnych próbach wyszło na to, że problem jest w połączeniu arduino-klon z RPi3B+.
Po zamianie na RPi4 tego zjawiska niema lub po zamianie na aduino uno orginał też.
Szkoda bo mam dwie inne instalacje domoticza właśnie na RPi3B+, które chciałem też przenieś na HA.
pzdr