[gelöst] doif.wie auf events reagieren?

Begonnen von Kellerkind86, 21 Oktober 2021, 00:33:39

Vorheriges Thema - Nächstes Thema

Kellerkind86

im notify kann ich ja auf alles reagieren mit .*
beispiel:
EG_Garten_Lampe:onFromCam.* set Feldkamera snap 2 3

wie mache ich das mit dem doif ?
hier mit Bewohnerstatus:
das funktioniert aber leider  nicht

([rgr_Bewohner] eq "zuhause" and [EG_Lampe_Haustuer:onFromCam.*])
(set SSCam.Haustuer snap 2 3)

hab mal versucht was zu finden aber weiß nicht wie man auf die events reagieren kann...
danke
gruß Marcell
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

Kellerkind86

#1
Hab es dann doch raus bekommen wie. Wollte den thread löschen..ging nur leider nicht.
So, passt es dann:
([rgr_Bewohner] eq "zuhause" and [EG_Lampe_Haustuer:"onFromCam"])
(set SSCam.Haustuer snap 2 3)


Sorry nochmal für den Schnellschuss
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

FHEMAN

Ich glaube, ein wenig sauberer und evtl. auch performanter(?) wäre die Ergänzung des "Anfangsszeichens":
([rgr_Bewohner] eq "zuhause" and [EG_Lampe_Haustuer:"^onFromCam"])
(set SSCam.Haustuer snap 2 3)
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Kellerkind86

jap, so hatte ich es auch aufgebaut..
danke

([?rgr_Bewohner] eq "abwesend" and [EG_Lampe_Haustuer:"onFromCam"])
(set SSCam.Haustuer snap 2 3)
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

FHEMAN

Das "^" meinte ich. In Codertags kann man leider nicht fett schreiben.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Kellerkind86

Oh okay, sorry.
Wofür steht das ^? Hab irgendwie nichts gefunden
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

FHEMAN

#6
Ohne weitere Angaben entspricht das einem "contains", triggert also auch auf blaKeksonFromCam345. Da Du notify anfangs erwähntest, wollte ich auf diese Doif Besonderheit hinweisen. Dein konkretes Beispiel wird sicher auch so funktionieren.
^ bedeutet Text muss am Satzanfang stehen, $ am Ende.

Siehe https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Damian

Im Grunde ist die Angabe in Anführungszeichen eine RegEx-Angabe und bei RegEx steht ^ für den Anfang und $ für das Ende einer Zeichenkette.

Bsp.

Beim Event:

device: 123bla568

würde

[device:"^bla"]

nicht triggern

[device:"bla"]

aber schon.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Kellerkind86

okay, jetzt in ich verwirrt... :o

aber ich möchte doch das  [EG_Lampe_Haustuer:"onFromCam"] triggert , oder ? versteh ich was falsch ?
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)

MadMax-FHEM

#9
Wenn von "EG_Lampe_Haustuer" nur "onFromCam" und TOTAL ANDERE Events kommen ist es "egal".

Wenn aber von "EG_Lampe_Haustuer" auch "123onFromCam" o.ä. kommen würde, dann wäre es eben wichtig.

Ebenso mit dem '$' für's "Ende:
Wenn von "EG_Lampe_Haustuer" nur "onFromCam" und TOTAL ANDERE Events kommen ist es "egal".

Wenn aber von "EG_Lampe_Haustuer" auch "onFromCam123" o.ä. kommen würde, dann wäre es eben wichtig.

Wenn du genau auf NUR "onFromCam" triggern willst, dann eben '^' am Anfang und '$' am Ende... ;)


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)

Damian

Eigentlich willst du [EG_Lampe_Haustuer:"^onFromCam"], da bei dir "onFromCam" in der Mitte von irgendeinem Event nicht vorkommt, wie Joachim es bereits angemerkt hat, funktioniert deine Angabe genauso gut.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Kellerkind86

Ah, jetzt hab ich es verstanden. Danke 👌
Hardware in Nutzung: Fritzbox7490,RP4,nanoCUL868,sonoff(mini),shelly(2.5)