FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: hauwech am 13 April 2022, 12:44:35

Titel: Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: hauwech am 13 April 2022, 12:44:35
Hallo zusammen,

ich habe Probleme, einen entfernten Signalduino via ser2net in mein fhem einzubinden.
Das bestehende Szenario:
Ich habe bisher 2 CULs, 1 Jeelink und 3 HMUART an funktechnisch günstige Standorte verteilt und ohne Probleme mit ser2net in fhem konfiguriert.
Mein NUC mit der fhem Instanz ist wegen des USB-Stromsensors "funkungünstig" im Zählerkasten verbaut.
Jetzt will ich für mein Poolthermometer (ein infactory NX-9192-675) noch einen Signalduino hinzufügen. Dazu habe ich zum Testen einen arbeitslosen alten Raspi aufgesetzt. Da ist ein neues Raspberry Pi OS Bullseye Lite drauf, Ser2net V. 4.3.3. Neuerdings wird ser2net nicht mehr mit *.conf, sondern mit *.yaml konfiguriert. Zum Test habe ich auf dem Raspi auch eine fhem Instanz installiert. Der Signalduino am Raspi ist in fhem mit:/dev/serial/by-id/usb-SHK_SIGNALduino_433-if00-port0@57600definiert und funktioniert dort auf Anhieb super. Das Poolthermometer wurde mit autocreate als CUL_TCM97001 device, model Prologue angelegt und meldet wie gewünscht Temperatur und batteryState.
Nun möchte ich die devices in meiner Prod fhem Instanz haben. Meine ser2net.yaml sieht so aus:
# This is a ser2net configuration file, tailored to be rather
# simple.
#
# Find detailed documentation in ser2net.yaml(5)
# A fully featured configuration file is in
# /usr/share/doc/ser2net/examples/ser2net.yaml.gz
#
# If you find your configuration more useful than this very simple
# one, please submit it as a bugreport

# define: &banner \r\nser2net port \p device \d [\B] (Debian GNU/Linux)\r\n\r\n

### signalduino
connection: &con03000
    accepter: tcp,3000
    options:
      kickolduser: true
    connector: serialdev,
               /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0,
               57600n81,local

Wenn ich jetzt versuche, den sduino in fhem zu definieren mit:define sduino SIGNALduino 192.168.xx.xx:3000 sehe ich im fhem Log:2022.04.13 10:57:00.997 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.017 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.018 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.032 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.048 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.049 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.063 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.078 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.080 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.093 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.111 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.112 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.125 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.140 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.142 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.155 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.170 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.172 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.185 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.200 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.202 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.215 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.312 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.313 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.354 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.369 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.371 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.384 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.399 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.400 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.413 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.428 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.430 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.446 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.462 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.463 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.476 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.492 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.493 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.506 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.522 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.523 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.536 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.552 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.554 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.567 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.583 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.585 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.598 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.614 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.615 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.628 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.644 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.646 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.659 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.674 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.675 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.688 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.704 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.705 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.718 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.734 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.735 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.748 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.764 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.765 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.778 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.794 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.795 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.808 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.824 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.826 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.839 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.857 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.858 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.871 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.886 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.888 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.901 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.917 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.918 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.931 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.946 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.948 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.961 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:01.977 1: sduino: DoInit, 192.168.xx.xx:3000
2022.04.13 10:57:01.978 1: 192.168.xx.xx:3000 reappeared (sduino)
2022.04.13 10:57:01.991 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:02.011 1: sduino: DoInit, 192.168.xx.xx:3000

