Hallo zusammen,
ich habe bei meinen beiden PI's eine Fhem2Fhem Verbindung eingerichtet
define PI1_Remote telnet 7072 global
define PI2_Remote telnet 7072 global
auf dem ersten PI will ich alle Daten des anderen PI's sehen und habe dementsprechend
define PI2_Remote fhem2fhem 192.168.178.54:7072 LOG:.*
funktioniert wunderbar...
wenn ich auf dem 1ten PI nur ein Event mitbekommen möchte
define PI2_Remote fhem2fhem 192.168.178.53:7072 LOG:Waschmaschine
definiere rastet der EventMonitor förmlich aus.
Ich bekomme eine unmenge an einträgen vom Device.... pro Sekunde x Stück.
Wenn ich reboote funktioniert alles ersteinmal wunderbar. Sobald das Event ausgelöst wird
spinnt es wieder.
Woran kann das liegen!??!
Danke
Michael
Klingt nach einer Schleife.
Der eine PI meldet ein Waschmaschine-Event an den anderen.
Das wird beim anderen wie ein lokales Event verarbeitet. Und da er ALLE Events an den anderen melden soll, meldet er auch das.
Dadurch taucht beim ersten wiederum ein lokales Waschmaschine-Event auf, dass er an den anderen meldet...
Und das dann ewig so weiter...
Klingt nach einer erklärung.... Wie kann ich das verhindern?!
Dem Event einen anderen Namen geben?
In dem Du Deine RegEx bei weitem enger setzt.
Hallo,
Fhem2Fhem ist nicht ganz so einfach. Dein Problem wurde schon mehrfach im Forum behandelt. Einen Hinweis zu der Problematik gibt es auch im Wiki. Bitte dort sich erst einmal intensiv schlau machen.
Hinweis: Das Problem wird durch Log:.* mit verursacht. Durch ein entsprechende Einschränkung von .*, was ja Alles loggen bedeutet, kannst Du Dein Problem lösen.
Gesendet von iPhone mit Tapatalk
Grüße Jörg
Danke erstmal für die Hinweise.
LOG:.* habe ich nur benutzt da auf dem 2ten PI meine ganzen Temperaturen, Luftfeuchtgkeit usw gemessen werden und diese an den 1sten PI gehen da dort my SmartVisu installiert ist.
LOG:Waschmaschine geht an den 2ten zurück da dort die PCA301 an der Waschmaschine hängt.
Grüße
define PI2_Remote fhem2fhem LOG:.* (|temperature|humidity|battery|Waschmaschine:state|Waschmaschine_power) .*
Wäre dann nur das loggen für die genannten werte für den 1sten PI
Wenn ich nun die Waschmaschine, die am 2ten PI ist, vom 1sten aus Schalten will dann habe ich auf dem 1sten PI einen dummy "Waschmaschine" und auf dem
2ten die Steckdose "Waschmaschine"
define PI1_Remote fhem2fhem LOG:Waschmaschine:state
dann würde wenn ich an PI1 die Waschmachine schalte nur das Event an PI2 kommen?
Grüße
2x Waschmaschine:state -> Schleife!!!
.*(temperature|humidity|battery).*
Würde aus meiner Sicht alle Geräte mit den entsprechenden Readings übertragen.
Gruß Otto
Zitat von: Otto123 am 17 Juli 2018, 11:45:19
2x Waschmaschine:state -> Schleife!!!
was wäre denn die Lösung?
Gesendet von meinem SM-G930F mit Tapatalk
einmal weglassen ::) :o
Ich verstehe nicht wozu man etwas zurück übertragen muss wenn es sowieso schon vorhanden ist?
Zitateinmal weglassen ::) :o
wenn du mir erklären kannst wie.... Ich sollte vielleicht etwas ausholen :)
Ich habe 3 PI's auf dem FHEM läuft... Ich nenne sie C3PO, R2D2 und Luke :)
Auf C3PO habe ich 2 selbstgebaute CULs mit 433 und 868 Mhz sowie SmartVisu
Auf R2D2 habe ich auch 2 selbstgebaute CULs mit JeeLink für Temperatur und einen weiteren für PCA Steckdosen
Auf Luke habe ich 2 selbstgebaute CULs mit 433 und 868 Mhz und zwar deswegen weil die Reichweite für C3PO nicht ausreicht.
SO....
C3PO mit SmartVisu steht im Büro und R2D2 woanders :)
Über fhem2fhem sende ich die Temperatur, Luftfeuchtigkeit, Batterie und eben auch die PCA Steckdose mit Zustand, Stromverbrauch etc. um das in SmartVisu anzeigen
zu lassen. Funzt auch wunderbar.... Mittlerweile :)
Nun will ich über SmartVisu auch die PCA schalten können. Dazu muss aber der Zustand an R2D2 geschickt werden was aber zu einer Schleife führt.
Wie kann ich das machen?!
Vielen DanK!
Du willst den Zustand sehen am 3PO? Und schalten am R2D2?
Dann schicke doch nur den Schaltbefehl dorthin. Nicht über F2F sondern über etwas anderes:
RFHEM (https://commandref.fhem.de/commandref_DE.html#RFHEM)
WEB Kommando (https://wiki.fhem.de/wiki/CsrfToken-HowTo)
ssh (https://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html)
telnet
Gruß Otto
Ja... weil... wie schon gesagt....
An R2D2 hängt die Steckdose und die möchte ich über SmartVisu (C3PO) schalten.
Nur ne doofe Frage: Haben die PIs eigentlich noch andere FHEM-Aufgaben als nur die genannten Schnittstellen für C3PO bereitzustellen?
Wenn nein (und auch nicht angedacht), wäre evtl. ein Umbau auf ser2net sinnvoll (oder der Einsatz von Netzwerk-Interfaces, je nach Gusto. Also MapleCUN, CUL+ESP8266, LAN-TTL-Adapter etc.).
Zitat von: littleswabi am 19 Juli 2018, 10:58:44
Dazu muss aber der Zustand an R2D2 geschickt werden was aber zu einer Schleife führt.
Ich sage es nochmal anders:
NEIN, dazu muss nicht der Zustand geschickt werden sondern ein Schaltbefehl!
Gruß Otto
Hallo :) ich habe noch eine Verständnissfrage wegen dem ser2net :)
Ich habe auf meinem C3PO folgendes eingestellt:
in die /etc/ser2net.conf habe ich folgendes eingetragen
2003:raw:0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9A1DZ73-if00-port0@57600 NONE 1STOPBIT 8DATABITS
das ist mein dazugehöriger JeeLink
und zuvor über
sudo apt-get install ser2net installiert.
dann in FHEM
define JeeLinkTemp JeeLink 192.168.178.54:2003
Das Device wird angelegt aber steht auf disconnected.
Bei einem Reset des Devices kommt im Event Monitor
JeeLinkTemp: Can't connect to 192.168.178.54:2003: Connection refused
auf meinem R2D2 auf dem der JeeLink läuft habe ich auch ser2net installiert und den gleichen Eintrag in
die conf wie auf dem C3PO
Was mache ich noch falsch?
ser2net auf C3PO (ist doch der eigentliche FHEM-Rechner, oder?) einzurichten ist m.E. nicht erforderlich, sondern nur auf R2D2.
Und dann ist die Frage, welche IP zu welchem Rechner gehört. Ist 192.168.178.54 denn jetzt C3PO (dann funktioniert das nicht, da der Stick ja woanders steckt) oder ist das R2D2 (so sollte es nach meinem Verständnis sein)?
auf R2D2 steckt der Stick und das ist auch die IP Adresse
R2D2 192.168.178.54
C3PO 192.168.178.53
Läuft denn FHEM noch auf R2D2 bzw. ist der Stick dort noch definiert?
Dann könnte es sein, dass zwei Programme je exklusiv versuchen, den Jeelink zu nutzen.
Das scheint wohl ein Fehler gewesen zu sein.
Ich habe den Stick auf R2D2 gelöscht und nun erscheint er zumindest auf C3PO mit opened....
mal schauen... das finde ich auch noch!
Zitat von: littleswabi am 23 Juli 2018, 13:54:38
mal schauen... das finde ich auch noch!
Wo liegt denn deiner Meinung nach im Moment noch ein Fehler, wenn er am Ziel (FHEM@C3PO) mit "opened" angezeigt wird?
Warte erst mal, das klingt danach, als würden jetzt die Werte usw. sauber auf dem Ziel-FHEM einlaufen; das sind dann aber "richtige Devices", keine Clone-Dummys oder so mehr. An sich solltest du auch die original-Definitionen von R2D2 nach C3PO übernehmen können, allerdings natürlich mit angepaßtem IODev (oder wie das bei den Definitionen dann heißt).
Falls es mit FHEM2FHEM zu komplex wird, dann wie oben schon andiskutiert:
- auf einem Pi eine FHEM-Instanz einrichten
- auf den anderen Weiterleitung der Interfaces aufs Netzwerk an die FHEM-Instanz mit ser2net oder netcat
Dann hast du alles zentral zusammen und musst dir keinerlei Gedanken mehr machen.
FHEM2FHEM empfiehlt sich nur bei exotischeren Aufbauten oder Problemfällen.
Hallo nochmal :)
soweit funktioniert es schon mal :) soweit allerdings nur ;)
Der JeeLink am entfernten C3PO ist eingerichtet und ich konnte auch schon Temperaturen sehen.
Ein Device konnte ich auch schon am entfernten PI einlernen. Allerdings geht der Status des JeeLink immer wieder
auf "opened" und nur ein neustart des JeeLink initialisiert das ganze wieder.
über systemctl status ser2net
am C3PO bekomme ich
ser2net.service - LSB: Allows network connections to serial ports
Loaded: loaded (/etc/init.d/ser2net; generated; vendor preset: enabled)
Active: active (running) since Mon 2018-07-23 17:32:51 CEST; 13h ago
Docs: man:systemd-sysv-generator(8)
Process: 412 ExecStart=/etc/init.d/ser2net start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/ser2net.service
└─463 /usr/sbin/ser2net -c /etc/ser2net.conf -P /run/ser2net.pid
Jul 23 17:32:50 C3PO systemd[1]: Starting LSB: Allows network connections to serial ports..
Jul 23 17:32:50 C3PO ser2net[412]: Starting Serial port to network proxy: ser2neterror: une
Jul 23 17:32:51 C3PO ser2net[412]: .
Jul 23 17:32:51 C3PO systemd[1]: Started LSB: Allows network connections to serial ports.
und an R2D2
pi@R2D2:~ $ systemctl status ser2net
● ser2net.service - LSB: Allows network connections to serial ports
Loaded: loaded (/etc/init.d/ser2net; generated; vendor preset: enabled)
Active: active (running) since Mon 2018-07-23 20:30:13 CEST; 10h ago
Docs: man:systemd-sysv-generator(8)
Process: 366 ExecStart=/etc/init.d/ser2net start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/ser2net.service
└─423 /usr/sbin/ser2net -c /etc/ser2net.conf -P /run/ser2net.pid
Jul 23 20:30:13 R2D2 systemd[1]: Starting LSB: Allows network connections to serial ports...
Jul 23 20:30:13 R2D2 ser2net[366]: Starting Serial port to network proxy: ser2net.
Jul 23 20:30:13 R2D2 systemd[1]: Started LSB: Allows network connections to serial ports.
defmod JeeLinkTemp JeeLink 192.168.178.54:2003
attr JeeLinkTemp flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr JeeLinkTemp initCommands 7m 30t v
attr JeeLinkTemp room Sender/Empfänger
attr JeeLinkTemp verbose 5
setstate JeeLinkTemp opened
setstate JeeLinkTemp 2018-07-24 07:11:11 state opened
Log_File
2018.07.23 20:30:44 3: Opening JeeLinkTemp device 192.168.178.54:2003
2018.07.23 20:30:45 3: JeeLinkTemp device opened
2018.07.23 20:30:46 5: JeeLink/RAW: /
[La
2018.07.23 20:30:46 5: JeeLink/RAW: [La/CrosseITPlusReader.10.1s (RFM69CW f:868300 r:17241)]
2018.07.23 20:30:46 5: SW: 7m
2018.07.23 20:30:46 5: SW: 30t
2018.07.23 20:30:47 5: SW: v
2018.07.23 20:30:47 5: JeeLink/RAW: /
[LaCrosseITPlusReader.10.1s (RFM69
2018.07.23 20:30:47 5: JeeLink/RAW: [LaCrosseITPlusReader.10.1s (RFM69/CW f:868300 t:30~7)]
2018.07.23 20:30:49 5: JeeLink/RAW: /OK 9 2 129 4 222 57
2018.07.23 20:30:49 5: JeeLinkTemp: dispatch OK 9 2 129 4 222 57
2018.07.23 20:30:49 5: JeeLink/RAW: /
[LaCrosseITPlusReader.10.1s (RFM69CW f:868300 t:30~7)]
2018.07.23 20:30:51 5: JeeLink/RAW: /�����U�UU�
2018.07.23 20:30:51 5: JeeLink/RAW: �����U�UU�/���f
2018.07.23 20:30:51 5: JeeLink/RAW: �����U�UUŘ��f/�怆����fx��`ff�f����fxxf��������f`�x�����fx��
2018.07.23 20:30:53 5: JeeLink/RAW: �����U�UUŘ��f�怆����fx��`ff�f����fxxf��������f`�x�����fx��/OK 9 2 129 4 222 57
2018.07.23 20:30:53 5: JeeLinkTemp: dispatch ��\026��\024�U�UUŘ��f�\006怆��\036��fx��`ff�f����fx\006\006xf����\006\030\030�\006��\000\030�\030f`�x�����f\000\030x�\030\030\036�OK 9 2 129 4 222 57
2018.07.23 20:30:53 3: JeeLinkTemp: Unknown code �����U�UUŘ��f�怆����fx��`ff�f����fxxf��������f`�x�����fx��OK 9 2 129 4 222 57, help me!
2018.07.23 20:30:54 5: JeeLink/RAW: /OK 9 53 1 4 226 57
2018.07.23 20:30:54 5: JeeLinkTemp: dispatch OK 9 53 1 4 226 57
2018.07.23 20:30:54 4: LaCrosse: Unknown device 35, please define it
2018.07.23 20:30:57 5: JeeLink/RAW: /OK 9 2 129 4 222 57
so sieht es dann nach einem Neustart von R2D2 aus und einem Reset des JeeLink
2018.07.24 07:20:47 3: Opening JeeLinkTemp device 192.168.178.54:2003
2018.07.24 07:20:48 3: JeeLinkTemp device opened
2018.07.24 07:20:49 5: JeeLink/RAW: /
[LaCrosseITPlusReader.10.1s (RFM69CW f:868300 r:17241)]
2018.07.24 07:20:49 5: SW: 7m
2018.07.24 07:20:49 5: SW: 30t
2018.07.24 07:20:49 5: SW: v
2018.07.24 07:20:49 5: JeeLink/RAW: /OK 9 54
2018.07.24 07:20:49 5: JeeLink/RAW: OK 9 54 /129 4 196 60
[LaCrosseITPlusReader.10.1s (RFM69CW f:868300 t:3
2018.07.24 07:20:49 5: JeeLinkTemp: dispatch OK 9 54 129 4 196 60
2018.07.24 07:20:49 4: LaCrosse: Unknown device 36, please define it
2018.07.24 07:20:49 5: JeeLink/RAW: [LaCrosseITPlusReader.10.1s (RFM69CW f:868300 t:3/0~7)]
2018.07.24 07:20:52 5: JeeLink/RAW: /OK 9 53 1 4 210 56
2018.07.24 07:20:52 5: JeeLinkTemp: dispatch OK 9 53 1 4 210 56
2018.07.24 07:20:52 4: LaCrosse: Unknown device 35, please define it
2018.07.24 07:20:53 5: JeeLink/RAW: /OK 9 2 1 4 212 57
nach einem shutdown von Fhem steht das Device wieder auf "opened"
Hat jemand eine Idde?
Zitat von: Beta-User am 23 Juli 2018, 14:03:16
Wo liegt denn deiner Meinung nach im Moment noch ein Fehler, wenn er am Ziel (FHEM@C3PO) mit "opened" angezeigt wird?
Das wäre also m.E. weiterhin ok, die Frage ist eher, woher die unlesbaren Zeichen kommen. Das erinnert an Probleme mit der Baudrate. Wie ist denn die Netzwerkverbidnung zwischen den Geräten organisiert? Powerlan oder Pi-WLAN iVm. einer Fritzbox?
Zitat von: Beta-User am 23 Juli 2018, 12:18:09
ser2net auf C3PO (ist doch der eigentliche FHEM-Rechner, oder?) einzurichten ist m.E. nicht erforderlich, sondern nur auf R2D2.
Nochmal: auf C3PO hat ser2net _in dem von dir gewünschten Setup_ nichts verloren. Das brauchst du hier nur auf R2D2.
Da fehlt noch der Inhalt der ser2net.conf.
Die IO-Devices haben teils verschiedene Baudraten.
so hallo nochmal :)
mittlerweile funktioniert alles :)
VIELEN DANK für eure Hilfe