Hallo zusammen!
Nachdem ich nun seit Tagen versuche zwei FHEM Instanzen miteinander zu verbinden, frage ich hier im Forum.
In meiner Garage habe ich einen RPi, der über einen Sensor am GPIO den Torstatus abfragt. Folgende Devices sind dafür angelegt:
define Tor_Sensor RPI_GPIO 10
attr Tor_Sensor debounce_in_ms 10
attr Tor_Sensor devStateIcon on:fts_garage_door_100 off:fts_garage
attr Tor_Sensor direction input
attr Tor_Sensor event-on-change-reading on, off
attr Tor_Sensor eventMap on:on off:off
attr Tor_Sensor interrupt both
attr Tor_Sensor poll_interval 3
attr Tor_Sensor room Garage
define Tor_Kontakt_Dummy dummy
attr Tor_Kontakt_Dummy room Garage
Mit zwei Notifys möchte ich den Dummy mit den Werten laden:
define Tuer_Kontakt_on notify Tor_Sensor {\ if ("$EVENT" ne "off") {\ fhem("set Tor_Kontakt_Dummy set Garagentor on;;");;\ }}
attr Tuer_Kontakt_on room Garage
define Tuer_Kontakt_off notify Tor_Sensor {\ if ("$EVENT" ne "on") {\ fhem("set Tor_Kontakt_Dummy set Garagentor off;;");;\ }}
attr Tuer_Kontakt_off room Garage
Auf dem Haus-RPi habe ich folgende Devices und ein Notify erstellt:
define Verbindung_Garagentor_Status FHEM2FHEM 192.168.178.32:7072 LOG:.* <password>
define Tor_Kontakt_Dummy dummy
attr Tor_Kontakt_Dummy room Garage
define Garagentor dummy
attr Garagentor devStateIcon on:fts_garage_door_100 off:fts_garage
attr Garagentor room Garage
attr Garagentor webCmd on:off
define Tor_Kon_Status notify Tor_Kontakt_Dummy {fhem "$EVENT"}
attr Tor_Kon_Status room Garage
Es sollte nun über den Dummy Tor_Kontakt_Dummy der Dummy Garagentor im Haus-RPi gesetzt werden.
Leider wird der Dummy Garagentor nicht geändert.
Kann mir jemand helfen, wo ich den Gedankenfehler habe?
Schöne Grüße
SuperPi
Hi SuperPi,
viel zu kompliziert gedacht.
Vorschlag:
Im Haus:
Edit: Falsche Namen verwendet! Siehe Post #14 weiter unten.
defmod Verbindung_Garagentor_Status FHEM2FHEM 192.168.178.32:7072 LOG:RPI_GPIO.* <password>
define RPI_GPIO dummy
Dann hast Du im Haus deinen GPIO Status und kannst dort alles weiter machen.
BTW: Der Syntax der beiden notify on/off
define Tuer_Kontakt_on notify Tor_Sensor {\ if ("$EVENT" ne "off") {\ fhem("set Tor_Kontakt_Dummy set Garagentor on;;");;\ }}
geht viel einfacher in einem notify!
define Tuer_Kontakt_on notify Tor_Sensor:(on|off) set Tor_Kontakt_Dummy set Garagentor $EVENT
Wobei Du diesen Hilfsdummy zur Übertragung überhaupt nicht brauchst! Es ging mir nur ums Prinzip "notify"
Gruß Otto
Hallo Otto123,
vielen Dank für die schnelle Hilfe!
Dein Vorschlag ist wirklich nicht lang :).
Leider funktioniert es bei mir nicht. Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht. RPI_GPIO habe ich als Dummy angelegt und dann ein weiteren Dummy für den Pin 10 auf dem Hausrechner angelegt:
define RPI_GPIO dummy
define Garagentor RPI_GPIO 10
attr Garagentor room Garage
Ich bekomme keine Werte über den Dummy RPI_GPIO:
Internals:
DEF 10
GPIO_Basedir /sys/class/gpio
NAME Garagentor
NR 167
RPI_pin 10
STATE ???
TYPE RPI_GPIO
WiringPi_gpio
READINGS:
Pinlevel:
TIME 2017-09-12 19:32:42
VAL
fhem:
interfaces switch
Attributes:
room Garage
Hast Du Otto123 oder jemand anderes eine Erklärung?
Schöne Grüße
SuperPi
nur ein kleiner zwischenruf da ich mit fhem2fhem nie recht warm wurde hier eine einfache variante, ggf. eine alternative für dich
https://forum.fhem.de/index.php?topic=23638.msg169011#msg169011
Hallo SuperPi,
Das list von dem RPI_GPIO aus deinem Post ist jetzt woher?
Wenn der Dummy im "Haus" FHEM leer bleibt:
Mach bitte in deinem "Haus" FHEM den Eventmonitor auf und stelle den Filter aufRPI_GPIO.*
und schau bitte ob Events über FHEM2FHEM von Deiner Garage kommen, wenn Du dort etwas auslöst.
Gruß Otto
attr Tor_Sensor event-on-change-reading on, off
und das bitte löschen, ist verkehrt. damit verhinderst du jeweliges Event von deinem Device.
Hallo an alle, die mir Helfen.
entweder gibt es keine Events bei mir oder der Eventmonitor funktioniert nicht.
RFHEM habe ich noch nicht getestet. Ich versuch erst einmal FHEM2FHEM zum Lauf zu bringe.
Schöne Grüße und vielen Dank!
SuperPi
Zitat von: SuperPi am 12 September 2017, 21:42:31
oder der Eventmonitor funktioniert nicht.
bekommst Du ja einfach raus: Mach ihn einfach auf und lass das Filter so wie es ist. Irgendein Event muss ja kommen.
Du kannst auch mit Telnet und inform (https://forum.fhem.de/index.php?topic=73620.0) arbeiten
Gruß Otto
Hallo Otto,
das ist mein Eventmonitor. Auf beiden Rechnern wird nichts angezeigt.
Muss ich da noch etwas aktivieren?
Vielen Dank und schöne Grüße
SuperPi
Nein.
Ich glaube daran waren immer irgendwelche Virenscanner Schuld. Versuche einen anderen Browser und/oder anderen Computer.
Gruß Otto
Hallo Otto,
mit attr WEB longpoll websocket
wird nun jede Menge angezeigt. Leider nichts vom RPI_GPIO.*.
Also kommt nichts im Haus nichts an.
Schöne Grüße
SuperPi
habs dir weiter unten schon geschrieben
Zitat von: fhem-hm-knecht am 12 September 2017, 20:51:01
attr Tor_Sensor event-on-change-reading on, off
und das bitte löschen, ist verkehrt. damit verhinderst du jeweliges Event von deinem Device.
Wie Hary OBEN schon schrieb ;)
Du musst die Verhinderung abschalten....
Du kannst die Events auf beiden FHEM Instanzen prüfen.
Hallo,
sorry, ich habe vergessen zu erwähnen, dass ich das Device Tor_Sensor auf dem "Garagen"Rechner mit den GPIOs gelöscht habe.
Das Device habe ich nun im "Haus"Rechner:
define RPI_GPIO dummy
define Garagentor RPI_GPIO 10
Ich habe Otto so verstanden, dass ich auf dem "Garagen"Rechner die Devices nicht mehr benötige.
Schöne Grüße
SuperPi
Wie kommst Du jetzt auf die Idee?
Hatte ich irgendwo geschrieben das Du was löschen sollst? :-[ :'(
Du brauchst doch den ursächlichen Schalter bzw. Abfrage?
FHEM2FHEM und der Dummy dupliziert Dir das Gerät RPI_GPIO in Deinen andere Instanz.
Du brauchst diesen Hilfskram wie Tor_Kontakt_Dummy und die notify nicht.
Sorry ich sehe auch gerade, ich lag mit dem Namen vom Dummy falsch, da habe ich schief geschaut :-[
Also bitte im Garagen FHEM den Sensor wie gehabt. Hat ja funktioniert? Bis auf den falschen event-on-change-reading
define Tor_Sensor RPI_GPIO 10
attr Tor_Sensor debounce_in_ms 10
attr Tor_Sensor devStateIcon on:fts_garage_door_100 off:fts_garage
attr Tor_Sensor direction input
attr Tor_Sensor eventMap on:on off:off
attr Tor_Sensor interrupt both
attr Tor_Sensor poll_interval 3
attr Tor_Sensor room Garage
im Haus FHEM
defmod Verbindung_Garagentor_Status FHEM2FHEM 192.168.178.32:7072 LOG:Tor_Sensor.* <password>
define Tor_Sensor dummy
Genau. Definiere deinen Garagen-FHEM so, dass dort alles funktioniert, wie gewünscht.
Danach definiere auf deinem Haus-FHEM F2F und löasse es im Log auf das zu "verbindende" Device des Garagen-FHEM lauschen (und bitte nicht einfach Alles / .*).
Nun sollte im Eventmonitor vom Haus auch angezeigt werden, wenn du an diesem Garagen-FHEM-Device etwas machst.
Dann noch auf dem Haus-FHEM ein Dummy anlegen mit dem gleichen Namen wie das zu Device aus dem Garagen-FHEM. Dann wird der Dummy immer automatisch gefüllt (bis auf den state, weil das von F2F nicht unterstützt wird) und Du benötigst keine weiteren extra Dummys oder Notifys zum Übertragen der Werte.
Zitat von: Grinsekatze am 13 September 2017, 07:41:52
(bis auf den state, weil das von F2F nicht unterstützt wird)
Stimmt seit ein paar Tagen nicht mehr ;)
https://fhem.de/commandref_DE.html#FHEM2FHEM
ZitataddStateEvent
falls gesetzt, werden state Events als solche uebertragen. Zu beachten: das Attribut ist nur für LOG-Mode relevant, beim Setzen wird eine zusätzliche reopened Logzeile generiert, und die andere Seite muss aktuell sein.
Zitat von: Grinsekatze am 13 September 2017, 07:41:52
Dann wird der Dummy immer automatisch gefüllt
Wenn der dummy nur für die Optik ist, kann man sogar auch den weglassen, man kann im notify auch direkt den Event des entfernten Gerätes auswerten.
Gruß Otto
Hallo Otto,
vielen Dank! Es funktioniert nun :) :) :) :).
Ich sage mal bis demnächst.........
Schöne Grüße
SuperPi
Hallo zusammen,
das Thema beschäftigt mich leider weiter.
Nun möchte ich vom HausPI ein GPIO auf dem GaragenPi schalten. Dazu habe ich auf dem HausPi ein Dummy erstellt, der mit FHEM2FHEM auf dem GaragenPi übertragen werden soll:
HausPi:
define Tor_Oeffner dummy
attr Tor_Oeffner room Garage
attr Tor_Oeffner webCmd on:off
GaragenPi:
define Verbindung_Haus FHEM2FHEM 192.168.178.97:7072 LOG:Tor_Oeffner.* <password>
define Tor_Oeffner RPI_GPIO 9
attr Tor_Oeffner direction output
attr Tor_Oeffner icon fts_garage
attr Tor_Oeffner room Garage
Das Device Tor_Oeffner auf dem GaragenPi erhält auch das Reading state on, aber der Pinlevel bleibt bei low und der Ausgang schaltet nicht.
Über eine weitere Hilfe würde ich mich sehr freuen.
Schöne Grüße
SuperPi
Hi,
schaltet den Dein GaragenPi bei set Tor_Oeffner on
?
Wenn ja, dann reicht das state setzen nicht einfach zum schalten, dann müsste man den set Befehl extra erzeugen.
Da würde ich beide unterschiedlich benennen und ein notify dazu schalten:
Auf dem GaragenPi
rename Tor_Oeffner Tor_Oeffner1
define n_Tor_Oeffner Tor_Oeffner:(on|off|toggle) set Tor_Oeffner1 $EVENT
Oder Du änderst den Namen im HausPi und den F2F Filter auf dem GaragenPi.
Achtung! Es ist ganz wichtig bei solchen zweiseitigen F2F Konstrukten auf den Filter zu achten, sonst rennt schnell alles im Kreis!
Gruß Otto
Hallo Otto,
mit notify läuft es jetzt!
Nochmals vielen Dank! :) :) :)
Schöne Grüße
SuperPi
Zitat von: Otto123 am 13 September 2017, 08:40:25
Stimmt seit ein paar Tagen nicht mehr ;)
Seeehr schön!!! Da habe ich schon lange drauf gewartet. Dann kann ich endlich (mal wieder) mein Ambilight / TV-System Optimieren und Notifys in Rente schicken. ;D
Nur um es mal in den Raum geworfen zu haben:
Eine separate FHEM Installation nur für zwei GPIOs finde ich fast etwas übertrieben.
Hier würde sich z. B. auch ein Wemos (o. Ä.) mit espeasy anbieten.
Gesendet von meinem S3_32 mit Tapatalk