ioBroker.javascript
ioBroker.javascript copied to clipboard
Blockly Variablen
Bei Einfügen eines Datenpunkt-Triggers sollten die Variablen value und oldValue unter Variablen verfügbar sein. Das Gleiche sollte für die Timer-Variablen bei Einfügen von "Ausführen timeout" und "Ausführen Intervall" gelten.
Schön wäre auch, wenn sich die Farbe der Variablen von der Farbe der Trigger unterscheiden würde (Variablenfarbe z.B. wie Timer).
EIn paar Bilder werden helfen. Ich verstehe nicht was "Datenpunkt-Triggers" ist.
Nicht das ?
Ja, das (im Gegensatz zum Schedule-Trigger). Bei Verwendung des Trigger-Blockes werden automatisch die lokalen Variablen value und oldValue erstellt, sind aber in Blockly nicht sichtbar, sondern müssen erst als globale Variablen erstellt werden, damit man sie (lokal) verwenden kann.
Schedule-Trigger
Schedule-Trigger hat kein value/oldValue
Ich glaub was hier gemeint ist, dass die Variablen value/oldValue die für den Trigger Block gesetzt werden auch ausserhalb des Blocks erreichbar sind?
Hier als Bild was gemeint ist, innerhalb des Triggers kann man die variablen verwenden aber ausserhalb nicht.
![Bildschirmfoto 2021-05-20 um 02 19 04](https://user-images.githubusercontent.com/6634116/118900735-f8854c00-b911-11eb-8599-d4f8f0f79f61.png)
Schaut man sich dazu den Javascript Code an, wird einem sehr schnell bewusst warum...
on({id: 'default', change: "ne"}, async function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log((obj.state ? obj.state.val : ""));
console.log((obj.oldState ? obj.oldState.val : ""));
});
(obj.state ? obj.state.val : "");
Es werden zwar die Variablen value und oldValue innerhalb des Blocks erstellt aber zu keiner Zeit verwendet, sondern wird bei der Verwendung vom Trigger Object "Variablen" zu "obj.state..." und "obj.oldState..." gegriffen. Man könnte sich daher die Erstellung der 2 lokalen Variablen sparen um weniger Verwirrung zu generieren!? Oder werden die an einer anderen Stelle verwendet die ich bislang noch nicht gesichtet habe?
Die Timer-Variablen sind seit Version 5.8.10 verfügbar.
Hier ist alles gelöst, oder?