USB-Modbus-Adapter wird beim booten nicht erkannt

Fragen zur Nutzung, Features, usw..
Antworten
E-lmo
Beiträge: 206
Registriert: Sa Nov 10, 2018 4:45 pm

USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von E-lmo »

Da bei mir durch Arbeiten an der Elektroinstallation die OpenWb mehrmals spannungslos war, fiel mir auf, dass die Modbusverbindung nach dem booten nicht mehr funktioniert. Erst wenn ich den USB-Modbus-Adapter kurz aus der USB-Buchse ziehe und wieder stecke, werden die Daten der Zähler dargestellt.

Kann es sein, dass die Initialisierung des USB-Modbus-Adapters beim Start gegenüber früheren Versionen geändert wurde?
Mit einer der früheren OpenWb-Versionen hatte ich das Problem nicht.
(Aktuell OpenWb 1.9.243 Eigenbau mit Modbus-USB-Adapter für die Stromzähler und DAC mit simpleEVSE-wb.)

Bei meiner zweiten Installation mit einer älteren Version funktioniert die Initialisierung beim booten problemlos.
(Aktuell 1.6.19b nightly allerdings mit mehreren Modbus-USB-Adaptern für Zähler und Simple-EVSE-Din)
FosCo
Beiträge: 132
Registriert: Di Jun 30, 2020 9:26 am

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von FosCo »

Vielleicht am Thema vorbei, aber das Problem kenne ich vom fhem und zwei CUL Sticks (original und Selbstbau).
Der originale wird immer zuverlässig erkannt, der Eigenbau nicht.

Bei der Initialisierung kann man sich an device by id oder device by name hängen.
Ohne den Code zu kennen, könnte hier eine Analyse starten.

Ist der Port bei beiden openWB der gleiche und ist es jeweils das einzige USB Gerät?
17kWp Ost/Süd/West, 2x Commetering (Discovergy) Smartmeter, FHEM, ID3 Pure (2-phasig 7kW AC), 2x openWB series 2 custom mit RFID
E-lmo
Beiträge: 206
Registriert: Sa Nov 10, 2018 4:45 pm

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von E-lmo »

Der USB-Adapter wird als /dev/ttyUSB0 angesprochen und ist das einzige USB-Gerät in der Installation.
(Daneben wird noch ein i2C-DAC-Wandler vom Raspi angesteuert. -Zur Ladestromvorgabe an die simple-EVSE-wb. Das war bei den ersten OpenWb-Entwicklungen noch Standard. Da dies zuverlässig läuft, habe ich das nicht angepasst.)

Die Initialisierung des USB-Modbus-Adapters funktioniert beim Start nie.
Nach kurzem Abstecken wird dieser immer zuverlässig erkannt.
Das Verhalten ist also zuverlässig reproduzierbar und funktionierte vor einiger Zeit noch. (Vermutlich vor einem der letzten Updates)

Das zweite OpenWb-System initialisiert die beiden USB-Modbus-Wandler ( /dev/ttyUSB0 und /dev/ttyUSB1 )beim Booten zuverlässig.
(Hier ist noch eine ältere Version installiert, da die OpenWB-Seite durch eine NAT erreichbar sein muss. Das ist mit den neueren Versionen etwas schwerer.)

Das unterschiedliche Verhalten lässt mich vermuten, dass die Initialisierung beim Booten durch Veränderung in der Version zu suchen sein könnte.
Zuletzt geändert von E-lmo am Di Sep 21, 2021 5:22 pm, insgesamt 1-mal geändert.
LutzB
Beiträge: 1349
Registriert: Di Feb 25, 2020 9:23 am

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von LutzB »

So tief ins System greift openWB nicht ein. Entweder das RaspberryPi OS erkennt den Adapter, oder eben nicht. Schau mal in den Protokollen bei Systemstart nach.
Stichwörter: dmesg, lsusb, syslog

Interessant ist sicher auch ein Abgleich der installierten Pakete und deren Versionen. Speziell der Kernel.
FosCo
Beiträge: 132
Registriert: Di Jun 30, 2020 9:26 am

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von FosCo »

Wenn du eine Lösung findest, wird das sicherlich auch mein CUL Problem lösen, ich bin gespannt 8-)
17kWp Ost/Süd/West, 2x Commetering (Discovergy) Smartmeter, FHEM, ID3 Pure (2-phasig 7kW AC), 2x openWB series 2 custom mit RFID
derNeueDet
Beiträge: 1465
Registriert: Mi Nov 11, 2020 7:16 pm

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von derNeueDet »

ttyUSB0 und ttyUSB1 sind dynamische Namen, die beim Booten erzeugt werden. Zum Einen kann sich das verändern, wenn du die beiden Adapter mal tauschst und zum Anderen könnte es sein, dass der dynamische Name nicht rechtzeitig zur Verfügung steht. Jetzt kommt es drauf an, ob die Adapter einen eindeutigen Namen haben, sodass du diesen verwenden kannst.
lsusb wäre der richtige Punkt um das zu schauen.

VG
Det
10kWp PV mit SMA Tripower 10000TL-10. OpenWB Standard+. EVU/PV über Volkszähler in den JSON Modulen. PHEV Mercedes GLA250e
derNeueDet
Beiträge: 1465
Registriert: Mi Nov 11, 2020 7:16 pm

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von derNeueDet »

Hier der Zustand auf einem meiner Raspis:

Code: Alles auswählen

pi@raspi3:~ $ lsusb
Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspi3:~ $ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Jul 27 17:34 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Jul 27 17:34 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Sep 21  2021 /dev/ttyUSB2
pi@raspi3:~ $ ls -l /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Jul 27 17:34 usb-FTDI_FT232R_USB_UART_A702PEEE-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Jul 27 17:34 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Jul 27 17:34 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0002_PV-if00-port0 -> ../../ttyUSB1
pi@raspi3:~ $
lsusb hilft nicht so richtig, da sich an meinem Raspi 2 identische USB TTL Adapter befinden. Identischer Name und identische ID. Somit ist das ein Glücksspiel, an welchem USB Port die stecken und mit welchem dynamischen Device /dev/ttyUSB* sie angelegt werden.
Zum Glück kann man bei den CP2102 auch den Name (ID) ändern, sodass sie unter /dev/serial/by-id dann eindeutig werden.
Für den Zugriff verwende ich nicht die dynamischen Devices /dev/ttyUSBx sondern
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

VG
Det
10kWp PV mit SMA Tripower 10000TL-10. OpenWB Standard+. EVU/PV über Volkszähler in den JSON Modulen. PHEV Mercedes GLA250e
Flocki
Beiträge: 178
Registriert: Fr Aug 28, 2020 12:43 pm

Re: USB-Modbus-Adapter wird beim booten nicht erkannt

Beitrag von Flocki »

Per udev können symlinks auf die Devices in Abhängigkeit vom Port in dem der Stick steckt erstellt werden.
Antworten