[Modul] Symcon Integrity Check

kein Problem, aber etwas verwirrt bin ich noch

Du meinst bei den Anzahlen von Objekten (Element counterList) oder als Meldung (Element messageList)?

Ich denke, ein Objekt, das ignoriert werden soll - egal ob direkt oder als Kind - dürfte in beiden Listen nicht auftauchen, muss aber zugeben, das das auf einem schnellen Blick auf den Quellcode basiert und ich das aktuell nicht mehr getestet habe.

Moin,

genau das dachte ich auch. Da ich aber keine Ablaufpläne derzeit verwende, wunderte ich mich also folglich, dass mir dort 3 Ablaufpläne bei der Auswertung von CheckResult angezeigt wurden. Diese liegen aber in einer der „Kind Kategorien“ unterhalb der zu ignorierenden Kategorie ZZ.

Array
(
    [timestamp] => 1702218628
    [counterList] => Array
        (
            [objects] => Array
                (
                    [total] => 7111
                )

            [instances] => Array
                (
                    [total] => 296
                    [active] => 283
                )

            [scripts] => Array
                (
                    [total] => 1311
                    [types] => Array
                        (
                            [0] => 1308
                            [1] => 3
                        )

                )

Unter Scripts werden 1308 php Skripte und die 3 Ablaufpläne (ganz unten im Objektbaum) angezeigt, obwohl ZZ ignoriert werden soll.

Gruß
Hans

Das ist ja die Gesamtanzahl der Skripte in deiner Installation abzüglich der zu ignorierenden Objekte. Und wie viele Script hast du insgesamt? Das müsste m.E. in dem Objektbaum-Widget unter Automationen subsummiert sein.

Moin,

insgesamt habe ich 1311 Skripte laut Objektbaum. Hierbei sind aber auch die zahlreichen Testskripte unterhalb von ZZ mit berücksichtigt. Dann müsste die Zahl der zu ignorierenden Objekte folglich deutlich höher als 3 sein oder?

Gruß
Hans

Ok … meine Erinnerung hat getrübt, die ausgegebenen Anzahl (total) ist die Anzahl der Objekte im IPS, unabhängig von jeder Prüfung … mach auch Sinn für den damaligen Zweck.

Um das besser überprüfen zu können, habe ich das etwas umgebaut un din der auswertebaren Ergebnisstruktur für jedes Objekt eine Element ignored hinzugefügt.

das verstehe ich nicht, was du mit 3 meinst - 3 ist die Anzahl von Ablaufplänen (siehe Konstanten / Scripttypen)

Moin,

damit hast du mich jetzt verwirrt. Ich war ja der Ansicht, dass das die Anzahl der Ablaufpläne ist.

Die Anzeige der Werte scheint nun bzgl. Ablaufpläne und Scripte zu stimmen. Die neuen ignored Elemente werde ich dann noch bei mir implementieren.

Vielen Dank und ein schönes Restwochenende.

Hans

Scripte sind alle - PHP-Scripte (Typ 0) und Ablaufpläne (Typ 1)

In deinem o.g. Beispiel:

[scripts] => Array
                (
                    [total] => 1311
                    [types] => Array
                        (
                            [0] => 1308
                            [1] => 3
                        )

1311 Objekte des Typs Script in deinem System insgesamt (Element [total]), unabhängig ob das von diesem Modul nicht auf Validität geprüft werden oder nicht

davon

  • 1308 von ScriptType 0 (PHP-Script) (Element [types][0])
  • 3 vom ScriptType 1 (Ablaufplan) (Element [types][1])

Hinzugekommen ist neu das Element [ignored], das ist die Anzahl der in diesem Modul von der Überprüfung ausgenommen Objekte (hier Scripte); es ist eine Untermenge von [total].

Moin,

genauso hatte ich es bei mir auch ausgewertet.

Wären die Ablaufpläne nicht gewesen hätte ich das sonst auch gar nicht bemerkt.

Gruß
Hans

Moin @demel42,

ich denke, dass hier ein kleiner Tippfehler vorliegt - Zeile 885:

        $counterList['instances'] = [
            'total'   => count($instanceList),
            'ignored' => $objectIgnored,
            'active'  => $instanceActive,
        ];
        $counterList['instances'] = [
            'total'   => count($instanceList),
            'ignored' => $instanceIgnored,
            'active'  => $instanceActive,
        ];

Ansonsten habe ich nun alle Werte in IPSView angepasst :slight_smile:

Gruß
Hans

Kann irgendwie gar nicht sein … war nur ein Test … ist gefixed in v1.16.1
danke

Wie finde ich heraus, wo sich diese referenzierten Objekte befinden?
Ich hab alles durchforstet, aber nichts gefunden.

LG Peter

Die Objekte selber gar nicht. Weil sie ja nicht existieren.
Oder meinst du wo sie noch Referenziert sind?
Das steht ganz vorne.
In der Instanz 35018 Webfront.
Michael

Hallo Michael,

ja, ich meine wo die offensichtlich nicht mehr existierenden Objekte hinterlegt sind.
Die Instanz 35018 ist das Webfront, jedoch wüsste ich nicht, wo ich noch suchen soll.

Ich würde mal IPS_GetConfiguration — IP-Symcon :: Automatisierungssoftware nutzen, um die Properties des WebFront auszugeben. Da werden vermutlich irgendwo diese ID’s auftauchen. Mit ein bisschen Glück kann man aus den Namen der Properties erkennen, was das ist.

Ich nutze im Modul IPS_GetReferenceList(), um die bei einer Instanz die vorhandenen Referenzen zu bekommen und zu prüfen.
Woher diese Referenz im einzelnen bei einer Instanz stammt, kann ich nicht sagen, diese Liste erstellt (hoffentlich) das Modul selber.

Hast du die Objekte vielleicht im Webfront irgendwo eingerichtet? Als Kategorie im Seitenteiler oder so?
Michael

Hab ich jetzt auch nichts gefunden.
Ich nutze IPSView, von daher ist es mir noch unerklärlicher, wo die referenzierten Objekte fehlen.
Ich hab auch keine Idee mehr, wie ich die finden soll.
Wenn ich das richtig verstehe, kann sich der Fehler im gesamten Objektbaum befinden.

Hat leider auch kein Ergebnis gebracht.

Mit dieser Funktion hab ich nun was gefunden. In einigen Zeilen kommen die ID’s vor.

{\"ID\":\"IPSLogger_Widget\",\"ClassName\":\"InfoWidget\",\"Configuration\":\"{\\\"variableID\\\":**50876**,\\\"scriptID\\\":43925,\\\"name\\\":\\\"IPSLogger_Widget\\\"}\",\"Position\":90,\"ParentID\":\"roottp\",\"Visible\":true}
{\"ID\":\"SystemTPLogWindow2121\",\"ClassName\":\"Category\",\"Configuration\":\"{\\\"title\\\":\\\"Logging\\\",\\\"name\\\":\\\"SystemTPLogWindow2121\\\",\\\"icon\\\":\\\"Window\\\",\\\"baseID\\\":35751,\\\"enumBarColumns\\\":9,\\\"selectorBarSteps\\\":5,\\\"isBarBottomVisible\\\":false,\\\"enablePercentageSlider\\\":true}\",\"Position\":10,\"ParentID\":\"SystemTP\",\"Visible\":true}
{\"ID\":\"SystemTPLogSettings2121\",\"ClassName\":\"Category\",\"Configuration\":\"{\\\"title\\\":\\\"Log Settings\\\",\\\"name\\\":\\\"SystemTPLogSettings2121\\\",\\\"icon\\\":\\\"Gear\\\",\\\"baseID\\\":38354,\\\"enumBarColumns\\\":9,\\\"selectorBarSteps\\\":5,\\\"isBarBottomVisible\\\":true,\\\"enablePercentageSlider\\\":true}\",\"Position\":20,\"ParentID\":\"SystemTP\",\"Visible\":true}
{\"ID\":\"SystemTPLibrary\",\"ClassName\":\"Category\",\"Configuration\":\"{\\\"title\\\":\\\"IPSLibrary\\\",\\\"name\\\":\\\"SystemTPLibrary\\\",\\\"icon\\\":\\\"ErlenmeyerFlask\\\",\\\"baseID\\\":22509,\\\"enumBarColumns\\\":9,\\\"selectorBarSteps\\\":5,\\\"isBarBottomVisible\\\":false,\\\"enablePercentageSlider\\\":true}\",\"Position\":70,\"ParentID\":\"SystemTP\",\"Visible\":true}

wenn man die erste Zeile nimmt: das würde ich son interpretieren, das in der Konfiguration des IPSLogger_Widget eine Variable konfiguriert ist, die es nicht (mehr) gibt.
Nun kenne ich mich im WebFront nicht wirklich aus, aber es gibt dort doch Möglichkeiten was für den Aufbau von Seiten einzustellen.
Das ist dann die Stelle, an der du m.E. suchen müsstest

@Nall-chan @demel42

Danke für eure Tipps, ich habe es nun geschafft, alle Fehler zu beseitigen.
Beide Hinweise von euch und eine längere Fehlersuche, haben zur Fehlerbehebung beigetragen.

Da ich IPSView und nicht das Webfront benutzte, habe ich mir etwas schwerer getan.

Peter

2 „Gefällt mir“