smarthome-tricks.de

Blockly – Fehlersuche mittels dem Debug-Output Block

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im Artikel zeige ich, wie Du Fehler im Skript mittels mit dem Debug-Output Block suchen kannst.

Ich denke jeder kennt das Problem, nach der Erstellung und ersten Ausführung eines neu erstellten Blockly-Scripts stellt man fest, dass das Script nicht so läuft, wie man es erwartet hätte. Nun beginnt die Fehlersuche und Analyse, warum das Script nicht funktioniert. Im ioBroker Script-Adapter ist für diesen Fall ein spezieller Debut-Output Block enthalten, mit dem aus dem Script heraus Einträge in das ioBroker Log geschrieben werden können. Im folgenden Script zeige ich Dir im nächsten Schritt, wie dieser Block eingefügt und verwendet werden kann.

Im ersten Schritt gehen wir in das betroffene Script und ziehen in der Block-Auswahl links unter System den Block „debug output“ in unser Script. Dem Block kann wird eine Zeichenfolge übergeben, welche dann in das ioBroker Log geschrieben wird. Dabei können statische Texte oder natürlich auch Werte aus den Objekten ausgegeben werden.

 

Zudem kann die Art des Log-Eintrags definiert werden. So können normale Informationen von debug-Informationen unterschieden werden. Für meinen Zweck verwende ich in der Regel den normalen „info“ Eintrag.

 

Im Script-Beispiel gebe ich im Trigger auf einen Heizungsstatus den Wert des Status aus.

 

Wenn wir nun das ioBroker Log öffnen, sehen wir nun unseren Eintrag mit dem übergebenen Wert des Objekts.

 

Alternativ gehe ich bei der Fehleranalyse immer so vor, dass ich im ersten Schritt den Ablauf des Scripts überprüfe. Bei Scripts mit verschiedenen IF-Strukturen mache ich für jeden Anwendungsfall entsprechende Ausgaben und kann so den grundsätzlichen Ablauf des Scripts überprüfen. Zusätzlich gebe ich die entsprechenden Werte der Datenpunkte aus und kann diese so im Log überprüfen.

Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen 🙂

Die mobile Version verlassen