Event Manager: Ereignis hat keine Aktion definiert

Guten Morgen Leute,
habe seit gestern, ist sicher nicht vorher aufgetreten, diese Warnmeldung:

Nach diesen Events kann ich leider nicht suchen, um nachzusehen was es eigentlich ist.

Danke und lg
Christian

Und warum nicht?
Weil es die ID nicht gibt?
Dann hast du wohl Scripte welche Ereignisse anlegen und löschen.
Dazu steht in der Migrationsanleitung:

  • Werden Ereignisse per Skript erstellt, so muss diesen per IPS_SetEventAction eine Aktion zugewiesen werden, damit sie fehlerfrei auslösen können

Und der Link liefert auch den PHP-Code, welchen du bei IPS_CreateEvent ergänzen musst:
https://www.symcon.de/service/dokumentation/befehlsreferenz/ereignisverwaltung/ips-seteventaction/

Michael
PS: Habe den Titel angepasst, damit auch andere das Thema hier über die Suche finden. Immer nur Fehlermeldung ist ja generisch :wink:

Morgen Michael,

also ich schreibe höchstens ganz einfache Skripte. Es müsste also aus einem Modul kommen.

Kann das sein, das seit dem Update auf 6.0 die Wochenpläne neu bearbeitet werden müssen?

lg

Also mein Meldungsscript hatte das Problem auch - wurde hier schon diskutiert!

https://community.symcon.de/t/warnmeldung/125167/24?u=pitti

Jop. Dann ist es sicher deines :slight_smile: Habe das 4 x im Einsatz.
Wo muss ich denn da suchen und ersetzen?

Steht im verlinkten Thread!

https://community.symcon.de/t/warnmeldung/125167/30?u=pitti

1 „Gefällt mir“

Vielen Dank pitti :slight_smile:

1 „Gefällt mir“

Habe die Meldungen noch immer. Ist das auch in deinem Verbrauchsberechnungsskript drinnen?

z.B.:

// ------------------------- FUNKTIONEN ---------------------------------------------------------------------------------------------------------------------------------
// Funktion zum addieren der Zählerwerte 
function CalcConsumption($values) 
{
    global $roundTo2;
    $consumption = 0;
    foreach($values as $value) 
    {
            $consumption += $value['Avg'];
    }
    return round($consumption, $roundTo2);
} 
    
// Funktion um einen Timer zu erzeugen
function SetTimerByName($parentID, $name) 
{
    Global ${$_IPS['SELF']};
    $eid = @IPS_GetEventIDByName($name, $parentID);
    if($eid === false) 
{
    $eid = IPS_CreateEvent(1);
    IPS_SetParent($eid, $parentID);
    IPS_SetName($eid, $name);
    
    IPS_SetEventCyclic($eid, 2 /* Täglich */, 1 /* Jeden Tag */, 0, 0, 3 /* Stündlich */, 1 /* Alle Stunden */);
    IPS_SetEventCyclicTimeFrom($eid, 0, 1, 0); //Ab 00:01 stündlich starten
    IPS_SetEventActive($eid, true);
}
    return $eid;
} 

Ist hier vor dem IPS_SetEventActive auch diese Zeile einzufügen?

IPS_SetEventAction($eid, ‚{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}‘, );

Jein, das ist nicht mehr von mir im Verbrauerskript :wink:

Aber ja, da ist ja auch ein CreatEvent drin!

Genau - gleiche Zeile rein!

Gruß Heiko

Hallo allen,
da ich zur Zeit sehr wenig Zeit habe, habe ich noch nicht umgestellt.

Habe eben nach „IPS_CreateEvent“ gesucht und 27 Fundstellen an dem verschiedenste Ereignisse dynamisch angelegt werden. Ich muss jetzt ein Aktion hinzufügen, soweit verstanden.

Wo finde ich die UID zu der gewünschten Aktion?
Zum starten von Scripten steht ja in der Befehlsreferenz ganz groß und die anderen, wofinde ich diese?

Leider kann ich dem Link von Pitti nicht folgen, da ich dort wahrscheinlich keine Rechte besitze.(Paresy)

Sorry, bitte nicht schimpfen, wenn dies irgendwo steht, bin zeitlich wirklich sehr knapp, muss aber wegen dem Google Assist mit sehr vielen Variablen dringend umstellen.
Daher sollte es zügig laufen.

Vielen Dank
Achim

Jetzt sollten alle auf die Links zugreifen können. Einfach nochmal versuchen.

Dennoch bitte einfach so ein Thema von Anfang an lesen. Oder später wenn man mehr Zeit hat.
Mache deinen Mangel an Zeit nicht zu der Arbeit von anderen.

(Der Link zur der Doku mit der ID war im zweiten Beitrag, also schnell zu finden.)

Bitte nimm dir dazu Zeit. Sonst wird das sprichwörtlich in die Hose gehen.
Die Migrationsanleitung solltest du auf jeden Fall lesen, bevor du ein Update machst.
Michael

Hallo Michael,
dann habe ich da was völlig falsch verstanden, aber glaube jetzt ist es zwischen den Ohren angekommen.
Nur wenn ein per Script erzeugtes Ereignis auf ein Script zeigt ist ein Eingriff erforderlich, die UID steht da, hatte ich aber auch geschrieben.

Zum starten von Scripten steht ja in der Befehlsreferenz ganz groß

Ich habe es auch von Anfang angelesen, daher hatte ich die UID für Scripte auch gefunden.

Leider muss ich trotz Zeitmangel ans Update da der Google Assistent durch die vielen Variablen spätestens ab 17-18 Uhr auf Fehler läuft <Max. Request erreicht>. Den hat Paresy mit 6.0 für mich und auch andere beseitigt.

Weiteres werde ich dann sehen, schaue mir vorher noch genauer an, ob ich noch weitere UID’s brauche.
Danke dir für deine Unterstützung.

Gruß Achim