NEWS
[gelöst] Wie ändere ich den Wert eines Datenpunkts?
-
Hallo, folgendes Problemchen:
Ich möchte zigbee RGB Leuchten mit einem Schalter so bedienen, dass bei längerem Drücken die Farbe der Leuchte geändert wird.Die Leuchten haben einen Datenpunkt "Color" und wenn ich da manuell im Admin die Werte ändere (z.B. von #ff0000 nach #00ff00) dann ändert die Leuchte ihre Farbe.
In Blockly bekomme ich es nicht hin:
Wenn ich den Schalter lange drücke, ändert sich der Datenpunkt (sehe ich im Admin-Objektansicht), aber die Lampe ändert ihre aktuelle Farbe nicht. Ich hatte auch schon statt "steuere" das Blockly "aktualisiere" probiert, gleicher Effekt, DP wird geändert, die Lampe macht aber nichts.
Was muss ich da in Blockly als Befehl verwenden, damit es klappt ? -
Beispiel ist aus dem Netz kopiert:
Über den manuellen Farb-Block kann über einen Klick auf den Block die Farbe manuell ausgewählt werden.
Im Beispiel wird ein Trigger auf einen Test-Datenpunkt eingefügt. Der Datenpunkt stellt ein Tür- oder Fensterkontakt dar, der die beiden Werte (true und false) speichert. Wenn das Fenster geöffnet ist, wird im Datenpunkt „true“ zurückgegeben. Im Trigger wird der Wert nun mittels einem Falls-Block abgefragt und somit die Variable „colorValue“ bei „true“ auf Rot und bei „false“ auf Grün gesetzt. Zudem wird die Variable ColorValue in einem separaten Datenpunkt gespeichert und per Block „Debug Output“ in das ioBroker-Log geschrieben.
Im ioBroker-Log werden nun die folgenden Einträge geschrieben:
-
@amg_666 sagte in Wie ändere ich den Wert eines Datenpunkts?:
In Blockly bekomme ich es nicht hin:
nimm steuere statt aktualisiere
-
steuere hat er schon probiert
-
@haselchen sagte in Wie ändere ich den Wert eines Datenpunkts?:
steuere hat er schon probiert
Step - by - step
Esrt einmal steuere, dann sehen was im log steht, dann reagieren
-
@Homoran Logstufe Info, der schreibt mir nichts ins Log. Ich sehe ja - wie gesagt -, dass der Datenpunkt "color" geändert wird.
Sehr schräg: Adapter einmal neu gestartet und jetzt läuft es. "Aktualisiere" scheint nur den DP zu aktualisieren aber nichts auszulösen (Lampe ändert Farbe nicht), "Steuere" funktioniert (jetzt).
Schönen Sonntag noch
-
@homo ist aber auch fies jetzt
-
@haselchen das war keine Absicht, habs eigentlich direkt auf Antworten geklickt, da muss ich versehentlich was abgeschnitten haben. (ich hätte jetzt auch an @hasel antworten können
)
-
@haselchen Nö, da hat sich ich gar nichts geändert. Aktualisiere ändert nur den Wert des Datenpunktes, ohne irgendwas auszulösen, der Datenpunkt wird direkt grün. Nimmt man für eigene Datenpunkte, auf die zum Beispiel ein Script triggert oder Werte gespeichert werden sollen.
Steuere ändert den Wert des Datenpunktes und "bittet" den zugehörigen Adapter, diesen Befehl auch auszuführen und dann die Rückmeldung zu geben, indem der Datenpunkt erst grün wird, wenn die erfolgreiche Rückmeldung erfolgt ist. Das nimmt man für alle Datenpunkte von Adaptern, die Geräte steuern oder ähnliches.
War schon immer so. Einzig, es kommen jetzt eben eventuell Meldungen ins Log oder Datenpunkte bleiben rot, wenn man die beiden verwechselt.
Gruß, Jürgen -
Hö?
Hab nix wegen geändert geschrieben?!
Post verwechselt? -
@haselchen Dachte, Deine Antwort an @Homoran bezog sich drauf, dass der neue JS-Controller jetzt ganz schön fies wäre, weil er das restriktiver behandelt. Dann vergess meinen Post. 🤭
Gruß, Jürgen -
Hahahahahahaha, nein.
Ging um das @homo -
@amg_666 sagte in [gelöst] Wie ändere ich den Wert eines Datenpunkts?:
"Aktualisiere" scheint nur den DP zu aktualisieren aber nichts auszulösen (Lampe ändert Farbe nicht), "Steuere" funktioniert (jetzt).
genau das ist der Unterschied
-
@homoran ja, nur das bei mir beides nicht funktioniert hatte... Hat sich aber ja erledigt.