NEWS
[solved] Unterscheidung Quelle für Datenpunktänderung?
-
Hallo zusammen,
gibt es für blockly/JS eine Möglichkeit, herauszufinden, wer oder was einen Datenpunkt verändert hat, um unterschiedliche Folge-Aktionen auszulösen?
Beispiel: wenn level.blind per Wandtaster verändert wird soll es keine Folgeaktion geben, bei Änderung über ein iQontrol Element aber schon, bei Änderung über andere JS Programm wieder nicht......wenn man die Quelle nicht identifizieren kann, kann man dann evtl. die iQontrol Aktionen separat bekommen?
Ich stehe da grad auf dem Schlauch...
Viele Grüße
Christoph -
@chris299 Wenn der Wandtaster was verändert, kannst Du doch über diesen triggern? Oder erstellst eigenen Datenpunkt unter 0_userdata.0 und nutzt den um ggf. dort mit Deiner GUI zu schalten.
-
@mickym eigentlich meinte ich es anders herum: den Wandtaster kann ich schon unterscheiden, aber iQontrol nicht von anderen JS-Programmen, die einen Datenpunkt verändern....
-
@chris299 was wird denn dann als Quelle angegeben?
-
@mickym ja, indirekt über einen anderen Datenpunkt klingt nach einer Idee. werde ich morgen mal probieren.
-
@chris299 sagte in Unterscheidung Quelle für Datenpunktänderung möglich?:
@mickym eigentlich meinte ich es anders herum: den Wandtaster kann ich schon unterscheiden, aber iQontrol nicht von anderen JS-Programmen, die einen Datenpunkt verändern....
Wie gesagt, dann schalte über iQontrol einen selbst erstellten DP unter 0_userdata.0 und triggere auf den und mach dann via Blockly die gewünschten Aktionen.
EDIT: Post hat sich überschnitten.
-
@chris299 sagte: bei Änderung über andere JS Programm wieder nicht...
Bei Skripten als Quelle wird in state.c der Skriptname geliefert.
if(dp.state.c == 'script.js.Skriptname') { // Folge-Aktion}
-
@homoran auch wenn ein script den level-blind-DP setzt, steht dort anscheinend der Adapter (system.adapter.shelly.0 in meinem Fall)... anscheinend ist das dp.state.from
@paul53
gibt es den state.c auch per blockly-element? ich habe dort bisher nur state.q gefunden... wenn nein, wie komme ich in einem blockly da ran?danke für den Tip, habs gefunden und werde es testen -
@chris299 sagte: auch wenn ein script den level-blind-DP setzt, steht dort anscheinend der Adapter
Erst nach Bestätigung durch den Adapter; vorher (bei Wertänderung) die Javascript-Instanz.
-