Mir ist kein besserer Titel eingefallen.
Gibt es eine Möglichkeit zu erkennen, über welchen Weg ein Device eingeschaltet wurde?
Ich kann ja z.B. eine Lampe per Hue Bridge, per App, mit Alexa oder über FHEM schalten. In letzterem hat es auch noch mehrere Wege.
Aber das Resultat ist immer das gleiche. An ist an.
Hat jemand ne Idee, wie ich manuelles Schalten von "programmiertem" Schalten unterscheiden kann?
Ich denke da an ein userReading, dass gesetzt werden könnte.
Du müsstest vermutlich (zumindest habe ich jetzt auch keine andere/bessere Idee) in jeden Zweig ein:
setreading DeviceName Einschaltweg EinschaltwegBezeichnung
einbauen...
(oder halt irgendwas anderes)
Dann steht im Device "DeviceName" im Reading "Einschaltweg" eben der "Weg des Einschaltens" drin...
Bei den genannten Wegen geht das sicher...
...in das jetzt vorhandene Kommando eben noch das zusätzliche "setreading ..." dazubauen.
Schwerer ist es dann über fhem direkt ("Knöpfchen" drücken etc.)...
...bzw. wo du keinen Einfluss hast.
Ansonsten ist (wie du ja bereits gemerkt hast) on halt einfach on ;)
Weil nur der Weg weiß Bescheid ;)
Das Device geht halt auf on ;)
Gruß, Joachim
Es gab mal eine ähnliche Diskussion zu (CUL_HM-) Homematic-Geräten. Da hat der Modulautor dann was eingebaut, damit man "manuelle" (lokale) Schaltungen von "FHEM"-Anweisungen unterscheiden kann.
Grundsätzlich hängt das m.E. sehr stark vom jeweiligen Modul ab. Es gibt einige Implementierungen, die erst mal ein "set xy" in das Reading/den state schreiben, bis der Aktor rückmeldet, dass er tatsächlich geschaltet hat, bei anderen funktioniert das nicht, teils prinzipbedingt.
Wenn du also was machen willst, mußt du dir klarwerden, wie die Signalverarbeitung in dem jeweiligen Modulen läuft (=> das meiste sollte schon der EventMonitor liefern). Dann kannst du das ggf. auch zentraler abfangen, ohne zusätzlich weitere Hilfsreadings zu setzen.
(Aber prinzipiell: Nicht so einfach, und für was genau gut...?)