FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Aurel_B am 22 Februar 2024, 11:33:13

Titel: FreeBSD und eindeutige Definitionen für USB zu seriell Adapter
Beitrag von: Aurel_B am 22 Februar 2024, 11:33:13
USB zu seriell Adapter (z.B. für RS485/Modbus, Arduinos etc) unter FreeBSD als /dev/cuaU* Geräte auf. Das macht es schwierig, sie in FHEM einzubinden da sich beim Umstecken etc. der Gerätename ändern kann und dann der Adapter z.B. nicht mehr unter cuaU0 sondern unter cuaU1 etc. zu finden ist.
Unter Linux haben die Adapter eine eindeutige Kennung (z.B. als /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A10KVD0Q-if00-port0). In FreeBSD kann man das wie folgt nachbauen:

> cat /usr/local/etc/devd/rs485.conf
attach 1000 {
        match "sernum"          "AB0LHFXT|AB0MG4RO|A10KVD0Q";
        action                  "ln -sf /dev/cua$ttyname /dev/waveshare_$sernum && ln -sf /dev/cua$ttyname.lock /dev/waveshare_$sernum.lock && ln -sf /dev/cua$ttyname.init /dev/waveshare_$sernum.init";
};

notify 1000 {
        match "sernum"          "AB0LHFXT|AB0MG4RO|A10KVD0Q";
        match "type"            "DETACH";
        match "subsystem"       "DEVICE";
        action                  "rm /dev/waveshare_$sernum && rm /dev/waveshare_$sernum.init && rm /dev/waveshare_$sernum.lock";
};
~

In diesem Beispiel sind die Adapter mit Seriennummer AB0LHFXT, AB0MG4RO oder A10KVD0Q eindeutig als /dev/waveshare_$Seriennummer ansprechbar und lassen sich entsprechend in FHEM einbinden.

Die Seriennummer (oder zur Not auch der USB Pfad für Adapter, die keine Seriennummer haben (wie z.B. CH340 Chips)) lässt sich mit usbconfig -d ugen1.11 dump_all_desc herausfinden wenn das Gerät bereits eingesteckt ist oder aber mit einem laufenden cat /var/run/devd.pipe und dann einem anschliessen des Gerätes.

Titel: Aw: FreeBSD und eindeutige Definitionen für USB zu seriell Adapter
Beitrag von: Prof. Dr. Peter Henning am 29 März 2024, 18:49:48
Das sollte bitte ins Wiki, hier geht es ziemlich unter.

LG

pah
Titel: Aw: FreeBSD und eindeutige Definitionen für USB zu seriell Adapter
Beitrag von: Aurel_B am 30 März 2024, 20:49:29
Danke für den Hinweis, ich bereite einen Artikel vor. Ich denke es wäre sinnvoll, gleich einen ganzen Artikel zum Thema FreeBSD & FHEM zu erstellen (Analog zu z.B. https://wiki.fhem.de/wiki/FHEM_Installation_Windows (https://wiki.fhem.de/wiki/FHEM_Installation_Windows))
Titel: Aw: FreeBSD und eindeutige Definitionen für USB zu seriell Adapter
Beitrag von: Prof. Dr. Peter Henning am 31 März 2024, 06:29:38
Prima, allerdings sollte dieser Artikel nicht zu lang werden. Lieber aufspalten in einen Artikel zur Installation, und die USB-Geschichte hier einfügen: https://wiki.fhem.de/wiki/Mehrere_USB-Ger%C3%A4te_einbinden

LG

pah
Titel: Aw: FreeBSD und eindeutige Definitionen für USB zu seriell Adapter
Beitrag von: Aurel_B am 31 März 2024, 10:44:26
Prima, danke für den Hinweis, habe ich so eingepflegt. Installationsanleitung folgt, hier noch der Querlink für meinem Sammelthread "FHEM auf FreeBSD": https://forum.fhem.de/index.php?topic=137514.msg1307124 (https://forum.fhem.de/index.php?topic=137514.msg1307124)