Hallo,
ich habe eine Notify, welche auf mehrer Fensterkontakte reagiert und eine Sub() aufruft.
Jetzt möchte ich der Sub() auch den Namen des auslösenden Fensterkontakt mitteilen. Doch leider funktioniert die folgende Codezeile nicht. Wie kann man das lösen?
Danke und Euch einen schönen Abend!!
fen_.*:.* {sub_switchList_V21_11_21("$DEVICE????", "$EVENT", "$SELF")}
Zitat von: AnBad am 11 Oktober 2022, 19:38:26
Hallo,
ich habe eine DOIF, welche auf mehrer Fensterkontakte reagiert und eine Sub() aufruft.
Jetzt möchte ich der Sub() auch den Namen des auslösenden Fensterkontakt mitteilen. Doch leider funktioniert die folgende Codezeile nicht. Wie kann man das lösen?
Danke und Euch einen schönen Abend!!
fen_.*:.* {sub_switchList_V21_11_21("$DEVICE????", "$EVENT", "$SELF")}
Wie sieht die ganze Definition aus? Das sieht mir eher nach notify-Syntax aus.
Oh ja, sorry, ist ein notify. Da hab ich ein Fehler gemacht. Ich war irgenwie irr
Ich denke was du suchst ist $NAME.
Ich habe das z.B. so:
.*:battery.* {my_CalculateBatteryStatus($NAME, $EVENT)}
oder
ECHO_.*:currentArtist:.* { my_AutoSkipArtist($NAME, $EVENT) }
oder
Wandthermostat_.*_Climate:measured-temp.* {my_CheckOpenWindows($NAME, $EVTPART1)}
usw.
Steht aber auch in der commandref: https://fhem.de/commandref_DE.html#notify
Zitat von: https://fhem.de/commandref_DE.html#notify
In der Anweisung von Notify kann das auslösende Ereignis (Event) genutzt werden:
Die Anweisung $EVENT wird das komplette Ereignis (Event) beinhalten, z.B. measured-temp: 21.7 (Celsius)
$EVTPART0,$EVTPART1,$EVTPART2,etc enthalten die durch Leerzeichen getrennten Teile des Events der Reihe nach (im Beispiel also $EVTPART0="measured-temp:", $EVTPART1="21.7", $EVTPART2="(Celsius)".
Diese Daten sind verfügbar als lokale Variablen in Perl, als Umgebungs-Variablen für Shell-Scripts, und werden als Text ausgetauscht in FHEM-Kommandos.
$NAME und $TYPE enthalten den Namen bzw. Typ des Ereignis auslösenden Gerätes, z.B. myFht und FHT
$SELF enthaelt den Namen dieser notify
Gruß, Joachim
Zitat von: MadMax-FHEM am 11 Oktober 2022, 22:57:49
Ich denke was du suchst ist $NAME.
Ja, vielen Dank. Funktioniert!!
Schönen Abend!!