Suche nach Ereignis bringt kein Ergebnis

Vielleicht hat jemand einen Tipp für mich. Nach dem Update auf 6.0 habe ich folgenden Hinweis:

27.08.2021, 20:06:00 | EventManager         | Ereignis #35008 hat keine Aktion definiert, wird jedoch aus Kompatibilitätsgründen das Skript starten!

Die Such nach 35008 im Objektbaum in der Konsole liefert kein Ergebnis.

Dazu habe ich noch ein weiteres Problem mit der Suche. Wenn ich in einem Script die Option „in allen PHP Skripten suchen“ nutze, und dort dann z.B. nach der ID 35008, dann bekomme ich folgenden Fehler:

image
Wie bekomme ich diesen Fehler weg?

LG Tom

Du nutzt bestimmt diese eine Benachrichtigungsskript, welches im Skript Timer „erstellt“. Da musst du ein klein wenig anpassen: IPS_SetEventAction — IP-Symcon :: Automatisierungssoftware

Du hast irgendwo im Objektbaum ein „kaputtes“ Skript, welches rot markiert sein müsste bei dem die Skript-Datei fehlt. Wenn du dies löscht, ist der Fehler weg. Ich korrigieren dies aber auch, sodass im nächsten Update diese Fehlermeldung nicht mehr kommt - es macht ja sinn das wir ungültige Skripte beim Suchen einfach ignorieren.

paresy

Entsprechende Skripte habe ich alle gelöscht. Leider bleibt der Fehler.

Meinst Du damit so etwas?

IPS_SetEventCyclicTimeFrom(43239, (integer)$Hour, (integer)$Minute, 0);

Wenn ja, was muss ich da ändern. Leider fehlt für für die o.g. Beschreibung zur Migration etwas das Verständnis.

Tom

@paresy Hättest Du hier eventuell noch einige Tipps? (siehe oben)

LG Tom

Du willst nach IPS_CreateEvent suchen. Und dann folgende Zeile hinzufügen:

IPS_SetEventAction($EreignisID, "{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}", []);

paresy

Das will ich ja wirklich, nur leider funktioniert die Suche nicht (siehe oben) :wink:

Tom

Die Lösung dafür wurde aber auch schon von @paresy beantwortet :wink:
Michael

Schon, worauf ich aber geantwortet habe, dass ich die Skripte bereinigt habe, der Fehler jedoch noch besteht. Daher komme ich an der Stelle leider nicht weiter…

Tom

Die Beta mit dem Fix ist jetzt online. Probier mal ob du jetzt die Ereignisse suchen kannst.

paresy

Geht. Ich kann wieder suchen. Danke!

Aber auch gleich an der Fundstelle eine Verständnisfrage. Gefunden habe ich z.B. (kommt bei mir an vielen stellen vor:

if ($EreignisID === false)
 {
 $eid1 = IPS_CreateEvent(0);
 IPS_SetName($eid1, "LOGGING_Ausloeser");
 IPS_SetEventTrigger($eid1, 1, $logID);
 IPS_SetParent($eid1, $_IPS['SELF']);
 IPS_SetEventActive($eid1, true);
 }

Wie muss ich da das IPS_SetEventAction einbauen?

Tom

Fast copy&paste aus dem Beispiel von oben ;-).

if ($EreignisID === false)
 {
 $eid1 = IPS_CreateEvent(0);
 IPS_SetName($eid1, "LOGGING_Ausloeser");
 IPS_SetEventTrigger($eid1, 1, $logID);
 IPS_SetParent($eid1, $_IPS['SELF']);
 IPS_SetEventAction($eid1, "{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}", []);
 IPS_SetEventActive($eid1, true);
 }

Spitze. Lieben Dank Ralf.