/dev/ttyUSB0 und /dev/ttyUSB1 wechseln ständig. Dadurch gehen alle Integrationen verloren

Hallo, ich bin neu hier, weil ich keine Ahnung habe wie ich dieses Problem lösen kann.
Meine Erfahrung mit Homeassistant beschränken sich auf ca. 6 Monate und 0 Linux-Erfahrung.

Ich: 67 Jahre, technikaffin, Lebe in Frankfurt am Main und finde HA wirklich toll.
Einstieg erst über ESPHome, weil ich noch so viele D1mini in der Schublade hatte, dann MySensors um den Stromverbrauch von WiFi herabzusetzen und zusätzlich Zigbee weils supereinfach zu integrieren ist.

Im Einsatz:
Raspi 4
HA 2023.3.3
225GB SSD (USB)
ZigBee ZHA (Sonoff Dongle)
Bluetooth (CSR 4.0 Stick)
MySensors Bridge

Mein Problem ist, dass nach sich jedem Neustart der USB-Port für das MySensors-Gateway ändert.
Mal /dev/ttyUSB0 mal /dev/ttyUSB1
Es sind ca. 13 Integrationen mit verschiedenen Automationen darin enthalten die jedes mal geändert werden müssen. Zumindest habe ich das bisher gemacht. Sehr mühseliger Aufwand um dann später zu erkennen dass es sinnlos war, weil doch wieder anderer Port.

Ist es nicht möglich den Port, in meinem Fall den “/dev/ttyUSB0”, festzulegen und mit dem Gateway fest zu verknüpfen?
Das wird wohl eher ein Linuxproblem und weniger die vom Homeassistant zu sein.
Wie gesagt, 0 Ahnung was Linux angeht (30 Jahre Windows) :roll_eyes:

Wäre toll, wenn ich hier Hilfe diesbezüglich bekommen könnte.
grüße
branther

Erstmal herzlich Willkommen im Forum.

Ich kenne das MySensors-Gateway zwar nicht. Aber ich vermute mal, das es möglich ist statt dem USB-Port, das Gerät direkt zuverbinden.
Ist zumindes bei ZigBee möglich. Da kann man auch entweder /dev/ttyUSB0 oder
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_xxxxxxxxxxxxxxxxx-if00-port0
nehmen.

1 „Gefällt mir“

Du kannst /dev/serial/by-id/ Pfad benutzen der ändert sich nicht.

Findest du unter Einstellung - Hardware - Gesamte Hardware

Sollte dann eigentlich funktionieren nach jedem Neustart

1 „Gefällt mir“

Du kannst eine udev-Rule anlegen um das Device immer auf die gleiche Adresse zu ziehen.

/etc/udev/rules.d/10-usb.rules
ACTION=="add", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ctcUSB"

Lass dir mit lsusb alle USB-Geräte anzeigen. Bei ID findest du die VendorID und die ProductID.
Diese schreibst du in die Zeile der Rule und vergibst noch einen Namen im SYMLINK (in meinem Fall ctcUSB.
Im Programm trägst du dann statt /dev/ttyUSB0…1…2 die selbst erzeugte /dev/ttyctcUSB ein und es sollte immer gefunden werden.
Über die o.g. direkte Adressierung geht es natürlich auch, mit dieser Methode bist du Herr über die Benahmung der Schnittstelle und der Fantasie sind kaum Grenzen gesetzt (bitte KEINE Umlaute etc).

Hi, vielen Dank für das schnelle Feedback.
Wenn ich das richtig verstanden habe, gebe ich hier


die richtige Schnittstelle ein.
zur Info:
ttyACM0 funktioniert nicht, ebenso die /by-id/ nicht (warum auch immer)
ich habe es mit /by-path/… Das hatte “ein wenig” Erfolg, weil nicht alle Geräte gefunden wurden.
Werde es Morgen noch einmal probieren, bevor ich hier im Dunklen sitze :slight_smile:
Auch das mit VendorID und die ProductID. .
Danke euch für die schnelle Hilfe.
Werde berichten.
beste Grüße
branther

Hallo,

ich kenne MySensors auch nicht, aber ich denke Du hast den falschen seriellen Port angewählt.
Laut Doku wird ```
/dev/ttyMySensorsGateway
als serieller Port angelegt.

Gruß
Martin

Hi zusammen,
ich habe erneut versucht den Port über /by-id/ einzurichten.
Und siehe da, es hat auch funktioniert. Was ich davor falsch gemacht hatte weis ich nicht.
Ich hoffe nun, dass immer der selbe Port verwendet wird egal wie oft ich das System neu starten muss.

Im Moment musste ich einen System-Neustart erzwingen das mein zweites Problem mit dem Backup leider noch nicht gelöst ist. (hier im Forum)

Ich danke euch für eure Tips. ich hoffe dass dieses Thema hiermit erledigt ist.

ps: /dev/ttyMySensorsGateway hat leider auch nicht funktioniert

grüße