NEWS
Möchte ermitteln, wer der Auslöser für DP-Änderung ist
-
Abend,
ich versuche wie blöde, einen Sonoff-TRVZB mit einem externen Temperatursensor zu verbinden.Dummerweise setzt irgendwas immer wieder den Wert der local_temperature auf 23,1 Grad, und den Wert der Datenuelle von external auf external_2.
Frage: Gibts eine Möglichkeit, rauszukriegen, wer oder was diesse Veränderung am Datenpunkt veranlasst?
Finde kein Script oder anderes in meiner Umgebung, das darauf hindeutet.
Gruß und Dank
Bommel -
einfach ein Skript machen in dem ein Trigger auf den DP ist. Darin statt des Wertes des DP's das 'from' des DP loggen.
A.
nachtrag:
on({ id: [].concat(['zigbee.0.8cf681fffeee45fc.msg_from_zigbee']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; console.warn((obj.state ? obj.state.from : '')); });
-
@paul53 ,
hab da noch eine Frage an dich: was bedeutet denn bei "enthält den Wert" "javascript" ?Kurz zur Erklärung warum ich diese Überwachung gebrauchen kann, bei mir werden gelegentlich (ok, bisher erst 2 mal) die Klimaanlagen nachts eingeschaltet.
Somit wüsste ich dann warum, bzw. wer diese einschaltet. -
@paul53 ,
hab da noch eine Frage an dich: was bedeutet denn bei "enthält den Wert" "javascript" ?Kurz zur Erklärung warum ich diese Überwachung gebrauchen kann, bei mir werden gelegentlich (ok, bisher erst 2 mal) die Klimaanlagen nachts eingeschaltet.
Somit wüsste ich dann warum, bzw. wer diese einschaltet.@darkblu sagte: was bedeutet denn bei "enthält den Wert" "javascript" ?
Wenn die Quelle ein Skript ist, beginnt der Ursprung (state.from) mit "system.adapter.javascript". In dem Fall wird der Skriptname ausgegeben, der im Kommentar (state.c) enthalten ist.
-
bei mir ist die Quelle ein DP ?
Oder ist mit Quelle derjenige gemeint, der meinen DP auslöst ?
Was muss ich denn dann machen ?@darkblu sagte in Möchte ermitteln, wer der Auslöser für DP-Änderung ist:
bei mir ist die Quelle ein DP ?
Oder ist mit Quelle derjenige gemeint, der meinen DP auslöst ?Da geht etwas durcheinander:
Umganssprachlich ist die Quelle (allen Übels ?) der Datenpunkt.
Im Zusammenhang mit den ioBroker Datenpunkten ist die
Quelleder Adapter der die Änderung / Aktualisierung des Datenpunktes ausgelöst hat.Solange das ein allgemeiner Adapter ist bekommt man keine weiteren Informationen. Wenn das aber durch ein Skipt des JS Adapters ausgelöst wird kommt Zusatzinformation wie @paul53 beschrieben hat dazu.
Was muss ich denn dann machen ?
Du musst für die Datenpunkte von denen du wissen willst wer sie anpasst das Blockly welches @paul53 Dir vorgeschlagen hat zusammen stellen, und im Trigger jeweils die Datenpunkte auswählen.
In der folge schaust du im Log nach was du an Meldungen bekommst wenn sich diese DP's ändern. Da siehst du dann
- welcher Adapter die Änderung auslöst
- und wenn das von einem deiner Skripte kommt - von welchem es kommt.
A.
-
@asgothian , ok Danke
Dann kann ich es ja so übernehmen.
"Power" ist der ein/aus DP von meiner Klimaanlage,
wenn der jetzt geändert wird, sehe ich unter Protokolle, wer das war, check.
Habe das eben mal ausprobiert mit einer Steckdose und verschiedenen Auslösern, (VIS, in den Objekten und eine Fernbedienung).DANKE

-
@asgothian , ok Danke
Dann kann ich es ja so übernehmen.
"Power" ist der ein/aus DP von meiner Klimaanlage,
wenn der jetzt geändert wird, sehe ich unter Protokolle, wer das war, check.
Habe das eben mal ausprobiert mit einer Steckdose und verschiedenen Auslösern, (VIS, in den Objekten und eine Fernbedienung).DANKE

@darkblu sagte in Möchte ermitteln, wer der Auslöser für DP-Änderung ist:
Habe das eben mal ausprobiert mit einer Steckdose und verschiedenen Auslösern, (VIS, in den Objekten und eine Fernbedienung).
und was hat"s gezeigt?
-
Jetzt doch eine AC, eingeschaltet über die VIS,
ausgeschaltet übers Telefon bzw. die Mitsubishi MelCloud,
und als Adapter habe ich "mitsubishi-local-control", warum der allerdings auftaucht ist mir auch nicht klar.
Ich dachte der wäre "local" und hat nix mehr mit der Melcloud zu tun.Edit, der merkt ja auch wenn die AC ausgeschaltet wird, und muss ja ebenfalls seinen Zustand ändern, gell ?
Aber dann bekomme ich nicht mit, wenn der Befehl von ausserhalb des ioBroker kam.
-
Jetzt doch eine AC, eingeschaltet über die VIS,
ausgeschaltet übers Telefon bzw. die Mitsubishi MelCloud,
und als Adapter habe ich "mitsubishi-local-control", warum der allerdings auftaucht ist mir auch nicht klar.
Ich dachte der wäre "local" und hat nix mehr mit der Melcloud zu tun.Edit, der merkt ja auch wenn die AC ausgeschaltet wird, und muss ja ebenfalls seinen Zustand ändern, gell ?
Aber dann bekomme ich nicht mit, wenn der Befehl von ausserhalb des ioBroker kam.
@darkblu logs bitte als Text in code-tags posten!
-
Jetzt doch eine AC, eingeschaltet über die VIS,
ausgeschaltet übers Telefon bzw. die Mitsubishi MelCloud,
und als Adapter habe ich "mitsubishi-local-control", warum der allerdings auftaucht ist mir auch nicht klar.
Ich dachte der wäre "local" und hat nix mehr mit der Melcloud zu tun.Edit, der merkt ja auch wenn die AC ausgeschaltet wird, und muss ja ebenfalls seinen Zustand ändern, gell ?
Aber dann bekomme ich nicht mit, wenn der Befehl von ausserhalb des ioBroker kam.
@darkblu sagte in Möchte ermitteln, wer der Auslöser für DP-Änderung ist:
Jetzt doch eine AC, eingeschaltet über die VIS,
ausgeschaltet übers Telefon bzw. die Mitsubishi MelCloud,
und als Adapter habe ich "mitsubishi-local-control", warum der allerdings auftaucht ist mir auch nicht klar.
Ich dachte der wäre "local" und hat nix mehr mit der Melcloud zu tun.Na ja, irgendwie fehlt mir da was. Das Skript von @paul53 bringt nur die mittlere Meldung. Die beiden anderen kommen wohl von meinem Vorschlag.
Ansonsten:
- wenn du innerhalb des ioBroker die AC schaltest, dann muss die Quelle sein:
system.adapter.iot(wenn du sowas nutzt)system.adapter.web(wenn du Vis nutzt, ggf. auch bei Lovelace und/oder anderen Visualisierungen - das käme auf einen Versuch an)system.adapter.admin(wenn du von Hand im Objektbaum räuberst)System.adapter.javascript(wenn ein Skript es macht.. siehe oben)
- Wenn du von ausserhalb (app, am Gerät) schaltest, dann wird es
system.adapter.mitsubishi-local-control.0sein, weil der ja die Änderungen an den ioBroker meldet. Da kannst du nicht unterscheiden ob es via App oder lokal am Gerät war.
A.
Edit: Nachtrag / typo-ex
