NEWS
(gelöst) mein erstes Blockly... korrekt?
-
@Humidor sagte in mein erstes Blockly... korrekt?:
wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?
Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.
-
@Humidor sagte in mein erstes Blockly... korrekt?:
wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?
Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.
@OstfrieseUnterwegs sagte in mein erstes Blockly... korrekt?:
@Humidor sagte in mein erstes Blockly... korrekt?:
wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?
Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.
schade, das ist das A&O ...
-
Gerade gesehen, du stoppst deinen Timer nicht... Wenn jetzt das script triggert, dann macht er jedesmal einen neuen Timer und die setzen dann jeder für sich jeweils nach 30 min deine Variable zurück.
Du solltest Block 'Ausführen in' nehmen. Der führt einmal nach einer bestimmten Zeit aus und dann ist er weg. -
@OstfrieseUnterwegs sagte in mein erstes Blockly... korrekt?:
@Humidor sagte in mein erstes Blockly... korrekt?:
wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?
Einen richtigen Debugger, wie aus programmierumgebungen gibt es nicht wirklich. Ich kenne nur die Möglichkeit, einen Debug Output Block einzufügen.
schade, das ist das A&O ...
@Humidor sagte in mein erstes Blockly... korrekt?:
schade, das ist das A&O ...
Ähm, aber wo ist das Problem?
@Humidor sagte in mein erstes Blockly... korrekt?:
wie funktioniert denn das Debug?, kann ich mir den Zustand von bBlock anzeigen lassen bzw. den Zeitintervall?
Natürlich geht das mit dem Debug-Baustein.
Und wenn du fertig bist kannst du ihn löschen oder für späteren Gebrauch einfach deaktivieren -
Hi,
d.h. das Blockly fkt. so wie es mal ist, korrekt projektiert.Dein Einwand ist sehr gut, ist auch meine nächste Änderung die ich vor hatte.
Da weiß ich aber noch nicht recht wie ich das angehen soll.
Variable erstellen "bBlock" für Bool (0/1)
dann eine Abfrage ob bBlock true/false ist und bei true nach einer Zeit resetten.

@Humidor
hm...ich habe es jetzt so noch nicht probiert, aber es sieht auf den ersten Blick so aus, das hier im Laufe der Zeit jede Menge Intervalle laufen werden, da das Intervall nirgends gestoppt wird.
Ich glaube Du brauchst ein timeout, aber auch das sollte gestoppt werden. -
@Humidor sagte in mein erstes Blockly... korrekt?:
wäre das etwa so?
etwa, ja!
ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird
-
@Humidor sagte in mein erstes Blockly... korrekt?:
wäre das etwa so?
etwa, ja!
ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird
@Homoran sagte in mein erstes Blockly... korrekt?:
@Humidor sagte in mein erstes Blockly... korrekt?:
wäre das etwa so?
etwa, ja!
ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird
verstehe nicht ganz, wäre das die Lösung?

-
@Homoran sagte in mein erstes Blockly... korrekt?:
@Humidor sagte in mein erstes Blockly... korrekt?:
wäre das etwa so?
etwa, ja!
ein weiteres Stop timeout direkt vor dem timeout, damit das alte gestoppt wird auch wenn ein neues gestartet wird
verstehe nicht ganz, wäre das die Lösung?

@Humidor sagte in mein erstes Blockly... korrekt?:
verstehe nicht ganz, wäre das die Lösung?
nein!
das stop direkt VOR "Ausführen...."
-
@Humidor Ja!
und zum Thema Debug:

Mal auf die Schnelle einen beliebigen Debug-Baustein genommen.
Das Ergebnis wird im log eangezeigt -
Super!
dann möchte ich noch einen Debug Ausgabe machen, wo alle 10s die Werte von bBlock, Intervall ausgegeben werden.
läuft das so:

@Humidor sagte in mein erstes Blockly... korrekt?:
läuft das so:
neee.
Das ist kein Intervall, sondern ein Timeout.@Humidor sagte in mein erstes Blockly... korrekt?:
wo alle 10s die Werte
Wieso alle 10 Sekunden.
Es muss doch reichen wenn sie geändert werden, oder?
Dann einfach den Debug ganz oben als erstes unter den Trigger vor "falls bBlock"...Mit dem
IntervallTimeout (???) ist das schon etwas komplizierter, da dort ein fester Name vergeben ist und du den nicht abfragen kannst. Zumindest habe ich es noch nie versucht.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.
-
Hallo Gemeinde!
Möchte euch Korrektur fragen für meinen ersten Bock.
Ein Feuchtigkeitssensor per zigbee wird eingelesen, dieser soll unter 65% ein Telegram und über 75% abschicken.
Passt der Block dazu?on({id: 'zigbee.0.00158d00042704c0.humidity', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("zigbee.0.00158d00042704c0.humidity").val < 65) { sendTo("telegram.0", "send", { text: 'Feuchtigkeit im Humidor zu gering !' }); console.log("telegram: " + 'Feuchtigkeit im Humidor zu gering !'); } else if (getState("zigbee.0.00158d00042704c0.humidity").val > 75) { sendTo("telegram.0", "send", { text: 'Feuchtigkeit im Humidor zu hoch !' }); console.log("telegram: " + 'Feuchtigkeit im Humidor zu hoch !'); } }); parseFloat();
-
die Debug-Anzeige soll unabhängig vom Code sein, zeitlich reicht mir

15:04:55.003 info javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout: 15:05:00.005 info javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:verstehe noch nicht wie ich den Bool Block als True/False oder 1/2 anzeige bzw. die timeouts.. ?
-
die Debug-Anzeige soll unabhängig vom Code sein, zeitlich reicht mir

15:04:55.003 info javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout: 15:05:00.005 info javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:verstehe noch nicht wie ich den Bool Block als True/False oder 1/2 anzeige bzw. die timeouts.. ?
@Humidor sagte in mein erstes Blockly... korrekt?:
die Debug-Anzeige soll unabhängig vom Code sein
Da die Variable bBlock aber nur in dem Code vorkommt muss der Cron-Block sich aber im gleichen Blockly (genau gesagt neben oder über/unter dem anderen) befinden
-
@Humidor sagte in mein erstes Blockly... korrekt?:
läuft das so:
neee.
Das ist kein Intervall, sondern ein Timeout.@Humidor sagte in mein erstes Blockly... korrekt?:
wo alle 10s die Werte
Wieso alle 10 Sekunden.
Es muss doch reichen wenn sie geändert werden, oder?
Dann einfach den Debug ganz oben als erstes unter den Trigger vor "falls bBlock"...Mit dem
IntervallTimeout (???) ist das schon etwas komplizierter, da dort ein fester Name vergeben ist und du den nicht abfragen kannst. Zumindest habe ich es noch nie versucht.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.
@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.

-
die Debug-Anzeige soll unabhängig vom Code sein, zeitlich reicht mir

15:04:55.003 info javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout: 15:05:00.005 info javascript.0 (5315) script.js.common.Humidity: bBlock: , Timeout:verstehe noch nicht wie ich den Bool Block als True/False oder 1/2 anzeige bzw. die timeouts.. ?
-
@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.

@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


