smarthome-tricks.de

ioBroker JavaScript – Fehlersuche

In diesem Artikel möchte ich eine kurze Einführung in das Skripting in ioBroker geben. 

Inhaltsverzeichnis:

1. Fehler im Skript
2. Logische Skript-Fehler

 

1. Fehler im Skript

Während der Programmierung oder auch Ausführung von Skripten können Fehler passieren. Diese Fehler zu finden ist manchmal nicht ganz einfach. In diesem Abschnitt möchte ich daher einen kleinen Einblick geben, wie ich bei der Suche und Behebung von Skript-Fehlern vorgehe.

Im ersten Schritt kümmern wir uns um Fehler während der Programmierung, sprich Syntaxfehler im Skript. Nach dem Speichern unseres Skriptes (Klammer an setState vergessen) wird der Bereich Log im Navigationsbereich links rot dargestellt, da ein Fehler aufgetreten ist.

function Licht_Flur_Nachlicht_An() {
  setState("hm-rpc.0.OEQ08167XX.State", true;
}

Wenn wir nun den Log-Bereich öffnen sehen wir in der ersten Spalte die Quelle des Fehlers. In unserem Beispiel ist der Fehler im javascript.0 Adapter aufgetreten. In der Meldung des Fehlers sehen wir auch direkt, dass der Fehler in unserer Nachtlichtsteuerung aufgetreten ist.

Skript-Fehler zur Ausführungszeit finden wir ebenso im Log-Bereich.

 

2. Logische Skript-Fehler

Im nächsten Schritt kümmern wir uns um logische Skript-Fehler. Diese sind deutlich schwieriger zu finden als die Syntax-Fehler. Logische Fehler sind z.B. falsch definierte Bedingungen für Abfragen. Ich suche logische Fehler im ersten Schritt mit einer genauen Analyse des Codes, also nochmals einen genauen Blick auf den geschrieben Code werfen. Im nächsten Schritt versehe ich den Code dann mit Log-Ausgaben in Form von:


console.log("Bin hier...");

Mit diesen Ausgaben kann ich nachvollziehen welche Funktion wann und wie ausgeführt wird. Ich kann so also den Logik-Fehler mit Log-Ausgaben genauer eingrenzen und aufspüren. Zudem kann ich auch den Inhalt von Variablen über diesen Weg ausgeben um somit das Problem ausfindig machen zu können.

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

Die mobile Version verlassen