NEWS
Globale (JS) Funktionen (Einschaltdauer berechnen)
-
Thx...
Wo ist mein Fehler? Die Funktion wird nicht aufgerufen. Im Log steht auch kein Fehler
-
@D-VE sagte:
Wo ist mein Fehler? Die Funktion wird nicht aufgerufen.
Die Blockly-JS-Funktion hat den gleichen Namen wie die globale Funktion ?
-
@D-VE sagte:
Einschaltdauer berechnen
Eine Startzeit muss man sich nicht in einem Datenpunkt merken, denn die stellt der Datenpunkt des Aktors zur Verfügung, wenn er als Trigger verwendet wird:
- "letzte Änderung" während der Aktor ein ist
- "vorherige letzte Änderung", wenn der Aktor aus ist
-
@paul53 said in Globale (JS) Funktionen (Einschaltdauer berechnen):
Die Blockly-JS-Funktion hat den gleichen Namen wie die globale Funktion ?
Ja... Siehe Screenshot
@paul53 said in Globale (JS) Funktionen (Einschaltdauer berechnen):
Eine Startzeit muss man sich nicht in einem Datenpunkt merken, denn die stellt der Datenpunkt des Aktors zur Verfügung, wenn er als Trigger verwendet wird:
Das ist kein SmartDevice, sondern eine 15 Jahre alte Spülmaschine die ich über den Shelly tracke. Wenn der Stromverbrauch unter 3 Watt liegt, ist sie aus (Standby) und wenn darüber sollte der Startzeitpunkt gesetzt werden.
lg, Dave
-
-
@paul53 said in Globale (JS) Funktionen (Einschaltdauer berechnen):
Das wird das Problem sein. Verwende unterschiedliche Namen.
Verstehe ich nicht... Wie soll er denn sonst wissen, welche JS Funktion ich aufrufen will???
-
@D-VE sagte:
Wie soll er denn sonst wissen, welche JS Funktion ich aufrufen will???
Bei gleichen Namen für die globale Funktion und die Blockly-JS-Funktion wird nicht die globale Funktion aus der JS-Funktion aufgerufen, sondern man erzeugt eine Endlosschleife.
-
Ich glaube, ich hab da etwas missverstanden...
Wie rufe ich die globale JavaScript-Funktion setStartTime() im Blockly korrekt auf?
-
@D-VE sagte:
Wie rufe ich die globale JavaScript-Funktion setStartTime() im Blockly korrekt auf?
Es genügt, im Namen der Blockly-JS-Funktion, einen Buchstaben zu ändern, z.B.
Inhalt:
setStartTime(deviceStr); // Aufruf der globalen Funktion
-
Ah... Jetzt hab ich das erst kapiert, dass man die JS Funktion nicht direkt aufrufen kann, sondern über einen Blockly Wrapper... Das war das fehlender Puzzlestück
Vielen dank