Ich habe absichtlich mal eine Sekunde rauskopiert, daß man besser sieht: es werden pro Sekunde fast 90 events geschrieben.
Wenn ich jetzt das sduino device wieder lösche in fhem, um das log-flooding abzustellen, steht im fhem Log:
2022.04.13 10:57:16.390 1: 192.168.xx.xx:3000 disconnected, waiting to reappear (sduino)
2022.04.13 10:57:19.901 3: sduino: Connect, connect to http://192.168.xx.xx:3000 timed out
2022.04.13 10:57:19.906 0: Strange call for nonexistent sduino: ReadyFn
2022.04.13 10:57:19.907 1: stacktrace:
2022.04.13 10:57:19.909 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2022.04.13 10:57:19.910 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2022.04.13 10:57:19.911 1:     main::__ANON__                      called by fhem.pl (843)
2022.04.13 10:57:19.916 0: Strange call for nonexistent sduino: ReadyFn
2022.04.13 10:57:19.917 1: stacktrace:
2022.04.13 10:57:19.918 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2022.04.13 10:57:19.919 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2022.04.13 10:57:19.920 1:     main::__ANON__                      called by fhem.pl (843)
2022.04.13 10:57:19.928 0: Strange call for nonexistent sduino: ReadyFn
2022.04.13 10:57:19.929 1: stacktrace:
2022.04.13 10:57:19.930 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2022.04.13 10:57:19.931 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2022.04.13 10:57:19.932 1:     main::__ANON__                      called by fhem.pl (843)
2022.04.13 10:57:19.943 0: Strange call for nonexistent sduino: ReadyFn
2022.04.13 10:57:19.944 1: stacktrace:
2022.04.13 10:57:19.946 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2022.04.13 10:57:19.947 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2022.04.13 10:57:19.947 1:     main::__ANON__                      called by fhem.pl (843)
2022.04.13 10:57:19.959 0: Strange call for nonexistent sduino: ReadyFn

Das sind etwa 250 Zeilen pro Sekunde.
Fhem ist damit komplett abgeschossen. Es kommt erst nach zwei(!) reboots wieder hoch.

Die beiden CULs sind mit192.168.xx.xx:30xx 0000 definiert, der JeeLink ohne die 4 Nullen am Ende. Ich weiß nicht wofür die 4 Nullen stehen, kann das die Ursache des Problems sein? Im Wiki zum Signalduino sind diese 4 Nullen beim define jedenfalls nicht erwähnt.
Das Verhalten tritt auf, egal ob ich im Raspi-fhem den Signalduino open oder manuell "closed" habe, während ich das define via IP im Prod-fhem versuche.
Oder muß ich das sduino device im Raspi-fhem löschen, weil der serielle Port trotzdem blockiert wird?

Ich hatte den Signalduino auch schon an einem anderen Raspi (ohne fhem-Instanz), wo noch eine ältere ser2net mit alter Config läuft und ein funktionierender HMUART dranhängt. Der Effekt nach dem define des Signalduino via IP im Prod-fhem ist aber der Gleiche wie oben beschrieben.

Sorry für den langen Beitrag, ich wollte möglichst viele relevante Infos mitgeben.

Vielen Dank schon mal für's Lesen, vielleicht hat jemand den entscheidenden Tip. Ich möchte mein fhem ungern nochmal abschießen.

Gruß Roland
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: Beta-User am 13 April 2022, 13:03:31
Etwas gestraffter Input:

Zitat von: hauwech am 13 April 2022, 12:44:35
Der Signalduino am Raspi ist in fhem mit:/dev/serial/by-id/usb-SHK_SIGNALduino_433-if00-port0@57600definiert und funktioniert dort auf Anhieb super.

# This is a ser2net configuration file, tailored to be rather
    connector: serialdev,
               /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0,
               57600n81,local

Wüßte nicht, warum ser2net den USB-Stick finden sollte, einen solchen gibt es nicht unter dieser Bezeichnung/Adresse...

Die vielen Log-Einträge kommen daher, dass FHEM prinzipiell versucht, "kaputte" Verbindungen möglichst schnell wieder aufzumachen. V.a., wenn Geräte über Netzwerk verbunden werden, ist "immer wenn FHEM Zeit hat" etwas kurz. Dann kann der betreffende Modulautor entweder einen timeout festlegen oder einen (Pseudo-) callback. Dazu müßte man aber wissen, welche Version da im Einsatz ist...
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: Otto123 am 13 April 2022, 13:06:40
Hi,

ich meine die Zeilen am Anfang der yaml sind notwendig
%YAML 1.1
---

