NEWS
(gelöst) mein erstes Blockly... korrekt?
-
@Homoran sagte:
Mit dem Intervall Timeout (???) ist das schon etwas komplizierter, da dort ein fester Name vergeben ist und du den nicht abfragen kannst.
Man kann.
@Homoran sagte in mein erstes Blockly... korrekt?:
Du kannst aber einen eigenen Namen statt "Intervall" eingeben, legst dazu noch eine Variable mit eben diesem Namen an, und fragst die im debug ab.
Das sollte man nicht machen, da dann die Variable mit gleichem Namen doppelt vorhanden ist. Falls es noch keine selbst erstellte Variable gibt, sollte man eine Dummy-Variable anlegen, diese in das Editor-Fenster ziehen und anschließend die Timer-Variable auswählen.
-
@Humidor sagte in mein erstes Blockly... korrekt?:
so?
fkt. noch nicht, ich erhalte nur 1x ein Telegram.
-
@Humidor sagte:
Bool Block als True/False oder 1/2 anzeige bzw. die timeouts.. ?
Das, was in die Variable geschrieben wurde - egal, ob Bool, Zahl oder Text - wird ausgegeben, aber keine Timer-Variablen, denn die Timer-Objekte sind zu speziell.
-
@paul53 sagte in mein erstes Blockly... korrekt?:
Das sollte man nicht machen, da dann die Variable mit gleichem Namen doppelt vorhanden ist.
Da hast du recht, ich habe es gerade ausprobiert und gemerkt, dass ich es mit dem WERT für den Timeout verwechselt hatte.
Aber den kann man dann auch nicht auf diese Art abfragen@paul53 sagte in mein erstes Blockly... korrekt?:
diese in das Editor-Fenster ziehen und anschließend die Timer-Variable auswählen.
Das hatte ich auch versucht, bekomme diese Timer-Variable aber nicht angeboten
-
@Homoran sagte:
mit dem WERT für den Timeout verwechselt hatte. Aber den kann man dann auch nicht auf diese Art abfragen.
Das ist eine Konstante, die man nicht abfragen kann, außer man verwendet eine selbst erstellte Variable, deren Namen man im Timer eingeben kann, was allerdings nur bei Auswahl von "ms" funktioniert.
-
@Homoran sagte:
bekomme diese Timer-Variable aber nicht angeboten
Dann wechsle mal in die Javascript-Ansicht und wieder zurück.
-
@paul53 sagte in mein erstes Blockly... korrekt?:
Dann wechsle mal in die Javascript-Ansicht und wieder zurück.
Neee, nich???
klappt!Danke, mal wieder!
-
@paul53 sagte in mein erstes Blockly... korrekt?:
außer man verwendet eine selbst erstellte Variable, deren Namen man im Timer eingeben kann,
Das meinte ich ja (Hatte ich mit dem Namen des Timeouts verwechselt), aber die wird nicht runtergezählt.
-
@Homoran sagte:
aber die wird nicht runtergezählt.
Timer werden nicht runtergezählt. Braucht man so etwas, muss man eine eigene Zähl-Variable in Verbindung mit Intervall verwenden.
-
@paul53
OK!Aber den (Rest-)Wert des Timeouts bekomme ich nicht angezeigt:
-
@Homoran sagte:
den (Rest-)Wert des Timeouts bekomme ich nicht angezeigt:
@paul53 sagte in mein erstes Blockly... korrekt?:
Das, was in die Variable geschrieben wurde - egal, ob Bool, Zahl oder Text - wird ausgegeben, aber keine Timer-Variablen, denn die Timer-Objekte sind zu speziell.
@paul53 sagte in mein erstes Blockly... korrekt?:
Timer werden nicht runtergezählt.
-
@paul53 Musst du das so deutlich wiederholen
Dann ist es jetzt auch mir klar!
ich hatte gehofft mit einbinden der Variable wäre das möglich. -
-
@paul53
es lässt mir keine Ruhe:@Homoran sagte in mein erstes Blockly... korrekt?:
ich hatte gehofft mit einbinden der Variable wäre das möglich.
@paul53 sagte in mein erstes Blockly... korrekt?:
Timer werden nicht runtergezählt.
Selbst wenn sie nicht heruntergezählt werden, sollte da doch etwas anderes in der Variable stehen als
[object][object]
, oder?Habe es jetzt mit einem counter gelöst.
ist aber nichts um "mal eben" sich den Wert anzeigen lassen zu können, so wie es @Humidor gerne hätte
der negative Wert für reduzieren stammt noch aus dem Versuch den "erhöhe"-Baustein zu nutzen, was mir nicht gelungen ist
-
@Homoran sagte:
sollte da doch etwas anderes in der Variable stehen als [object][object], oder?
Das Timer-Objekt ist eben zu speziell, als dass es per Log ausgegeben werden kann. Es kann nicht per JSON.stringify() in einen String gewandelt werden.
-
Puhh, bis ich da durchsteige was ihr sagt, wir noch Wasser den Bach runter laufen....
Ich hätte gerne (wie nennt man eine Block-Verschaltung) mehrer unabhängige Blöcke.
Wie macht das Blocky, jeder Block nach einander abarbeiten bis alle fertig sind in zufälliger Reihenfolge, oder werden Blöcke parallel verarbeitet?
Eine Variable in einem Block ist für das ganze Projekt (file) sichtbar oder nur für den Block?Also, mehrere unabhängige Sachen. Temperatur, Feuchtigkeit, Licht, Türkontakt usw.
Unabhängig von der Änderung eines Wertes jede Stunde ein Telegram mit entsprechender Info.
Eine Debugausgabe, um nicht Try&Error über Tage zu machen, sondern zu sehen ob das Script auch funktioniert.Puhhh??
-
@Humidor sagte in mein erstes Blockly... korrekt?:
jeder Block nach einander abarbeiten bis alle fertig sind in zufälliger Reihenfolge
Nacheinander von oben nach unten, wenn sie direkt untereinander angeordnet sind - außer Trigger und Timer: Trigger werden abgearbeitet, wenn das Trigger-Ereignis eintrifft, Timer nach Ablauf der Verzögerungszeit bzw. der Zykluszeit.
@Humidor sagte in mein erstes Blockly... korrekt?:
Eine Variable in einem Block ist für das ganze Projekt (file) sichtbar oder nur für den Block?
Selbst erstellte Variablen und Timer-Variablen gelten im gesamten Skript, lokale Variablen nur innerhalb der Funktion. Lokale Variablen sind die unter "Trigger", Übergabeparameter an Funktionen und die vordefinierten Variablen value und oldValue.
@Humidor sagte in mein erstes Blockly... korrekt?:
Eine Debugausgabe, um nicht Try&Error über Tage zu machen, sondern zu sehen ob das Script auch funktioniert.
Debug-Ausgaben sind gerade für den Anfang sehr zu empfehlen.
-
machen wirs in Schritten bitte, sonst steig ich nicht durch
zuerst wird ein Trigger geschaffen, d.h. eine Abfrage definiert, ob die Feuchtigkeit außerhalb der Norm ist.
passt?
dann gibts unabhängig eine zeitliche Routine die überprüft, ob eine Message gesendet werden soll
-
@Humidor sagte:
dann gibts unabhängig eine zeitliche Routine die überprüft, ob eine Message gesendet werden soll
Es funktioniert prinzipiell so, da die beiden Variablen global (im gesamten Skript gültig) sind.
-
@paul53 sagte in mein erstes Blockly... korrekt?:
@Humidor sagte:
dann gibts unabhängig eine zeitliche Routine die überprüft, ob eine Message gesendet werden soll
Es funktioniert prinzipiell so, da die beiden Variablen global (im gesamten Skript gültig) sind.
d.h. es ist eine legitimer Code !? kann ma so lassen?