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@57600
definiert 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
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@57600
definiert 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...
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
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
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?
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
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
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
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