Lampe an wenn fenster geöffnet wird mit notify - aber wie?

Begonnen von OnkelTom83, 02 Dezember 2014, 12:52:34

Vorheriges Thema - Nächstes Thema

OnkelTom83

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!

TomWest

#1
Ich bin kein notify Experte, aber das sollte doch mir

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

funktionieren, oder?
FHEM on R-π - HM-TC-IT-WM-W-EU - HM-LC-Sw1-FM - HM-SCI-3-FM - HM-CC-RT-DN

OnkelTom83

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?

TomWest

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.

FHEM on R-π - HM-TC-IT-WM-W-EU - HM-LC-Sw1-FM - HM-SCI-3-FM - HM-CC-RT-DN

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

fiedel

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.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

TomWest

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.
FHEM on R-π - HM-TC-IT-WM-W-EU - HM-LC-Sw1-FM - HM-SCI-3-FM - HM-CC-RT-DN