Hauptmenü

PIRA abfrage

Begonnen von urseigner, 14 Dezember 2022, 14:31:10

Vorheriges Thema - Nächstes Thema

urseigner

Hallo,
ich hatte mir eine Abfrage meines PIRA-Bewegungsmelders so schön einfach vorgestellt. Leider tue ich mich offensichtlich mit Perl etwas schwer. Kann mal jemand schauen was ich falsch mache? Im Logfile des PIRA kommt nach einer Bewegung "FS20_0ec900 on-old-for-timer 60" an. Leider erhalte ich die PushNachricht nicht und die Kamera geht auch nicht an. Die Abfrage sieht so aus:


([FS20_0ec900:on.*])
{system ("curl -X POST https://maker.ifttt.com/kamera-fuer-10-sec-einschalten")}(set PushNachricht message Jemand geht zum Eingang.)


LG
Urs

urseigner

Oha, ist die Frage zu kompliziert gestellt, oder gab es das Thema schon x-fach? Über die Suche konnte ich dazu nichts passendes finden.

VG
Urs

Beta-User

Zitat von: urseigner am 15 Dezember 2022, 15:45:57
oder gab es das Thema schon x-fach?
Vermutlich...

Ernsthaft: Bitte die angepinnten Threads beachten, so muss man raten, ob es sich um ein DOIF handelt, irgendwas anderes oder um "Schwurbel-Mudul xy" aus den Untiefen des Internets. Und der Perl-Befehl in der Mitte ist vermutlich irgendwie anders einzupacken, näheres sollte der commandref des von dir genutzten Moduls zu entnehmen sein.

Und Events holt man sich nicht irgendwo aus dem Logfile, sondern aus dem Event-Monitor. Da gibt es auch eine Hilfsfunktion, mit der man gängige Eventhandler erstellen könnte...
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

urseigner

Ach was, wie geil ist das denn. Vielen Dank an Beta-User für den Hinweis auf den Event-Monitor mit der Hilfsfunktion. Du hast meinen Horizont etwas erweitert. ;-)

Beste Grüße
Urs

urseigner

Dazu muss ich leider trotz aller Freude über die Hilfsfunktion noch etwas fragen.
Ein DOIF wartet auf das Ereignis und macht das:

([FS20_Bewegungsmelder:"^on-old-for-timer.60$"]) {fhem("set LampeShellyHinten on-for-timer 10")}


Ich habe aus verschiedenen Forenbeiträgen gelernt, dass das DOIF oben den Status nicht eigenständig zurück auf Initialized setzen kann. Auch nicht mit wait.

Dazu musste ich ein weiteres DOIF angelegt, das so aussieht:

([FS20_Bewegungsmelder_DOIF_1:state] eq "cmd_1" or [FS20_Bewegungsmelder_DOIF_1:state] eq "cmd_2") {fhem("set FS20_Bewegungsmelder_DOIF_1 initialize")}

Ein wait-Attribut verzögert die Ausführung um 4 Sekunden.

Ist das die gängige Praxis oder kennt jemand eine einfachere Lösung?

VG
Urs

Damian

Zitat von: urseigner am 19 Dezember 2022, 21:55:27
Dazu muss ich leider trotz aller Freude über die Hilfsfunktion noch etwas fragen.
Ein DOIF wartet auf das Ereignis und macht das:

([FS20_Bewegungsmelder:"^on-old-for-timer.60$"]) {fhem("set LampeShellyHinten on-for-timer 10")}


Ich habe aus verschiedenen Forenbeiträgen gelernt, dass das DOIF oben den Status nicht eigenständig zurück auf Initialized setzen kann. Auch nicht mit wait.

Dazu musste ich ein weiteres DOIF angelegt, das so aussieht:


([FS20_Bewegungsmelder_DOIF_1:state] eq "cmd_1" or [FS20_Bewegungsmelder_DOIF_1:state] eq "cmd_2") {fhem("set FS20_Bewegungsmelder_DOIF_1 initialize")}

Ein wait-Attribut verzögert die Ausführung um 4 Sekunden.

Ist das die gängige Praxis oder kennt jemand eine einfachere Lösung?

VG
Urs
"Scharfstellen" kannst du das Modul, indem du das Attribut do alwas setzt, dann wird jedes mal geschaltet.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

urseigner

Zitat"Scharfstellen" kannst du das Modul, indem du das Attribut do alwas setzt, dann wird jedes mal geschaltet.

Danke für den Hinweis. Damit funktioniert es.

VG
Urs