DOIF Auslösungsgrund (cmd-Nr) in Nachricht versenden

Begonnen von Svnm, 23 August 2016, 20:36:00

Vorheriges Thema - Nächstes Thema

Svnm

Hallo,

für meine Lüftungskontrolle verwende ich in etwa folgendes DOIF
(([Fenster_Schlaf:state] eq "open" or [Fenster_Bad:state] eq "open")
and ([Thermostat_Schlaf_Weather:dewpoint:d] < [Sensor_Aussen:dewpoint:d]
or [Thermostat_Bad_Weather:dewpoint:d] < [Sensor_Aussen:dewpoint:d]))

Wenn das Ereignis war ist, lasse ich mir eine Push-Nachricht an das Smartphone schicken. Ich würde nur jetzt gerne in der Push-Nachricht stehen haben, warum das DOIF ausgelöst hat. Reichen würde es mir, wenn in der Nachricht der Inhalt des cmd aufgeführt ist (1.2 oder 1.3).
Wenn ich nun versuche, in der Nachricht
(set Push msg 'Fhem' 'Fenster schließen. Grund: [$SELF:cmd]')
anzugeben, wir mir leider nur der Zustand cmd 2 angezeigt. Es wird mir also der Zustand übermittelt, welcher vor dem Auslösen des DOIF aktiv war. Ich möchte aber den aktuellen Zustand wissen, wodurch das DOIF ausgelöst wurde.
Ich hoffe, dass dies möglich ist.
Für Eure Hilfe schon einmal vielen Dank!

KernSani

Hi,

Ich mag mich täuschen, aber meines Wissens sagt das reading cmd welcher DOIF/DOELSEIF-Zweig zuletzt aktiviert wurde. cmd_event enthält das triggernde device. Auch dieses wird aber wohl erst nach Abarbeitung gesetzt, ist also innerhalb des DOIFs nicht verfügbar. Was aber funktioniert (hab's gerade ausprobiert): Wenn du ein weiteres DOIF auf dein DOIF machst und dort das cmd_event auswertest, Also etwa so:

([meinLueftungskontrollDOIF]) ({Log 2,"[meinLueftungskontrollDOIF:cmd_event]"})

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

eigentlich geht's noch viel einfacher... Mit $DEVICE und $EVENT  :-[
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...