Guten Morgen Zusammen,
mich würde interessieren, ob ich in einem Notify welches auf einen Namensprefix reagiert, noch einen Filter einbauen kann, wie bei einem UserAttr > OwnAttr: Irgendwas??
Oder alternativ ein IF (UserAttr == "Irgendwas")
Danke und beste Grüße
Gear
Hi,
klar geht das im Ausführungsteil, aber eventuell nicht mit dem FHEM IF sondern mit Perl:
{if (AttrVal($NAME,'userattr','error') eq 'irgendwas') {fhem("tue was")}}
Gruß Otto
Ok und direkt mit im Notify ala "filter=" nicht?
Dank dir Otto =)
das notify reagiert auf einen EVENT - alles was in dem EVENT steht kannst Du mehr oder weniger im trigger "filtern". Du willst ja aber zusätzlich auf etwas Filtern was nur im Gerät steht und im EVENT nicht enthalten ist. Das kannst Du nur im weitern Code auslesen und verarbeiten.
Das Suchmuster an der Stelle ist kein devspec (https://fhem.de/commandref_DE.html#devspec)(wo man mit FILTER arbeiten könnte)
https://fhem.de/commandref_DE.html#notify
Kleine Anmerkung: FILTER kann in dem Fall schon gehen, aber dann muss "irgendwie" der Link zwischen dem Event und dem zu schaltenden Gerät hergestellt werden können.
Ich habe sowas für meine virtuellen Fensterkontakte im Einsatz:
define n_Virtual_Temp_notify notify Temperatur_Schlafzimmer:temperature:.*|Raumfuehler_.*:temperature:.* { my $temp = sprintf("%.1f",$EVTPART1);; CommandSet( undef, "myRealTempSensor=$NAME virtTemp $temp" ) }
"myRealTempSensor" ist dabei ein userAttr an dem jeweiligen virtuellen CUL_HM-Device (-Kanal). (Die Rundung ist eigentlich nicht erforderlich, es ginge daher auch) einfacher mit
define n_Virtual_Temp_notify notify Temperatur_Schlafzimmer:temperature:.*|Raumfuehler_.*:temperature:.* set myRealTempSensor=$NAME virtTemp $EVTPART1
Vielen Dank, werde ich die Tage dann mal testen und anwenden! =)
Euch ein schönes Wochenende und bleibt gesund
Beste Grüße
Gear