public function Create() { parent::Create(); $this->RegisterPropertyString("Host", ""); $this->RegisterPropertyString("Zone", "Main_Zone"); $this->RegisterPropertyInteger("UpdateInterval", 5); if (!IPS_VariableProfileExists('Volume.YAVR')) { IPS_CreateVariableProfile('Volume.YAVR', 2); } IPS_SetVariableProfileDigits('Volume.YAVR', 1); IPS_SetVariableProfileIcon('Volume.YAVR', 'Intensity'); IPS_SetVariableProfileText('Volume.YAVR', "", " dB"); IPS_SetVariableProfileValues('Volume.YAVR', -80, 16, 0.5); $this->UpdateScenesProfile(); $this->UpdateInputsProfile(); }
# %1$s = Name vom Gerät %2$s = Name vom Raum # # 'Name Gewerk' = Name des erzeugen Links innerhalb des Gewerkes, welcher auf die Variable zeigt. # Es stehen folgende Platzhalter zur Verfügung: # %1$s = Name vom Gerät %2$s = Name vom Raum %3$s = Name vom Gewerk $TypMappingProfil = array('VIRTUAL_KEY' => array(), 'SMOKE_DETECTOR' => array('STATE' => array('Name Raum' => 'Auslösung', 'Name Gewerk' => '%1$s', 'Profil' => '~Alert', 'Action' => false)), 'SMOKE_DETECTOR_TEAM' => array('STATE' => array('Name Raum' => 'Auslösung', 'Name Gewerk' => '%1$s', 'Profil' => '~Alert', 'Action' => false)), 'KEY' => array(), 'RAINDETECTOR' => array('STATE' => array('Name Raum' => 'Regen', 'Name Gewerk' => 'Regen %2$s', 'Profil' => '~Raining', 'Action' => false)), 'RAINDETECTOR_HEAT' => array('STATE' => array('Name Raum' => 'Heizung Regensensor', 'Name Gewerk' => 'Heizung Regensensor %2$s', 'Profil' => '', 'Action' => true)), 'WEATHER' => array('TEMPERATURE' => array('Name Raum' => 'Temperatur', 'Name Gewerk' => 'Temperatur %2$s', 'Profil' => '', 'Action' => false), 'HUMIDITY' => array('Name Raum' => 'Luftfeuchte', 'Name Gewerk' => 'Luftfeuchte %2$s', 'Profil' => '', 'Action' => false), 'RAINING' => array('Name Raum' => 'Regen', 'Name Gewerk' => 'Regen %2$s', 'Profil' => '', 'Action' => false), 'RAIN_COUNTER' => array('Name Raum' => 'Regenmenge', 'Name Gewerk' => 'Regenmenge %2$s', 'Profil' => '', 'Action' => false), 'WIND_SPEED' => array('Name Raum' => 'Windgeschwindigkeit', 'Name Gewerk' => 'Windgeschwindigkeit %2$s', 'Profil' => '', 'Action' => false), 'WIND_DIRECTION' => array('Name Raum' => 'Windrichtung', 'Name Gewerk' => 'Windrichtung %2$s', 'Profil' => '', 'Action' => false), 'WIND_DIRECTION_RANGE' => array('Name Raum' => 'Windrichtungsschwankung', 'Name Gewerk' => 'Windrichtungsschwankung %2$s', 'Profil' => '', 'Action' => false), 'SUNSHINEDURATION' => array('Name Raum' => 'Sonnenscheindauer', 'Name Gewerk' => 'Sonnenscheindauer %2$s', 'Profil' => '', 'Action' => false), 'BRIGHTNESS' => array('Name Raum' => 'Helligkeit', 'Name Gewerk' => 'Helligkeit %2$s', 'Profil' => '', 'Action' => false), 'LOWBAT' => array('Name Raum' => 'Batterie', 'Name Gewerk' => '', 'Profil' => '', 'Action' => false), 'AIR_PRESSURE' => array('Name Raum' => 'Luftdruck', 'Name Gewerk' => 'Luftdruck %2$s', 'Profil' => '', 'Action' => false)), 'ROTARY_HANDLE_SENSOR' => array('STATE' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => false), 'ERROR' => array('Name Raum' => 'Fehler', 'Name Gewerk' => '', 'Profil' => '', 'Action' => false), 'LOWBAT' => array('Name Raum' => 'Batterie', 'Name Gewerk' => '', 'Profil' => '', 'Action' => false)), 'SWITCH' => array('STATE' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => true)), 'DIGITAL_OUTPUT' => array('STATE' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => true)), 'MAINTENANCE' => array('LOWBAT' => array('Name Raum' => 'Batterie', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => false)), 'CLIMATECONTROL_REGULATOR' => array('SETPOINT' => array('Name Raum' => 'Soll Temperatur', 'Name Gewerk' => 'Soll Temperatur %2$s', 'Profil' => '', 'Action' => true)), 'MOTION_DETECTOR' => array('MOTION' => array('Name Raum' => 'Bewegung', 'Name Gewerk' => 'Bewegung %2$s', 'Profil' => '', 'Action' => false), 'BRIGHTNESS' => array('Name Raum' => 'Helligkeit', 'Name Gewerk' => 'Helligkeit %2$s', 'Profil' => '', 'Action' => false)), 'DIMMER' => array('LEVEL' => array('Name Raum' => 'Level', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => true)), 'VIRTUAL_DIMMER' => array('LEVEL' => array('Name Raum' => 'Level', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => true)), 'CLIMATECONTROL_VENT_DRIVE' => array('VALVE_STATE' => array('Name Raum' => 'Ventilöffnung', 'Name Gewerk' => 'Ventilöffnung %2$s', 'Profil' => '', 'Action' => false)), 'SHUTTER_CONTACT' => array('STATE' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '%1$s', 'Profil' => '~Window', 'Action' => false)), 'SIGNAL_LED' => array('STATE' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '', 'Profil' => '', 'Action' => true)), 'SIGNAL_CHIME' => array('STATE' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '', 'Profil' => '', 'Action' => true)), 'BLIND' => array('LEVEL' => array('Name Raum' => 'Level', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => true)), 'SENSOR' => array('SENSOR' => array('Name Raum' => 'Zustand', 'Name Gewerk' => '%1$s', 'Profil' => '~Alert', 'Action' => false)), 'CENTRAL_KEY' => array(), 'DISPLAY' => array(), 'POWERMETER' => array('CURRENT' => array('Name Raum' => 'Strom', 'Name Gewerk' => '%1$s Strom', 'Profil' => 'mAmpere.F', 'Action' => false), 'ENERGY_COUNTER' => array('Name Raum' => 'Gesamter Verbrauch', 'Name Gewerk' => '%1$s Gesamter Verbrauch', 'Profil' => 'Wh.F', 'Action' => false), 'FREQUENCY' => array('Name Raum' => 'Frequenz', 'Name Gewerk' => '%1$s Frequenz', 'Profil' => '~Hertz', 'Action' => false), 'POWER' => array('Name Raum' => 'Leistung', 'Name Gewerk' => '%1$s Leistung', 'Profil' => '~Watt.3680', 'Action' => false), 'VOLTAGE' => array('Name Raum' => 'Spannung', 'Name Gewerk' => '%1$s Spannung', 'Profil' => '~Volt', 'Action' => false)), 'DIGITAL_ANALOG_OUTPUT' => array('FREQUENCY' => array()), 'DIGITAL_INPUT' => array('FREQUENCY' => array()), 'DIGITAL_ANALOG_INPUT' => array('VALUE' => array()), 'INPUT_OUTPUT' => array(), 'POWERMETER_IGL' => array('GAS_ENERGY_COUNTER' => array(), 'GAS_POWER' => array(), 'ENERGY_COUNTER' => array(), 'POWER' => array()), 'STATUS_INDICATOR' => array('STATE' => array()), 'KEYMATIC' => array('STATE' => array(), 'STATE_UNCERTAIN' => array()), 'SENSOR_FOR_CARBON_DIOXIDE' => array('STATE' => array()), 'ALARMACTUATOR' => array('STATE' => array()), 'PULSE_SENSOR' => array(), 'TILT_SENSOR' => array('STATE' => array('Name Raum' => 'Neigung', 'Name Gewerk' => '%1$s', 'Profil' => '~Alert', 'Action' => false)), 'WINMATIC' => array('LEVEL' => array(), 'STATE_UNCERTAIN' => array()), 'AKKU' => array('LEVEL' => array(), 'STATUS' => array()), 'WATERDETECTIONSENSOR' => array('STATE' => array('Name Raum' => 'Wasserstand', 'Name Gewerk' => '%1$s', 'Profil' => '', 'Action' => false)), 'CAPACITIVE_FILLING_LEVEL_SENSOR' => array('FILLING_LEVEL' => array('Name Raum' => 'Füllstand', 'Name Gewerk' => '%1$s', 'Profil' => '~Intensity.1', 'Action' => false)), 'WEATHER_TRANSMIT' => array('TEMPERATURE' => array('Name Raum' => 'Temperatur', 'Name Gewerk' => 'Temperatur %2$s', 'Profil' => '', 'Action' => false), 'HUMIDITY' => array('Name Raum' => 'Luftfeuchte', 'Name Gewerk' => 'Luftfeuchte %2$s', 'Profil' => '', 'Action' => false)), 'THERMALCONTROL_TRANSMIT' => array('CONTROL_MODE' => array('Name Raum' => 'Betriebsmodus', 'Name Gewerk' => 'Betriebsmodus %2$s', 'Profil' => 'ControlMode.HM', 'Action' => 'CLIMATECONTROL_SCRIPT'), 'LOWBAT_REPORTING' => array('Name Raum' => 'Batterie', 'Name Gewerk' => '', 'Profil' => '~Battery', 'Action' => false), 'WINDOW_OPEN_REPORTING' => array('Name Raum' => 'Fenster offen', 'Name Gewerk' => 'Fenster offen %2$s', 'Profil' => '~Window', 'Action' => false), 'BATTERY_STATE' => array('Name Raum' => 'Batteriespannung', 'Name Gewerk' => '', 'Profil' => '~Volt', 'Action' => false), 'BOOST_STATE' => array('Name Raum' => 'Boost Status', 'Name Gewerk' => 'Boost Status %2$s', 'Profil' => '', 'Action' => false), 'ACTUAL_TEMPERATURE' => array('Name Raum' => 'Temperatur', 'Name Gewerk' => 'Temperatur %2$s', 'Profil' => '', 'Action' => false), 'ACTUAL_HUMIDITY' => array('Name Raum' => 'Luftfeuchte', 'Name Gewerk' => 'Luftfeuchte %2$s', 'Profil' => '~Humidity.F', 'Action' => false), 'SET_TEMPERATURE' => array('Name Raum' => 'Soll Temperatur', 'Name Gewerk' => 'Soll Temperatur %2$s', 'Profil' => '', 'Action' => true), 'PARTY_TEMPERATURE' => array('Name Raum' => 'Party Temperatur', 'Name Gewerk' => 'Party Temperatur %2$s', 'Profil' => '~Temperature', 'Action' => false), 'forceDP' => array('PARTY_START_DAY' => 1, 'PARTY_START_MONTH' => 1, 'PARTY_START_TIME' => 1, 'PARTY_START_YEAR' => 1, 'PARTY_STOP_DAY' => 1, 'PARTY_STOP_MONTH' => 1, 'PARTY_STOP_TIME' => 1, 'PARTY_STOP_YEAR' => 1, 'PARTY_TEMPERATURE' => 2)), 'CLIMATECONTROL_RT_TRANSCEIVER' => array('CONTROL_MODE' => array('Name Raum' => 'Betriebsmodus', 'Name Gewerk' => 'Betriebsmodus %2$s', 'Profil' => 'ControlMode.HM', 'Action' => 'CLIMATECONTROL_SCRIPT'), 'BATTERY_STATE' => array('Name Raum' => 'Batteriespannung', 'Name Gewerk' => '', 'Profil' => '~Volt', 'Action' => false), 'BOOST_STATE' => array('Name Raum' => 'Boost Status', 'Name Gewerk' => 'Boost Status %2$s', 'Profil' => '', 'Action' => false), 'ACTUAL_TEMPERATURE' => array('Name Raum' => 'Temperatur', 'Name Gewerk' => 'Temperatur %2$s', 'Profil' => '', 'Action' => false), 'SET_TEMPERATURE' => array('Name Raum' => 'Soll Temperatur', 'Name Gewerk' => 'Soll Temperatur %2$s', 'Profil' => '', 'Action' => true), 'PARTY_TEMPERATURE' => array('Name Raum' => 'Party Temperatur', 'Name Gewerk' => 'Party Temperatur %2$s', 'Profil' => '~Temperature', 'Action' => false), 'VALVE_STATE' => array('Name Raum' => 'Ventilöffnung', 'Name Gewerk' => 'Ventilöffnung %2$s', 'Profil' => '', 'Action' => false), 'forceDP' => array('PARTY_START_DAY' => 1, 'PARTY_START_MONTH' => 1, 'PARTY_START_TIME' => 1, 'PARTY_START_YEAR' => 1, 'PARTY_STOP_DAY' => 1, 'PARTY_STOP_MONTH' => 1, 'PARTY_STOP_TIME' => 1, 'PARTY_STOP_YEAR' => 1, 'PARTY_TEMPERATURE' => 2)), 'SWITCH_INTERFACE' => array()); $RequestState = array('STATE', 'LEVEL', 'SENSOR', 'SET_TEMPERATURE', 'SETPOINT', 'LOWBAT', 'HUMIDITY', 'TEMPERATURE', 'MOTION', 'BRIGHTNESS', 'ACTUAL_HUMIDITY', 'ACTUAL_TEMPERATURE', 'BATTERY_STATE', 'BOOST_STATE', 'CONTROL_MODE', 'LOWBAT_REPORTING', 'WINDOW_OPEN_REPORTING', 'VALVE_STATE', 'CURRENT', 'ENERGY_COUNTER', 'FREQUENCY', 'POWER', 'VOLTAGE', 'RAINING', 'RAIN_COUNTER', 'SUNSHINEDURATION', 'WIND_DIRECTION', 'WIND_DIRECTION_RANGE', 'WIND_SPEED', 'LED_STATUS', 'PARTY_TEMPERATURE'); // Nicht Standardprofile if (!IPS_VariableProfileExists('Wh.F')) { IPS_CreateVariableProfile('Wh.F', 2); IPS_SetVariableProfileDigits('Wh.F', 2); IPS_SetVariableProfileText('Wh.F', '', ' Wh'); } if (!IPS_VariableProfileExists('mAmpere.F')) { IPS_CreateVariableProfile('mAmpere.F', 2); IPS_SetVariableProfileDigits('mAmpere.F', 2); IPS_SetVariableProfileText('mAmpere.F', '', ' mA'); } if (!IPS_VariableProfileExists('BlindControl.HM')) { IPS_CreateVariableProfile('BlindControl.HM', 1); IPS_SetVariableProfileAssociation('BlindControl.HM', -1, 'Ab', '', 0xff); IPS_SetVariableProfileAssociation('BlindControl.HM', 0, 'Stop', '', 0x0); IPS_SetVariableProfileAssociation('BlindControl.HM', 1, 'Auf', '', 0xff); } if (!IPS_VariableProfileExists('ControlTemp.HM')) { IPS_CreateVariableProfile('ControlTemp.HM', 1); IPS_SetVariableProfileIcon('ControlTemp.HM', 'Temperature'); IPS_SetVariableProfileAssociation('ControlTemp.HM', 1, 'Absenk Temp', '', 0xff0000); IPS_SetVariableProfileAssociation('ControlTemp.HM', 2, 'Komfort Temp', '', 0xff9900); } if (!IPS_VariableProfileExists('ControlMode.HM')) {
protected function RegisterProfileFloat($Name, $Icon, $Prefix, $Suffix, $MinValue, $MaxValue, $StepSize, $Digits) { if (!IPS_VariableProfileExists($Name)) { IPS_CreateVariableProfile($Name, 2); } else { $profile = IPS_GetVariableProfile($Name); if ($profile['ProfileType'] != 2) { throw new Exception("Variable profile type does not match for profile " . $Name); } } IPS_SetVariableProfileIcon($Name, $Icon); IPS_SetVariableProfileText($Name, $Prefix, $Suffix); IPS_SetVariableProfileValues($Name, $MinValue, $MaxValue, $StepSize); IPS_SetVariableProfileDigits($Name, $Digits); }
/** * CreateFloatProfile * @param string $ProfileName * @param string $Icon * @param string $Präfix * @param string $Suffix * @param float $MinValue * @param float $MaxValue * @param integer $StepSize * @param integer $Digits */ private function CreateFloatProfile($ProfileName, $Icon, $Präfix, $Suffix, $MinValue, $MaxValue, $StepSize, $Digits) { $Profile = IPS_VariableProfileExists($ProfileName); if ($Profile === FALSE) { IPS_CreateVariableProfile($ProfileName, 2); IPS_SetVariableProfileIcon($ProfileName, $Icon); IPS_SetVariableProfileText($ProfileName, $Präfix, $Suffix); IPS_SetVariableProfileValues($ProfileName, $MinValue, $MaxValue, $StepSize); IPS_SetVariableProfileDigits($ProfileName, $Digits); } }
function Variable_GetOrSet($name, $parent, $value) { global $Logging; $VarID = @IPS_GetVariableIDByName($name, $parent); if (!$VarID) { if ($name == "Name" or $name == "Marke" or $name == "ID" or $name == "Anschrift") { $VarID = IPS_CreateVariable(3); } elseif ($name == "Geöffnet_von" or $name == "Geöffnet_bis") { $VarID = IPS_CreateVariable(3); $ProfilName = "GeoffnetVonBis_Tankstelle_TK"; if (!IPS_VariableProfileExists($ProfilName)) { IPS_CreateVariableProfile($ProfilName, 3); IPS_SetVariableProfileText($ProfilName, "", " Uhr"); IPS_SetVariableProfileIcon($ProfilName, "Clock"); } IPS_SetVariableCustomProfile($VarID, $ProfilName); } elseif ($name == "Geöffnet") { $VarID = IPS_CreateVariable(0); $ProfilName = "Geoeffnet_Tankstelle_TK"; if (!IPS_VariableProfileExists($ProfilName)) { IPS_CreateVariableProfile($ProfilName, 0); IPS_SetVariableProfileAssociation($ProfilName, 0, "Geschlossen", "", -1); IPS_SetVariableProfileAssociation($ProfilName, 1, "Geöffnet", "", -1); IPS_SetVariableProfileIcon($ProfilName, "Information"); } IPS_SetVariableCustomProfile($VarID, $ProfilName); } elseif ($name == "Distanz") { $VarID = IPS_CreateVariable(2); $ProfilName = "Distanz_Tankstelle_TK"; if (!IPS_VariableProfileExists($ProfilName)) { IPS_CreateVariableProfile($ProfilName, 2); IPS_SetVariableProfileText($ProfilName, "", "km"); IPS_SetVariableProfileDigits($ProfilName, 1); IPS_SetVariableProfileIcon($ProfilName, "Distance"); } IPS_SetVariableCustomProfile($VarID, $ProfilName); } elseif ($name == "Preis" or $name == "Preis_E5" or $name == "Preis_E10" or $name == "Preis_Diesel") { if ($value === NULL) { return; } $VarID = IPS_CreateVariable(2); $ProfilName = "Euro_Tankstelle_TK"; if (!IPS_VariableProfileExists($ProfilName)) { IPS_CreateVariableProfile($ProfilName, 2); IPS_SetVariableProfileText($ProfilName, "", "€"); IPS_SetVariableProfileDigits($ProfilName, 3); IPS_SetVariableProfileIcon($ProfilName, "Euro"); } IPS_SetVariableCustomProfile($VarID, $ProfilName); if ($Logging) { $ArchiveHandlerID = IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}')[0]; AC_SetLoggingStatus($ArchiveHandlerID, $VarID, true); IPS_ApplyChanges($ArchiveHandlerID); } } IPS_SetName($VarID, $name); IPS_SetParent($VarID, $parent); } SetValue($VarID, $value); }
function CreateProfiles() { @IPS_CreateVariableProfile("IPSLogger_Level", 1); IPS_SetVariableProfileText("IPSLogger_Level", "", ""); IPS_SetVariableProfileValues("IPSLogger_Level", 0, 0, 0); IPS_SetVariableProfileDigits("IPSLogger_Level", 0); IPS_SetVariableProfileIcon("IPSLogger_Level", ""); IPS_SetVariableProfileAssociation("IPSLogger_Level", 0, "Fatal", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 1, "Error", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 2, "Warning", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 3, "Notification", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 4, "Info", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 5, "Debug", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 6, "Communication", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 7, "Trace", "", 0xaaaaaa); IPS_SetVariableProfileAssociation("IPSLogger_Level", 9, "All", "", 0xaaaaaa); @IPS_CreateVariableProfile("IPSLogger_MsgCount", 1); IPS_SetVariableProfileText("IPSLogger_MsgCount", "", " Msg's"); IPS_SetVariableProfileValues("IPSLogger_MsgCount", 5, 100, 5); IPS_SetVariableProfileDigits("IPSLogger_MsgCount", 0); IPS_SetVariableProfileIcon("IPSLogger_MsgCount", ""); @IPS_CreateVariableProfile("IPSLogger_MsgId", 1); IPS_SetVariableProfileText("IPSLogger_MsgId", "", ""); IPS_SetVariableProfileValues("IPSLogger_MsgId", 0, 0, 0); IPS_SetVariableProfileDigits("IPSLogger_MsgId", 0); IPS_SetVariableProfileIcon("IPSLogger_MsgId", ""); @IPS_CreateVariableProfile("IPSLogger_Delay", 1); IPS_SetVariableProfileText("IPSLogger_Delay", "", " Seconds"); IPS_SetVariableProfileValues("IPSLogger_Delay", 0, 600, 30); IPS_SetVariableProfileDigits("IPSLogger_Delay", 0); IPS_SetVariableProfileIcon("IPSLogger_Delay", ""); @IPS_CreateVariableProfile("IPSLogger_Days", 1); IPS_SetVariableProfileText("IPSLogger_Days", "", " Tage"); IPS_SetVariableProfileValues("IPSLogger_Days", 0, 100, 5); IPS_SetVariableProfileDigits("IPSLogger_Days", 0); IPS_SetVariableProfileIcon("IPSLogger_Days", ""); @IPS_CreateVariableProfile("IPSLogger_Priority", 1); IPS_SetVariableProfileText("IPSLogger_Priority", "", ""); IPS_SetVariableProfileValues("IPSLogger_Priority", 0, 10, 1); IPS_SetVariableProfileDigits("IPSLogger_Priority", 0); IPS_SetVariableProfileIcon("IPSLogger_Priority", ""); }
/** * Check profile by name if exists, else create * @param String $pname Name * @param integer $typ Variable Typ (0..3) * @param String $prefix Prefix before value * @param String $suffix Suffix after value * @param String $icon Icon Name * @param integer $min min value * @param integer $max max value * @param integer $step step value * @param integer $digit digits for formatting * @param boolean $drop drop existing profile first */ protected function check_profile($pname, $typ, $prefix, $suffix, $icon, $min, $max, $step, $digit = 0, $drop = false) { //use logmessages instead of debug because this isnt available in early stage if (IPS_VariableProfileExists($pname) && $drop) { IPS_DeleteVariableProfile($pname); } if (!IPS_VariableProfileExists($pname)) { IPS_LogMessage($this->name, __FUNCTION__ . "(#" . $this->InstanceID . ") Create VariableProfile {$pname}"); if (IPS_CreateVariableProfile($pname, $typ)) { IPS_SetVariableProfileText($pname, $prefix, $suffix); if (isset($min) && isset($max) && isset($step)) { IPS_SetVariableProfileValues($pname, $min, $max, $step); } if (isset($digit)) { IPS_SetVariableProfileDigits($pname, $digit); } if ($icon) { IPS_SetVariableProfileIcon($pname, $icon); } } else { IPS_LogMessage($this->name, __FUNCTION__ . "(#" . $this->InstanceID . ") Cannot Create VariableProfile {$pname}"); } } }
function CreateProfile_Duration ($Name, $Start, $Step, $Stop, $Prefix=" Min", $Icon="") { @IPS_DeleteVariableProfile($Name); IPS_CreateVariableProfile($Name, 1); IPS_SetVariableProfileText($Name, "", $Prefix); IPS_SetVariableProfileValues($Name, $Start, $Stop, $Step); IPS_SetVariableProfileDigits($Name, 0); IPS_SetVariableProfileIcon($Name, $Icon); }