Warnmeldung

Hallo zusammen,

nach der Umstellung auf die 5.6 bekomme ich ab und zu folgende Meldung:

27.05.2021, 12:52:07 | EventManager         | Ereignis #59684 hat keine Aktion definiert, wird jedoch aus Kompatibilitätsgründen das Skript starten!

Die IDs sagen mir leider nix und kann sie auch nicht finden?!

Gruß Heiko

Woher kommt denn das Ereignis?

paresy

Sorry, versteh die Frage nicht. Habe nur den Log-Eintrag von oben - mehr habe ich nicht an Infos :frowning:

Die ID 59684 solltest du aber haben oder?
Wenn lies mal hier weiter:
https://community.symcon.de/t/rev-078ed9bee482-ereignis-hat-keine-aktion-definiert/124701?u=1007

Leider nein, aber damit gehe ich mal auf Suche :wink:

Danke

Hallo,

das gleiche Problem hatte ich heute morgen auch. Die angegebene ID ist im System nicht vorhanden (gesucht mittels ID-Suche im Objektbaum).

Grüße

Moin,

heute morgen wieder Warnungen im Log, aber diesmal konnte ich glaube den „Schuldigen“ finden.

Es ist mein Script zum Check des Batteriestatus (aller 3 Stunden).

Es ruft nach dem Check …

    IPS_SetScriptTimer($_IPS['SELF'], $interval * 60);

… auf (Intervall ist 180)! Ist doch eigentlich okay, oder?

Gruß Heiko

Seit dem Update auf 5.6 habe ich jetzt auch dieses Problem.
Wenn ich die gemeldete ID suche, finde ich sie nicht.
Ich habe aber herausgefunden, dass der Fehler mit dem „Meldungs-Script“ von dir @pitti in Verbindung steht.

Gruß Peter

Zwischenzeitlich habe ich festgestellt, dass es nicht mit deinem Skript zu tun hat @pitti .
Ich habe einen Workflow über das IPSStudio erstellt und erhalte nun die selbe Meldung.
Das ganze habe ich aber wie gesagt erst seit der 5.6

@paresy Hast du eine Idee, was das sein könnte?

Ich habe es mir nicht wirklich getraut zu schreiben, aber ich glaube auch es ist eine spezielle Konstellation in 5.6
Vorgestern hatte ich ja mein Batteriestatusskript als Auslöser identifiziert - aller 3 Stunden kam den ganzen Tag die Meldung.
Gestern beim gleichen Skript kam die Meldung nur 2 mal und heute sind es schon wieder 4 Meldungen, also jedesmal bei Scriptausführung.
Alles sehr merkwürdig!

Gruß Heiko

Habe jetzt den Timer über die Konsole von 10800 Sekunden (3 Stunden) auf 1 Stunde geändert. Mal schauen was passiert!

Bist du auf der aktuellen 5.6? Ich kann mir vorstellen, dass SetScriptTimer vielleicht in einer der ersten Versionen mit Aktionen diese nicht korrekt gesetzt hat. Mittlerweile funktioniert das aber definitiv korrekt.

Ja, ich bin auf 5.6!

Das identifizierte Script scheint seit meinem manuellen Eingriff jetzt wieder rund zu laufen, dafür habe ich heute morgen 2 neue IDs im Log ohne Zuordnung! Ist irgendwie „strange“!

Gruß Heiko

@pitti
Konntest du das Problem lösen?
Bei mir kommen nach wie vor diese Meldungen.

Gruß
Peter

Nein, bei mir kommen auch noch die Meldungen!
Mal mehr mal weniger, kann da keinen Ansatzpunkt finden, leider!

Also ich suche jeden Tag nach Konstellationen um die Ursache zu finden.

Gestern waren nur 3 Warnmeldungen - dafür bekomme ich heute aller 15 Minuten eine Meldung.