die Zeilen haben bei mir gestört, allerdings nur auf einem alten PiB
    options:
      kickolduser: true

In Summe hat bei mir (anderer Fall) diese yaml funktioniert:
%YAML 1.1
---
# HM_MOD-RPI-PCB
connection: &con01
    accepter: tcp,4000
    connector: serialdev,
              /dev/ttyAMA0,
              115200n81,local


Du hast zwei unterschiedliche /dev/serial/by-id/ Pfade am Anfang, ich habe nicht verstanden ob das ein und derselbe sein soll?

Gruß Otto
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: hauwech am 13 April 2022, 13:14:47
Danke erstmal für die Hinweise. Ich hatte schon befürchtet, daß ich wieder ein Opfer der Betriebsblindheit wurde.
Der Eintrag in der ser2net.yaml stammt noch von einem Versuch mit dem Eigenbau Signalduino mit einem Arduino Nano mit CH340. Jetzt habe ich einen mit FTDI. Ich hatte nur die fhem-DEF angepaßt.
Ich teste gleich mal.

Übrigens: Weiß jemand, wo ser2net ein log hinschreibt? in /var/log ist jedenfalls nix.

Gruß Roland
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: Otto123 am 13 April 2022, 13:25:26
hier steht ganz unten alle Fehler gehen nach syslog https://man.archlinux.org/man/community/ser2net/ser2net.yaml.5.en

Um den Rest kann man sich ev. mit einer Admin connection selbst kümmern?
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: hauwech am 13 April 2022, 13:37:58
Vielen Dank für's mitkucken. Kaum macht man's richtig, geht's ;D
Und danke, Otto. Die Zeile mit dem Hinweis auf syslog hatte ich auch übersehen.

Ich ruf' gleich mal meinen Augenarzt an, ich habe wohl Probleme mit der visuellen Korrelation.  ;)

Danke und Gruß
Roland
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: Sidey am 13 April 2022, 21:49:46
Hi,

ich habe gelesen dass es jetzt funktioniert, dennoch hier meine, funktionierende (vollständige) Konfiguration:


connection: &toSignalduinotcp
  accepter: tcp,45020
  enable: on
  connector: serialdev,/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9S3Z1H5-if00-port0,57600n81,local
  options:
    kickolduser: true



Grüße Sidey
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: hummeruli am 14 April 2022, 13:03:03
Das gleiche Problem hatte ich auch. Ständiger Verbindungsabbruch.

Meine Lösung war kurz und schmerzlos!

Wemos D1
cc1101
Ein paar Drähte

Fertig der EspDuino.

Gestern noch eine Miniantenne für 868MHz dran, ein 3D-Gehäuse drum herum.

Alles läuft ohne einen Abbruch seit geraumer Zeit.

Gruß und schöne Ostern.

Uli
Titel: Antw:Probleme beim Einbinden eines entfernten Signalduino über ser2net
Beitrag von: hauwech am 14 April 2022, 18:32:20
Zitat von: Sidey am 13 April 2022, 21:49:46
Hi,

ich habe gelesen dass es jetzt funktioniert, dennoch hier meine, funktionierende (vollständige) Konfiguration:


connection: &toSignalduinotcp
  accepter: tcp,45020
  enable: on
  connector: serialdev,/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9S3Z1H5-if00-port0,57600n81,local
  options:
    kickolduser: true

Grüße Sidey
Danke Dir, die Option "enable: on" hatte ich noch nicht gesehen, scheint auch sonst niemand zu haben. Aber wenn's funktioniert, ist alles gut.

Mit einem Wemos D1 hatte ich auch experimentiert. Der stand zwar auf "opened" hatte aber nix empfangen. Vielleicht hänge ich den nochmal dran. Wenn ich mich recht entsinne, stand dessen Frequenz nach dem init auf 433.00 anstatt 433.92. Aber mein anderer funktioniert ja jetzt. Dummerweise hatte ich in der ser2net.yaml vergessen, die USB-ID von dem CH340 auf den neuen FTDI anzupassen, was die geschilderten Probleme verursacht hatte.

Danke und Gruß
Roland