Hauptmenü

Zustandsabfragen mit Wildcards

Begonnen von Carsten1981, 12 Januar 2018, 15:55:04

Vorheriges Thema - Nächstes Thema

Carsten1981

Hallo zusammen,

Ich bin leider etwas am verzweifeln, ich suche jetzt seid zwei Tagen eine Lösung und bin nur geringfügig weiter gekommen.

Dies ist ein funktionierender Teil meines DOIF's. Es reagiert auf alle Devices die mit "Tuer" beginnen und schreibt auch den entsprechenden Zustand in den Dummy. Ich weiß das macht erstmal wenig sinn, ist auch nur zum testen.

DOELSEIF
(["Tuer:off"]) (set Alarm_quitieren {(AttrVal("$DEVICE","alias","$DEVICE"))} ist zu)
DOELSEIF
(["Tuer:on"]) (set Alarm_quitieren {(AttrVal("$DEVICE","alias","$DEVICE"))} ist offen)


Dieser Teil des DOIF'S funktioniert leider nicht

(["Tuer:off"] and [Alarmanlage_schalten] eq "on" and [Alarmanlage_scharf] eq "off")
(set Alarmanlage_scharf on)
(set Alarmanlage_unscharf off)


Hier reagiert das DOIF leider nicht. Ersetzte ich ["Tuer:off"] durch [Tuer_WZ1] eq "off" funktioniert es problemlos, aber halt nur für das eine Device.
Ich könnte über "and" natürlich alle 12 Türen (das sind Magnetkontakte) mit in die Abfrage einbauen, aber schön ist anders und es funktioniert ja auch in dem gleichen DOIF anders.

Als Bonus bin ich noch auf der Suche nach einer Abfrage nach dem Motto, schreib alle Tueren die offen sind in einen Dummy, da habe ich aber leider noch überhaupt keinen Lösungsansatz gefunden.

Falls mir jemand helfen kann vielen Dank im vorraus.

Gruß Carsten
fhem 5.8 CUL 433, 8x DS18B20, 8fach 230V Relais
benachrichtigungen über Telegram, Steuerung Solar- und Kaminpumpe, Steuerung Somfy Rollos, Lichtsteuerung über Intertechno, Steuerung Heizungspumpe und Mischer Fußbodenheizung

Damian

["Tuer:off"] ist eine Ereignisabfrage und keine Zustandsabfrage.

Wenn die obige Abfrage wahr ist, dann ist die untere auch wahr, allerdings nur wenn die Tür gerade off sendet, sonst nicht.

(["Tuer:off"] and [Alarmanlage_schalten] eq "on" and [Alarmanlage_scharf] eq "off")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Carsten1981

ok, danke das klingt logisch.

Habe jetzt dann noch mal die Suchfunktion bemüht und nach Zustandsabfragen gesucht

(["?Tuer"] eq "off" and [Alarmanlage_schalten] eq "on" and [Alarmanlage_scharf] eq "off")

sollte dann ja hoffentlich funktionieren. Werde es zuhause direkt ausprobieren.

Mit dieser Zustandsabfrage müsste sich ja dann auch die Zustandsabfrage nach den offenen Fenster realisieren lassen ;)

danke für die schnelle hilfe
fhem 5.8 CUL 433, 8x DS18B20, 8fach 230V Relais
benachrichtigungen über Telegram, Steuerung Solar- und Kaminpumpe, Steuerung Somfy Rollos, Lichtsteuerung über Intertechno, Steuerung Heizungspumpe und Mischer Fußbodenheizung

Damian

Zitat von: Carsten1981 am 12 Januar 2018, 18:07:20
ok, danke das klingt logisch.

Habe jetzt dann noch mal die Suchfunktion bemüht und nach Zustandsabfragen gesucht

(["?Tuer"] eq "off" and [Alarmanlage_schalten] eq "on" and [Alarmanlage_scharf] eq "off")

sollte dann ja hoffentlich funktionieren. Werde es zuhause direkt ausprobieren.

Mit dieser Zustandsabfrage müsste sich ja dann auch die Zustandsabfrage nach den offenen Fenster realisieren lassen ;)

danke für die schnelle hilfe

Ich weiß nicht, wo du recherchiert hast, aber ["?Tuer"] ist keine Zustandsabfrage. So etwas gibt es nicht und kann es auch nicht geben.
Wenn du 12 Türen hast, die mit Tuer beginnen, welche soll denn hier gemeint sein, wenn es vom Ereignis unabhängig abgefragt werden soll.

Evtl. findest du hier etwas Passendes für dich: https://fhem.de/commandref_DE.html#DOIF_aggregation


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