IPS_CreateEvent erzeugt Fehlermeldungen bei der Ausführung

Seit dem Update auf die 6.0 erzeugen meine Scripte, die selbst Events anlegen alle Fehlermeldungen, dass dem Event keine Aktionen hinterlegt sind.

Kann es sein, dass das Beispiel aus der Doku so nicht mehr funktioniert und hier ggf. noch eine Aktion mit zusätzlich definiert werden muss?

$eid = IPS_CreateEvent(0);                  //Ausgelöstes Ereignis
IPS_SetEventTrigger($eid, 1, 15754);        //Bei Änderung von Variable mit ID 15754
IPS_SetParent($eid, $_IPS['SELF']);         //Ereignis zuordnen
IPS_SetEventActive($eid, true);             //Ereignis aktivieren
 
$eid = IPS_CreateEvent(1);                  //Zyklisches Ereignis
IPS_SetEventCyclic($eid, 2, 1, 0, 0, 3, 6);    //Jeden Tag alle 6 Stunden
IPS_SetEventCyclicDateFrom($eid, 1, 12, date("Y")); //Vom 1.12 diesen Jahres
IPS_SetEventCyclicDateTo($eid, 31, 12, date("Y"));  //Bis 31.12 diesen Jahres
 
IPS_SetEventCyclicTimeFrom($eid, 15, 0, 0); //Von 15:00
IPS_SetEventCyclicTimeTo($eid, 23, 30, 0);  //Bis 23:30
 
IPS_SetParent($eid, $_IPS['SELF']);         //Eregnis zuordnen
IPS_SetEventActive($eid, true);             //Ereignis aktivieren

VG,
Doc

Stimmt - das Beispiel sollte wir auch anpassen.

Den Hinweise bzw. die eine Zeile für Copy&Paste findest du hier: IPS_SetEventAction — IP-Symcon :: Automatisierungssoftware

paresy

Ja das hatte ich mir schon fast gedacht, beim manuellen anlegen funktioniert es ja.
Mir war nur nicht ganz klar, ob und warum ich hier expliziet auch eine extra Aktion mit festlegen muss, das ging vorher ja auch ohne.

Danke u. Grüße,
Doc

Früher war ein Ereignis immer an das darüberliegende Objekt gebunden. Um die Aktionen universeller zu machen, und somit auch die Ereignisse universeller zu machen, haben wir zur 6.0 diese Verbindung gelöst. Sofern keine Aktion gesetzt ist, nehmen wir dies auch weiterhin an - werfen aber eine Warning, damit ggf. vermeidbare Fehler erkannt werden.

paresy

Die Beschreibung ist so nicht ganz korrekt. Das Ereignis ist weiterhin an das darüberliegende Objekt gebunden. Die Aktion kann nun bei Skripten/Automationen allerdings variiert werden und ist nicht mehr fest auf „Ausführen“ gestellt. So kannst du neuerdings auch per Ereignis eine Automation sichtbar oder unsichtbar schalten.