[Modul] Symcon Integrity Check

@HarmonyFan
Ich hatte das mal seinerzeit mit @Dr.Niels in einem anderen Kontext diskutiert.
Das Problem ist, das ein Property nicht weis, welchen Typ es hat. Man muss daher das dazu passende Konfigurationsformular auslesen und interpretieren - dann weis man ja, welches Property welchen Typ hat.
Ist aber wirklich nicht unaufwendig, insbesondere, wenn man (verschachtelte) Listen hat; daher hatte ich das nicht weiter verfolgt.

Nebenbei: das das Element in der Action SCRIPT heisst, ist auch nicht in Stein gemeisselt. Wenn man eigene Actions in einem Modul macht, kann die Variable mit dem PHP-Code ja heissen, wie man will. Man müsste daher auch die Definition der jew. Action parsen.
Ich überprüfen ja die Aktionen in Ereignissen und in Ablaufplänen und die darin enthaltenen Scripte; hier gehe ich der Handhabbarkeit halber davon aus, das Scripte auch SCRIPT heissen …
Nur für Instanzen habe ich mir das aus diesem Grund geklemmt. Ich überprüfe ja auch aus gleichem Grund nicht jedes Integer-Property darauf, ob das ein (gültiges) Objekt ist

Hi,
schade das es keinen sicheren Weg gibt. Gerade da ist es sehr schwer einen Fehler zu finden. Bei meinem „Fehler“ im Anrufmonitor brauchte ich Wochen bis das AHA-Erlebnis kam.

Ralf

@Nall-chan,
werden Actions mit IPS_RunScriptText aufgerufen? Dann müsste eine Action-Routine für meinen ominösen Fehler

24.07.2023 09:02:01 | 00000 | WARNING | ScriptEngine         | Result for Text (Length: 51)

Warning: 
 in /- on line 1

verantworlich sein oder?

Ralf

Ralf

Nein.
Mit IPS_RunAction.
Aber kann natürlich auch so einen Fehler werfen, wenn die Aktion ein Script ausfüht.
Michael

Hi,
schade das man sowas nicht lokalisieren kann. Ich hasse Fehler/Warnungen wenn ich nicht weiß wo die her kommen.

Ralf

Hallo,

ich verwende mehr und mehr Ablaufpläne. Oft für Dinge wie klassische „Treppenhauslicht-Timer“. Diese Ablaufpläne laufen dann recht lange, 5 Minuten und mehr. Das löst dann im Integrity Check immer eine Warnung aus bzgl. zu lange laufendem Skript.

Leider hilft es auch nicht, die betroffenen Ablaufpläne in die Liste der zu ignorierenden Objekte hinzuzufügen. An der Stelle wäre es toll, wenn es eine zusätzliche Kategorie in den Settings gäbe, um bestimmte Skripte & Ablaufpläne von der Threads Prüfung auszuschließen. Oder gar im Ablaufplan selbst einen Kommentar zu hinterlassen, dass dieser bitte ausgeschlossen werden soll.

Was meinst Du, @demel42?

CU
Golo

ja, hört sich nicht falsch an, eine Liste von Scripten/Ablaufpläne zu haben, die von der Prüfung auf Laufzeit ausgeschlossen werden.
Ich schau mal.

1 „Gefällt mir“

Schau mal die 1.14 (Modulstore/Beta), da kann man Script-IDs bei im Panel Threads angeben.

Sollte helfen.

Das funktioniert aber nur bei Scripten und Ablaufplänen, langlaufende Funktionen von Modulen kann man so nicht ausblenden, weil in den Thread-Informationen kein Verweis auf eine bestimmte Instanz (Instanz-ID) vorhanden ist, sondern nur eine Funktionsaufruf - und bestimmte Funktionsname sind nicht so selten

@Dr.Niels : wäre es nicht denkbar, das man die Instanz-ID mit in den Thread-Informationen (IPS_GetScriptThread()) unterbringt?

Der Wunsch kam hier schonmal: IPS_GetScriptThread() - Rückgabe der Instanz-ID von Modulen

Ich habe aber keine Ahnung, wie da der Stand der Dinge ist, da das nicht wirklich meine Baustelle ist :slight_smile:

1 „Gefällt mir“

Cool, danke! Ich habs grade konfiguriert und auf den ersten Test scheint es zu funktionieren.

1 „Gefällt mir“