FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: OnkelTom83 am 02 Dezember 2014, 12:52:34

Titel: Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: OnkelTom83 am 02 Dezember 2014, 12:52:34
Hallo,

Ich habe einen TFK in Fhem integriert. Dieser gibt mir folgendes zurück (Event Monitor):

2014-12-02 12:49:15 MYSENSORS_DEVICE Fenster1 tripped4: on
2014-12-02 12:49:21 MYSENSORS_DEVICE Fenster1 tripped4: off

jetzt probiere ich schon etwas länger dieses Event in ein notify zu schieben um dann meine "lampe2" mittels genshell ein zu schalten. (Das funktioniert bereits über die Weboberfläche)

Egal was ich tue es funktioniert nicht. Aus diesem Grund habe ich all meine Versuche wieder gelöscht und würde gerne neu beginnen.

Wie gehe ich da am besten vor?

Vielen Dank!
Titel: Antw:Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: TomWest am 02 Dezember 2014, 13:26:09
Ich bin kein notify Experte, aber das sollte doch mir

define Lampenschalter notify Fenster1:tripped4:.* set lampe2 %EVTPART1

funktionieren, oder?
Titel: Antw:Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: OnkelTom83 am 02 Dezember 2014, 14:08:35
Ja Sauber.... es funktioniert.
Vielen Dank!

Was ist das %EVTPART1 ? eine Variable in der On/Off steht?

Hierbei könnte doch auch der "Lampenschalter" ein "MeinAlarm" sein der irgendetwas auslöst wie ein Pieper oder ähnliches - richtig?
Titel: Antw:Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: TomWest am 02 Dezember 2014, 15:13:51
Gern geschehen. %EVTPART1 liefert den ersten Teilstring (bei Dir also: on oder off) des Events zurück. Schalten kannst Du damit alles, was auf "on" oder "off" hört.

Titel: Antw:Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: Puschel74 am 02 Dezember 2014, 17:37:21
Hallo,

Leute, ihr wisst aber das es $EVTPART1 heisst und nicht %EVTPART1 ?

Wenn ich %EVTPART0 verwende bekomme ich im Log
Zitat2014.12.02 17:30:59 3: 1. Auto
2014.12.02 17:30:59 3: %EVTPART0

Wenn ich aber $EVTPART0 verwende bekomme ich
Zitat2014.12.02 17:30:44 3: 1. Auto
2014.12.02 17:30:44 3: Auto

Wie man schön sieht steht in $EVTPART0 der richtige Wert - der des Dummy mit dem das notify getriggert wurde.

Zugrunde liegender Code zum testen:
anwesend {
if($EVENT eq "Auto") {
    Log(3,"1. $EVENT");
    Log(3,"%EVTPART0");
  }
  elsif($EVENT eq "Day") {
    Log(3,"2. $EVENT");
  }
  else {
    Log(3,"3. $EVENT");
  }
}

Das notify triggert einfach nur auf einen Dummy der per attr webCmd Auto:Day:Night schalten kann.

Sollte das mit % klappen bin ich mal auf die Erklärung gespannt da Variablen mWn mit $ beginnen und nicht mit %
Kann mich mal bitte jemand erhellen  ???
Danke.

Grüße
Titel: Antw:Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: fiedel am 02 Dezember 2014, 19:20:30
Erklären kann ich es leider auch nicht, aber ich habe heute gerade etwas programmiert mit   my $aufruf1 = "%EVTPART0" ;;\
  my $aufruf2 = "%NAME" ;;\
und das klappt prima. Zuvor hatte ich genau den gleichen Gedanken wie du und habe "$EVTPART0" verwendet. Das hat nicht funktioniert und beim debuggen (Variableninhalt nach Log1 schicken) ergab es nur "$EVTPART0" statt des Wertes.
Titel: Antw:Lampe an wenn fenster geöffnet wird mit notify - aber wie?
Beitrag von: TomWest am 03 Dezember 2014, 09:12:14
War bei mir auch so. Irgendwo in der Wiki hatte ich $EVTPART1 gefunden und verwendet, hat nicht funktioniert. An einer anderen Stelle hieß es dann %EVTPART1 und das ging auf Anhieb.