Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 7 Nächste Version anzeigen »

Inhalt dieser Seite

Häufige Fehlerquellen

Nachfolgend sind typische Fehler aufgezeigt, entweder ein Schließen des Logikeditors verhindern oder beim Speichern der Logik auftreten.

Die Fehleranzeigen des Logikeditors werden laufend verbessert. Sollte keine (oder keine eindeutige) Fehlermeldung erscheinen, empfiehlt es sich einzelne Abschnitte auszukommentieren und erneut zu speichern.

  • Formale Fehler:

    • Die verwendeten Variablennamen sind nicht identisch, resp. nicht definiert (Fehlermeldung: c[k.name] is undefined)

    • Level (Variable) nicht definiert - der LE sagt hier nicht welche Deklaration fehlt

    • [---Der Default-Wert--] im LEVEL-Array stimmt nicht mit dem Datentyp überein (bspw. false bei einer Variablen vom Typ integer.

      • Bool mit 0 initialisiert statt "false", also ["$Open","bool",0] statt ["$Open","bool",false] (sehr böse, da es nur beim Speichern einen Fehler gibt)

    • Komma am Ende eines Blocks zuviel

    • "$" vergessen bei der Verwendung/Deklaration, also ["Open","bool",false] statt ["$Open","bool",false] (ebenfalls ganz böse, da Du das tausend mal übersiehst)

    • Eckige Klammer zuviel/zuwenig

  • Technische Einschränkungen:

    • Die gleiche Variable darf nicht mit einem Ein- [u]und[/u] Ausgang verbunden sein. Will man einen Wert durchschleifen, so muss eine zusätzliche Variable verwendet werden und zB per Latch der Variablenwert durchgereicht werden.

    • Damit das Hinzufügen, Umbenennen oder Entfernen von Ein- und Ausgängen uneingeschränkt funktioniert, dürfen Variablennamen, die mit Ein oder Ausgängen verknüpft sind, nicht Teil voneinander sein. Die Bezeichnung des Eingangs ist dabei egal.
      d.h. $Input1 und $Input2 ist ok, aber $Input und $Input2 ist unzulässig, da Input Teil von Input2 ist.

  • Division durch einen Wert 0.

Fehlersuche

Bei lauffähigen Logiken, die nicht das gewünschte Verhalten zeigen ist ein systematisches Vorgehen unabdingbar.

  • Ein/Ausgänge abkoppeln oder beim Erstellen mit dem Verknüpfen abwarten.

  • Im Dokmode Eingänge durchtesten und das Ergebnis an den Ausgängen prüfen.

  • Interne Variablen, deren Inhalt geprüft werden sollen, können durch zusätzliche Ausgänge ausgeben werden.

  • Im Dokmode kann mittels Grafana die Logik geprüft werden. Dies ist insbesondere bei einer hohen Anzahl an internen Variablen oder Verwendung von Teitfunktionen sinnvoll.

  • Einem Logikausgang als weiteres Objekt eine Zeitreihe hinzufügen, um die Ergebnisse der Logik langfristig zu betrachten (bei KNX-Objekten auch Busmonitor des TWS).

  • Keine Stichwörter

0 Kommentare

Sie sind nicht angemeldet. Ihre Änderungen werden mit anonym markiert. Sie sollten sich anmelden, wenn Sie bereits über ein Konto verfügen.