Dokumentation
IPS_SetEventScheduleActionEx
Benötigt: Symcon >= 6.0
bool IPS_SetEventScheduleActionEx (int $EreignisID, int $WochenplanAktionsID, string $Name, int $Farbe, string $AktionsID, array $AktionsParameter)
Parameterliste
| EreignisID | ID des zu verändernden Ereignisses |
| WochenplanAktionsID | Eindeutige ID für diese Wochenplanaktion. Die Sortierung wird anhand der ID vorgenommen. IDs müssen nur für dieses Ereignis eindeutig sein. Muss größer als 0 sein. |
| Name | Name zur angegebenen Wochenplanaktion |
| Farbe | Farbwert im HTML Farbcode (z.B. 0x0000FF für Blau) |
| AktionsID | ID der auszuführenden Aktion |
| AktionsParameter | Liste der Parameter der auszuführenden Aktion |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Die Funktion setzt den Namen, die Farbe und auszuführende Aktion mit der ID AktionsID mit Parametern AktionsParameter für die Wochenplanaktion mit der ID WochenplanAktionsID eines Wochenplan Ereignisses mit der ID EreignisID. Falls über die Aktion ein PHP-Skript ausgeführt wird, ist die Systemvariable $_IPS['ACTION'] definiert. Es stehen für die Skriptinhalte die Systemvariablen zur Verfügung.
Wenn der Name leer ist, wird die Wochenplanaktion mit der angegebenen WochenplanAktionsID gelöscht. Dies ist jedoch nur möglich, wenn kein Schaltpunkt mehr auf diese WochenplanAktionsID verweist.
Die Spezialparameter TARGET, ENVIRONMENT und PARENT müssen hier nicht gesetzt werden, da sich diese durch das Ereignis ergeben
Die WochenplanAktionsID muss größer als 0 sein, andernfalls wird ein Fehler ausgelöst. Die ID 0 steht in IPS_GetEvent bei LastActionID/NextActionID für "keine Aktion". Bestehende Wochenplanaktionen mit einer ID kleiner oder gleich 0 aus älteren Installationen können weiterhin gelöscht werden, um sie anschließend mit einer ID ab 1 neu anzulegen.
Beispiel
//Anlegen von Wochenplanaktionen
IPS_SetEventScheduleActionEx($EreignisID, 1, "Warm", 0xFF0000, "{3644F802-C152-464A-868A-242C2A3DEC5C}", ["VALUE" => 22.5]);
IPS_SetEventScheduleActionEx($EreignisID, 2, "Kalt", 0x0000FF, "{3644F802-C152-464A-868A-242C2A3DEC5C}", ["VALUE" => 17]);
IPS_SetEventScheduleActionEx($EreignisID, 3, "Öko", 0x00FF00, "{3644F802-C152-464A-868A-242C2A3DEC5C}", ["VALUE" => 20]);
//Wochenplanaktion mit ID 3 wieder löschen
IPS_SetEventScheduleActionEx($EreignisID, 3, "", 0, "", []);