Probleme mit ser2net yaml configuration

Begonnen von thinman, 06 Dezember 2023, 14:40:24

Vorheriges Thema - Nächstes Thema

thinman

Servus,
ich habe ein Beitrag über das neue yaml configurationsfile hier gefunden und damit habe ich versucht meine alte KM271 Bruderus Karte wieder am laufen zu bringen. Bin aber am verzweifeln...
Warum muss man immer etwas was einfach und funktionell war gegen was völlig verkompliziertes tauschen? Wo bleibt der gute alte KISS Prinzip?

Nun gut, das war mein alte Eintrag im alten ser2net.conf file:

### Buderus KM271
2000:raw:0:/dev/ttyUSB0:2400 NONE 1STOPBIT 8DATABITS HANGUP_WGEN_DONE
 

Das hat wunderbar funktioniert bis mein SD Karte wegen einen Stromausfall gestorben ist.
Deshalb musste ich eine neue aufsetzen mit Bullseye.
Meine ser2net.yaml Datei sieht jetzt so aus:

connection: &con01
    accepter: tcp,2000
    connector: serialdev,
               /dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0
               2400n18,local
    options:
      kickolduser: true
      max-connections: 1

Wenn ich ser2net neu starte und das status ansehe kriege ich das:

steve@raspberrypi:~ $ sudo systemctl status ser2net
● ser2net.service - Serial port to network proxy
     Loaded: loaded (/lib/systemd/system/ser2net.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-12-06 14:27:10 CET; 49s ago
       Docs: man:ser2net(8)
   Main PID: 1253 (ser2net)
      Tasks: 1 (limit: 1595)
        CPU: 2.742s
     CGroup: /system.slice/ser2net.service
             └─1253 /usr/sbin/ser2net -n -c /etc/ser2net.yaml -P /run/ser2net.pid

Dec 06 14:27:10 raspberrypi systemd[1]: Starting Serial port to network proxy...
Dec 06 14:27:10 raspberrypi systemd[1]: Started Serial port to network proxy.
Dec 06 14:27:10 raspberrypi ser2net[1253]: Unable to startup network port con01: Address already in use
Dec 06 14:27:20 raspberrypi ser2net[1253]: Unable to startup network port con01: Address already in use
Dec 06 14:27:30 raspberrypi ser2net[1253]: Unable to startup network port con01: Address already in use
Dec 06 14:27:40 raspberrypi ser2net[1253]: Unable to startup network port con01: Address already in use
Dec 06 14:27:50 raspberrypi ser2net[1253]: Unable to startup network port con01: Address already in use

Je öfter ich diese status abfrage, umso öfter erscheint das letzte Fehler.
In meine FHEM Seite wechselt das KM271 device derweil ständig zwischen open und disconnect.

Eine HUNGUP_WHEN_DONE Eintrag in der ser2net GitHub Beispielen habe ich nicht gefunden.
Könnte Jemand sagen wie ich mein Eintrag korrigieren muss, dass es wieder funktioniert?
Vielen Dank.

rudolfkoenig

Bin kein ser2net Experte, aber "Address already in use" klingt so, als ob irgendwer port 2000 belegt haette.

Ich wuerde zum debuggen den Dienst erst stoppen, und den Prozess mit den gezeigten Parametern in der Konsole starten.
Wenn das funktioniert, dann erst das Starten ueber systemd angehen.

thinman

Danke, typische "vom laute Bäume das Wald nicht sehen" Problem.
Im alten config File war alles auskommentiert außer mein Eintrag.
In den neuen Yaml File sind schon einige "default" Einträge drin und die erste davon stand natürlich auf port 2000.
Wenn man die Mühe nimmt das ganze File zu lesen, fällt es dann doch auf.

Somit wäre die Fehler im service status behoben (unbenutzte Port eingestellt).
Ser2net läuft fehlerfrei aber im FHEM wird immer noch zwischen open und disconnect in Sekundentakt hin und hergeschaltet und die Readings werden nicht aktualisiert.
Ich muss mich mal mit der ganzen Optionen befassen und versuchen Deine Vorschlag zu folgen und per command line zu testen.

thinman

endlich...
Ich habe alle anderen "default" Einträge rauskommentiert und meine auf folgende umgeändert:

connection: &con01
    accepter: tcp,2002
    enable: on
    options:
      kickolduser: true
    connector: serialdev,
               /dev/ttyUSB0,
               2400n81,local

Ich glaube am Ende lag es an der Geschwindigkeitsdefinition. Ich habe das stop bit und die data bit umgetauscht. 2400n18 war falsch und 2400n81 richtig.
Jetzt funktioniert es.