Den Sprung kann ich provozieren aber nicht das permanente langsame ansteigen.
Bei dem Sprung wird die folgende Funktion mit dem Parameter true aufgerufen.
function fEnergy_Save($ON_OFF) {
$SemaPhoreEnergySave = "EnergySave";
$ID_Terminals_Autostart = 30788 /*[Systeminstanzen\Variablen\Netzwerk\Terminals auto start]*/ ;
$ID_Mediaserver_Autostart = 34692 /*[Systeminstanzen\Variablen\Netzwerk\Media Server auto start]*/ ;
// Energiesparmodus für alle abgeschalteten Steckdosen ausschalten
include(IPS_GetScriptIDByName("include_BM_Vorgaben",23971 /*[Scripts\Bewegungsmelder]*/ ).".ips.php");
include(IPS_GetScriptIDByName("include_HM_Const",58036 /*[Scripts\Allgemein]*/ ).".ips.php");
include(IPS_GetScriptIDByName("include_DMX_functions",42822 /*[Scripts\DMX]*/ ).".ips.php");
include(IPS_GetScriptIDByName("include_HM_functions",58036 /*[Scripts\Allgemein]*/ ).".ips.php");
include(IPS_GetScriptIDByName("Play_TTS",49186 /*[Scripts\Multimedia]*/).".ips.php");
include(IPS_GetScriptIDByName("include_check_system",58036 /*[Scripts\Allgemein]*/ ).".ips.php");
include(IPS_GetScriptIDByName("include_Samsung_TV",49186 /*[Scripts\Multimedia]*/ ).".ips.php");
$textEnergysaveOff = "Der Energie spar modus wurde deaktiviert";
$textEnergysaveOn = "Der Energie spar modus wurde aktiviert";
$Volume = getvalueInteger(56497 /*[Systeminstanzen\Variablen\Multimedia\VolumeAnsage]*/ );
$ID_Ereignis_Sprachausgabe = 50887 /*[Zeitgesteuerte Scripts\Multimedia\Sprachausgabe\]*/;
//setvalueboolean (44626 /*[Systeminstanzen\Variablen\System\BackupModus]*/ ,false);
if (IPS_SemaphoreEnter($SemaPhoreEnergySave,1000)) {
set_time_limit(180);
if ($ON_OFF){
TV_SAMSUNG_OFF("WZ");
TV_SAMSUNG_OFF("SZ");
$SystemMeldungen = check_system();
$textEnergysaveOn = $textEnergysaveOn."...".$SystemMeldungen;
TTS_Play(1,$textEnergysaveOn,true,true,$Volume,"",($SystemMeldungen <> ""),false);
}
ips_sleep(5000);
while (True) {
$EventInfo = IPS_GetEvent($ID_Ereignis_Sprachausgabe);
ips_sleep(500);
if ($EventInfo["EventActive"]) break;
}
foreach ($HM_SWITCH as $ST) {
//echo $ST["HM_NAME"]." ".$ST["ID_IPS"]." ".$ST["PARAMETER_NAME"]."
";
if ($ST["ENERGY_SAVE"]) {
if ($ON_OFF) { //Energiesparmodus ein
$ID_Energysave = 0;
$ID_Energysave = $ST["ID_ENERGY_SAVE_ONOFF"];
if (($ID_Energysave == 0) or (getvalueboolean($ID_Energysave))) {
if ($ST["PARAMETER_NAME"] == "LEVEL") HM_WriteValuefloat($ST["ID_IPS"], $ST["PARAMETER_NAME"], 0);
if ($ST["PARAMETER_NAME"] == "STATE") {
//Überprüfen ob das Gerät noch in Betrieb ist, wenn ja dann nicht ausschalten
$ID_Check_Betrieb = 0;
$In_Betrieb = false;
$ID_Check_Betrieb = $ST["BETRIEBSUEBERWACHUNG"];
if ($ID_Check_Betrieb > 0) {
$In_Betrieb = !getvalueboolean($ID_Check_Betrieb);
if (!$In_Betrieb) {
HM_WriteBoolean($ST["ID_IPS"], $ST["PARAMETER_NAME"], !$ON_OFF);
//ips_sleep(100);
}
} else {
HM_WriteBoolean($ST["ID_IPS"], $ST["PARAMETER_NAME"], !$ON_OFF);
//ips_sleep(100);
}
}
//if ($ST["PARAMETER_NAME"] == "STATE") WriteBoolean_HM($ST["ID_IPS"],!$ON_OFF);
if ($ST["PARAMETER_NAME"] == "Farbe") setvalueInteger($ST["ID_IPS"],0);
}
} else {//Energiesparmodus aus
if ($ST["PARAMETER_NAME"] == "LEVEL") HM_WriteValuefloat($ST["ID_IPS"], $ST["PARAMETER_NAME"], $ST["INIT_WERT_AFTER_ENERGYSAVE"]);
if ($ST["PARAMETER_NAME"] == "STATE") HM_WriteBoolean($ST["ID_IPS"], $ST["PARAMETER_NAME"], $ST["INIT_WERT_AFTER_ENERGYSAVE"]);
}
//ips_sleep(30);
}
}
if (!$ON_OFF) {
ips_sleep(2000);
//DMX auf aus setzen (initialisieren)
setvalueinteger(47932 /*[Systeminstanzen\Beleuchtung\DG\DG Bad\Wannenbeleuchtung DMX\Farbe]*/ ,0);
setvalueinteger(51412 /*[Systeminstanzen\Beleuchtung\DG\DG Bad\Deckenbeleuchtung DMX\Farbe]*/ ,0);
setvalueinteger(13088 /*[Systeminstanzen\Beleuchtung\OG\OG Wohn\Deckenleuchte DMX Wohnzimmer\Farbe]*/ ,0);
setvalueinteger(40621 /*[Systeminstanzen\Beleuchtung\OG\OG Küche\Sockelbeleuchtung DMX\Farbe]*/ ,0);
setvalueinteger(29419 /*[Systeminstanzen\Beleuchtung\OG\OG Küche\Deckenleuchte DMX Küche\Farbe]*/ ,0);
setvalueinteger(38381 /*[Systeminstanzen\Beleuchtung\OG\OG Küche\Schrankbeleuchtung DMX\Farbe]*/ ,0);
setvalueinteger(15715 /*[Systeminstanzen\Beleuchtung\EG\EG Eingang\Treppenbeleuchtung DMX\Farbe]*/ ,0);
setvalueinteger(50270 /*[Systeminstanzen\Beleuchtung\OG\OG Terrasse\Effektleuchten\Farbe]*/ ,0);
}
if ($ON_OFF) {
//Mediaplayer stoppen und zurücksetzen
$mplayer = array(
13119 /*[Systeminstanzen\Multimedia\Mediaplayer\Player 1 - EG Eingang 1/2 USB 6\MPlayer 1]*/ ,
29973 ,
51660 /*[Systeminstanzen\Multimedia\Mediaplayer\Player 2 - DG Bad 3/4 USB 5\MPlayer 2]*/ ,
33373 ,
45103 /*[Systeminstanzen\Multimedia\Mediaplayer\Player 3 - OG Küche 5/6 USB 3\MPlayer 3]*/ ,
19850 ,
47899 /*[Systeminstanzen\Multimedia\Mediaplayer\Player 4 - EG Bad 7/8 USB 4\MPlayer 4]*/ ,
40960 ,
18693 /*[Systeminstanzen\Multimedia\Mediaplayer\Player OnBoard\MPlayer OnBoard]*/ ,
11202
);
foreach($mplayer as $mp) {
WAC_Stop($mp);
WAC_ClearPlaylist($mp);
WAC_Reset($mp);
}
}
if ($ON_OFF) {
//lautstärken auf aus setzen
$volumes = array(
23944 /*[Systeminstanzen\Multimedia\Radio Werkstatt\Lautstärke]*/ ,
55102 ,
15213 /*[Systeminstanzen\Multimedia\Radio DG Bad\Lautstärke]*/ ,
13199 ,
15859 /*[Systeminstanzen\Multimedia\Audio Eingang\Lautstärke]*/
);
foreach($volumes as $v) {
setvalueinteger($v,0);
}
}
if (!$ON_OFF){
TTS_Play(1,$textEnergysaveOff,true,true,$Volume,"",false,false);
ips_sleep(5000);
while (True) {
$EventInfo = IPS_GetEvent($ID_Ereignis_Sprachausgabe);
ips_sleep(500);
if ($EventInfo["EventActive"]) break;
}
}
// Media-Server herunterfahren oder starten
if ($ON_OFF){
if (getvalueboolean(28513 /*[Systeminstanzen\Variablen\Netzwerk\Media Server auto shutdown]*/ ) == true) {
IPS_RunScript(50156 /*[Ereignisgesteuerte Scripts\Netzwerk\Mediaserver_herunterfahren]*/ );
}
} else {
if (getvalueBoolean($ID_Mediaserver_Autostart)) IPS_RunScript(15406 /*[Ereignisgesteuerte Scripts\Netzwerk\Mediaserver_Starten]*/ );
}
// Terminals herunterfahren oder starten
if ($ON_OFF){
if (getvalueboolean(30510 /*[Systeminstanzen\Variablen\Netzwerk\Terminals auto shutdown]*/ ) == true) {
IPS_RunScript(59159 /*[Ereignisgesteuerte Scripts\Netzwerk\Terminals_herunterfahren]*/ );
}
} else {
if (getvalueBoolean($ID_Terminals_Autostart)) IPS_RunScript(33036 /*[Ereignisgesteuerte Scripts\Netzwerk\Terminals_starten]*/ );
}
if (!$ON_OFF){
setvalueboolean(13697 /*[Systeminstanzen\Variablen\Termine\Termine_ansagen]*/ ,true);
}
// nach energiesparmodus ereignis aktivieren welches 5 min nach dem Energiesparmodus die Türen schliesst etc.
if ($ON_OFF){
$ScriptID = 21459 /*[Zeitgesteuerte Scripts\Energiesparmodus\Aktionen 5 min nach Energiesparmodus]*/ ;
$TimerWertSec = 300;
IPS_SetScriptTimer ($ScriptID, $TimerWertSec );
}
IPS_SemaphoreLeave($SemaPhoreEnergySave);
}
// echo "Fertig";
}