Verständnis FHEM2FHEM, einfaches Beispiel

Begonnen von SuperPi, 11 September 2017, 21:54:07

Vorheriges Thema - Nächstes Thema

SuperPi

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

Otto123

#1
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SuperPi

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



chris1284

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

LuckyDay

attr Tor_Sensor event-on-change-reading on, off
und das bitte löschen, ist verkehrt. damit verhinderst du jeweliges Event von deinem Device.

SuperPi

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

Otto123

#7
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 arbeiten

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SuperPi

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

Otto123

Nein.

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

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SuperPi

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

LuckyDay

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.

Otto123

Wie Hary OBEN schon schrieb  ;)
Du musst die Verhinderung abschalten....
Du kannst die Events auf beiden FHEM Instanzen prüfen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

SuperPi

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

Otto123

#14
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz