NEWS
Zigbee Adapter von TTY zu by-id
-
Aus der Anleitung:
Sollte hierbei keine Ausgabe erfolgen, prüfe mit „ls -l /dev/serial/by-id/“ ob das USB-Gerät vom System als ttyUSB eingebunden wird, wenn ja ersetze alle folgenden Befehle die sich auf ttyACM… beziehen durch ttyUSB… sollte keine Ausgabe erscheinen ist es kein
Bei mir wars damals USB.
Mit lesen im Forum wollte ich mein System nun eben "korrigieren" aus euren genannten Gründen.
Mein Linux background ist halt sozusagen nicht vorhanden, darum bin ich bei solchen Sachen totaler Laie -
Die Anleitung ist an der Stelle zumindest umständlich. Denn warum sollte ich die Geräte-Datei über den generierten Link auslesen? Dann kann ich auch direkt den by-id-Link angeben.
(Wenn er denn mit den richtigen Rechten versehen ist, das ist aber ein Proxmox/LXC-Thema.) -
@thomas-braun
OK
Aber schon mal danke für den tollen Support -
@mickemup was ist in welcher Anleitung nicht übersichtlich?
Desweiteren habe ich oben schon erwähnt, das diese Schritte nicht mehr nötig sind, weil es mittlerweile direkt auf der Proxmox Oberfläche möglich ist.Einfach die Device-id ermitteln. (PVE Shell)
ls -l /dev/serial/by-id
Den LXC auswählen - Ressources → Add → Device Passthrough
Als Device Path
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_5836414927fded119e4f0a65024206e6-if00-port0
Eingeben.Mit Add bestätigen
Ps: Die Rechte noch auf 0666 setzen
-
@mickemup sagte in Zigbee Adapter von TTY zu by-id:
Sollte hierbei keine Ausgabe erfolgen, prüfe mit „ls -l /dev/serial/by-id/“ ob das USB-Gerät vom System als ttyUSB eingebunden wird, wenn ja ersetze alle folgenden Befehle die sich auf ttyACM… beziehen durch ttyUSB… sollte keine Ausgabe erscheinen ist es kein
wo steht das ?? in welcher Doku ?? und was währe verständlicher ?? dann kann man das für die Zukunft ändern
-
https://www.iobroker.net/#de/documentation/install/proxmox.md unter USB durchreichen.
Als Linux Laie haben mir die Schritte schon einiges abverlangt.@crunchip
Danke, werde ich morgen so probieren.Wenn es neu (ab Proxmox 8?) so einfach geht mit einer Zeile in der PVE Shell und dann 2-3 Klicks im GUI wäre es doch super das so in die Dok zu schreiben.
Das machts für Anfänger nochmal Userfreundlicher -
@mickemup sagte in Zigbee Adapter von TTY zu by-id:
Hallo Zusammen
Ich habe nun schon mehrfach gelesen, dass man USB Geräte by-id einbinden soll.
iob diag
sagt mir das auch:
USB-Devices by-id: USB-Sticks - Avoid direct links to /dev/tty* in your adapter setups, please always prefer the links 'by-id':
Anbei mal ein paar Informationen zum Hintergrund
- Das Device nach 'serial/by-id' ist bei neueren Linux Installationen verfügbar. Bei älteren gab es den nicht.
- Es erlaubt die Devices nach Funktionen zu gruppieren.
- Es stellt sicher das nicht 'aus versehen' ein anderes Device an Stelle des gewünschten Devices angesprochen wird, insbesondere wenn mehrere Devices der gleichen Klasse (z.Bsp. USB Serial) genutzt werden.
Deswegen macht es bei nativer installation, sprich Installation auf einem reellen Rechner sinn, die Devices so anzusprechen - sofern mehrere USB Devices genutzt werden. Sobald nur ein USB Device am Rechner hängt ist es nicht wirklich entscheidend / relevant.
Bei virtuellen Systemen (Container / LXC / VM's) macht es meiner Meinung nach keinen Sinn. Da darf gerne der klassische '/dev/ttyUSB0' oder ähnliches genutzt werden. Warum ? Der entscheidende Vorteil das die Device-Definition auf genau eine angeschlossene Hardware zeigt muss im Translation-Layer, sprich beim Weiterreichen des Ports passieren - ansonsten geht die gesamte Konstruktion sowieso schief und das System läuft nicht.@mickemup sagte in Zigbee Adapter von TTY zu by-id:
@crunchip
Es funktioniert ja mit/dev/ttyUSB0
beim Com-Port im Adapter.
Habe aber gelesen, man solle das by-id "verlinken", sonst könnte es je nach reboot nicht mehr tun.
und das kriege ich irgendwie nicht hin...Das kann passieren wenn du mehrere unterschiedliche USB Devices hast, die sich als /dev/ttyUSBx anmelden, sprich ein /dev/ttyUSB0 und /dev/ttyUSB1. Da kann bei jedem Reboot an einem reellen Rechner ein Wechsel der Hardware-Zuordnung passieren. Solange Du diese Situation nicht hast bist du auch mit /dev/ttyUSB0 safe.
Nebenbei - mir sind aktuell 2 Situationen bekannt wo das passiert - parallele Nutzung von Zigbee und ZWave, wobei beide (Zigbee und Wave entweder als /dev/ttyUSBx oder /dev/ttyACMx Devices eingebunden werden)Ich Lehn mich mal aus dem Fenster - du hast diese Situation bei Dir nicht
Unterm strich gilt für die Meldung im iob Diag leider das sie
- bei bestimmten Einsatzfällen Fehlern vorbeugen kann (mehrere ähnliche USB Devices)
- Für die meisten Nutzer irrelevant ist - die Nutzung der nativen Devices geht auch
- bei bestimmten Einsatzfällen sogar Mehraufwand erzeugen kann. (Beispiel: Austausch des Zigbee-Koordinators gegen einen anderen vom gleichen Typ. Bei Nutzung von /dev/ttyUSB0 muss die Konfiguration nicht angepasst werden, bei dem link nach /dev/serial/by-id schon.)
- ggf. eine zusätzliche Fehlerquelle schafft. Das zeigt dieser Thread wunderbar
Die ganze Geschichte ist ein wunderbares Beispiel dafür das es nicht immer Sinnvoll ist auf 'etwas neueres' zu setzen, nur weil das bei bestimmten Einsatzfällen Vorteile bietet. Man muss auch einen entsprechenden Einsatzfall haben. Ich weiss das diese Ansicht unbeliebt ist. Neu wird vielfach mit Besser gleichgesetzt. Das ist es aber nicht unbedingt. Es ist halt 'nur' Neu oder Modern.
A.
Nachtrag: @Thomas-Braun Ist es denkbar, diese Meldung im iob diag Skript nur dann auszugeben wenn mehrere USB-Devices in der Konfiguration auftauchen ?
A. -
Oder bei erkannten LXCs nicht erscheint. Könnte ich tun. Bin ich aber noch nicht von überzeugt, das auch tatsächlich zu tun.
Kannst aber gerne ein Issue in meinem GitHub platzieren.
-
@mickemup da ich kein Proxmox mehr verwende, habe ich bisher die Doku nicht angepasst, weil mir das Bildmaterial (extra für Laien) fehlt.
-
Habe das gerade mal getestet und meine alten udev rules rausgeworfen.
Hier mehr dazu: https://www.youtube.com/watch?v=FlMuxDABXEI
-
Ja, so würde ich das auch sehen.
Insbesondere, weil ja auch in der yaml das auch schon mit /dev/serial/by-id vorgesehen ist. -
@mickemup sagte in Zigbee Adapter von TTY zu by-id:
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_5836414927fded119e4f0a65024206e6-if00-port0
Lass das
-port0
weg. -
Mich würde das „warum“ interessieren?
In dem Video von @haus-automatisierung wird der Part explizit mitkopiert.
-
@haselchen sagte in Zigbee Adapter von TTY zu by-id:
Mich würde das „warum“ interessieren?
Das Video habe ich nicht angeschaut, es war nur mein (vor)schneller Gedanke, dass ich dieses
-port0
nicht eingetragen habe und es funktioniert.Wie immer gilt: "Wer lesen kann, ist klar im Vorteil!". Ich habe gar nicht registriert, dass es ein PVE LXC ist und durchgereicht wurde.
Ich habe also Unsinn geschrieben, bitte wenn möglich vergessen
-
@meister-mopper sagte in Zigbee Adapter von TTY zu by-id:
es war nur mein (vor)schneller Gedanke, dass ich dieses -port0 nicht eingetragen habe und es funktioniert.
Ob da noch ein Suffix -portX dranhängt ist von der Hardware abhängig.
Den genauen Dateinamen kann man der Konsole entnehmen.
In der Ausgabe voniob diag
sollte die aber auch enthalten sein, da dann auch ohne doppeltes Zusammenkopieren direkt fix und fertig.
-
Stimmt, ich konnte es gerade bei meinem RPI4 sehen:
USB-Devices by-id: USB-Sticks - Avoid direct links to /dev/tty* in your adapter setups, please always prefer the links 'by-id': /dev/serial/by-id/usb-Texas_Instruments_XDS110__03.00.00.13__Embed_with_CMSIS-DAP_L1100MSJ-if00 /dev/serial/by-id/usb-Texas_Instruments_XDS110__03.00.00.13__Embed_with_CMSIS-DAP_L1100MSJ-if03 /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 Your zigbee.0 COM-Port is matching 'by-id'. Very good!
Es vergeht hier keine Stunde, in der man nichts lernt.