[Gelöst] Notify reagieren auf Namensprefix und Attribut

Begonnen von Gear, 04 Dezember 2020, 09:18:35

Vorheriges Thema - Nächstes Thema

Gear

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
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

Ok und direkt mit im Notify ala "filter=" nicht?


Dank dir Otto =)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

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 (wo man mit FILTER arbeiten könnte)
https://fhem.de/commandref_DE.html#notify
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

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
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gear

Vielen Dank, werde ich die Tage dann mal testen und anwenden! =)

Euch ein schönes Wochenende und bleibt gesund
Beste Grüße
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <