Aktion abhängig vom Vergleich der Zustände zweier Aktoren

Begonnen von einfach, 20 Juli 2019, 23:04:49

Vorheriges Thema - Nächstes Thema

amenomade

Ich verstehe die Notwendigkeit vom Umweg über 2 notify nicht ganz... aber gut... wenn es funktioniert! Never touch a running system ;)

Wenn @Damian noch hier mitliest: kann man nicht direkt 2 triggernde (oder mit "?" nicht triggernde) Readings vergleichen?
DOIF ([MQTT2_SchlafZiDeckenlichtRe:POWER1] eq [MQTT2_SchlafZiDeckenlichtLiLfT:POWER1])
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

Zitat von: amenomade am 23 Juli 2019, 20:05:55
Ich verstehe die Notwendigkeit vom Umweg über 2 notify nicht ganz... aber gut... wenn es funktioniert! Never touch a running system ;)

Wenn @Damian noch hier mitliest: kann man nicht direkt 2 triggernde (oder mit "?" nicht triggernde) Readings vergleichen?
DOIF ([MQTT2_SchlafZiDeckenlichtRe:POWER1] eq [MQTT2_SchlafZiDeckenlichtLiLfT:POWER1])

Natürlich kann man auch zwei Readings wie oben mit oder ohne Trigger miteinander vergleichen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

einfach

ZitatIch verstehe die Notwendigkeit vom Umweg über 2 notify nicht ganz... aber gut... wenn es funktioniert! Never touch a running system ;)

Naja, wenn ich mit dem Notify Bedingungen nicht vernünftig abgefragt bekomme, mache ich mir einfach zwei Notifis die ich mit einem DOIF bei Bedingungserfüllung jeweils scharf schalte oder deaktiviere,

TomLee

Zitat von: Damian am 23 Juli 2019, 22:55:21
Natürlich kann man auch zwei Readings wie oben mit oder ohne Trigger miteinander vergleichen.

Dazu hätte ich auch eine Verständnisfrage, nicht mehr, das DOIF macht was es soll.

Zitat von: commandrefIn der Bedingung und im Status reagiert sie auf Ereignistrigger. Das lässt sich durch ein vorangestelltes Fragezeichen unterbinden.

In meinem Beispiel vergleiche ich doch mit der Aggregationsfunktion ( bspw. [#"^du_L":state:"on"] ) zwei nicht triggernde Readings und würde erwarten das ich ein ? voranstellen muss, es funktioniert aber so.

Weiter bin ich irritiert von der Syntax, die entspricht hier doch jetzt der von Ereignissteuerung über Auswertung von Events ich mach doch aber nur eine vergleichende Abfrage.

Gruß

Thomas

amenomade

Also, ich verstehe es so: die Aggregationsfunktion reagiert auf Ereignisse der zugehörigen Devices, sprich z.B. die Summe wird dann neu kalkuliert. Es ist aber grundsätzlich eine Zustandabfrage als Bedingung.
In deinem Beispiel funktioniert es, weil ein DOIF auf sich selbst nicht getriggert wird:
https://www.fhem.de/commandref_DE.html#DOIF_selftrigger
Zitat von: CommandRefStandardmäßig unterbindet das DOIF-Modul Selbsttriggerung. D. h. das Modul reagiert nicht auf Events, die es selbst direkt oder indirekt auslöst.


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus