Hallo und Sorry,
hab auf Grund meiner Verzweiflung keine Details bekannt gegeben.
Ich hab folgendes Problem meine Heizung hat jetzt aktuell 150Watt verbraucht, in KW zeigt es aber 1,1 KW an oder
z.b. hab ich einen PowerMeter der am Hauswasserwerk angeschlossen ist, dieser Verbraucht keinen Strom da die Anlage bis zum Frühjahr still steht aktuell 0Watt verbrauch, in KW zeigt es 1KW verbrauch an,
Wo hab ich hier meinen Fehler eingebaut …
PowerControl_Custom
<?
/*
* This file is part of the IPSLibrary.
*
* The IPSLibrary is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The IPSLibrary is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
*/
/**@addtogroup ipspowercontrol_configuration
* @{
*
* Es gibt derzeit 2 Callback Methoden, diese ermöglichen es eigene Werte für
* die Visualisierung zu Berechnen.
* So ist es zum Beispiel möglich den Gesamtverbrauch zu berechnen oder den Verbrauch
* einzelner Gewerke herauszurechnen von denen man weiß, dass sie gerade in Betrieb sind.
*
* Funktionen:
* - function IPSPowerControl_CalculateValuesWatt()
* - function IPSPowerControl_CalculateValuesKWH()
*
* @file IPSPowerControl_Custom.inc.php
* @author Andreas Brauneis
* @version
* Version 2.50.1, 29.09.2012<br/>
*
* Callback Methoden für IPSPowerControl
*
*/
/**
* Diese Funktion wird zur Berechnung der "Watt" Verbrauchswerte aufgerufen
*
* Man kann hier ausgehend von den Sensor Werten noch zusätzliche Werte Berechnen und für die Visualisierung
* bereitstellen.
*
* Parameters:
* @param array $sensorList Liste mit Sensor Werten
* @param array $valueList Liste der zu berechnenden Werte
* @result array Liste der berechneten Visualisierungs Werte
*
*/
function IPSPowerControl_CalculateValuesWatt($sensorList, $valueList) {
$returnList[0] = $sensorList[0];
$returnList[1] = $sensorList[1];
$returnList[2] = $sensorList[2];
$returnList[3] = $sensorList[3];
$returnList[4] = $sensorList[4];
$returnList[5] = $sensorList[5];
$returnList[6] = $sensorList[6];
$returnList[7] = $sensorList[0] + $sensorList[1] + $sensorList[2] + $sensorList[9] + $sensorList[4];
$returnList[8] = $sensorList[8];
$returnList[9] = $sensorList[9];
$returnList[10] = $sensorList[10];
$returnList[11] = $sensorList[11];
$returnList[12] = $sensorList[12];
// Licht Esstisch werden mit 35 Watt im Durchschnitt berechnet
// if(GetValue(46754 /*[Hardware\Homematic\Licht\Wohngeschoss\Licht Esstisch\STATE]*/) == TRUE)
// {
// Steckdose ist an
// $returnList[8] = 35; // 35 Watt ist aktuell nur eine Schätzung
// } else {
// $returnList[8] = 0;
// }
// Fußbodenheizung werden mit 180 Watt im Durchschnitt berechnet
if(GetValue(50897 /*[Hardware\Homematic\Aktoren\5 Schaltaktor Bad\STATE]*/) == TRUE)
{
// Steckdose ist an
$returnList[9] = 180; // 180 Watt ist aktuell nur eine Schätzung
} else {
$returnList[9] = 0;
}
// Entfeuchter werden mit 180 Watt im Durchschnitt berechnet
if(GetValue(31789 /*[Hardware\Homematic\Aktoren\Aktor Garage\Entfeuchter\STATE]*/) == TRUE)
{
// Steckdose ist an
$returnList[10] = 180; // 180 Watt ist aktuell nur eine Schätzung
} else {
$returnList[10] = 0;
}
// Pooltechnik werden mit 750 Watt im Durchschnitt berechnet
if(GetValue(50662 /*[Hardware\Homematic\Aktoren\Aktor Pooltechnik\Pooltechnik\STATE]*/) == TRUE)
{
// Steckdose ist an
$returnList[11] = 750; // 180 Watt ist aktuell nur eine Schätzung
} else {
$returnList[11] = 0;
}
//Biotoptechnik werden mit 170 Watt im Durchschnitt berechnet
if(GetValue(53658 /*[Hardware\Homematic\Aktoren\Aktor Garage\Biotoppumpe\STATE]*/) == TRUE)
{
// Steckdose ist an
$returnList[12] = 170; // 180 Watt ist aktuell nur eine Schätzung
} else {
$returnList[12] = 0;
}
// Berechnung der KWH Werte für die spätere Verwendung
IPSPowerControl_Watt2KWH(0);
IPSPowerControl_Watt2KWH(1);
IPSPowerControl_Watt2KWH(2);
IPSPowerControl_Watt2KWH(3);
IPSPowerControl_Watt2KWH(5);
IPSPowerControl_Watt2KWH(6);
IPSPowerControl_AddCalculatedValue('TOTAL', $returnList[7]/1000/60);
IPSPowerControl_AddCalculatedValue('Pooltechnik', $returnList[11]/1000/60);
IPSPowerControl_AddCalculatedValue('Licht', $returnList[8]/1000/60);
IPSPowerControl_AddCalculatedValue('Fußbodenheizung', $returnList[9]/1000/60);
IPSPowerControl_AddCalculatedValue('Entfeuchter', $returnList[10]/1000/60);
IPSPowerControl_AddCalculatedValue('Biotoptechnik', $returnList[12]/1000/60);
return $returnList;
}
function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
$returnList[0] = IPSPowerControl_GetCalculatedKWH (0);
$returnList[1] = IPSPowerControl_GetCalculatedKWH (1);
$returnList[2] = IPSPowerControl_GetCalculatedKWH (2);
$returnList[3] = IPSPowerControl_GetCalculatedKWH (3);
$returnList[4] = IPSPowerControl_GetCalculatedKWH (4);
$returnList[5] = IPSPowerControl_GetCalculatedKWH (5);
$returnList[6] = IPSPowerControl_GetCalculatedKWH (6);
$returnList[9] = IPSPowerControl_GetCalculatedKWH (9);
$returnList[7] = IPSPowerControl_GetCalculatedValue('TOTAL');
// Anlagen
$returnList[11] = IPSPowerControl_GetCalculatedValue('Pooltechnik');
$returnList[8] = IPSPowerControl_GetCalculatedValue('Licht');
$returnList[9] = IPSPowerControl_GetCalculatedValue('Fußbodenheizung');
$returnList[10] = IPSPowerControl_GetCalculatedValue('Entfeuchter');
$returnList[12] = IPSPowerControl_GetCalculatedValue('Biotoptechnik');
return $returnList;
// Calculate Light
IPSUtils_Include ("IPSLight.inc.php", "IPSLibrary::app::modules::IPSLight");
$lightManager = new IPSLight_Manager();
$lightL1 = $lightManager->GetPowerConsumption('L1');
$lightL2 = $lightManager->GetPowerConsumption('L2');
$lightL3 = $lightManager->GetPowerConsumption('L3');
$lightL4 = $lightManager->GetPowerConsumption('L4');
$lightL5 = $lightManager->GetPowerConsumption('L5');
$lightL6 = $lightManager->GetPowerConsumption('L6');
$lightL7 = $lightManager->GetPowerConsumption('L7');
$lightL8 = $lightManager->GetPowerConsumption('L8');
$lightL9 = $lightManager->GetPowerConsumption('L9');
$lightL10 = $lightManager->GetPowerConsumption('10');
$lightL11 = $lightManager->GetPowerConsumption('L11');
$lightL12 = $lightManager->GetPowerConsumption('L12');
$lightL13 = $lightManager->GetPowerConsumption('L13');
$lightL14 = $lightManager->GetPowerConsumption('L14');
$lightL15 = $lightManager->GetPowerConsumption('L15');
$lightL16 = $lightManager->GetPowerConsumption('L16');
$lightL17 = $lightManager->GetPowerConsumption('L17');
$lightL18 = $lightManager->GetPowerConsumption('L18');
$lightL19 = $lightManager->GetPowerConsumption('L19');
$lightL20 = $lightManager->GetPowerConsumption('L20');
$lightL21 = $lightManager->GetPowerConsumption('L21');
$lightL22 = $lightManager->GetPowerConsumption('L22');
$lightL23 = $lightManager->GetPowerConsumption('L23');
$lightL24 = $lightManager->GetPowerConsumption('L24');
$lightL25 = $lightManager->GetPowerConsumption('L25');
$lightL26 = $lightManager->GetPowerConsumption('L26');
$light[8] = $lightL1 + $lightL2 + $lightL3 + $lightL4 + $lightL5 + $lightL6 + $lightL7 + $lightL8 + $lightL9 + $lightL10 + $lightL11 + $lightL12 + $lightL13 + $lightL14 + $lightL15 + $lightL16 + $lightL17 + $lightL18 + $lightL19 + $lightL20 + $lightL21 + $lightL22 + $lightL23 + $lightL24 + $lightL25 + $lightL26;
}
/**
* Diese Funktion wird zur Berechnung der Verbrauchswerte in KWH aufgerufen
*
* Man kann hier ausgehend von den Sensor Werten noch zusätzliche Werte Berechnen und für die Visualisierung
* bereitstellen.
*
* Parameters:
* @param array $sensorList Liste mit Sensor Werten
* @param array $valueList Liste der zu berechnenden Werte
* @result array Liste der berechneten Visualisierungs Werte
*
*/
// function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
// $returnList = $valueList;
// foreach ($sensorList as $idx=>$value) {
// $returnList[$idx] = $value;
// }
// return $returnList;
//}
/** @}*/
?>
IPSPowerControl_Configuration
<?
/*
* This file is part of the IPSLibrary.
*
* The IPSLibrary is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The IPSLibrary is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
*/
/**@defgroup ipspowercontrol_configuration IPSPowerControl Konfiguration
* @ingroup ipspowercontrol
* @{
*
* @file IPSPowerControl_Configuration.inc.php
* @author Andreas Brauneis
* @version
* Version 2.50.1, 29.09.2012<br/>
*
* Konfigurations File für IPSPowerControl
*
*/
/**
*
* Defintion der Mess Sensoren
*
* Die Konfiguration erfolgt in Form eines Arrays, für jeden Sensor wird ein Eintrag im Array erzeugt.
*
* IPSPC_PROPERTY_NAME - Name des Sensors
*
* IPSPC_PROPERTY_VARWATT - Variable ID die zum Lesen der aktuellen "Watt" Werte verwendet werden soll
*
* IPSPC_PROPERTY_VARKWH - Variable ID die zum Lesen der aktuellen "kWh" Werte verwendet werden soll
*
* IPSPC_PROPERTY_VARM3 - Variable ID die zum Lesen der aktuellen Gas bzw. Wasser Werte verwendet werden soll
*
* Eine ausführliche Beispielliste findet sich auch im Example Ordner
*
* Beispiel:
* @code
function IPSPowerControl_GetSensorConfiguration() {
return array(
0 => array(IPSPC_PROPERTY_NAME => 'L1',
IPSPC_PROPERTY_VARWATT => 32902,
IPSPC_PROPERTY_VARKWH => 40061,
),
1 => array(IPSPC_PROPERTY_NAME => 'L2',
IPSPC_PROPERTY_VARWATT => 44599,
IPSPC_PROPERTY_VARKWH => 41795,
),
2 => array(IPSPC_PROPERTY_NAME => 'L3',
IPSPC_PROPERTY_VARWATT => 26373,
IPSPC_PROPERTY_VARKWH => 00000,
),
3 => array(IPSPC_PROPERTY_NAME => 'Gas',
IPSPC_PROPERTY_VARM3 => 12345,
),
4 => array(IPSPC_PROPERTY_NAME => 'Wasser',
IPSPC_PROPERTY_VARM3 => 23456,
),
);
}
* @endcocde
*
* @return string Liefert Array mit den Daten der Mess Sensoren
*/
function IPSPowerControl_GetSensorConfiguration() {
return array(
0 => array(IPSPC_PROPERTY_NAME => 'Heizung Wohnzimmer',
IPSPC_PROPERTY_VARWATT => 28406 /*[Hardware\Homematic\Aktoren\1 Steckdose Wohnzimmer\POWERMETER\POWER]*/,
),
1 => array(IPSPC_PROPERTY_NAME => 'Heizung Gästezimmer',
IPSPC_PROPERTY_VARWATT => 22532 /*[Hardware\Homematic\Aktoren\2 Steckdose Gästezimmer\POWERMETER\POWER]*/,
),
2 => array(IPSPC_PROPERTY_NAME => 'Heizung Schuppen groß',
IPSPC_PROPERTY_VARWATT => 22748 /*[Hardware\Homematic\Aktoren\6 Steckdose großes Gerätehaus\POWERMETER\POWER]*/,
),
3 => array(IPSPC_PROPERTY_NAME => 'Hauswasserwerk',
IPSPC_PROPERTY_VARWATT => 12242 /*[Hardware\Homematic\Aktoren\HutschienenPowermeter Hauswasserwerk\POWERMETER\POWER]*/,
),
4 => array(IPSPC_PROPERTY_NAME => 'Klimaanlage',
IPSPC_PROPERTY_VARWATT => 39364 /*[Hardware\Homematic\Aktoren\HutschienenPowermeter Klimaanlage\POWERMETER\POWER]*/,
),
5 => array(IPSPC_PROPERTY_NAME => 'Warmwasser',
IPSPC_PROPERTY_VARWATT => 49741 /*[Hardware\Homematic\Aktoren\HutschienenPowermeter Warmwasser\POWERMETER\POWER]*/,
),
6 => array(IPSPC_PROPERTY_NAME => 'Waschmaschine',
IPSPC_PROPERTY_VARWATT => 42563 /*[Hardware\Homematic\Aktoren\HutschienenPowermeter Waschmaschine\POWERMETER\POWER]*/,
),
9 => array(IPSPC_PROPERTY_NAME => 'Fußbodenheizung',
IPSPC_PROPERTY_VARWATT => 35430 /*[Program\IPSLibrary\data\modules\IPSPowerControl\Values\ValueWatt_9]*/,
),
);
}
/**
*
* Defintion der Visualisierungs Werte
*
* Die Konfiguration erfolgt in Form eines Arrays, für jede Visualisierungs Variable wird ein Eintrag im Array erzeugt.
*
* IPSPC_PROPERTY_NAME - Name der Visualisierungs Variable
*
* IPSPC_PROPERTY_DISPLAY - Spezifiziert ob der Wert in der GUI visualisiert werden soll
*
* IPSPC_PROPERTY_VALUETYPE - Werte Type der Variable, mögliche Werte:
* IPSPC_VALUETYPE_TOTAL ... definiert die Variable als Summenwert über alle Stromkreise
* IPSPC_VALUETYPE_DETAIL ... definiert die Variable als Detailwert eines Stromkreises
* IPSPC_VALUETYPE_OTHER ... übrige Werte (weder Total noch Detail)
* IPSPC_VALUETYPE_WATER ... Werte eines Wasserverbrauchs Sensors
* IPSPC_VALUETYPE_GAS ... Werte eines Gas Sensors
*
* Eine ausführliche Beispielliste findet sich auch im Example Ordner
*
*
* Beispiel:
* @code
function IPSPowerControl_GetValueConfiguration() {
return array(
0 => array(IPSPC_PROPERTY_NAME => 'L1',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
1 => array(IPSPC_PROPERTY_NAME => 'L2',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
2 => array(IPSPC_PROPERTY_NAME => 'L3',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
3 => array(IPSPC_PROPERTY_NAME => 'Total',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_TOTAL,
),
4 => array(IPSPC_PROPERTY_NAME => 'Wasser',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_WATER,
),
5 => array(IPSPC_PROPERTY_NAME => 'Gas',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_GAS,
),
);
}
* @endcocde
*
* @return string Liefert Array mit den Daten der Visualisierungs Werte
*/
function IPSPowerControl_GetValueConfiguration() {
return array(
0 => array(IPSPC_PROPERTY_NAME => 'Heizung Wohnzimmer',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
1 => array(IPSPC_PROPERTY_NAME => 'Heizung Gästezimmer',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
2 => array(IPSPC_PROPERTY_NAME => 'Heizung Schuppen groß',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
3 => array(IPSPC_PROPERTY_NAME => 'Hauswasserwerk',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
4 => array(IPSPC_PROPERTY_NAME => 'Klimaanlage',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
5 => array(IPSPC_PROPERTY_NAME => 'Warmwasser',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
6 => array(IPSPC_PROPERTY_NAME => 'Waschmaschine',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
7 => array(IPSPC_PROPERTY_NAME => 'Total',
IPSPC_PROPERTY_DISPLAY => false,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_TOTAL,
),
8 => array(IPSPC_PROPERTY_NAME => 'Licht',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
9 => array(IPSPC_PROPERTY_NAME => 'Fußbodenheizung',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
10 => array(IPSPC_PROPERTY_NAME => 'Entfeuchter',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
11 => array(IPSPC_PROPERTY_NAME => 'Pooltechnik',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
12 => array(IPSPC_PROPERTY_NAME => 'Biotoptechnik',
IPSPC_PROPERTY_DISPLAY => true,
IPSPC_PROPERTY_VALUETYPE => IPSPC_VALUETYPE_DETAIL,
),
);
}
/** IPSPowerControl Stromkosten
*
* Definiert die Stromkosten in Cents per kWh, die für die Berechnung der Werte verwendet
* werden soll.
*
*/
define ("IPSPC_ELECTRICITYRATE", 20 /*Cents per KWh*/);
/** IPSPowerControl Wasserkosten
*
* Definiert die Kosten für Wasser in Euro pro m³, dieser Wert wird für die Umrechung in die
* Kosten bei der Generierung der Charts verwendet.
*
*/
define ("IPSPC_WATERRATE", 130 /*Cents per m³*/);
/** IPSPowerControl Umrechnung von Gas m³ in kWh
*
* Definiert den Faktor, der für die Umrechung von m³ in kWh verwendet werden soll (dieser Faktor
* ist von mehreren Dingen abhängig, eine genaue Angabe ist vom jeweiligen Gasversorger zu
* erfragen. Für eine grobe Annäherungsrechung kann ein Faktor von 10 verwendet werden).
*
*/
define ("IPSPC_GASRATE_KWH", 10.6 /*1m³ = kWh*/);
/** IPSPowerControl Gaskosten
*
* Definiert die Kosten für Gas in Cent pro m³, dieser Wert wird für die Umrechung in die
* Kosten bei der Generierung der Charts verwendet.
*
*/
define ("IPSPC_GASRATE_EURO", 7.6 /*Cents per KWh*/);
/** IPSPowerControl Aktualisierungs Interval Watt
*
* Definiert das Interval für die Aktualisierung der berechneten Watt Verbrauchswerte.
* Die Angabe erfolgt in Sekunden
*
*/
define ("IPSPC_REFRESHINTERVAL_WATT", 60);
/** IPSPowerControl Aktualisierungs Interval kWh
*
* Definiert das Interval für die Aktualisierung der berechneten kWh Verbrauchswerte.
* Die Angabe erfolgt in Minuten
*
*/
define ("IPSPC_REFRESHINTERVAL_KWH", 60);
/** @}*/
?>
Danke
Christian