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
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
Vielen Dank, klappt super!