FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: RoBra81 am 30 Juli 2015, 08:53:56

Titel: DOIF: Während Abarbeitung auf cmd_event zugreifen.
Beitrag von: RoBra81 am 30 Juli 2015, 08:53:56
Hallo Damian,

ich würde gern ein (ganz einfaches) Dialogsystem mit WhatsApp und DOIF bauen: Ein WhatsApp-Nutzer stellt eine Frage (Wie z.B. Temperatur?) und erhält entsprechend eine Antwort (z.B. Zu Hause sind 15.6°C bei 42% Luftfeuchte.).
Da ich nicht pro Nutzer und Frage einen eigenen DOELSE-Zweig machen möchte, dachte ich mir, ich könnte mittels Reading cmd_event herausbekommen, von wem die Frage kam und einfach die Antwort da hin schicken:

define WhatsApp.DI.Command DOIF ([WhatsApp.Ronny:?message..Temperatur.*] or [WhatsApp.Baerbel:?message..Temperatur.*] or [WhatsApp.Gruppe.Haus:?message..Temperatur.*]) (set [WhatsApp.DI.Command:cmd_event] send Zu Hause sind [AU.xx.KL.Klima:measured-temp]°C bei [AU.xx.KL.Klima:humidity]% Luftfeuchte.)
attr WhatsApp.DI.Command do always


Nun wird das Reading cmd_event leider erst nach oder während der Ausführung gesetzt, sodass das DOIF beim ersten Mal gar nicht geht und dann die Antwort immer an der vorherigen Fragesteller gesendet wird. Gibt es eine Möglichkeit, bereits im DOIF auf das auslösende Ereignis zuzugreifen?

Vielen Dank
Ronny
Titel: Antw:DOIF: Während Abarbeitung auf cmd_event zugreifen.
Beitrag von: Damian am 30 Juli 2015, 23:04:02
Zitat von: RoBra81 am 30 Juli 2015, 08:53:56
Hallo Damian,

ich würde gern ein (ganz einfaches) Dialogsystem mit WhatsApp und DOIF bauen: Ein WhatsApp-Nutzer stellt eine Frage (Wie z.B. Temperatur?) und erhält entsprechend eine Antwort (z.B. Zu Hause sind 15.6°C bei 42% Luftfeuchte.).
Da ich nicht pro Nutzer und Frage einen eigenen DOELSE-Zweig machen möchte, dachte ich mir, ich könnte mittels Reading cmd_event herausbekommen, von wem die Frage kam und einfach die Antwort da hin schicken:

define WhatsApp.DI.Command DOIF ([WhatsApp.Ronny:?message..Temperatur.*] or [WhatsApp.Baerbel:?message..Temperatur.*] or [WhatsApp.Gruppe.Haus:?message..Temperatur.*]) (set [WhatsApp.DI.Command:cmd_event] send Zu Hause sind [AU.xx.KL.Klima:measured-temp]°C bei [AU.xx.KL.Klima:humidity]% Luftfeuchte.)
attr WhatsApp.DI.Command do always


Nun wird das Reading cmd_event leider erst nach oder während der Ausführung gesetzt, sodass das DOIF beim ersten Mal gar nicht geht und dann die Antwort immer an der vorherigen Fragesteller gesendet wird. Gibt es eine Möglichkeit, bereits im DOIF auf das auslösende Ereignis zuzugreifen?

Vielen Dank
Ronny

siehe hier: http://forum.fhem.de/index.php/topic,39070.0.html

Gruß

Damian
Titel: Antw:DOIF: Während Abarbeitung auf cmd_event zugreifen.
Beitrag von: RoBra81 am 31 Juli 2015, 07:21:16
Vielen Dank, klappt super!