diff --git a/.style b/.style index fe04d92..c3da0b4 160000 --- a/.style +++ b/.style @@ -1 +1 @@ -Subproject commit fe04d922f53d36e19d91a7f8dfe4ca7c66ed62a4 +Subproject commit c3da0b498e05763595d29a223dbad7e9c12ce556 diff --git a/Color Loop/form.json b/Color Loop/form.json index 684acb6..7edebb7 100644 --- a/Color Loop/form.json +++ b/Color Loop/form.json @@ -114,6 +114,16 @@ "type": "CheckBox", "name": "CheckColor", "caption": "Create variables for selection of start color per luminaire?" + }, + { + "type": "CheckBox", + "name": "CheckActive", + "caption": "Activate color loop automatically when the device is switched on?" + }, + { + "type": "CheckBox", + "name": "CheckContinue", + "caption": "Continue color loop with last color values?" } ] } diff --git a/Color Loop/locale.json b/Color Loop/locale.json index adbe63b..aa22a95 100644 --- a/Color Loop/locale.json +++ b/Color Loop/locale.json @@ -1,6 +1,7 @@ { "translations": { "de": { + "Color Loop": "Farbverlauf", "\nColor Loop\n ": "\nFarbverlauf\n ", "The module offers the possibility to activate an automatic colour gradient or a colour change.": "Das Modul bietet die Möglichkeit, einen automatischen Farbverlauf bzw. einen Farbwechsel zu aktivieren.", "Circuit ...": "Schaltung ...", @@ -18,6 +19,8 @@ "Advanced settings ...": "Erweiterte Einstellungen ...", "Create variables for selection of start color per luminaire?": "Variablen für Auswahl der Startfarbe pro Leuchte anlegen?", "In addition, create a normal switch variable to temporarily switch the colour loop on or off (e.g. for webfront)?": "Zusätzlich noch eine normale Schaltervariable anlegen zum temporären An- bzw. Ausschalten der Farbschleife (z.B. für Webfront)?", + "Continue color loop with last color values?": "Farbschleife mit den letzten Farbwerten fortsetzen?", + "Activate color loop automatically when the device is switched on?": "Farbschleife beim Einschalten des Geräts automatisch aktivieren?", "Transition": "Übergang", "Increment": "Schrittweite", "Fast": "Schnell", diff --git a/Color Loop/module.json b/Color Loop/module.json index 5fd65f5..3858fba 100644 --- a/Color Loop/module.json +++ b/Color Loop/module.json @@ -1,15 +1,12 @@ { "id": "{67B80A2C-0E39-B6B3-E767-86E6C9AE653C}", "name": "Color Loop", + "url": "https://wilkware.de/ip-symconmodule/farbverlauf", "type": 3, "vendor": "", - "aliases": [ - "ColorLoop", - "Farbverlauf" - ], + "aliases": [], "parentRequirements": [], "childRequirements": [], "implemented": [], - "prefix": "WWXCL", - "url": "https://github.com/Wilkware/IPSymconColorLoop" + "prefix": "WWXCL" } \ No newline at end of file diff --git a/Color Loop/module.php b/Color Loop/module.php index 4721a61..1720dc9 100644 --- a/Color Loop/module.php +++ b/Color Loop/module.php @@ -37,9 +37,11 @@ public function Create() $this->RegisterPropertyString('ColorVariables', '[]'); // Settings $this->RegisterPropertyBoolean('CheckColor', false); + $this->RegisterPropertyBoolean('CheckActive', false); + $this->RegisterPropertyBoolean('CheckContinue', false); // Profiles - $this->RegisterProfile(VARIABLETYPE_INTEGER, 'WWXCL.Increment', 'Speedo', '', '', 5, 355, 5, 0); - $this->RegisterProfile(VARIABLETYPE_INTEGER, 'WWXCL.Transition', 'Repeat', '', '', 0, 0, 0, 0, $this->assoTransition); + $this->RegisterProfileInteger('WWXCL.Increment', 'Speedo', '', '', 5, 355, 5); + $this->RegisterProfileInteger('WWXCL.Transition', 'Repeat', '', '', 0, 0, 0, $this->assoTransition); // Status variable (active) $exists = @$this->GetIDForIdent('active'); $this->RegisterVariableBoolean('active', $this->Translate('Active'), '~Switch', 0); @@ -258,8 +260,14 @@ private function Active($value) private function Switch($value) { $this->SendDebug(__FUNCTION__, ($value ? 'true' : 'false')); + $cact = $this->ReadPropertyBoolean('CheckActive'); + $ccon = $this->ReadPropertyBoolean('CheckContinue'); if($value) { // ON $ison = $this->GetValue('active'); + if($cact && !$ison) { + $ison = true; + $this->SetValueBoolean('active', $ison); + } // only if color loop is active switched! if($ison) { $tran = $this->GetValue('transition'); @@ -283,13 +291,19 @@ private function Switch($value) $data[] = [$varid, $color]; } $this->SendDebug(__FUNCTION__, 'Data: ' . print_r($data, true), 0); - $this->SetBuffer('loop_data', serialize($data)); + $buffer = $this->GetBuffer('loop_data'); + if(!$ccon || empty($buffer)) { + $this->SetBuffer('loop_data', serialize($data)); + } // Start Timer $this->SetTimerInterval('ColorLoopTrigger', $tran * 1000); } } else { // OFF $this->SetTimerInterval('ColorLoopTrigger', 0); - $this->SetBuffer('loop_data', ''); + // continue with the last colors? + if(!$ccon) { + $this->SetBuffer('loop_data', ''); + } } } diff --git a/README.md b/README.md index 50890bf..4fec975 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # Farbeverlauf (Color Loop) -[![Version](https://img.shields.io/badge/Symcon-PHP--Modul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/) -[![Product](https://img.shields.io/badge/Symcon%20Version-6.0%20%3E-blue.svg)](https://www.symcon.de/produkt/) -[![Version](https://img.shields.io/badge/Modul%20Version-1.0.20230728-orange.svg)](https://github.com/Wilkware/IPSymconColorLoop) -[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/) -[![Actions](https://github.com/Wilkware/IPSymconColorLoop/workflows/Check%20Style/badge.svg)](https://github.com/Wilkware/IPSymconColorLoop/actions) +[![Version](https://img.shields.io/badge/Symcon-PHP--Modul-red.svg?style=flat-square)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/) +[![Product](https://img.shields.io/badge/Symcon%20Version-6.4-blue.svg?style=flat-square)](https://www.symcon.de/produkt/) +[![Version](https://img.shields.io/badge/Modul%20Version-1.0.20230728-orange.svg?style=flat-square)](https://github.com/Wilkware/IPSymconColorLoop) +[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg?style=flat-square)](https://creativecommons.org/licenses/by-nc-sa/4.0/) +[![Actions](https://img.shields.io/github/actions/workflow/status/wilkware/IPSymconColorLoop/style.yml?branch=main&label=CheckStyle&style=flat-square)](https://github.com/Wilkware/IPSymconColorLoop/actions) Das Modul bietet die Möglichkeit, einen automatischen Farbverlauf bzw. einen Farbwechsel zu aktivieren. Sobald er aktiviert ist, läuft eine kontinuierliche Schleife durch verschiedene Farben, die sich fortlaufend wiederholt. @@ -37,7 +37,7 @@ Gute Effekte kann man erzielen bei kleiner Schrittweite (5) und einem sehr langs ### 2. Voraussetzungen -* IP-Symcon ab Version 6.0 +* IP-Symcon ab Version 6.4 * Getestet mit Philips Hue Color Ambiance Leuchtmitteln ### 3. Installation @@ -65,9 +65,9 @@ Schaltervariable | Die Schaltvariable, welche als Indikator für Name | Beschreibung ------------------------------- | ----------------------------------------------------------------- Leuchtgruppe (Liste) | Alle Geräte, welche an der Farbschleife beteiligt seien sollen -|- Statusvariable | Statusvariable des Leuchtmittels, welche die Farbe abbildet. Muss sich über RequestAction steuern lassen und das Profil _~HexColor_ besitzen. -|- Startfarbe | Farbwert mit dem die Farbschleife beginnen soll. Die Farbauswahl 'Transparent' bewirkt die Verwendung des aktuell eingestellten Farbcodes des Leuchtmittels als Startfarbe. -|- Leuchtenname | Der Leuchtenname ist nur notwendig wenn man die Startfarbe auch über das WebFront ändern möchte (Statusvariable). +-- Statusvariable | Statusvariable des Leuchtmittels, welche die Farbe abbildet. Muss sich über RequestAction steuern lassen und das Profil _~HexColor_ besitzen. +-- Startfarbe | Farbwert mit dem die Farbschleife beginnen soll. Die Farbauswahl 'Transparent' bewirkt die Verwendung des aktuell eingestellten Farbcodes des Leuchtmittels als Startfarbe. +-- Leuchtenname | Der Leuchtenname ist nur notwendig wenn man die Startfarbe auch über das WebFront ändern möchte (Statusvariable). > Erweiterte Einstellungen ... @@ -84,7 +84,7 @@ Name | Typ | Beschreibung Aktiv | Boolean | Schalter für Aktivierung oder Deaktivierung der Farbschleife, d.h. soll Farbschleife starten wenn Leuchtgruppe angeschaltet wird. Schrittweite | Integer | Auswahl, wie groß die Farbänderungsschritte erfolgen soll (in 5er Schritten zwischen 5 und 355). Übergang | String | Auswahl, wie schnell der einzelne Farbwechsel erfolgen soll. -[Leuchtenname] | Integer | Aktivierbar über die erweiterten Einstellungen. Startfarbe fürs WebFront. +\[Leuchtenname\] | Integer | Aktivierbar über die erweiterten Einstellungen. Startfarbe fürs WebFront. Folgendes Profil wird angelegt: @@ -103,6 +103,13 @@ Das Modul stellt keine direkten Funktionsaufrufe zur Verfügung. ### 8. Versionshistorie +v1.1.20240224 + +* _NEU_: Farbschleife kann automatisch mit Gerät eingeschaltet werden +* _NEU_: Farbschleife kann bei Wiedereinschalten auf letzte Farbwerte aufsetzen +* _FIX_: Interne Bibliotheken überarbeitet +* _FIX_: Internes Deployment überarbeitet + v1.0.20230728 * _NEU_: Initialversion diff --git a/library.json b/library.json index aee8b0c..8d206d5 100644 --- a/library.json +++ b/library.json @@ -4,9 +4,9 @@ "author": "Wilkware (@Pitti)", "url": "https://wilkware.de", "compatibility": { - "version": "6.0" + "version": "6.4" }, - "version": "1.0", - "build": 20230728, - "date": 1690538400 + "version": "1.1", + "build": 20230224, + "date": 1708772400 } \ No newline at end of file diff --git a/libs/ProfileHelper.php b/libs/ProfileHelper.php index ddb9625..473fb4c 100644 --- a/libs/ProfileHelper.php +++ b/libs/ProfileHelper.php @@ -19,42 +19,6 @@ */ trait ProfileHelper { - /** - * Create the profile for the given type, values and associations. - * - * @param string $vartype Type of the variable. - * @param string $name Profil name. - * @param string $icon Icon to display. - * @param string $prefix Variable prefix. - * @param string $suffix Variable suffix. - * @param int $minvalue Minimum value. - * @param int $maxvalue Maximum value. - * @param int $stepsize Increment. - * @param int $digits Decimal places. - * @param array $associations Associations of the values. - */ - protected function RegisterProfile($vartype, $name, $icon, $prefix = '', $suffix = '', $minvalue = 0, $maxvalue = 0, $stepsize = 0, $digits = 0, $associations = null) - { - if (!IPS_VariableProfileExists($name)) { - switch ($vartype) { - case VARIABLETYPE_BOOLEAN: - $this->RegisterProfileBoolean($name, $icon, $prefix, $suffix, $associations); - break; - case VARIABLETYPE_INTEGER: - $this->RegisterProfileInteger($name, $icon, $prefix, $suffix, $minvalue, $maxvalue, $stepsize, $digits, $associations); - break; - case VARIABLETYPE_FLOAT: - $this->RegisterProfileFloat($name, $icon, $prefix, $suffix, $minvalue, $maxvalue, $stepsize, $digits, $associations); - break; - case VARIABLETYPE_STRING: - $this->RegisterProfileString($name, $icon, $prefix, $suffix, $associations); - break; - } - } - - return $name; - } - /** * Create the profile for the given type with the passed name. * @@ -82,7 +46,7 @@ protected function RegisterProfileType($name, $vartype) * @param string $suffix Variable suffix. * @param array $asso Associations of the values. */ - protected function RegisterProfileBoolean($name, $icon, $prefix, $suffix, $asso) + protected function RegisterProfileBoolean($name, $icon, $prefix, $suffix, $asso = null) { $this->RegisterProfileType($name, VARIABLETYPE_BOOLEAN); @@ -106,21 +70,14 @@ protected function RegisterProfileBoolean($name, $icon, $prefix, $suffix, $asso) * @param int $minvalue Minimum value. * @param int $maxvalue Maximum value. * @param int $stepsize Increment. - * @param int $digits Decimal places. * @param array $asso Associations of the values. */ - protected function RegisterProfileInteger($name, $icon, $prefix, $suffix, $minvalue, $maxvalue, $stepsize, $digits, $asso) + protected function RegisterProfileInteger($name, $icon, $prefix, $suffix, $minvalue, $maxvalue, $stepsize, $asso = null) { $this->RegisterProfileType($name, VARIABLETYPE_INTEGER); IPS_SetVariableProfileIcon($name, $icon); IPS_SetVariableProfileText($name, $prefix, $suffix); - IPS_SetVariableProfileDigits($name, $digits); - - if (($asso !== null) && (count($asso) !== 0)) { - $minvalue = 0; - $maxvalue = 0; - } IPS_SetVariableProfileValues($name, $minvalue, $maxvalue, $stepsize); if (($asso !== null) && (count($asso) !== 0)) { @@ -143,19 +100,14 @@ protected function RegisterProfileInteger($name, $icon, $prefix, $suffix, $minva * @param int $digits Decimal places. * @param array $asso Associations of the values. */ - protected function RegisterProfileFloat($name, $icon, $prefix, $suffix, $minvalue, $maxvalue, $stepsize, $digits, $asso) + protected function RegisterProfileFloat($name, $icon, $prefix, $suffix, $minvalue, $maxvalue, $stepsize, $digits, $asso = null) { $this->RegisterProfileType($name, VARIABLETYPE_FLOAT); IPS_SetVariableProfileIcon($name, $icon); IPS_SetVariableProfileText($name, $prefix, $suffix); - IPS_SetVariableProfileDigits($name, $digits); - - if (($asso !== null) && (count($asso) !== 0)) { - $minvalue = 0; - $maxvalue = 0; - } IPS_SetVariableProfileValues($name, $minvalue, $maxvalue, $stepsize); + IPS_SetVariableProfileDigits($name, $digits); if (($asso !== null) && (count($asso) !== 0)) { foreach ($asso as $ass) { @@ -177,8 +129,9 @@ protected function RegisterProfileString($name, $icon, $prefix, $suffix, $asso) { $this->RegisterProfileType($name, VARIABLETYPE_STRING); - IPS_SetVariableProfileText($name, $prefix, $suffix); IPS_SetVariableProfileIcon($name, $icon); + IPS_SetVariableProfileText($name, $prefix, $suffix); + if (($asso !== null) && (count($asso) !== 0)) { foreach ($asso as $ass) { IPS_SetVariableProfileAssociation($name, $ass[0], $this->Translate($ass[1]), $ass[2], $ass[3]); diff --git a/libs/_traits.php b/libs/_traits.php index 3a096ba..e3f9c74 100644 --- a/libs/_traits.php +++ b/libs/_traits.php @@ -16,90 +16,90 @@ if (!defined('IPS_BASE')) { // --- BASE MESSAGE - define('IPS_BASE', 10000); //Base Message - define('IPS_KERNELSTARTED', IPS_BASE + 1); //Post Ready Message - define('IPS_KERNELSHUTDOWN', IPS_BASE + 2); //Pre Shutdown Message, Runlevel UNINIT Follows + define('IPS_BASE', 10000); // Base Message + define('IPS_KERNELSTARTED', IPS_BASE + 1); // Post Ready Message + define('IPS_KERNELSHUTDOWN', IPS_BASE + 2); // Pre Shutdown Message, Runlevel UNINIT Follows } if (!defined('IPS_KERNELMESSAGE')) { // --- KERNEL - define('IPS_KERNELMESSAGE', IPS_BASE + 100); //Kernel Message - define('KR_CREATE', IPS_KERNELMESSAGE + 1); //Kernel is beeing created - define('KR_INIT', IPS_KERNELMESSAGE + 2); //Kernel Components are beeing initialised, Modules loaded, Settings read - define('KR_READY', IPS_KERNELMESSAGE + 3); //Kernel is ready and running - define('KR_UNINIT', IPS_KERNELMESSAGE + 4); //Got Shutdown Message, unloading all stuff - define('KR_SHUTDOWN', IPS_KERNELMESSAGE + 5); //Uninit Complete, Destroying Kernel Inteface + define('IPS_KERNELMESSAGE', IPS_BASE + 100); // Kernel Message + define('KR_CREATE', IPS_KERNELMESSAGE + 1); // Kernel is beeing created + define('KR_INIT', IPS_KERNELMESSAGE + 2); // Kernel Components are beeing initialised, Modules loaded, Settings read + define('KR_READY', IPS_KERNELMESSAGE + 3); // Kernel is ready and running + define('KR_UNINIT', IPS_KERNELMESSAGE + 4); // Got Shutdown Message, unloading all stuff + define('KR_SHUTDOWN', IPS_KERNELMESSAGE + 5); // Uninit Complete, Destroying Kernel Inteface } if (!defined('IPS_LOGMESSAGE')) { // --- KERNEL LOGMESSAGE - define('IPS_LOGMESSAGE', IPS_BASE + 200); //Logmessage Message - define('KL_MESSAGE', IPS_LOGMESSAGE + 1); //Normal Message | FG: Black | BG: White | STLYE : NONE - define('KL_SUCCESS', IPS_LOGMESSAGE + 2); //Success Message | FG: Black | BG: Green | STYLE : NONE - define('KL_NOTIFY', IPS_LOGMESSAGE + 3); //Notiy about Changes | FG: Black | BG: Blue | STLYE : NONE - define('KL_WARNING', IPS_LOGMESSAGE + 4); //Warnings | FG: Black | BG: Yellow | STLYE : NONE - define('KL_ERROR', IPS_LOGMESSAGE + 5); //Error Message | FG: Black | BG: Red | STLYE : BOLD - define('KL_DEBUG', IPS_LOGMESSAGE + 6); //Debug Informations + Script Results | FG: Grey | BG: White | STLYE : NONE - define('KL_CUSTOM', IPS_LOGMESSAGE + 7); //User Message | FG: Black | BG: White | STLYE : NONE + define('IPS_LOGMESSAGE', IPS_BASE + 200); // Logmessage Message + define('KL_MESSAGE', IPS_LOGMESSAGE + 1); // Normal Message | FG: Black | BG: White | STLYE : NONE + define('KL_SUCCESS', IPS_LOGMESSAGE + 2); // Success Message | FG: Black | BG: Green | STYLE : NONE + define('KL_NOTIFY', IPS_LOGMESSAGE + 3); // Notiy about Changes | FG: Black | BG: Blue | STLYE : NONE + define('KL_WARNING', IPS_LOGMESSAGE + 4); // Warnings | FG: Black | BG: Yellow | STLYE : NONE + define('KL_ERROR', IPS_LOGMESSAGE + 5); // Error Message | FG: Black | BG: Red | STLYE : BOLD + define('KL_DEBUG', IPS_LOGMESSAGE + 6); // Debug Informations + Script Results | FG: Grey | BG: White | STLYE : NONE + define('KL_CUSTOM', IPS_LOGMESSAGE + 7); // User Message | FG: Black | BG: White | STLYE : NONE } if (!defined('IPS_MODULEMESSAGE')) { // --- MODULE LOADER - define('IPS_MODULEMESSAGE', IPS_BASE + 300); //ModuleLoader Message - define('ML_LOAD', IPS_MODULEMESSAGE + 1); //Module loaded - define('ML_UNLOAD', IPS_MODULEMESSAGE + 2); //Module unloaded + define('IPS_MODULEMESSAGE', IPS_BASE + 300); // ModuleLoader Message + define('ML_LOAD', IPS_MODULEMESSAGE + 1); // Module loaded + define('ML_UNLOAD', IPS_MODULEMESSAGE + 2); // Module unloaded } if (!defined('IPS_OBJECTMESSAGE')) { // --- OBJECT MANAGER define('IPS_OBJECTMESSAGE', IPS_BASE + 400); - define('OM_REGISTER', IPS_OBJECTMESSAGE + 1); //Object was registered - define('OM_UNREGISTER', IPS_OBJECTMESSAGE + 2); //Object was unregistered - define('OM_CHANGEPARENT', IPS_OBJECTMESSAGE + 3); //Parent was Changed - define('OM_CHANGENAME', IPS_OBJECTMESSAGE + 4); //Name was Changed - define('OM_CHANGEINFO', IPS_OBJECTMESSAGE + 5); //Info was Changed - define('OM_CHANGETYPE', IPS_OBJECTMESSAGE + 6); //Type was Changed - define('OM_CHANGESUMMARY', IPS_OBJECTMESSAGE + 7); //Summary was Changed - define('OM_CHANGEPOSITION', IPS_OBJECTMESSAGE + 8); //Position was Changed - define('OM_CHANGEREADONLY', IPS_OBJECTMESSAGE + 9); //ReadOnly was Changed - define('OM_CHANGEHIDDEN', IPS_OBJECTMESSAGE + 10); //Hidden was Changed - define('OM_CHANGEICON', IPS_OBJECTMESSAGE + 11); //Icon was Changed - define('OM_CHILDADDED', IPS_OBJECTMESSAGE + 12); //Child for Object was added - define('OM_CHILDREMOVED', IPS_OBJECTMESSAGE + 13); //Child for Object was removed - define('OM_CHANGEIDENT', IPS_OBJECTMESSAGE + 14); //Ident was Changed + define('OM_REGISTER', IPS_OBJECTMESSAGE + 1); // Object was registered + define('OM_UNREGISTER', IPS_OBJECTMESSAGE + 2); // Object was unregistered + define('OM_CHANGEPARENT', IPS_OBJECTMESSAGE + 3); // Parent was Changed + define('OM_CHANGENAME', IPS_OBJECTMESSAGE + 4); // Name was Changed + define('OM_CHANGEINFO', IPS_OBJECTMESSAGE + 5); // Info was Changed + define('OM_CHANGETYPE', IPS_OBJECTMESSAGE + 6); // Type was Changed + define('OM_CHANGESUMMARY', IPS_OBJECTMESSAGE + 7); // Summary was Changed + define('OM_CHANGEPOSITION', IPS_OBJECTMESSAGE + 8); // Position was Changed + define('OM_CHANGEREADONLY', IPS_OBJECTMESSAGE + 9); // ReadOnly was Changed + define('OM_CHANGEHIDDEN', IPS_OBJECTMESSAGE + 10); // Hidden was Changed + define('OM_CHANGEICON', IPS_OBJECTMESSAGE + 11); // Icon was Changed + define('OM_CHILDADDED', IPS_OBJECTMESSAGE + 12); // Child for Object was added + define('OM_CHILDREMOVED', IPS_OBJECTMESSAGE + 13); // Child for Object was removed + define('OM_CHANGEIDENT', IPS_OBJECTMESSAGE + 14); // Ident was Changed } if (!defined('IPS_INSTANCEMESSAGE')) { // --- INSTANCE MANAGER - define('IPS_INSTANCEMESSAGE', IPS_BASE + 500); //Instance Manager Message - define('IM_CREATE', IPS_INSTANCEMESSAGE + 1); //Instance created - define('IM_DELETE', IPS_INSTANCEMESSAGE + 2); //Instance deleted - define('IM_CONNECT', IPS_INSTANCEMESSAGE + 3); //Instance connectged - define('IM_DISCONNECT', IPS_INSTANCEMESSAGE + 4); //Instance disconncted - define('IM_CHANGESTATUS', IPS_INSTANCEMESSAGE + 5); //Status was Changed - define('IM_CHANGESETTINGS', IPS_INSTANCEMESSAGE + 6); //Settings were Changed - define('IM_CHANGESEARCH', IPS_INSTANCEMESSAGE + 7); //Searching was started/stopped - define('IM_SEARCHUPDATE', IPS_INSTANCEMESSAGE + 8); //Searching found new results - define('IM_SEARCHPROGRESS', IPS_INSTANCEMESSAGE + 9); //Searching progress in % - define('IM_SEARCHCOMPLETE', IPS_INSTANCEMESSAGE + 10); //Searching is complete + define('IPS_INSTANCEMESSAGE', IPS_BASE + 500); // Instance Manager Message + define('IM_CREATE', IPS_INSTANCEMESSAGE + 1); // Instance created + define('IM_DELETE', IPS_INSTANCEMESSAGE + 2); // Instance deleted + define('IM_CONNECT', IPS_INSTANCEMESSAGE + 3); // Instance connectged + define('IM_DISCONNECT', IPS_INSTANCEMESSAGE + 4); // Instance disconncted + define('IM_CHANGESTATUS', IPS_INSTANCEMESSAGE + 5); // Status was Changed + define('IM_CHANGESETTINGS', IPS_INSTANCEMESSAGE + 6); // Settings were Changed + define('IM_CHANGESEARCH', IPS_INSTANCEMESSAGE + 7); // Searching was started/stopped + define('IM_SEARCHUPDATE', IPS_INSTANCEMESSAGE + 8); // Searching found new results + define('IM_SEARCHPROGRESS', IPS_INSTANCEMESSAGE + 9); // Searching progress in % + define('IM_SEARCHCOMPLETE', IPS_INSTANCEMESSAGE + 10); // Searching is complete } if (!defined('IPS_VARIABLEMESSAGE')) { // --- VARIABLE MANAGER - define('IPS_VARIABLEMESSAGE', IPS_BASE + 600); //Variable Manager Message - define('VM_CREATE', IPS_VARIABLEMESSAGE + 1); //Variable Created - define('VM_DELETE', IPS_VARIABLEMESSAGE + 2); //Variable Deleted - define('VM_UPDATE', IPS_VARIABLEMESSAGE + 3); //On Variable Update - define('VM_CHANGEPROFILENAME', IPS_VARIABLEMESSAGE + 4); //On Profile Name Change - define('VM_CHANGEPROFILEACTION', IPS_VARIABLEMESSAGE + 5); //On Profile Action Change + define('IPS_VARIABLEMESSAGE', IPS_BASE + 600); // Variable Manager Message + define('VM_CREATE', IPS_VARIABLEMESSAGE + 1); // Variable Created + define('VM_DELETE', IPS_VARIABLEMESSAGE + 2); // Variable Deleted + define('VM_UPDATE', IPS_VARIABLEMESSAGE + 3); // On Variable Update + define('VM_CHANGEPROFILENAME', IPS_VARIABLEMESSAGE + 4); // On Profile Name Change + define('VM_CHANGEPROFILEACTION', IPS_VARIABLEMESSAGE + 5); // On Profile Action Change } if (!defined('IPS_SCRIPTMESSAGE')) { // --- SCRIPT MANAGER - define('IPS_SCRIPTMESSAGE', IPS_BASE + 700); //Script Manager Message - define('SM_CREATE', IPS_SCRIPTMESSAGE + 1); //On Script Create - define('SM_DELETE', IPS_SCRIPTMESSAGE + 2); //On Script Delete - define('SM_CHANGEFILE', IPS_SCRIPTMESSAGE + 3); //On Script File changed - define('SM_BROKEN', IPS_SCRIPTMESSAGE + 4); //Script Broken Status changed + define('IPS_SCRIPTMESSAGE', IPS_BASE + 700); // Script Manager Message + define('SM_CREATE', IPS_SCRIPTMESSAGE + 1); // On Script Create + define('SM_DELETE', IPS_SCRIPTMESSAGE + 2); // On Script Delete + define('SM_CHANGEFILE', IPS_SCRIPTMESSAGE + 3); // On Script File changed + define('SM_BROKEN', IPS_SCRIPTMESSAGE + 4); // Script Broken Status changed } if (!defined('IPS_EVENTMESSAGE')) { // --- EVENT MANAGER - define('IPS_EVENTMESSAGE', IPS_BASE + 800); //Event Scripter Message - define('EM_CREATE', IPS_EVENTMESSAGE + 1); //On Event Create - define('EM_DELETE', IPS_EVENTMESSAGE + 2); //On Event Delete + define('IPS_EVENTMESSAGE', IPS_BASE + 800); // Event Scripter Message + define('EM_CREATE', IPS_EVENTMESSAGE + 1); // On Event Create + define('EM_DELETE', IPS_EVENTMESSAGE + 2); // On Event Delete define('EM_UPDATE', IPS_EVENTMESSAGE + 3); define('EM_CHANGEACTIVE', IPS_EVENTMESSAGE + 4); define('EM_CHANGELIMIT', IPS_EVENTMESSAGE + 5); @@ -115,32 +115,32 @@ } if (!defined('IPS_MEDIAMESSAGE')) { // --- MEDIA MANAGER - define('IPS_MEDIAMESSAGE', IPS_BASE + 900); //Media Manager Message - define('MM_CREATE', IPS_MEDIAMESSAGE + 1); //On Media Create - define('MM_DELETE', IPS_MEDIAMESSAGE + 2); //On Media Delete - define('MM_CHANGEFILE', IPS_MEDIAMESSAGE + 3); //On Media File changed - define('MM_AVAILABLE', IPS_MEDIAMESSAGE + 4); //Media Available Status changed + define('IPS_MEDIAMESSAGE', IPS_BASE + 900); // Media Manager Message + define('MM_CREATE', IPS_MEDIAMESSAGE + 1); // On Media Create + define('MM_DELETE', IPS_MEDIAMESSAGE + 2); // On Media Delete + define('MM_CHANGEFILE', IPS_MEDIAMESSAGE + 3); // On Media File changed + define('MM_AVAILABLE', IPS_MEDIAMESSAGE + 4); // Media Available Status changed define('MM_UPDATE', IPS_MEDIAMESSAGE + 5); } if (!defined('IPS_LINKMESSAGE')) { // --- LINK MANAGER - define('IPS_LINKMESSAGE', IPS_BASE + 1000); //Link Manager Message - define('LM_CREATE', IPS_LINKMESSAGE + 1); //On Link Create - define('LM_DELETE', IPS_LINKMESSAGE + 2); //On Link Delete - define('LM_CHANGETARGET', IPS_LINKMESSAGE + 3); //On Link TargetID change + define('IPS_LINKMESSAGE', IPS_BASE + 1000); // Link Manager Message + define('LM_CREATE', IPS_LINKMESSAGE + 1); // On Link Create + define('LM_DELETE', IPS_LINKMESSAGE + 2); // On Link Delete + define('LM_CHANGETARGET', IPS_LINKMESSAGE + 3); // On Link TargetID change } if (!defined('IPS_FLOWMESSAGE')) { // --- DATA HANDLER - define('IPS_FLOWMESSAGE', IPS_BASE + 1100); //Data Handler Message - define('FM_CONNECT', IPS_FLOWMESSAGE + 1); //On Instance Connect - define('FM_DISCONNECT', IPS_FLOWMESSAGE + 2); //On Instance Disconnect + define('IPS_FLOWMESSAGE', IPS_BASE + 1100); // Data Handler Message + define('FM_CONNECT', IPS_FLOWMESSAGE + 1); // On Instance Connect + define('FM_DISCONNECT', IPS_FLOWMESSAGE + 2); // On Instance Disconnect } if (!defined('IPS_ENGINEMESSAGE')) { // --- SCRIPT ENGINE - define('IPS_ENGINEMESSAGE', IPS_BASE + 1200); //Script Engine Message - define('SE_UPDATE', IPS_ENGINEMESSAGE + 1); //On Library Refresh - define('SE_EXECUTE', IPS_ENGINEMESSAGE + 2); //On Script Finished execution - define('SE_RUNNING', IPS_ENGINEMESSAGE + 3); //On Script Started execution + define('IPS_ENGINEMESSAGE', IPS_BASE + 1200); // Script Engine Message + define('SE_UPDATE', IPS_ENGINEMESSAGE + 1); // On Library Refresh + define('SE_EXECUTE', IPS_ENGINEMESSAGE + 2); // On Script Finished execution + define('SE_RUNNING', IPS_ENGINEMESSAGE + 3); // On Script Started execution } if (!defined('IPS_PROFILEMESSAGE')) { // --- PROFILE POOL @@ -157,25 +157,25 @@ } if (!defined('IPS_TIMERMESSAGE')) { // --- TIMER POOL - define('IPS_TIMERMESSAGE', IPS_BASE + 1400); //Timer Pool Message + define('IPS_TIMERMESSAGE', IPS_BASE + 1400); // Timer Pool Message define('TM_REGISTER', IPS_TIMERMESSAGE + 1); define('TM_UNREGISTER', IPS_TIMERMESSAGE + 2); define('TM_SETINTERVAL', IPS_TIMERMESSAGE + 3); define('TM_UPDATE', IPS_TIMERMESSAGE + 4); define('TM_RUNNING', IPS_TIMERMESSAGE + 5); } -if (!defined('IS_ACTIVE')) { //Nur wenn Konstanten noch nicht bekannt sind. +if (!defined('IS_ACTIVE')) { // --- STATUS CODES define('IS_SBASE', 100); - define('IS_CREATING', IS_SBASE + 1); //module is being created - define('IS_ACTIVE', IS_SBASE + 2); //module created and running - define('IS_DELETING', IS_SBASE + 3); //module us being deleted - define('IS_INACTIVE', IS_SBASE + 4); //module is not beeing used -// --- ERROR CODES - define('IS_EBASE', 200); //default errorcode - define('IS_NOTCREATED', IS_EBASE + 1); //instance could not be created -} -if (!defined('vtBoolean')) { //Nur wenn Konstanten noch nicht bekannt sind. + define('IS_CREATING', IS_SBASE + 1); // Module is being created + define('IS_ACTIVE', IS_SBASE + 2); // Module created and running + define('IS_DELETING', IS_SBASE + 3); // Module us being deleted + define('IS_INACTIVE', IS_SBASE + 4); // Module is not beeing used + // --- ERROR CODES + define('IS_EBASE', 200); // Default errorcode + define('IS_NOTCREATED', IS_EBASE + 1); // Instance could not be created +} +if (!defined('vtBoolean')) { define('vtBoolean', 0); define('vtInteger', 1); define('vtFloat', 2);