Könnte man ein Script schreiben, welches über alle Skripte iteriert, dann den Update-Timestamp auslesen um wenigstens das Script hinter dem Ereignis zu finden?!?

Hat jemand sowas zur Hand?

Gruß Heiko

Also ich habe mir jetzt so ein kleines Skript geschrieben und doch das Meldungsverwaltungsscript scheint betroffen zu sein.
Jetzt habe ich einiges an Logging eingebaut und schaue mal ob ich damit weiterkomme!

So, irgendwie ist das ein Zombie-Ereignis?!?

Hier der Objektbaum:

Hier die Statusanzeige:

Und hier die Ausgabe des Ereignisses

09.06.2021, 11:17:19 | EVENT                | Array
(
    [EventID] => 29694
    [EventType] => 1
    [EventActive] => 1
    [EventLimit] => 0
    [EventConditions] => Array
        (
        )

    [TriggerType] => 0
    [TriggerVariableID] => 0
    [TriggerValue] => 
    [TriggerSubsequentExecution] => 1
    [CyclicDateType] => 1
    [CyclicDateValue] => 0
    [CyclicDateDay] => 0
    [CyclicDateDayValue] => 0
    [CyclicDateFrom] => Array
        (
            [Day] => 9
            [Month] => 6
            [Year] => 2021
        )

    [CyclicDateTo] => Array
        (
            [Day] => 0
            [Month] => 0
            [Year] => 0
        )

    [CyclicTimeType] => 0
    [CyclicTimeValue] => 0
    [CyclicTimeFrom] => Array
        (
            [Hour] => 11
            [Minute] => 17
            [Second] => 19
        )

    [CyclicTimeTo] => Array
        (
            [Hour] => 0
            [Minute] => 0
            [Second] => 0
        )

    [ScheduleActions] => Array
        (
        )

    [ScheduleGroups] => Array
        (
        )

    [EventScript] => 
    [EventActionID] => 
    [EventActionParameters] => Array
        (
        )

    [LastRun] => 1623230239
    [NextRun] => 0
)

Das verstehe Einer …

Genau, das Ereignis hat keine Aktion gesetzt, deswegen kommt die Meldung. Jetzt ist die Frage, wieso. Woher kommt das Ereignis?

Soo, ein Übeltäter ist definitiv das Meldungs-Skript :frowning:

Jetzt ist mir auch klar warum die Ereignisse nie auffindbar waren - es waren die RemoveMessage-Ereignisse die dann natürlich weg sind!

@Dr.Niels jetzt die Frage wie man die Action korrekt setzt, derzeit mach ich es so:

        if ($expires > time()) {
            $eid = IPS_CreateEvent(1); 
            IPS_SetParent($eid, $_IPS['SELF']); 
            IPS_SetName($eid, 'Remove Message #'.$number); 
            IPS_SetEventCyclic($eid, 1, 0, 0, 0, 0, 0); 
            if($expires == 0) {
                IPS_SetEventCyclicDateFrom($eid, 0, 0, 0); 
            } else {
                IPS_SetEventCyclicDateFrom($eid, (int)date('j',$expires), (int)date('n', $expires),  (int)date('Y', $expires));
            }
            IPS_SetEventCyclicDateTo($eid, 0, 0, 0);
            if($expires == 0) {
                IPS_SetEventCyclicTimeFrom($eid, 0, 0, 0);
            } else {
                IPS_SetEventCyclicTimeFrom($eid, (int)date("H", $expires), (int)date("i", $expires), (int)date("s", $expires));
            }
            IPS_SetEventCyclicTimeTo($eid, 0, 0, 0);
            IPS_SetEventActive($eid, true);
        }

Muss man das mit „IPS_SetEventAction“ machen - habe aber nur im Forum was kryptisches gefunden?!

Danke & Ciao
Heiko

PS: Dabei habe ich gleich noch ein Bug im Unwetter-Modul gefunden :frowning: