ttyUSB-Geräte mit festem Namen versehen

PDF Dokumente für Informationen im Detail, sowie Bauanleitungen.

Moderatoren: Ulrich, TeamO

dirkl
Beiträge: 21
Registriert: Fr 4. Nov 2022, 15:37

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von dirkl »

Hallo zusammen,

konnte problemlos von der Single zur Multi Version umstellen. Allerdings habe ich das Problem, dass ich 3 gleiche Adapter habe. Die sind so gleich, dass sogar die Serial bei allen identisch ist und die Solaranzeige meint es immer mit dem Selben zu tun zu haben. Nun wollte ich mir anschauen wie man den Chip flasht. Leider geht der Link mittlerweile ins Leere. Hat jemand die passende Adresse oder einen Tipp nach was ich googlen muss? Die Suche war bislang erfolglos, schätze ich bin mit den falschen Begriffen unterwegs :?
tuxflo hat geschrieben:
Sa 5. Jun 2021, 13:30
Ich möchte noch anmerken, dass es je nach verwendeten Geräten vorkommen kann, dass noch keine Serialnummern vergeben sind. Das Problem hatte ich bei meinen IR-Schreib/Leseköpfen die am solaranzeige Rapsi hängen. Aber auch hier kann man sich abhilfe schaffen, indem man eine Seriennummer auf den FDTI Chip flasht. Wie das geht wird z.B. bei AZ Delivery erklärt: https://www.az-delivery.de/a/s/blogs/az ... und-andern
Für Linux gibt es auch entsprechnde Tools.

Vielen Dank und Gruß
Dirk

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von TeamO »

Du musst hier dann die Unterscheidung nicht anhand der Seriennummern, sondern anhand des zugewiesenen USB-Ports vornehmen.
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

tuxflo
Beiträge: 59
Registriert: So 17. Mai 2020, 21:48
Hat sich bedankt: 16 Mal
Danksagung erhalten: 23 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von tuxflo »

Keine Ahnung warum der Link tot ist, aber wenn ich nach "FDTI change serial number" suche, komme ich z.B. auf diese Seite https://marcelstechnik.wordpress.com/20 ... ftdi-chip/ die das Prozedere unter Windows erklärt. Für Linux wird man z.B. hier fündig: https://remoteqth.com/wiki/index.php?pa ... rialNumber
Kostal Pico Wechselrichter
SMA Tripower Wechselrichter

go-E Wallbox

per IR-Schreib/Lesekopf werden auch Zählerdaten erfasst

Raspi 4 über PoE HAT betrieben

dirkl
Beiträge: 21
Registriert: Fr 4. Nov 2022, 15:37

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von dirkl »

tuxflo hat geschrieben:
Mi 1. Mär 2023, 22:42
https://marcelstechnik.wordpress.com/20 ... ftdi-chip/ die das Prozedere unter Windows erklärt. Für
Klasse, auf der Domain bin ich auch gelandet, allerdings eine andere Unterseite ... Vielen Dank, ich versuche mal mein Glück :-)
TeamO hat geschrieben:
Mi 1. Mär 2023, 15:21
Du musst hier dann die Unterscheidung nicht anhand der Seriennummern, sondern anhand des zugewiesenen USB-Ports vornehmen.
Das funktioniert leider nicht, da sich der Port beim Anstecken des zweiten Adapters ändert.

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von TeamO »

dirkl hat geschrieben:
Mi 1. Mär 2023, 23:50
Das funktioniert leider nicht, da sich der Port beim Anstecken des zweiten Adapters ändert.
Die Hardware-Ports ändern sich doch nicht. Jeder Port hat eine feste Bezeichnung, welcher Du dann den eentsprechenden Adapter zuweist.

Code: Alles auswählen

udevadm info -a -n /dev/ttyUSB0 | grep '{devpath}' | head -n1
Gibt Dir den (Hardware-)USB-Port von ttyUSB0 aus und

Code: Alles auswählen

udevadm info -a -n /dev/ttyUSB1 | grep '{devpath}' | head -n1
gibt Dir den (Hardware-)USB-Port von ttyUSB1 aus.
Als Antwort kommt dann zum Beispiel:

Code: Alles auswählen

pi@solaranzeige:~ $ udevadm info -a -n /dev/ttyUSB0 | grep '{devpath}' | head -n1
    ATTRS{devpath}=="1.4"
pi@solaranzeige:~ $ udevadm info -a -n /dev/ttyUSB1 | grep '{devpath}' | head -n1
    ATTRS{devpath}=="1.3"
Somit ist der USB-Adapter ttyUSB0 am Port 1.4 und der ttyUSB1 an Port 1.3.
Welcher für welchen Wechselrichter ist, kannst Du ja leicht rausfinden.
Jetzt musst Du nur noch in der /etc/udev/rules.d/99-usb-serial.rules entsprechend den Ports (devpath) die Zuweisung von einem Festen Namen auf diesen Port vornehmen.
In dem Beispiel von mir dann folgendes:

Code: Alles auswählen

SUBSYSTEM=="tty", ATTRS{devpath}=="1.3", SYMLINK+="ttyUSB1", OWNER="pi"
SUBSYSTEM=="tty", ATTRS{devpath}=="1.4", SYMLINK+="ttyUSB0", OWNER="pi"
Wichtig ist, dass die Bezeichnung mit ttyUSB beginnt. Das hatte Ulrich mal geschrieben.

Mit dieser Variante können auch Hidraw-Geräten feste Ports zugewiesen werden.
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

Oli83two
Beiträge: 48
Registriert: Mo 11. Apr 2022, 18:45
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von Oli83two »

Hallo Ihr.

ich habe mich jetzt mal mit den symlinks befasst und musste erstmal feststellen, dass ich drei Fake-FTDI-chips habe (alle mit der gleichen seriennummer A50285BI). weil bei diesen Fakes die seriennummer nicht geändert werden kann(?) muss ich wohl auch auf den Umweg über die Ports gehen, dass zumindest bei reboot alles dort ist wo es hingehört (obwohl das bis jetzt bei 2 Geräten noch nie passiert ist)

Aber die eigentliche Frage in die Runde: WARUM lässt sich die seriennummer der Fakechips nicht ändern (mit FT_Prog)? hat da jemand noch eine idee? Könnte man eine Rom-Datei eines echten FTDI runterladen und die dann flashen oder so? (löten will ich eigentlich nicht) Helft mir mal!

VG Oli
RPi Pi4 2GB mit 8ch-Relayboard und NodeRed
-Growatt SPF5000ES (48)
-Tracer Epever (3)
-SeplosBMS (91)

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von TeamO »

Das liegt wohl an den verbauten Chips. Wenn es ROM sind ist es doch logisch
ROM = Read-Only-Memory
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

Solarboy
Beiträge: 70
Registriert: Di 25. Okt 2022, 21:20
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von Solarboy »

Hallo mal wieder,
ich habe nun eine ganze Weile einen Growatt WR mit der Solaranzeige ausgelesen.
Nun habe ich die ganze Anlage erweitert und einen zweiten Growatt WR installiert. Gestern habe ich dann die Solaranzeige umgestellt auf die Multi-Regler Version. Lt. solaranzeige.log lief alles soweit. Am Ende habe ich den USB-Geräten nach dieser ANleitung feste Namen vergeben. Aber seitdem werden keine Daten mehr ausgelesen, der Timestamp in der .log-Datei würde passen. ich konnte bisher keinen Fehler feststellen und bin gerade mal wieder ratlos.
Hier mal die Ergebnisse der Befehle lt. Anleitung:

pi@solaranzeige:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

pi@solaranzeige:~ $ ls -la /dev/serial/by-id/
insgesamt 0
drwxr-xr-x 2 root root 80 24. Mär 11:09 .
drwxr-xr-x 4 root root 80 24. Mär 11:09 ..
lrwxrwxrwx 1 root root 13 24. Mär 11:09 usb-FTDI_FT232R_USB_UART_A10LSXXD-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 24. Mär 11:09 usb-FTDI_FT232R_USB_UART_A10MP0SM-if00-port0 -> ../../ttyUSB1

pi@solaranzeige:~ $ udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1
ATTRS{serial}=="A10LSXXD"
pi@solaranzeige:~ $ udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
ATTRS{serial}=="A10MP0SM"

Die erstellte /etc/udev/rules.d/99-usb-serial.rules sieht so aus:

