FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: SuperPi am 11 September 2017, 21:54:07

Titel: Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 11 September 2017, 21:54:07
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 11 September 2017, 22:27:22
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 12 September 2017, 19:37:10
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


Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: chris1284 am 12 September 2017, 19:54:40
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 12 September 2017, 20:45:19
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: LuckyDay 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.
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 12 September 2017, 21:42:31
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 12 September 2017, 21:44:48
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 12 September 2017, 21:54:34
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 12 September 2017, 21:56:54
Nein.

Ich glaube daran waren immer irgendwelche Virenscanner Schuld. Versuche einen anderen Browser und/oder anderen Computer.

Gruß Otto
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 12 September 2017, 22:15:34
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: LuckyDay am 12 September 2017, 22:16:56
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.
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 12 September 2017, 22:25:08
Wie Hary OBEN schon schrieb  ;)
Du musst die Verhinderung abschalten....
Du kannst die Events auf beiden FHEM Instanzen prüfen.
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 12 September 2017, 22:35:44
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 12 September 2017, 22:45:32
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Grinsekatze am 13 September 2017, 07:41:52
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.
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 13 September 2017, 08:40:25
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 13 September 2017, 20:40:25
Hallo Otto,

vielen Dank! Es funktioniert nun :) :) :) :).

Ich sage mal bis demnächst.........

Schöne Grüße
SuperPi
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 13 September 2017, 21:55:55
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Otto123 am 13 September 2017, 22:17:22
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: SuperPi am 13 September 2017, 22:28:47
Hallo Otto,

mit notify läuft es jetzt!

Nochmals vielen Dank! :) :) :)

Schöne Grüße
SuperPi
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Grinsekatze am 14 September 2017, 07:37:41
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
Titel: Antw:Verständnis FHEM2FHEM, einfaches Beispiel
Beitrag von: Frank_Huber am 14 September 2017, 08:02:33
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