[gelöst]"allgemeine" notify und Name des Auslösedevice Perl mitteilen?

Begonnen von AnBad, 11 Oktober 2022, 19:38:26

Vorheriges Thema - Nächstes Thema

AnBad

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")}

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

AnBad

Oh ja, sorry, ist ein notify. Da hab ich ein Fehler gemacht. Ich war irgenwie irr

MadMax-FHEM

#3
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

AnBad