示例#1
0
 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();
 }
示例#2
0
#		  %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')) {
示例#3
0
 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);
 }
示例#4
0
 /**
  * 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);
	}