Status, Anlegen und Löschen von Instanzen

Hallo,
ich habe da mal 2 Fragen an die Experten:

(1) Wo kann ich den Fehlerstatus einer Instanz finden (Beispiel: FHZ1X00PC als Splitter), wenn diese nicht das rote, sondern das graue Ausrufezeichen im Objektbaum trägt? (beispielsweise wenn dahinterliegendes Gerät nicht verbunden ist)

Die Funktion „IPS_GetInstance($iID)“ liefert zwar einen „[InstanceStatus]“, der aber konstant auf „102“ stehen bleibt (lt. Doku: „aktiv“). Die Codes „>=200“, die lt. Doku „Instanz ist fehlerhaft“ bedeuten, scheinen hier nicht zu greifen!

(2) Das Löschen einer Instanz per „PS_DeleteInstance($oldID);“ führt immer dann, wenn Status-Variablen existieren, zu einem Ordner mit dem alten Namen zzgl. " Halter", in dem dann die Statusvariablen noch zu finden sind.

Gibt es eine Möglichkeit „Instanz inkl. Unterobjekte“ in einem Ritt zu löschen, ohne erst rekursiv den ganzen Baum darunter durchforsten und ggf. abräumen zu müssen?

Suchfunktion bringt mich leider auch ncht weiter, deshalb die Fragen!

Danke, bb61

  1. Frag per IPS_Instance das I/O Objekt ab. Das wirft ja den Fehler. Durch das leichte ausgrauen soll angezeigt werden, dass dieser Status geerbt ist. An die ID kommst du per IPS_GetInstanceParentID

  2. Leider nein. Musst dir eine kleine Hilfsfunktion schreiben.

paresy

Ups, das ging ja schnell :wink:

Wär es nicht gut, das auch als Fehlerode mitzugeben= (199 = ererbter Fehler aus übergeordneter Instanz), um das greifen und ggf. nach oben hin programmtechnisch verfolgen zu können? So wie jetzt erkennt Programm ja gar nicht, dass da überhaupt ein Prob vorliegt, und es müßten prophylaktisch immer alle Bäume nach oben verfolgt werden.

Intern muß das ja als Info doch schon vorliegen, denn irgendwoher kommt ja die Entscheidung zum Ausgrauen.

Das nur mal so als Idee