Sorry II,
ich hab dieses mal auch lange gebraucht bis ich dir antworten kann.
Habe das Script am Laufen. Aber noch 2 Probleme, die mir gerade auffallen.
-
Wenn ich das creat Heizplan oneday laufen lasse wird ein Plan für gestern erstell. woran liegt das?
-
Habe ich die Zeilen wie von dir beschrieben, denke ich, eingetragen. Dennoch erhalte ich die Fehlermeldung s. Bild.
Hier nochmal der Scipt von config.class.ips.php:
<?
/*
################################################################################
# IP-Symcon Config-Datei #
# #
# Beschreibung : config Datei zu IP-Symcon #
# Create date : 2010-11-05 #
# Last change : 2010-11-05 #
# Version : 0.09 #
# Datei : config.class.ips.php #
# Author : ernie #
# Copyright : ernie #
################################################################################
*/
namespace de\IPSymcon\ernie;
if (!defined("INCLUDED_DEBUGGER")) {
DEFINE("INCLUDED_DEBUGGER",TRUE);
include("../debugger.class.ips.php");
}
class Config implements EnvironmentDebugger {
// cAOIDs ok == Object (Variable/Script/Kategorie) bereits in checkAllObjectIDs berücksichtigt
private $version;
private $debug;
private $heizungssteuerung;
private $ipsConfigObjectIDs;
public function __construct($myVersion) {
$this->timeBegin = microtime();
$this->version = $myVersion;
$this->debug = array();
$this->debug['showHiddenThings'] = true;
$this->debug['debugThisSession'] = false;
$this->debug['showDebugMessageOnEnd'] = false;
$this->debug['debugWithPRE'] = false;
$this->debug['disableWarnings'] = false;
$this->debug['disableOutput'] = false;
if ($this->debug['disableWarnings']) {
error_reporting(E_ERROR);
// alle ohne NOTICE:
// error_reporting(E_ALL & ~E_NOTICE);
}
$this->environmentDebugConfigObject = new EnvironmentDebugObject();
$do = $this->environmentDebugConfigObject;
// echo "<PRE>". $this->environmentDebugConfigObject . "</PRE><br>
";
// $this->environmentDebugConfigObject->addDebugEnvironment('environmentName', 0, PRE?, show Categories?,showCount, OnEnd, uesedDebuggers);
$do->addDebugEnvironment('config.class[getWunschTemperatur]', 0, TRUE, TRUE, FALSE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('config.class[checkObjectIDExists]', 0, TRUE, TRUE, FALSE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 1 / maxValue = 1
$do->addDebugEnvironment('heizungssteuerung_createHeizplan.class[__construct]', 0, TRUE, TRUE, FALSE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('heizungssteuerung_createHeizplan.class[initialzing]', 6, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 7 / maxValue = 9
$do->addDebugEnvironment('heizungssteuerung_trigger.class[__construct]', 0, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('heizungssteuerung_trigger.class[showActualHeizplan]', 6, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 7 / maxValue = 9
$do->addDebugEnvironment('heizungssteuerung_trigger.class[setActualTemperature]',6, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 7 / maxValue = 9
$do->addDebugEnvironment('heizungssteuerung_trigger.class[lookOpenWindows]', 6, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 7 / maxValue = 9
$do->addDebugEnvironment('heizungssteuerung_trigger.class[setRaumTemperatur]', 4, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 5 / maxValue = 9
$do->addDebugEnvironment('heizungssteuerung_trigger.class[SOLL-IST-VERGLEICH]', 6, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 7 / maxValue = 9
$do->addDebugEnvironment('heizungssteuerung_trigger.class[lookAllRooms]', 7, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 8 / maxValue = 9
$do->addDebugEnvironment('HomeMaticKomponenten.class[__construct]', 0, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('HomeMaticKomponenten.class[getSollTemperatur]', 0, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('HomeMaticKomponentenHeizenJaNein.class[__construct]', 0, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('HomeMaticKomponentenHeizenJaNein.class[getSollTemperatur]', 0, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // maxValue = 1
$do->addDebugEnvironment('HomeMaticKomponentenHeizenJaNein.class[setHeizenJaNein]', 8, TRUE, TRUE, TRUE, FALSE, DEBUG_MODE_ECHO_LINEBREAK); // minValue = 9 / maxValue = 9
// ##################################################
// ###
// ### DEFINE Heizungssteuerung
// ###
$this->heizungssteuerung = array();
// ### Definition, aus welchem Interface
// ### das Heizungs-Komponenten erstellt werden soll?
// ### Aktuell implementiert:
// ### - HomeMaticKomponenten
// ### - EinsWireWagoKombinationsKomponenten
// ### - HomeMaticKomponentenHeizenJaNein
// ### LAST CHANGE IN IN REVISION 3
$this->heizungssteuerung['heizungsKomponenten'] = "HomeMaticKomponenten";
// ### Test-Szenario CHANGE CHANGE CHANGE 1/3
// $this->heizungssteuerung['heizungsKomponenten'] = "EinsWireWagoKombinationsKomponenten";
// $this->heizungssteuerung['heizungsKomponenten'] = "HomeMaticKomponentenHeizenJaNein";
// ### Definition der createHeizplan Konstanten, u.a.
// ### - ObjectID des ChangeBoolean Scripts, dass im WebFront die Anwesend/Abwesend der Variablen tooglet
// ### - Konstanten für die CustomProfiles, die den An- und Abwesenheitsvariablen zugeweisen werden
// ### - Auswahl, ob die Heizplan Variablen (An- und Abwesenenheit) für das iFront
// ### - gekürzt werden sollen (ohne Bezeichner "Mittags / Abends)
// ### - das CustomProfile (~Switch oder b_Anwesend-Abwesend) für einen Toogle-Button hinterlegt bekommen
// ### - b_Anwesend-Abwesend: Die Variablen im WebFront sind grün und rot und haben den Bezeichner
// ### "Anwesend" und "Abwesend" im iFront muss man ins Untermenü wechseln, um Sie umzuschalten
// ### - ~Switch: Die Variablen im WebFront sind grün und rot und haben den Bezeichner
// ### "An" und "Aus" im iFront kann man diese per Toogle Button direkt umschalten
// ### LAST CHANGE IN IN REVISION 3
$this->heizungssteuerung['createHeizplanConstants'] = array();
$this->heizungssteuerung['createHeizplanConstants']['WebFrontChangeVariableScriptObjectID'] = 26590 /*[Heizung\Heizungssteuerung\Scripte\WebFrontChangeVariable]*/; // cAOIDs ok
$this->heizungssteuerung['createHeizplanConstants']['WebFrontVariableProfileName'] = "b_Anwesend_-Abwesend"; // cAOIDs ok
// $this->heizungssteuerung['createHeizplanConstants']['WebFrontWunschTempeaturProfileName'] = "f_Raumtempperatur"; // wird nur manuell den Wunsch-Temperatur Variablen zugewiesen
$this->heizungssteuerung['createHeizplanConstants']['iFrontVariableProfileName'] = "~Switch"; // cAOIDs ok
$this->heizungssteuerung['createHeizplanConstants']['CreateShortHeizplanVariablen'] = TRUE;
$this->heizungssteuerung['createHeizplanConstants']['CreateiFrontToogleButton'] = TRUE;
$this->heizungssteuerung['createHeizplanConstants']['IPSCreateVariableBoolean'] = 0;
$this->heizungssteuerung['createHeizplanConstants']['IPSCreateVariableInteger'] = 1;
$this->heizungssteuerung['createHeizplanConstants']['IPSCreateVariableFloat'] = 2;
$this->heizungssteuerung['createHeizplanConstants']['IPSCreateVariableString'] = 3;
$this->heizungssteuerung['createHeizplanConstants']['IPSCreateVariableString'] = 3;
// ### Definition der ObjectIDs der Kategorien, in denen der Heizplan
// ### der einzelnen Tage erstellt werden soll
// ### LAST CHANGE IN IN REVISION 1
$this->heizungssteuerung['rootNodesHeizplan'] = array();
// for testing:
// $this->heizungssteuerung['rootNodesHeizplan'][0] = 39943 /*[Objekt #39943 existiert nicht]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][1] = 36401 /*[Heizung\Heizplan\01-Montag]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][2] = 14859 /*[Heizung\Heizplan\02-Dienstag]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][3] = 48837 /*[Heizung\Heizplan\03-Mittwoch]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][4] = 53040 /*[Heizung\Heizplan\04-Donnerstag]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][5] = 53113 /*[Heizung\Heizplan\05-Freitag]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][6] = 17223 /*[Heizung\Heizplan\06-Samstag]*/; // cAOIDs ok
$this->heizungssteuerung['rootNodesHeizplan'][7] = 37094 /*[Heizung\Heizplan\07-Sonntag]*/; // cAOIDs ok
// ###
// ### Definition der ObjectIDs, an denen die Raum-Soll-Temperaturen gelesen werden können
// ### bei HomeMatic muss hier die SETPOINT Variable der Thermostate verlinkt werden
// ### bei 1-Wire in IPS selbst definierte Variablen
// ### LAST CHANGE IN IN REVISION 3
$this->heizungssteuerung['readRaumSollTemeratur'] = array();
// ### Entweder direkte Thermostate
// ### bei HomeMatic
$this->heizungssteuerung['readRaumSollTemeratur']['Bad EG'] = 28484 /*[EG\Bad\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Bad Volker'] = 23548 /*[2.OG\Bad Volker\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Constanze'] = 47237 /*[2.OG\Constanze\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Esszimmer'] = 20663 /*[EG\Esszimmer\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Flur 1.OG'] = 35128 /*[1. OG\Flur\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Flur EG'] = 34245 /*[EG\Flur\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Frank'] = 10386 /*[1. OG\Frank\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Gästezimmer'] = 28435 /*[1. OG\Gästezimmer\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Küche'] = 37603 /*[EG\Küche\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Tayfun'] = 10996 /*[1. OG\Tayfun\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Volker'] = 20023 /*[2.OG\Volker\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['WC 1.OG'] = 23190 /*[1. OG\WC\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Wohnzimmer'] = 31934 /*[EG\Wohnzimmer\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Wohnhalle'] = 38664 /*[Neubau\Wohnhalle\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
$this->heizungssteuerung['readRaumSollTemeratur']['Flur/Garerobe/WC']= 55581 /*[Neubau\Flur/Garderobe/WC\Soll-Werte\SETPOINT]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
// ### ODER IPS-Variablen (zum speichern und lesen der Werte)
// ### (diese müssen im IPS-Baum selbst angelegt werden)
// ### z.B. bei 1-wire Modulen
// ### z.B. bei HomeMaticHeizenJaNein
// ### Test-Szenario CHANGE CHANGE CHANGE 2/3
//$this->heizungssteuerung['readRaumSollTemeratur']['Bad EG'] = 54527 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Bad EG]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Bad Volker'] = 26347 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Bad Volker]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Constanze'] = 49546 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Constanze]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Esszimmer'] = 41177 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Esszimmer]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Flur 1.OG'] = 35961 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Flur 1.OG]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Flur EG'] = 27523 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Flur EG]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Frank'] = 20720 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Frank]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Gästezimmer'] = 21805 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Gästezimmer]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Küche'] = 49207 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Küche]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Tayfun'] = 56575 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Tayfun]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Volker'] = 17349 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Volker]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['WC 1.OG'] = 55273 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\WC 1.OG]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Wohnzimmer'] = 51441 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Wohnzimmer]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Wohnhalle'] = 40910 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Z Wohnhalle]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['readRaumSollTemeratur']['Flur/Garerobe/WC']= 44557 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Z Flur/Garederobe/WC]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
// ###
// ### Definition der ObjectIDs an denen die Raum-Soll-Temperaturen geschrieben werden können
// ### Eventuell sind diese gleich "Gelesenen", bei HomeMatic jedoch nicht ...
// ### dort wird die Variable ausgelsen, jedoch ins Thermostat zurückgeschrieben
// ### LAST CHANGE IN IN REVISION 3
// ### Entweder direkte Thermostate
// ### bei HomeMatic
$this->heizungssteuerung['writeRaumSollTemeratur'] = array();
$this->heizungssteuerung['writeRaumSollTemeratur']['Bad EG'] = 32381 /*[EG\Bad\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Bad Volker'] = 47686 /*[2.OG\Bad Volker\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Constanze'] = 55883 /*[2.OG\Constanze\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Esszimmer'] = 23427 /*[EG\Esszimmer\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Flur 1.OG'] = 22236 /*[1. OG\Flur\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Flur EG'] = 31507 /*[EG\Flur\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Frank'] = 52908 /*[1. OG\Frank\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Gästezimmer'] = 49039 /*[1. OG\Gästezimmer\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Küche'] = 44296 /*[EG\Küche\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Tayfun'] = 11686 /*[1. OG\Tayfun\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Volker'] = 53871 /*[2.OG\Volker\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['WC 1.OG'] = 13560 /*[1. OG\WC\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Wohnzimmer'] = 15757 /*[EG\Wohnzimmer\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Wohnhalle'] = 15081 /*[Neubau\Wohnhalle\Soll-Werte]*/; // cAOIDs ok ;
$this->heizungssteuerung['writeRaumSollTemeratur']['Flur/Garderobe/WC'] = 19594 /*[Neubau\Flur/Garderobe/WC\Soll-Werte]*/; // cAOIDs ok ;
// ### ODER IPS-Variablen (zum speichern und lesen der Werte)
// ### (diese müssen im IPS-Baum selbst angelegt werden)
// ### z.B. bei 1-wire Modulen
/*
//$this->heizungssteuerung['writeRaumSollTemeratur']['Bad'] = 54527 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Bad EG]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Bad]
//$this->heizungssteuerung['writeRaumSollTemeratur']['Büro'] = 20720 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Frank]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Büro]
//$this->heizungssteuerung['writeRaumSollTemeratur']['Gästezimmer'] = 21805 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Gästezimmer]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Gästezimmer]
//$this->heizungssteuerung['writeRaumSollTemeratur']['Schlafzimmer'] = 17349 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Volker]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Schlafzimmer]
//$this->heizungssteuerung['writeRaumSollTemeratur']['Wohnzimmer'] = 51441 /*[Heizung\Heizungssteuerung\heiz- Soll Temperaturen\Wohnzimmer]*/; // cAOIDs ok //[Heizung\Heizungssteuerung\heiz - Soll Temperaturen\Wohnzimmer]
*/
// ###
// ### Definition der ObjectIDs, an denen die Raum-Ist-Temperaturen gelesen werden können
// ### LAST CHANGE IN IN REVISION 2
// ### Entweder direkte Thermostate
// ### bei HomeMatic
$this->heizungssteuerung['readRaumIstTemeratur'] = array();
$this->heizungssteuerung['readRaumIstTemeratur']['Bad EG'] = 30804 /*[EG\Bad\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Bad Volker'] = 14444 /*[2.OG\Bad Volker\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Constanze'] = 14604 /*[2.OG\Constanze\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Esszimmer'] = 50783 /*[EG\Esszimmer\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Flur 1.OG'] = 55428 /*[1. OG\Flur\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Flur EG'] = 43713 /*[EG\Flur\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Frank'] = 46744 /*[1. OG\Frank\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Gästezimmer'] = 11373 /*[1. OG\Gästezimmer\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Küche'] = 55260 /*[EG\Küche\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Tayfun'] = 42399 /*[1. OG\Tayfun\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Volker'] = 43081 /*[2.OG\Volker\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['WC 1.OG'] = 53887 /*[1. OG\WC\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Wohnzimmer'] = 22472 /*[EG\Wohnzimmer\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Wohnhalle'] = 43886 /*[Neubau\Wohnhalle\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
$this->heizungssteuerung['readRaumIstTemeratur']['Flur/Garderobe/WC']= 50222 /*[Neubau\Flur/Garderobe/WC\Ist-Werte\TEMPERATURE]*/; // cAOIDs ok
// ###
// ### Definition der ObjectIDs, an denen die Heiz-Stati der Räume gelesen werden können
// ### Diese ObjectIDs müssen nur definiert werden, wenn das Interface entweder
// ### HomeMaticHeizenJaNein oder EinsWireWagoKombinationsKomponenten ist
// ### LAST CHANGE IN IN REVISION 3
$this->heizungssteuerung['heizStatiRaeume'] = array();
$this->heizungssteuerung['heizStatiRaeume']['Bad EG'] = 37257 /*[Heizung\Heizungssteuerung\heiz - Stati\Bad EG]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Bad Volker'] = 37142 /*[Heizung\Heizungssteuerung\heiz - Stati\Bad Volker]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Constanze'] = 16669 /*[Heizung\Heizungssteuerung\heiz - Stati\Constanze]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Esszimmer'] = 19954 /*[Heizung\Heizungssteuerung\heiz - Stati\Esszimmer]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Flur 1.OG'] = 19367 /*[Heizung\Heizungssteuerung\heiz - Stati\Flur 1.OG]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Flur EG'] = 54771 /*[Heizung\Heizungssteuerung\heiz - Stati\Flur EG]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Frank'] = 41762 /*[Heizung\Heizungssteuerung\heiz - Stati\Frank]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Gästezimmer'] = 48166 /*[Heizung\Heizungssteuerung\heiz - Stati\Gästezimmer]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Küche'] = 40395 /*[Heizung\Heizungssteuerung\heiz - Stati\Küche]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Tayfun'] = 53131 /*[Heizung\Heizungssteuerung\heiz - Stati\Tayfun]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Volker'] = 13872 /*[Heizung\Heizungssteuerung\heiz - Stati\Volker]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['WC 1.OG'] = 43381 /*[Heizung\Heizungssteuerung\heiz - Stati\WC 1.OG]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Wohnzimmer'] = 41456 /*[Heizung\Heizungssteuerung\heiz - Stati\Wohnzimmer]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Wohnhalle'] = 45797 /*[Heizung\Heizungssteuerung\heiz - Stati\Z Wohnhalle]*/; // cAOIDs ok
$this->heizungssteuerung['heizStatiRaeume']['Flur/Garderobe/WC'] = 42803 /*[Heizung\Heizungssteuerung\heiz - Stati\Z Flur/Garderobe/WC]*/; // cAOIDs ok
// ###
// ### Definition der ObjectIDs der Fenster-Kontakte
// ### LAST CHANGE IN IN REVISION 2
$this->heizungssteuerung['rootNodesFenster'] = array();
$this->heizungssteuerung['rootNodesFenster']['Bad EG'] = array();
$this->heizungssteuerung['rootNodesFenster']['Bad EG'][0] = 12012 /*[EG\Bad\Fenster\STATE]*/; // cAOIDs ok
// ###
// ### Definition der ObjectIDs der IPS-Variablen, aus denen
// ### die An-/Abwesend Wunsch-Temperaturen ausgelesen werden soll
// ### Dort sollten FLOAT Variablen erstellt werden
// LAST CHANGE IN IN REVISION 2
$this->heizungssteuerung['temperaturProfile'] = array();
$this->heizungssteuerung['temperaturProfile']['Bad EG'] = array();
$this->heizungssteuerung['temperaturProfile']['Bad EG']['Anwesend'] = 54657 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Bad EG - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Bad EG']['Abwesend'] = 33492 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Bad EG - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Bad Volker'] = array();
$this->heizungssteuerung['temperaturProfile']['Bad Volker']['Anwesend'] = 30746 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Bad Volker - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Bad Volker']['Abwesend'] = 37239 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Bad Volker - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Constanze'] = array();
$this->heizungssteuerung['temperaturProfile']['Constanze']['Anwesend'] = 47111 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Constanze - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Constanze']['Abwesend'] = 30283 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Constanze - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Esszimmer'] = array();
$this->heizungssteuerung['temperaturProfile']['Esszimmer']['Anwesend'] = 14068 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Esszimmer - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Esszimmer']['Abwesend'] = 13689 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Esszimmer - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Flur 1.OG'] = array();
$this->heizungssteuerung['temperaturProfile']['Flur 1.OG']['Anwesend'] = 49488 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Flur 1.OG - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Flur 1.OG']['Abwesend'] = 34659 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Flur 1.OG - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Flur EG'] = array();
$this->heizungssteuerung['temperaturProfile']['Flur EG']['Anwesend'] = 18896 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Flur EG - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Flur EG']['Abwesend'] = 38083 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Flur EG - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Frank'] = array();
$this->heizungssteuerung['temperaturProfile']['Frank']['Anwesend'] = 15482 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Frank - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Frank']['Abwesend'] = 58612 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Frank - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Gästezimmer'] = array();
$this->heizungssteuerung['temperaturProfile']['Gästezimmer']['Anwesend'] = 59560 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Gästezimmer - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Gästezimmer']['Abwesend'] = 15023 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Gästezimmer -Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Küche'] = array();
$this->heizungssteuerung['temperaturProfile']['Küche']['Anwesend'] = 16463 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Küche - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Küche']['Abwesend'] = 22532 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Küche - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Tayfun'] = array();
$this->heizungssteuerung['temperaturProfile']['Tayfun']['Anwesend'] = 24039 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Tayfun - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Tayfun']['Abwesend'] = 22969 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Tayfun - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Volker'] = array();
$this->heizungssteuerung['temperaturProfile']['Volker']['Anwesend'] = 30450 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Volker - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Volker']['Abwesend'] = 45535 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Volker - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['WC 1.OG'] = array();
$this->heizungssteuerung['temperaturProfile']['WC 1.OG']['Anwesend'] = 50313 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\WC 1.OG - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['WC 1.OG']['Abwesend'] = 32329 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\WC 1.OG - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Wohnzimmer'] = array();
$this->heizungssteuerung['temperaturProfile']['Wohnzimmer']['Anwesend'] = 38785 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Wohnzimmer - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Wohnzimmer']['Abwesend'] = 37050 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Wohnzimmer - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Wohnhalle'] = array();
$this->heizungssteuerung['temperaturProfile']['Wohnhalle']['Anwesend'] = 55470 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Z Wohnhalle - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Wohnhalle']['Abwesend'] = 59449 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Z Wohnhalle - Abwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Flur/Garderobe/WC'] = array();
$this->heizungssteuerung['temperaturProfile']['Flur/Garderobe/WC']['Anwesend'] = 31314 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Z Flur/Garderobe/WC - Anwesend]*/; // cAOIDs ok
$this->heizungssteuerung['temperaturProfile']['Flur/Garderobe/WC']['Abwesend'] = 28596 /*[Heizung\Heizplan\00-Wunsch-Temperaturen\Z Flur/Garderobe/WC - Abwesend]*/; // cAOIDs ok
// ###
// ### Definition der Zeit- und Standard-Anwesenheits-Profilen
// ### inkl. der Aufteilung nach Wochentag / Wochenende
// ### LAST CHANGE IN IN REVISION 1
$this->heizungssteuerung['zeitProfile'] = array();
$this->heizungssteuerung['standardZuordnung'] = array();
// ### Raum Definitionen - Bad EG
$this->heizungssteuerung['zeitProfile']['Bad EG'] = array();
$this->heizungssteuerung['zeitProfile']['Bad EG'][0] = "06:00 bis 08:00 Uhr - Frühmorgens";
$this->heizungssteuerung['zeitProfile']['Bad EG'][1] = "08:00 bis 10:00 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Bad EG'][2] = "10:00 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Bad EG'][3] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Bad EG'] = array();
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Werktags']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Werktags']["08:00 bis 10:00 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Werktags']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Wochenende']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Wochenende']["08:00 bis 10:00 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Wochenende']["10:00 bis 18:30 Uhr - Tagsüber"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Bad EG']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - Bad Volker
$this->heizungssteuerung['zeitProfile']['Bad Volker'] = array();
$this->heizungssteuerung['zeitProfile']['Bad Volker'][0] = "06:00 bis 08:00 Uhr - Frühmorgens";
$this->heizungssteuerung['zeitProfile']['Bad Volker'][1] = "08:00 bis 10:00 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Bad Volker'][2] = "10:00 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Bad Volker'][3] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Bad Volker'] = array();
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Werktags']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Werktags']["08:00 bis 10:00 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Werktags']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Wochenende']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Wochenende']["08:00 bis 10:00 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Wochenende']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Bad Volker']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - Constanze
$this->heizungssteuerung['zeitProfile']['Constanze'] = array();
$this->heizungssteuerung['zeitProfile']['Constanze'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Constanze'] = array();
$this->heizungssteuerung['standardZuordnung']['Constanze']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Constanze']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Constanze']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Constanze']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
// ### Raum Definitionen - Esszimmer
$this->heizungssteuerung['zeitProfile']['Esszimmer'] = array();
$this->heizungssteuerung['zeitProfile']['Esszimmer'][0] = "07:00 bis 10:30 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Esszimmer'][1] = "10:30 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Esszimmer'][2] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Esszimmer'] = array();
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Werktags']["07:00 bis 10:30 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Werktags']["30:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Wochenende']["07:00 bis 10:30 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Wochenende']["10:30 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Esszimmer']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - Flur 1.OG
$this->heizungssteuerung['zeitProfile']['Flur 1.OG'] = array();
$this->heizungssteuerung['zeitProfile']['Flur 1.OG'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Flur 1.OG'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur 1.OG']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur 1.OG']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur 1.OG']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Flur 1.OG']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = TRUE;
// ### Raum Definitionen - Flur EG
$this->heizungssteuerung['zeitProfile']['Flur EG'] = array();
$this->heizungssteuerung['zeitProfile']['Flur EG'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Flur EG'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur EG']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur EG']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur EG']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Flur EG']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = TRUE;
// ### Raum Definitionen - Frank
$this->heizungssteuerung['zeitProfile']['Frank'] = array();
$this->heizungssteuerung['zeitProfile']['Frank'][0] = "06:00 bis 08:00 Uhr - Frühmorgens";
$this->heizungssteuerung['zeitProfile']['Frank'][1] = "08:00 bis 10:00 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Frank'][2] = "10:00 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Frank'][3] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Frank'] = array();
$this->heizungssteuerung['standardZuordnung']['Frank']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Frank']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Frank']['Werktags']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Werktags']["08:00 bis 10:00 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Werktags']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Wochenende']["06:00 bis 08:00 Uhr - Frühmorgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Wochenende']["08:00 bis 10:00 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Wochenende']["10:00 bis 18:30 Uhr - Tagsüber"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Frank']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - Gästezimmer
$this->heizungssteuerung['zeitProfile']['Gästezimmer'] = array();
$this->heizungssteuerung['zeitProfile']['Gästezimmer'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Gästezimmer'] = array();
$this->heizungssteuerung['standardZuordnung']['Gästezimmer']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Gästezimmer']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Gästezimmer']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Gästezimmer']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
// ### Raum Definitionen - Küche
$this->heizungssteuerung['zeitProfile']['Küche'] = array();
$this->heizungssteuerung['zeitProfile']['Küche'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Küche'] = array();
$this->heizungssteuerung['standardZuordnung']['Küche']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Küche']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Küche']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Küche']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = TRUE;
// ### Raum Definitionen - Tayfun
$this->heizungssteuerung['zeitProfile']['Tayfun'] = array();
$this->heizungssteuerung['zeitProfile']['Tayfun'][0] = "06:00 bis 08:00 Uhr - Frühmorgens";
$this->heizungssteuerung['zeitProfile']['Tayfun'][1] = "08:00 bis 10:00 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Tayfun'][2] = "10:00 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Tayfun'][3] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Tayfun'] = array();
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Werktags']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Werktags']["08:00 bis 10:00 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Werktags']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Wochenende']["06:00 bis 08:00 Uhr - Frühmorgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Wochenende']["08:00 bis 10:00 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Wochenende']["10:00 bis 18:30 Uhr - Tagsüber"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Tayfun']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - Volker
$this->heizungssteuerung['zeitProfile']['Volker'] = array();
$this->heizungssteuerung['zeitProfile']['Volker'][0] = "06:00 bis 08:00 Uhr - Frühmorgens";
$this->heizungssteuerung['zeitProfile']['Volker'][1] = "08:00 bis 10:00 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Volker'][2] = "10:00 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Volker'][3] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Volker'] = array();
$this->heizungssteuerung['standardZuordnung']['Volker']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Volker']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Volker']['Werktags']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Werktags']["08:00 bis 10:00 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Werktags']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Wochenende']["06:00 bis 08:00 Uhr - Frühmorgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Wochenende']["08:00 bis 10:00 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Wochenende']["10:00 bis 18:30 Uhr - Tagsüber"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Volker']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - Wohnzimmer
$this->heizungssteuerung['zeitProfile']['Wohnzimmer'] = array();
$this->heizungssteuerung['zeitProfile']['Wohnzimmer'][0] = "06:00 bis 08:00 Uhr - Frühmorgens";
$this->heizungssteuerung['zeitProfile']['Wohnzimmer'][1] = "08:00 bis 10:00 Uhr - Morgens";
$this->heizungssteuerung['zeitProfile']['Wohnzimmer'][2] = "10:00 bis 18:30 Uhr - Tagsüber";
$this->heizungssteuerung['zeitProfile']['Wohnzimmer'][3] = "18:30 bis 23:59 Uhr - Abends";
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer'] = array();
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Werktags']["06:00 bis 08:00 Uhr - Frühmorgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Werktags']["08:00 bis 10:00 Uhr - Morgens"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Werktags']["10:00 bis 18:30 Uhr - Tagsüber"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Werktags']["18:30 bis 23:59 Uhr - Abends"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Wochenende']["06:00 bis 08:00 Uhr - Frühmorgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Wochenende']["08:00 bis 10:00 Uhr - Morgens"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Wochenende']["10:00 bis 18:30 Uhr - Tagsüber"] = TRUE;
$this->heizungssteuerung['standardZuordnung']['Wohnzimmer']['Wochenende']["18:30 bis 23:59 Uhr - Abends"] = TRUE;
// ### Raum Definitionen - NB Wohnhalle
$this->heizungssteuerung['zeitProfile']['Wohnhalle'] = array();
$this->heizungssteuerung['zeitProfile']['Wohnhalle'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Wohnhalle'] = array();
$this->heizungssteuerung['standardZuordnung']['Wohnhalle']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Wohnhalle']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Wohnhalle']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Wohnhalle']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = TRUE;
// ### Raum Definitionen - NB Flur/Garderobe/WC
$this->heizungssteuerung['zeitProfile']['Flur/Garderobe/WC'] = array();
$this->heizungssteuerung['zeitProfile']['Flur/Garderobe/WC'][0] = "00:01 bis 23:59 Uhr - Einheitlich";
$this->heizungssteuerung['standardZuordnung']['Flur/Garderobe/WC'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur/Garderobe/WC']['Werktags'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur/Garderobe/WC']['Wochenende'] = array();
$this->heizungssteuerung['standardZuordnung']['Flur/Garderobe/WC']['Werktags']["00:01 bis 23:59 Uhr - Einheitlich"] = FALSE;
$this->heizungssteuerung['standardZuordnung']['Flur/Garderobe/WC']['Wochenende']["00:01 bis 23:59 Uhr - Einheitlich"] = TRUE;
// ############################################################################################
// ###
// ### Raum-Steuerungstechniken definieren:
// ###
// ### KEINE Erweiterte Raum-Steuerungstechnik
// ### Das Raum-Thermostat wird einfach auf die Wunsch-Temperatur gesetzt
// ###
// ### SIMPLE-DELTA Raumsteuerungstechnik
// ### Da einige Systeme den Raum höher heizen als gewünscht, kann
// ### hier ein DELTA-Wert angegeben werden, der auf von allen
// ### Wunsch-Temperaturen abgezogen wird
// ###
// ### SOLL-IST-VERGLEICH Raumsteuerungstechnik
// ### Sollte das Thermostat nur Heizen Ja/Nein unterstützen
// ### oder die Thermostatssteuerung zu schlecht sein, kann mit
// ### dieser Steuerungstechnik die Soll Temperatur permanent mit
// ### der Ist-Temperatur verglichen und angepasst werden
// ### Solange die Wunsch-Temperatur plus die Delta-Temperatur im
// ### Raum noch nicht erreicht ist, wird diese als Soll-Temperatur gesetzt
// ### Wenn diese Temperatur erreicht ist, wird die Soll-Temperatur auf die
// ### Wunsch-Temperatur minus die Delta-Temperatur gesetzt.
// ### Dies gilt so lange, bis die Ist-Temperatur diese neue
// ### Soll-Temperatur unterschreitet
// ###
// ### Eventuelle DELTA-Werte aus SIMPLE-DELTA werden auch hier beachtet
// ###
// ### ÜBERSCHWAPPT-DELTA Raumstuéuerungstechik (aktuell noch NICHT implementiert)
// ### Hier der Raum erst auf die Wunsch-Temperatur minus den jeweiligen Delta Wert
// ### hochheizt. Dann wird die tatsächliche Wunsch-Temperatur gesetzt.
// ### Damit soll verhindert werden, dass die Raumtemperatur "überschwappt" bevor sich die
// ### Stellantriebe bei der Wunsch-Temperatur schließen
// ###
// ### Eventuelle DELTA-Werte aus SIMPLE-DELTA werden auch hier beachtet
// Welche Technik soll für welchen Raum benutzt werden?
// LAST CHANGE IN REVISION 3
$this->heizungssteuerung['raumSteuerungsTechnik'] = array();
$this->heizungssteuerung['raumSteuerungsTechnik']['Bad EG'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Bad Volker'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Constanze'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Esszimmer'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Flur 1.OG'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Flur EG'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Frank'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Gästezimmer'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Küche'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Tayfun'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Volker'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Wohnzimmer'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Wohnhalle'] = "KEINE";
$this->heizungssteuerung['raumSteuerungsTechnik']['Flur/Garderobe/WC'] = "KEINE";
// ### Test-Szenario CHANGE CHANGE CHANGE 3/3
//$this->heizungssteuerung['raumSteuerungsTechnik']['Bad EG'] = "SOLL-IST-VERGLEICH";
//$this->heizungssteuerung['raumSteuerungsTechnik']['Bad Volker'] = "SOLL-IST-VERGLEICH";
//$this->heizungssteuerung['raumSteuerungsTechnik']['Constanze'] = "SOLL-IST-VERGLEICH";
//$this->heizungssteuerung['raumSteuerungsTechnik']['Esszimmer'] = "SOLL-IST-VERGLEICH";
//$this->heizungssteuerung['raumSteuerungsTechnik']['Flur 1.OG'] = "SOLL-IST-VERGLEICH";
// Delta Werte, die beim "Hochheizen" eines Raumes vorerst von der Wunsch-Temperatur
// abgezogen werden, bis die Wunsch-Temperatur minus Delta erreicht wird
// SIMPLE-DELTA Werte definieren
// Delta Werte, die für die Soll-Temperatur des Raumes abgezogen wird
// LAST CHANGE IN REVISION 2
$this->heizungssteuerung['simpleDeltaTemperatur'] = array();
$this->heizungssteuerung['simpleDeltaTemperatur']['Bad EG'] = 0.5;
$this->heizungssteuerung['simpleDeltaTemperatur']['Bad Volker'] = 0.5;
$this->heizungssteuerung['simpleDeltaTemperatur']['Constanze'] = 0.5;
$this->heizungssteuerung['simpleDeltaTemperatur']['Esszimmer'] = 0.5;
$this->heizungssteuerung['simpleDeltaTemperatur']['Flur 1.OG'] = 0.5;
// ÜBERSCHWAPP-DELTA Raum-Steuerungs-Definitionen
/*
// TODO: in config verschieben?
// Überschwappt-Abrechnungs-Delta
// ist die Abrechnungs-Wert in %,
// bei der der Raum auf die eigentliche Wunsch-Temperatur angehoben wird
// Beispiele:
// - Wunsch-Temperatur = 18°
// - DeltaWert: 2° ==> Anheiz-Temperatur == 16° (18 - 2)
//
// 0 bedeutet, dass bei einer IST-Temperatur von 18,0° (18° - 0,0° / 0% von 2°)
// die SOLL-Temperatur von 16° Anheizen auf 18° angehoben wird
// 0.25 bedeutet, dass bei einer IST-Temperatur von 17,5° (18° - 0,5° / 25% von 2°)
// die SOLL-Temperatur von 16° Anheizen auf 18° angehoben wird
// 1 bedeutet, dass bei einer IST-Temperatur von 16,0° (18° - 2,0° / 100% von 2°)
// die SOLL-Temperatur von 16° Anheizen auf 18° angehoben wird
$ueberschwapptDelta = 0.25;
==> für jeden Raum einzeln
*/
// ###
// ### END DEFINE Heizungssteuerung
// ###
// ##############################################################
// define other things
$this->diverses = array();
$this->diverses['newLine'] = "<br>
";
$this->diverses['newDebugLine'] = "
";
$this->diverses['HTMLDebugPlaceHolder'] = " ";
$this->diverses['color[black]'] = "#000000";
$this->diverses['color[green]'] = "#009900";
$this->diverses['color[red]'] = "#FF0000";
$this->diverses['color[winered]'] = "#990000";
$this->diverses['color[yellow]'] = "#FFFFCC";
}
public function getVersion() {
return $this->version;
}
public function getCreateHeizplanConfigConstantsArray() {
return $this->heizungssteuerung['createHeizplanConstants'];
}
public function getHeizungsKomponenten() {
return $this->heizungssteuerung['heizungsKomponenten'];
}
public function getWindowRootNodeForRoom($roomName) {
// returns Array, falls Fenster für den Raum existieren
// returns -1, falls keine Fenster existieren
if (isset($this->heizungssteuerung['rootNodesFenster'][$roomName])) {
return $this->heizungssteuerung['rootNodesFenster'][$roomName];
}
else {
return -1;
}
}
public function getRootNodeForDay($dayNumber) {
// 1 = Montag; 7 = Sonntag
return $this->heizungssteuerung['rootNodesHeizplan'][$dayNumber];
}
public function getObjectIDRaumHeizStatus($raumName) {
return $this->heizungssteuerung['heizStatiRaeume'][$raumName];
}
public function getReadRaumSollTemperaturObjectID($raumName) {
return $this->heizungssteuerung['readRaumSollTemeratur'][$raumName];
}
public function getRaumIstTemperatur($raumName) {
return GetValueFloat($this->heizungssteuerung['readRaumIstTemeratur'][$raumName]);
}
public function getRaumSteuerungsTechnik($raumName) {
return $this->heizungssteuerung['raumSteuerungsTechnik'][$raumName];
}
public function getSimpleDeltaTemperaturRaum($raumName) {
return $this->heizungssteuerung['simpleDeltaTemperatur'][$raumName];
}
public function getWriteRaumSollTemperaturObjectID($raumName) {
return $this->heizungssteuerung['writeRaumSollTemeratur'][$raumName];
}
public function getWunschTemperatur($raumName,$anwesenheit) {
$anwesenheitString = "";
if ($anwesenheit) {$anwesenheitString = "Anwesend";}
else {$anwesenheitString = "Abwesend";}
$this->showEnvironmentDebugMessage('call getWunschTemperatur('. $raumName .','. $anwesenheitString .')' ,"config.class[getWunschTemperatur]",1);
$result = GetValueFloat($this->heizungssteuerung['temperaturProfile'][$raumName][$anwesenheitString]);
$this->showEnvironmentDebugMessage(' $result == '. $result ,"config.class[getWunschTemperatur]",1);
return $result;
}
public function getZeitProfile() {
return $this->heizungssteuerung['zeitProfile'];
}
public function getTemperaturProfile() {
return $this->heizungssteuerung['temperaturProfile'];
}
public function getStandardZuordnung() {
return $this->heizungssteuerung['standardZuordnung'];
}
public function getInitialAnwesendValue($raumName,$zeit,$actualWeekDay) {
// $this->showEnvironmentDebugMessage('call getInitialAnwesendValue('. $raumName .','. $anwesenheit .')' ,"config.class[getWunschTemperatur]",1);
// $this->configObject->showEnvironmentDebugMessage(' $result == '. $result ,"homeMaticKomponenten.class[getSollTemperatur]",1);
if ($actualWeekDay <= 5) {
return $this->heizungssteuerung['standardZuordnung'][$raumName]['Werktags'][$zeit];
}
else {
return $this->heizungssteuerung['standardZuordnung'][$raumName]['Wochenende'][$zeit];
}
}
public function checkAllObjectIDs () {
// Alle ObjectIDs für IPS Variablen durchgehen, ob dort auch Variablen existieren?
$this->checkObjectIDExists("script",$this->heizungssteuerung['createHeizplanConstants']['WebFrontChangeVariableScriptObjectID'],'$this->heizungssteuerung["createHeizplanConstants"]["WebFrontChangeVariableScriptObjectID"]');
//$this->checkObjectIDExists("variableProfile",$this->heizungssteuerung['createHeizplanConstants']['WebFrontVariableProfileName'],'$this->heizungssteuerung["createHeizplanConstants"]["WebFrontVariableProfileName"]');
$this->checkObjectIDExists("variableProfile",$this->heizungssteuerung['createHeizplanConstants']['iFrontVariableProfileName'],'$this->heizungssteuerung["createHeizplanConstants"]["iFrontVariableProfileName"]');
foreach ($this->heizungssteuerung['rootNodesHeizplan'] as $key => $value) {$this->checkObjectIDExists("category",$value,'$this->heizungssteuerung["rootNodesHeizplan"]['. $key ."]");}
foreach ($this->heizungssteuerung['readRaumSollTemeratur'] as $key => $value) {$this->checkObjectIDExists("variable",$value,'$this->heizungssteuerung["readRaumSollTemeratur"]['. $key ."]");}
// Wird die Raum-Temperatur auf ein Objeckt oder eine IPS Variable geschrieben (je nach Interface)?
$actualObjectType = "";
if ($this->getHeizungsKomponenten() == "HomeMaticKomponenten" ) {$actualObjectType = "object";}
if ($this->getHeizungsKomponenten() == "HomeMaticKomponentenHeizenJaNein") {$actualObjectType = "object";}
if ($this->getHeizungsKomponenten() == "EinsWireWagoKombinationsKomponenten" ) {$actualObjectType = "variable";}
foreach ($this->heizungssteuerung['writeRaumSollTemeratur'] as $key => $value) {$this->checkObjectIDExists($actualObjectType,$value,'$this->heizungssteuerung["writeRaumSollTemeratur"]['. $key ."]");}
$actualObjectType = "";
foreach ($this->heizungssteuerung['readRaumIstTemeratur'] as $key => $value) {$this->checkObjectIDExists("variable",$value,'$this->heizungssteuerung["readRaumIstTemeratur"]['. $key ."]");}
//$this->heizungssteuerung['heizStatiRaeume'] nur checken, wenn das Interface HomeMaticHeizenJaNein oder EinsWireWago ist
//für HomeMatic werden die Variablen nicht benötigt
if ($this->heizungssteuerung['heizungsKomponenten'] == "EinsWireWagoKombinationsKomponenten"
|| $this->heizungssteuerung['heizungsKomponenten'] == "HomeMaticKomponentenHeizenJaNein") {
$this->heizungssteuerung['heizungsKomponenten'] = "HomeMaticKomponenten";
foreach ($this->heizungssteuerung['heizStatiRaeume'] as $key => $value) {$this->checkObjectIDExists("variable",$value,'$this->heizungssteuerung["heizStatiRaeume"]['. $key ."]");}
}
foreach ($this->heizungssteuerung['rootNodesFenster'] as $key => $value) {
foreach ($this->heizungssteuerung['rootNodesFenster'][$key] as $key1 => $value1) {
$this->checkObjectIDExists("variable",$value1,'$this->heizungssteuerung["rootNodesFenster"]['. $key ."][". $key1 ."]");
}
}
foreach ($this->heizungssteuerung['temperaturProfile'] as $key => $value) {
foreach ($this->heizungssteuerung['temperaturProfile'][$key] as $key1 => $value1) {
$this->checkObjectIDExists("variable",$value1,'$this->heizungssteuerung["temperaturProfile"]['. $key ."][". $key1 ."]");
}
}
}
public function checkObjectIDExists($objectType,$objectID,$objectName) {
$this->showEnvironmentDebugMessage('check existens of Variable Number '. $objectID .' ('. $objectType .' / '. $objectName .')' ,"config.class[checkObjectIDExists]",1);
$objectExists = FALSE;
if ($objectType == "variable") {$objectExists = IPS_VariableExists($objectID);}
if ($objectType == "script") {$objectExists = IPS_ScriptExists($objectID);}
if ($objectType == "category") {$objectExists = IPS_CategoryExists($objectID);}
if ($objectType == "variableProfile") {$objectExists = IPS_VariableProfileExists($objectID);}
if ($objectType == "object") {$objectExists = IPS_ObjectExists($objectID);}
if (!$objectExists) {
if ($objectType == "") {
$this->showEnvironmentDebugMessage("FEHLER: Das in der config-Datei definierte Object mit der Nummer ". $objectID . " besitzt KEINEN Type ==> Abbruch des Scripts (". $objectName .")" ,"config.class[checkObjectIDExists]",1);
IPS_LogMessage("config.class","FEHLER: Das in der config-Datei definierte Object mit der Nummer ". $objectID . " besitzt KEINEN Type
==> Abbruch des Scripts (". $objectName .")");
}
else {
$this->showEnvironmentDebugMessage("FEHLER: Das in der config-Datei definierte Object mit der Nummer ". $objectID . " existiert NICHT ==> Abbruch des Scripts (". $objectType ." / ". $objectName .")" ,"config.class[checkObjectIDExists]",1);
IPS_LogMessage("config.class","FEHLER: Das in der config-Datei definierte Object mit der Nummer ". $objectID . " existiert NICHT
==> Abbruch des Scripts (". $objectType ." / ". $objectName .")");
}
die(-1);
}
return 1;
}
public function showEnvironmentDebugMessage ($message, $debugCategorie, $debugCount) {
// delegate call
$this->environmentDebugConfigObject->showEnvironmentDebugMessage($message, $debugCategorie, $debugCount);
}
public function showDebugMessage ($message) {
// Dummy Methode, da tatsaechliche Ausgaben ueber showEnvironmentDebugMessage ausgegeben werden sollten
// TODO: EXCEPTION werfen
}
}
//Fügen Sie hier ihren Skriptquellcode ein
?>
Die interfaces.heizungskomponenten sieht so aus:
<?
namespace de\IPSymcon\ernie;
/**********************************************
***
*** INTERFACE Heizungskomponenten
***
***/
interface HeizungsKomponenten {
// Heizungs Funktionen
public function __construct($varConfigObject);
public function __toString();
public function getSollTemperatur ($raumName);
public function setSollTemperatur ($raumName,$sollTemperatur,$grund);
public function setHeizenJaNein ($raumName,$heizenJaNein,$sollTemperatur,$grund);
public function getWindowStatus ($objectID);
// Fenster Stati-Funktionen
public function getOpendWindowValue();
public function getTitedWindowValue();
public function getClosedWindowValue();
// implementierte Heizungssteuerungen
public function isControlImplemented($controlName);
}
/***************************************************************
***
*** STANDARD IMPLEMENTATION OF INTERFACE Heizungskomponenten
***
***/
class StandardHeizungsKomponenten implements HeizungsKomponenten {
protected $configObject;
protected $implementedControls;
// Heizungs Funktionen
public function __construct($varConfigObject) {}
public function getSollTemperatur ($raumName) {}
public function setSollTemperatur ($raumName,$sollTemperatur,$grund) {}
public function setHeizenJaNein ($raumName,$heizenJaNein,$sollTemperatur,$grund){}
public function getWindowStatus ($objectID) {}
// Fenster Stati-Funktionen
public function getOpendWindowValue() {}
public function getTitedWindowValue() {}
public function getClosedWindowValue() {}
// implementierte Heizungssteuerungen
public function isControlImplemented($controlName) {
// echo '$this->implementedControls["SIMPLE-DELTA"] == ' . $this->implementedControls['SIMPLE-DELTA'] . "
";
// echo get_class($this) ."
";
return $this->implementedControls[$controlName];
}
public function __toString() {return get_class($this);}
}
/*******************************************************
***
*** IMPLEMENTATIONS OF INTERFACE Heizungskomponenten
***
***/
class HomeMaticKomponenten extends StandardHeizungsKomponenten {
public function __construct($varConfigObject) {
$this->configObject = $varConfigObject;
$this->implementedControls = array();
$this->implementedControls['KEINE'] = TRUE;
$this->implementedControls['SIMPLE-DELTA'] = TRUE;
$this->implementedControls['SOLL-IST-VERGLEICH'] = FALSE;
$this->implementedControls['ÜBERSCHWAPPT-DELTA'] = FALSE;
// echo 'construct: $this->implementedControls["SIMPLE-DELTA"] == ' . $this->implementedControls['SIMPLE-DELTA'] . "
";
$this->configObject->showEnvironmentDebugMessage("Object HomeMaticKomponenten erstellt" ,"HomeMaticKomponenten.class[__construct]",1);
}
public function getSollTemperatur ($raumName) {
$this->configObject->showEnvironmentDebugMessage('call getSollTemperatur("'. $raumName.'")' ,"HomeMaticKomponenten.class[getSollTemperatur]",1);
$setPointID = $this->configObject->getReadRaumSollTemperaturObjectID($raumName);
$this->configObject->showEnvironmentDebugMessage(' $setPointID == '. $setPointID ,"HomeMaticKomponenten.class[getSollTemperatur]",1);
$result = GetValueFloat($setPointID);
$this->configObject->showEnvironmentDebugMessage(' $result == '. $result ,"HomeMaticKomponenten.class[getSollTemperatur]",1);
return $result ;
}
public function setSollTemperatur ($raumName,$wunschTemperatur,$grund) {
$setPointID = $this->configObject->getWriteRaumSollTemperaturObjectID($raumName);
$result = HM_WriteValueFloat($setPointID, "SETPOINT", $wunschTemperatur);
if ($result) {
IPS_LogMessage("HomeMaticKomponenten.class","Temperatur für Heizkörper ". $raumName ." auf " . $wunschTemperatur . "° gesetzt; Grund: ". $grund);
}
else {
IPS_LogMessage("HomeMaticKomponenten.class","MISSLUNGENER Versuch, Temperatur für Heizkörper ". $raumName ." auf " . $wunschTemperatur . "° zu setzen");
}
return $result;
}
public function getWindowStatus ($objectID) {return GetValueInteger($objectID);}
// Fenster Stati-Funktionen für HomeMatic
public function getOpendWindowValue() {return 2;} // $FENSTER_OFFEN = 2;
public function getTitedWindowValue() {return 1;} // $FENSTER_GEKIPPT = 1;
public function getClosedWindowValue() {return 0;}// $FENSTER_GESCHLOSSEN = 0;
}
/********************************************************
***
*** IMPLEMENTATIONS OF INTERFACE Heizungskomponenten
***
***/
class EinsWireWagoKombinationsKomponenten extends StandardHeizungsKomponenten {
public function __construct($varConfigObject) {
$this->configObject = $varConfigObject;
$this->implementedControls['KEINE'] = FALSE;
$this->implementedControls['SIMPLE-DELTA'] = FALSE;
$this->implementedControls['SOLL-IST-VERGLEICH'] = TRUE;
$this->implementedControls['ÜBERSCHWAPPT-DELTA'] = FALSE;
$this->configObject->showEnvironmentDebugMessage("Object EinsWireWagoKomponenten erstellt" ,"EinsWireWagoKombinationsKomponenten.class[__construct]",1);
}
public function getSollTemperatur ($raumName) {
$this->configObject->showEnvironmentDebugMessage('call getSollTemperatur("'. $raumName.'")' ,"EinsWireWagoKombinationsKomponenten.class[getSollTemperatur]",1);
$setPointID = $this->configObject->getReadRaumSollTemperaturObjectID($raumName);
$this->configObject->showEnvironmentDebugMessage(' $setPointID == '. $setPointID ,"EinsWireWagoKombinationsKomponenten.class[getSollTemperatur]",1);
$result = GetValueFloat($setPointID);
$this->configObject->showEnvironmentDebugMessage(' $result == '. $result ,"EinsWireWagoKombinationsKomponenten.class[getSollTemperatur]",1);
return $result ;
}
public function setHeizenJaNein ($raumName,$heizenJaNein,$sollTemperatur,$grund){
$antriebsID = $this->configObject->getWriteRaumSollTemperaturObjectID($raumName);
$heizenJaNeinString = "ABKÜHLEN";
if ($heizenJaNein) {
$heizenJaNeinString = "HEIZEN";
}
// 1.) Stellabtrieb setzen
$result = SetValueBoolean($antriebsID, $heizenJaNein);
IPS_LogMessage("EinsWireWagoKombinationsKomponenten.class","Temperatur für Heizkörper ". $raumName ." auf ". $heizenJaNeinString." gesetzt; Grund: ". $grund);
// 2.) SOLL-Temperatur setzen
SetValueFloat($sollTemperaturObjectID,$sollTemperatur);
// 3.) Raum-Heizstatus-Variable Heizen/Abkuehlen setzen
$objectIDRaumHeizStatus = $this->configObject->getObjectIDRaumHeizStatus($raumName);
SetValueBoolean($objectIDRaumHeizStatus,$heizenJaNein);
return 0;
}
public function getWindowStatus ($objectID) {return GetValueInteger($objectID);}
// Fenster Stati-Funktionen für 1-Wire bzw. Wago
public function getOpendWindowValue() {return 2;} // $FENSTER_OFFEN = 2;
public function getTitedWindowValue() {return 1;} // $FENSTER_GEKIPPT = 1;
public function getClosedWindowValue() {return 0;}// $FENSTER_GESCHLOSSEN = 0;
}
/******************************************************
***
*** IMPLEMENTATIONS OF INTERFACE Heizungskomponenten
***
***/
class HomeMaticKomponentenHeizenJaNein extends StandardHeizungsKomponenten {
public function __construct($varConfigObject) {
$this->configObject = $varConfigObject;
$this->implementedControls = array();
$this->implementedControls['KEINE'] = FALSE;
$this->implementedControls['SIMPLE-DELTA'] = FALSE;
$this->implementedControls['SOLL-IST-VERGLEICH'] = TRUE;
$this->implementedControls['ÜBERSCHWAPPT-DELTA'] = FALSE;
// echo 'construct: $this->implementedControls["SIMPLE-DELTA"] == ' . $this->implementedControls['SIMPLE-DELTA'] . "
";
$this->configObject->showEnvironmentDebugMessage("Object HomeMaticKomponenten erstellt" ,"HomeMaticKomponentenHeizenJaNein.class[__construct]",1);
}
public function getSollTemperatur ($raumName) {
$this->configObject->showEnvironmentDebugMessage('call getSollTemperatur("'. $raumName.'")' ,"HomeMaticKomponentenHeizenJaNein.class[getSollTemperatur]",1);
$setPointID = $this->configObject->getReadRaumSollTemperaturObjectID($raumName);
$this->configObject->showEnvironmentDebugMessage(' $setPointID == '. $setPointID ,"HomeMaticKomponentenHeizenJaNein.class[getSollTemperatur]",1);
$result = GetValueFloat($setPointID);
$this->configObject->showEnvironmentDebugMessage(' $result == '. $result ,"HomeMaticKomponentenHeizenJaNein.class[getSollTemperatur]",1);
return $result ;
}
public function setHeizenJaNein ($raumName,$heizenJaNein,$sollTemperatur,$grund){
// public function setSollTemperatur ($raumName,$wunschTemperatur,$grund) {
// setPoint wird hier nur zum setzen der 6° bzw. 30° verwendet,
// die ReadRaumTemperatur ist eigentliche SOLL-Temperatur
//
$homeMaticSetPointObjectID = $this->configObject->getWriteRaumSollTemperaturObjectID($raumName);
$sollTemperaturObjectID = $this->configObject->getReadRaumSollTemperaturObjectID($raumName);
$homeMaticSollTemperatur = 6;
$heizenJaNeinString = "ABKÜHLEN";
if ($heizenJaNein) {
$homeMaticSollTemperatur = 30;
$heizenJaNeinString = "HEIZEN";
}
$this->configObject->showEnvironmentDebugMessage('$homeMaticSollTemperatur == '. $homeMaticSollTemperatur,"HomeMaticKomponentenHeizenJaNein.class[setHeizenJaNein]",9);
// 1.) HomeMatic auf 6° oder 30° setzen
$result = HM_WriteValueFloat($homeMaticSetPointObjectID, "SETPOINT",$homeMaticSollTemperatur);
if ($result) {
IPS_LogMessage("HomeMaticKomponentenHeizenJaNein.class","Temperatur für Heizkörper ". $raumName ." auf ". $heizenJaNeinString." gesetzt; Grund: ". $grund);
// 2.) SOLL-Temperatur setzen
SetValueFloat($sollTemperaturObjectID,$sollTemperatur);
// 3.) Raum-Heizstatus-Variable Heizen/Abkuehlen setzen
$objectIDRaumHeizStatus = $this->configObject->getObjectIDRaumHeizStatus($raumName);
SetValueBoolean($objectIDRaumHeizStatus,$heizenJaNein);
}
else {
IPS_LogMessage("HomeMaticKomponentenHeizenJaNein.class","MISSLUNGENER Versuch, Temperatur für Heizkörper ". $raumName ." auf ". $heizenJaNeinString ." zu setzen");
}
return $result;
}
public function getWindowStatus ($objectID) {return GetValue($objectID);}
// Fenster Stati-Funktionen für HomeMatic
// Fenster Stati-Funktionen fr HomeMatic
public function getOpendWindowValue() {return 1;} // $FENSTER_OFFEN = 1;
public function getClosedWindowValue() {return 0;}// $FENSTER_GESCHLOSSEN = 0;
}
?>
Was ist noch falsch?
Gruß und danke für deine Geduld…