SUBSYSTEM=="tty", ATTRS{serial}=="A10LSXXD", SYMLINK+="Wechselrichter_Garage", OWNER="pi"
SUBSYSTEM=="tty", ATTRS{serial}=="A10MP0SM", SYMLINK+="Wechselrichter_Schwimmbad", OWNER="pi"

In den beiden configs ist folgendes eingetragen:

1.user.config.php
$InfluxDBLokal = "solaranzeige1";
$USBRegler = "ttyUSB0";
$USBDevice = "/dev/Wechselrichter_Garage";

2.user.config.php
$InfluxDBLokal = "solaranzeige2";
$USBRegler = "ttyUSB1";
$USBDevice = "/dev/Wechselrichter_Schwimmbad";

Die Influx-Dateien sind beide angelegt.

Und nun noch den Auszug aus der solaranzeige.log-Datei:

23.03. 22:08:01 -Multi Regler Auslesen [Start].
23.03. 22:08:01 -Verarbeitung von: '1.user.config.php' Regler: 48
23.03. 22:08:01 |------------------------- Start growatt.php ---------------------
23.03. 22:08:01 -Protokoll Version: 4
23.03. 22:08:02 -Firmware: 040.06 Warnungen: 0
23.03. 22:08:02 -Auslesen des Gerätes beendet.
23.03. 22:08:02 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
23.03. 22:08:02 -Multi-Regler-Ausgang. 8
23.03. 22:08:10 -OK. Datenübertragung erfolgreich.
23.03. 22:08:10 |------------------------- Stop growatt.php ---------------------
23.03. 22:08:10 -Verarbeitung von: '2.user.config.php' Regler: 48
23.03. 22:08:10 |------------------------- Start growatt.php ---------------------
23.03. 22:08:10 -Protokoll Version: 4
23.03. 22:08:11 -Firmware: 040.06 Warnungen: 0
23.03. 22:08:11 -Auslesen des Gerätes beendet.
23.03. 22:08:11 * -Daten zur lokalen InfluxDB [ solaranzeige2 ] gesendet.
23.03. 22:08:11 -Multi-Regler-Ausgang. 8
23.03. 22:08:19 -OK. Datenübertragung erfolgreich.
23.03. 22:08:19 |------------------------- Stop growatt.php ---------------------
23.03. 22:08:19 -Multi Regler Auslesen [Stop].

Frage an Dr. Sommer ;-) : Was mache ich falsch?

Solarboy
Beiträge: 70
Registriert: Di 25. Okt 2022, 21:20
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von Solarboy »

Gerade habe ich noch den Pylontech-Akku eingebunden. Die .log-Datei zeigt noch keine neuen Einträge, aber die Abfrage nach den USB-Geräten zeigt, dass die zugeordneten Anschlüsse nicht fest sind, sondern sich geändert haben. Vielleicht liegt da der Hase im Pfeffer?


pi@solaranzeige:~ $ ls -la /dev/serial/by-id/
insgesamt 0
drwxr-xr-x 2 root root 100 24. Mär 12:44 .
drwxr-xr-x 4 root root 80 24. Mär 12:44 ..
lrwxrwxrwx 1 root root 13 24. Mär 12:44 usb-FTDI_FT232R_USB_UART_A10LSXXD-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 24. Mär 12:44 usb-FTDI_FT232R_USB_UART_A10MP0SM-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 24. Mär 12:44 usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -> ../../ttyUSB0

TeamO
Beiträge: 1166
Registriert: Mo 22. Jun 2020, 08:58
Wohnort: Ulm / Neu-Ulm
Hat sich bedankt: 26 Mal
Danksagung erhalten: 228 Mal

Re: ttyUSB-Geräte mit festem Namen versehen

Beitrag von TeamO »

Wichtig ist zuerst, dass die Namen mit ttyUSB0... , ttyUSB1.... , ttyUSB2.... etc. beginnen müssen.
Das hatte Ulrich mal geschrieben.
Dann wäre noch interessant, was als Ausgabe kommt, wenn Du folgendes abfragst:
ls -l /dev/ttyUSB0....
ls -l /dev/ttyUSB1....
ls -l /dev/ttyUSB2....
Gruß Timo

Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen

Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de

Tibber Invite (100% Öko-Strom + 50€ Bonus)

Antworten

Zurück zu „Dokumente, Bauanleitungen und How To's“