ja ich sehe, habe ich schlampig kodiert, ich habe nicht abgefragt, ob IPS_GetReferenceList() ein gültiges array liefert.
das dürfte alle Fälle korrekt abfangen:
$refIDs = IPS_GetReferenceList($instanceID);
if ($refIDs != false) {
foreach ($refIDs as $refID) {
if (!IPS_ObjectExists($refID)) {
addEnt($errorList, 'Instanzen', $instanceID, 'referenziertes Objekt mit ID ' . $refID . ' ist unbekannt', $SymconHealth_Error);
}
}
}
danke für den Hinweis.
demel
ps: ich mache da übrigens gerade aus dem Script ein Modul, denn ich denke, das kann auch anderen Anwender nutzen, die ggfs mit Skripten überfordert sind. Und Inkonsistenzen können immer mal entstehen, egal ob es Altlasten sind oder man mal was gelöscht hat ohne die Referenzen vorher abzuklären.
In IPS 6 kommt auf jeden Fall mit den Ablaufplänen weitere Stellen hinzu - Ablaufpläne werden in …/scripts als .ips.json gespeichert und zu mindestens Variablen-ID stehen (optional) dann in diesen Dateien. Und natürlich gibt es dann sicherlich - analog zu den Scripts - ein entsprechende Objekt im IPS.
Ich werde vermutlich auch einbauen, das man ein eigenes Script für zusätzliche Prüfungen einbauen kann, die dann mit in die Übersicht einfliessen.
Hi,
bin gespannt. Son Konsistenzcheck kann bestimmt auch bei den ältesten IPS Hasen noch etwas zu Tage bringen. Hast Du bei dir zweifelhafte Stellen gefunden?
aktuell nein, aber ich hatte das Script ja seinerzeit erstellt, weil ich nicht erst durch einen Fehler im Ablauf drauf kommen wollte.
Insofern habe ich schon länger aufgetretene Dinge gleich abgearbeitet.
von den neu von dir hinzugefügten Prüfung habe ich keine Meldung hatte ich nicht vorliegen
demel
ich habe noch keine Doku der internen Objekte der Ablaufsteuerung gesehen, die kommen ja meines Wissens nach erst, wenn 6.0 released wird
Zählt die Ablaufsteuerung zum Event oder ist das komplett was neues?
ich habe mich ehrlicherweise dieses mal noch gar nicht wirklich mit der neuen Version beschäftigt, beruflich haben mich die letzten 18 Monate voll absorbiert.
Hi,
aus dem Ablaufplan wird im Hintergrund ein Script erstellt. Während unserer Spielereien hier hatte ich mal die Meldung von der Ablaufinstanz das das dazugehörende Script fehlt. Lassen wir uns überraschen.
Moin,
ich habe aktuell eine Instanz mit Status 105 (Instanz wurde nicht erstellt) und die wird nur als Warnung angezeigt. Ich bin der Meinung das 105 eher ein Fehler ist oder?
Mit genau dem Begriff zu finden, aber das ist ja immer noch ein Problem vom Store.
Beim manuellen Ausführen:
Use of undefined constant SCRIPTTYPE_FLOWCHART - assumed 'SCRIPTTYPE_FLOWCHART' (this will throw an Error in a future version of PHP) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 325
Warning: Use of undefined constant SCRIPTTYPE_FLOWCHART - assumed 'SCRIPTTYPE_FLOWCHART' (this will throw an Error in a future version of PHP) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 363
[gaanz oooft]
Warning: Use of undefined constant SCRIPTTYPE_FLOWCHART - assumed 'SCRIPTTYPE_FLOWCHART' (this will throw an Error in a future version of PHP) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 478
Die Variablen werden aber gefüllt.
Ui… da habe ich ja noch einiges mehr zum Aufräumen, im Vergleich zum Script.
habe das modul gerade auch auf meinem IPS-6-testsystem installiert
Ja, habe die Prüfung der Ablaufplan-Scripte hakt noch. habe ich erstmal deaktiviert.
bitte nochmal probieren
aber ein „echo“ oder so habe ich da nicht drin?
demel
ps: hatt vergessehn, das im store zu veröffentlichen, jetzt gemacht
Parameter for ID is not inside of the specified bounds (0..60000) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 295
Warning: Parameter for ID is not inside of the specified bounds (0..60000) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 295
Warning: Parameter for ID is not inside of the specified bounds (0..60000) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 295
Warning: Parameter for ID is not inside of the specified bounds (0..60000) in /var/lib/symcon/modules/.store/demel42.symcon.integrity/IntegrityCheck/module.php on line 295
Cool wäre wenn man IDs hinterlegen könnte (ähnlich zu ignorierende Objekte) die ignoriert werden.
Habe in ganz vielen Skripten mein PLZ drin und würde nur ungern alle durchgehen und den Kommentar reinkopieren, Danke!
Moin,
„ungenutzte Scripte“ ist ziemlich hart. Einige Instanzen erzeugen Scripte um die Benutzung der Geräte zu vereinfachen diese Scripte werden aber oft nie benutzt und erzeugen Warnungen. Ich habe einige Scripte die ich manuell aufrufen um z.B. Sachen zu testen und die werden auch als ungenutzt angesehen.