Hauptmenü

DOIF Syntax Frage .*

Begonnen von noanda, 25 April 2015, 11:20:46

Vorheriges Thema - Nächstes Thema

noanda

Hallo zusammen,

nach langer Suche gebe ich gerade ein wenig auf, vielleicht suche ich nur Falsch.

Wenn ich in einem DOIF den Zustand mehrere Sensoren auf einmal abfragen möchte, finde ich die Syntax nicht!

Ich habe bei uns aller Fesntenster Sensoren ,,MelderFEN" und dann das Zimmer also WOZ ELT KUE genannt. Also ,,MelderFENWOZ" ist dann das Wohnzimmer Fenster.

Wenn ich jetzt den Zustand aller Fesnter abfragen will wäre bekomme ich die Syntax nicht hin was mache ich Falsch ?


define MelderAlleFesnster DOIF ([MelderFEN.*] eq "open" and [Familie] eq "absent" ) ({DebianMail('XX@XXX.com','Es sind noch Fenster offen','Die Fenster [MelderFEN.*] sind noch offen')})
Raspberry Pi - FHEM 5.5
HMLAN, RFXtrx433 , CUL 868
HM-CC-RT-DN, HM-SEC-MDIR , HM-SEC-SC-2
HM-LC-SW2-FM, ROTO_ZEL-STG-RM-FZS
ELRO440AB, Flamingo

Icinger

Das gabs grad erst vor kurzem hier.

DOIF kommt mit RegExen nicht zurecht.
Schau dir mal diesen Thread an, da gehts genu um deine Lösung: http://forum.fhem.de/index.php/topic,36504.msg288646.html

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Toto1973

Ob das mit dem Platzhalter * funktioniert, glaube ich nicht. Du musst alle Namen (Fenster) in die DOIF verbunden mit or um die Bedingung aus zu lösen.
define MelderAlleFesnster DOIF ([MelderFENWOZ] eq "open" or [MelderFEN???] eq "open" and [Familie] eq "absent") ({DebianMail('XX@XXX.com','Es sind noch Fenster offen','Die Fenster [MelderFEN*] sind noch offen')})

Ob das mit der Mail mit dem Platzhalter funktioniert, kann ich Dir leider nicht sagen!
Aber ich denke, das geht eher nicht!
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

cruser1800

Gibt es für den Platzhalter schon eine Lösung. Ich wollte mir ein DOIF bauen um alle "state" nach einen bestimmen Begriff zu suchen!

[*:state]

funktioniert leider nicht!

VG Lutz

Damian

Zitat von: cruser1800 am 08 Mai 2015, 20:57:16
Gibt es für den Platzhalter schon eine Lösung. Ich wollte mir ein DOIF bauen um alle "state" nach einen bestimmen Begriff zu suchen!

[*:state]

funktioniert leider nicht!

VG Lutz

funktioniert nicht, weil: http://forum.fhem.de/index.php/topic,36735.msg290635.html#msg290635

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beetle2003

Hallo,

ich grabe dieses alte Thema heraus, da ich eine ähnliche Frage habe und keine Lösung gefunden wurde.

In einem notify kann ich Fenster_Bad:.* benutzen und das notify reagiert auf auf jede Readingänderung des Gerätes Fenster_Bad.
Nun würde ich gerne einige notifys mit einem DOIF und DOELSEIF zusammen fassen.
Gibt es eine Syntax welche das ermöglicht und gibt es eine Syntax welche  die so etwas wie Fenster.*:state zulässt.

Danke

Damian

Zitat von: Beetle2003 am 07 Februar 2021, 15:32:27
Hallo,

ich grabe dieses alte Thema heraus, da ich eine ähnliche Frage habe und keine Lösung gefunden wurde.

In einem notify kann ich Fenster_Bad:.* benutzen und das notify reagiert auf auf jede Readingänderung des Gerätes Fenster_Bad.
Nun würde ich gerne einige notifys mit einem DOIF und DOELSEIF zusammen fassen.
Gibt es eine Syntax welche das ermöglicht und gibt es eine Syntax welche  die so etwas wie Fenster.*:state zulässt.

Danke

Fenster_Bad:.* beim Notify entspricht ["Fenster_Bad"] beim DOIF
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beetle2003

Zitat von: Damian am 07 Februar 2021, 19:00:34
Fenster_Bad:.* beim Notify entspricht ["Fenster_Bad"] beim DOIF

Danke für die Info.

Werde es testen und berichten.

Beetle2003

Zitat von: Beetle2003 am 09 Februar 2021, 22:33:24
Danke für die Info.

Werde es testen und berichten.

Das war die Lösung