Hallo Zusammen,
ich habe heute mal FHEM2FHEM eingerichtet aber bekomme im Log der 2 FHEM Instanzen Meldungen und verstehe nicht warum....
Alle Funktionen sind gegeben.
FHEMMain empfängt den STATUS von FHEM2
FHEM2 reagiert auf BEFEHL von FHEMMain
Der Vollständigkeit halber meine Definitionen.
Danke und Gruß
FHEMMain:
FHEM2FHEM
defmod RemoteFHEM2 FHEM2FHEM 192.168.1.124:7072 LOG:.*d_test1.* geheim
attr RemoteFHEM2 DbLogExclude .*
attr RemoteFHEM2 alias RemoteVonFHEM2
attr RemoteFHEM2 group SystemInfo
attr RemoteFHEM2 icon audio_repeat
attr RemoteFHEM2 room GarageWest,zzSystem
setstate RemoteFHEM2 connected
Dummy um Befehle an FHEM2 abzusetzen
defmod d_test_Befehl1 dummy
attr d_test_Befehl1 DbLogExclude .*
attr d_test_Befehl1 alias Befehl1 an FHEM2FHEM
attr d_test_Befehl1 room GarageWest
attr d_test_Befehl1 setList on off
setstate d_test_Befehl1 off
setstate d_test_Befehl1 2018-12-04 19:02:51 state off
notify um auf Status von FHEM2 zu reagieren
defmod n_d_test1 notify d_test1 {fhem "$EVENT"}
attr n_d_test1 DbLogExclude .*
attr n_d_test1 alias reagiere auf FHEM2 d_test1
attr n_d_test1 comment notify das EVENTS von FHEM2 abfängt und an das HauptFHEM sendet.
attr n_d_test1 room GarageWest
setstate n_d_test1 2018-12-04 18:59:21
setstate n_d_test1 2018-12-04 18:54:25 state active
FHEM2:
FHEM2FHEM
defmod RemoteFHEMMain FHEM2FHEM 192.168.1.123:7072 LOG:.*d_test_Befehl1.* geheim
attr RemoteFHEMMain room GarageWest
setstate RemoteFHEMMain connected
Dummy um Status an FHEM2 zu simulieren
defmod d_test1 dummy
attr d_test1 alias Status FHEM2FHEM
attr d_test1 group Main,
attr d_test1 room GarageWest
setstate d_test1 off
setstate d_test1 2018-12-04 18:59:21 state off
notify um auf Befehle von FHEMMain zu reagieren
defmod d_test_Befehl1 dummy
attr d_test_Befehl1 alias reagiere auf d_test_Befehl1 von FHEMMain
attr d_test_Befehl1 room GarageWest
setstate d_test_Befehl1 off
setstate d_test_Befehl1 2018-12-04 19:02:51 state off
____________________
Fehler im Log: FHEM2:
2018.12.04 18:44:45 3: off : Unknown command off, try help.
2018.12.04 18:44:45 3: n_d_test1 return value: Unknown command off, try help.
2018.12.04 18:44:45 3: off : Unknown command off, try help.
2018.12.04 18:44:45 3: n_d_test1 return value: Unknown command off, try help.
2018.12.04 18:58:42 3: FHEM2FHEM opening RemoteFHEMMain at 192.168.1.123:7072
2018.12.04 18:58:42 3: FHEM2FHEM device opened (RemoteFHEMMain)
2018.12.04 18:59:31 3: on : Unknown command on, try help.
2018.12.04 18:59:31 3: n_d_test1 return value: Unknown command on, try help.
2018.12.04 19:00:04 3: off : Unknown command off, try help.
2018.12.04 19:00:04 3: n_d_test1 return value: Unknown command off, try help.
2018.12.04 19:02:48 3: on : Unknown command on, try help.
2018.12.04 19:02:48 3: n_d_test1 return value: Unknown command on, try help.
2018.12.04 19:02:51 3: off : Unknown command off, try help.
2018.12.04 19:02:51 3: n_d_test1 return value: Unknown command off, try help.
____________________
Fehler im Log: FHEMMain:
2018.12.04 18:44:45 3: off : Unknown command off, try help.
2018.12.04 18:44:45 3: n_d_test1 return value: Unknown command off, try help.
2018.12.04 18:56:27 3: on : Unknown command on, try help.
2018.12.04 18:56:27 3: n_d_test1 return value: Unknown command on, try help.
2018.12.04 18:56:36 3: off : Unknown command off, try help.
2018.12.04 18:56:36 3: n_d_test1 return value: Unknown command off, try help.
2018.12.04 18:59:15 3: on : Unknown command on, try help.
2018.12.04 18:59:15 3: n_d_test1 return value: Unknown command on, try help.
2018.12.04 18:59:21 3: off : Unknown command off, try help.
2018.12.04 18:59:21 3: n_d_test1 return value: Unknown command off, try help.
Ich habe die Konfigurationen jeweils zusammenkopiert, die IP durch localhost ersetzt, und 2 FHEM Instanzen auf dem gleichen Rechner mit unterschiedlichen telnet und FHMWEB Ports gestartet:
- beim Aendern von d_test_Befehl1 bekomme ich die gleichen Events auf beiden Systemen: 2018-12-04 20:44:23 dummy d_test_Befehl1 on
- Fehlermeldungen sehe ich keine- wenn ich zwei Browserfenster uebereinanderlege (siehe Anhang), und im unteren herumklicke, aendert sich das Icon im oberen Fenster sofort.
Hi,
ich bin mir nicht sicher, was das Ziel ist. FHEM2FHEM in beide Richtungen ist kritisch und muss gut überlegt sein!
Deswegen ein paar Hinweise und leider keine Antwort auf dein Frage. :-[
regExp wie .*d_test1.* sind schon ziemlich groß gezogen und reagieren unter Umständen auf unerwünschte Events und schicken damit Events in Schleife.
Für den Dummy reicht das regExp d_test1
Nimm zur Kontrolle den Eventmonitor und schau was passiert. Offenbar werden mehr Events übertragen als Dir lieb ist und mit {fhem "$EVENT"}
auf die Reise geschickt. Das entspricht übrigens auch einfach dem Konstrukt $EVENT
falls in der Perlklammer nicht noch mehr drin steht.
Gruß Otto
Für mich sehen die Einträge im Log zumindest nicht normal aus :o
------------------
Der Event-Monitor spuckt folgendes aus:
FHEMMain erhält bei Statusänderung an FHEM2 laut Event Monitor: 2018-12-04 22:15:04 dummy d_test1 on
FHEM2 erhält beim senden der Befehle :2018-12-04 22:18:17 dummy d_test_Befehl1 on
2018-12-04 22:18:26 dummy d_test_Befehl1 off
verstehe deswegen die Eintrage nicht.
-----
$EVENT habe ich verbessert
-----
Otto Du meinst in der Moduldeklaration nur ein... ? LOG:.*d_test1
Danke.
Ich meine eherLOG:d_test1
Aus 2018-12-04 22:18:17 dummy d_test_Befehl1 on
wird mit deinem notify der Befehl on
Was soll FHEM damit? Kein Wunder das er im Log meckert ;D
Was willst Du mit dem notify erreichen?
So.. irgendwie war da was im Busch...
Bei den notify´s hab ich die set Befehle vergessen und ich habe die notify´s versehentlich auf beiden FHEM instanzen gleich benannt. :o
So funktioniert es jetzt:
defmod n_d_test1 notify d_test1 set d_test1 $EVENT
defmod n_d_test_Befehl1 notify d_test_Befehl1 set d_test_Befehl1 $EVENT
In der Deklaration habe ich jetzt LOG:d_test1 und LOG:d_test_Befehl1
Im Log wird nun auch kein Hinweis mehr aufgezeigt, kaum macht man es richtig :D
PS: Otto, eigentlich sind meine FHEM2FHEM doch nur unidirektional da auf verschiedene Device´s reagiert wird oder?
Danke.
Hallo Steffen@Home,
über bi- oder unidirektional (oder besser über die Endlosschleife) entscheidet in dem Konstrukt nur das regExp.
Mit einem ".*" vorn und hinten wird bei ungeschickter Namenswahl (auch auf Readings wird ja dann eventuell getriggert) schnell mal eine Schleife ohne das man das gewollt hat (...versehentlich auf beiden Instanzen gleich benannt...) :D.
Ich wollte nur zu Vorsicht mahnen ;D
Gruß Otto