IPSPowerControl

sieht bis jetzt ganz gut aus, danke

Hi,

ich hoffe ihr könnt mir weiterhelfen. Versuche mich jetzt schon seit ein paar Tagen daran IPSPowerCotrol auf dem Raspi zum Laufen zu bekommen.

Mittlerweile funktioniert das ganze prinzipiell auch (habe die Scripts, etc. laut den Anleitungen entsprechend angepasst), ich habe nur noch ein „kleines“ Problem, das ich einfach nicht gelöst bekomme.

Wenn ich den Wert der Variable ChartHTML in

"<iframe src=’./user/IPSHighcharts/IPSTemplates/Highcharts.php?CfgFile=/usr/share/symcon/webfront\user\IPSHighcharts\Highcharts\HighchartsCfgIPSPowerControl.tmp’ width=‚100%‘ height=‚416‘ frameborder=‚0‘ scrolling=‚no‘></iframe> "

user mit kleinem anstatt großem U

funktioniert das ganze wunderbar und ich bekomme die Graphen angezeigt. Wenn ich dann allerdings den Graphen umschalte (z.B. auf Details) wird der Wert der Variable neu befüllt (das User wieder mit großem U). Danach funktioniert das ganze dann verständlicherweise nicht mehr.

Kann mir jemand sagen, was ich abändern muss, damit die Variable ChartHTML konstant auf dem richtigen Wert bleibt?

Habe den Pfad in der HighchartsCommand.php schon richtig gesetzt und finde einfach nicht heraus, in welcher Datei das noch falsch stehen könnte.

Mach mal ein Update von IPSHighcharts, eventuell hab ich das grad gefixt …

Hast du!

Danke :slight_smile:

Hallo zusammen,

habe gestern mal dieses Modul unterstützt, ist wirklich richtig richtig cool. Vielen herzlichen Dank dafür Brownson!

Jetzt hätte ich allerdings noch eine Frage, in der Modulbeschreibung steht

Licht, anhand der IP-Symcon Steuerung weiß man welche Lichter in Betrieb sind und kann den Verbrauch berechnen (IPSLight unterstützt zum Beispiel diese Funktionalität)

Ich nutze IPSLight bereits und auch das ist Klasse. Man gibt in der IPSLight Config gibt man ja zum Schluss schon den
Stromkreis und die maximale Leistung des Verbrauchers an.

	function IPSLight_GetLightConfiguration() {
		return array(
		   'Schlafzimmer' =>	array('Schlafzimmer','Obergeschoss,Hauptschalter','Switch','IPSComponentSwitch_Homematic,15848','L1','12'),
		   'Freisitz' =>	array('Freisitz','Erdgeschoss,Hauptschalter','Dimmer','IPSComponentDimmer_ZW,38831','L2','32'),
	}

Leider ist mir jetzt nicht ganz klar was dann weiterhin passieren muss damit hier die entsprechenden Werte erfasst werden und ich diese dann in IPSPowerControl einbinden kann?

Kann mir hier vielleicht jemand helfen? Wäre wirklich nett. Danke!

Eine Frage noch, kann IPSLight auch einen Dimmwert berücksichtigen? Wenn also das Licht nur auf 50% läuft, ist es dann auch möglich das zu erfassen oder wird hier generell immer von der Maximalleistung ausgegangen?

Vielen Dank schon mal für Hilfe.

Grüße
Stephan

Berechnung der aktuellen Lichtleistung kannst Du zB so machen:


		// 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');
		$light   = $lightL1 + $lightL2 + $lightL3;

Aktueller Dimmereinstellung sollte bei der Berechnung der Lichtleistung bereits berücksichtigt werden:

Hallo Andreas,

vielen Dank für dein Beispiel.

Nur wie genau muss ich damit jetzt vorgehen? Kommt das in die IPSPowerControl_Configuration?

Werden die errechneten Werte dann in Variablen gespeichert und geloggt, damit man diese dann wieder in IPSPowerControl ausgeben kann?

Sorry für die vielen dummen Fragen :confused:

Grüße
Stephan

Hallo,

kann mir diesbezüglich vielleicht noch jemand weiterhelfen und kurz erklären was ich damit genau machen muss?

Vielen Dank!

    
// 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'); 
 $light   = $lightL1 + $lightL2 + $lightL3;  

Hallo Ihr,

jetzt mal wieder ich :o.

Also ich bin jetzt etwas voran gekommen, ganz zum Ziel komme ich aber noch nicht, leider!

Ich habe einen Z-Wave Dimmer in meinem Büro verbaut und hierfür möchte ich jetzt zu Beginn (später nehme ich die anderen Räume auch auf) den Stromverbrauch mit IPSPowerControl erfassen.

Habe das jetzt so verstanden, hab mir eine Variable angelegt in der mir der aktuelle Verbrauch in Watt der Beleuchtung im Büro angesezeigt wird.

In dem Skript steht folgendes:


<?
    // Calculate Light
   IPSUtils_Include ("IPSLight.inc.php", "IPSLibrary::app::modules::IPSLight");
       $lightManager = new IPSLight_Manager();
      $lightL1 = $lightManager->GetPowerConsumption('Freisitz');
      $light   = $lightL1;
      //echo $light;
      SetValueFloat(28676 /*[Räume\Erdgeschoss\Freisitz\Freisitz Licht Dimmer\Freisitz Licht Watt]*/, $light);
?>

Verstehe jetzt nicht warum die Werte in der Variable 22981 (28676_Watt2KWH) und Varibale 14874 (ValueWatt_1) nicht mit dem von IPSLight ermittelten Wattwert übereinstimmen der in Variable Freisitz Licht Watt oben im Screenshot zu sehen ist?
Die Variable 28676_Watt2KWH wird zwar alle 60 Sekunden aktualisiert aber der Wert wird nicht verändert.
Hab es wohl wieder verplant, oder?

Meine Konfiguration:


<?
    /*
     * 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      => 21487,
                          ),
            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        => 'Aquarium Beleuchtung',
                          IPSPC_PROPERTY_VARWATT     => 53913,
                          IPSPC_PROPERTY_VARKWH      => 13666,
                          ),
         1    => array(IPSPC_PROPERTY_NAME        => 'Freisitz Licht',
                       IPSPC_PROPERTY_VARWATT     => 28676,
                       IPSPC_PROPERTY_VARKWH      => null,
                       ),
            
    }
    


    /**
     *
     * 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        => 'Aquarium Beleuchtung',
                          IPSPC_PROPERTY_DISPLAY     => true,
                          IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_DETAIL,
                          ),
         1    => array(IPSPC_PROPERTY_NAME        => 'Freisitz Licht',
                       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",    24 /*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);


    /** @}*/
?>


Meine 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 = $valueList;
        foreach ($sensorList as $idx=>$value) {
            $returnList[$idx] = $value;
            $returnList[1] = IPSPowerControl_Watt2KWH(1, 1/1000, true);
        }
        return $returnList;
    }


    /** 
     * 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;
            $returnList[1] = IPSPowerControl_GetCalculatedKWH (1);
        }
        return $returnList;
    }


    /** @}*/


?>

Wäre super wenn mir jemand weiterhelfen könnte. Besten Dank!

Grüße
Stephan

Irgendwie peil ich es nicht.

Hier nochmal meine Datei, bei 24,2 Watt Leistung werden nach 60 Sekunden die 0,0008… KWh angezeigt, ist das nicht doppelt so viel wie es eigentlich sein sollte?
Wie gesagt ich bekomme es einfach nicht gebacken.

Bin ich das Thema generell richtig angegangen? Also mit der Variable in die ich mit Hilfe von Brownson´s Codeschnipsel die aktuelle Leistung von IPSLight auslese? Die befüllte Variable hat dann ja die aktuelle Leistung in Watt, die Variable habe ich wie man einen Post vorher sehen kann als die Wattvariable angegeben.
Die KWh würde ich mir eben gerne errechnen, nur bekomme ich es nicht hin :confused::(:frowning:

Vielleicht kann mir ja doch nochmal jemand helfen. Danke!


<?
    /*
     * 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 = $valueList;
        foreach ($sensorList as $idx=>$value) {
            $returnList[$idx] = $value;
             IPSPowerControl_Watt2KWH(1);
        }
        return $returnList;
    }

    /** 
     * 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;
            $returnList[1] = IPSPowerControl_GetCalculatedKWH (1);
        }
        return $returnList;
    }

    /** @}*/

?>

Edit:

So scheint es jetzt zu gehen, kann das sein? Also ich meine ist das richtig so oder falscher Weg und einfach irgendwie auf das richtige Ergebnis gekommen?


    function IPSPowerControl_CalculateValuesWatt($sensorList, $valueList) {
        $returnList = $valueList;
        foreach ($sensorList as $idx=>$value) {
            $returnList[$idx] = $value;
            $returnList[1] = $sensorList[1];
            IPSPowerControl_Watt2KWH(1, 0.5, true);
        }
        return $returnList;
    }

    /** 
     * 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;
            //$returnList[1] = IPSPowerControl_GetCalculatedKWH (1);
         //IPSPowerControl_Watt2KWH(1,1);
         $returnList[1] = IPSPowerControl_GetCalculatedKWH (1);
         
        }
        return $returnList;
    }

Grüße
Stephan

So, das ist jetzt der 6 oder 7. edit…
Ich habe mittlerweile alles selbst zum Laufen bekommen!

Supercoole Sache, ich verneige mich vor dem genialem Programmierer! Danke Brownson.

Allerdings weiß ich eine Sache noch nicht so ganz genau:

Ich habe kein IPSLight installiert, habe allerdings auch nur zwei Aktoren die nicht messen. (Also normale HM 1-Fach Aktoren).
Jetzt würde ich natürlich sehr gerne deren Verbrauch loggen bzw. erfassen.

Geht das nur mittels IPS-Light oder gibts auch ne „Quick ´n Dirty“ Lösung?

Gruß,
Matthias

Hallo,

versuche auf einem RPi2 IPSPowerControl ans laufen zu bekommen auf IPS4.0.
Strom scheint zu funktionieren, wollte noch einen weiteren Gasverbrauch mit aufnehmen.
Leider bekomme ich noch nicht mal auf der Linken Seite im Webfront den passenden Switch angezeigt.

Ich vermute mal einen Verständnisfehler meinerseits.

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      => 21487,
                          ),
            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        => 'Strom',
			              IPSPC_PROPERTY_VARWATT     => 37952,
			              IPSPC_PROPERTY_VARKWH      => 25375,
			              ),
         1    => array(IPSPC_PROPERTY_NAME        => 'Gas',
                       IPSPC_PROPERTY_VARM3       => 43744,
                      ),
			);
	}
	

	/**
	 *
	 * 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        => 'Strom',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_OTHER,
			              ),
         1    => array(IPSPC_PROPERTY_NAME        => 'Gas',
                       IPSPC_PROPERTY_DISPLAY     => true,
                       IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_GAS,
                       ),
		);
	}

	/** IPSPowerControl Stromkosten  
	 *
	 * Definiert die Stromkosten in Cents per kWh, die für die Berechnung der Werte verwendet
	 * werden soll.
	 *
	 */
	define ("IPSPC_ELECTRICITYRATE",    22.88 /*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",    4.8 /*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);

	/** @}*/
?>

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 = $valueList;
		foreach ($sensorList as $idx=>$value) {
			$returnList[$idx] = $value;
		}
		return $returnList;
	}

	/** 
	 * 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;
			$returnList[1] = IPSPowerControl_Value2M3(1, 1/1, true);
		}
		return $returnList;
	}

	/** @}*/

?>

Vielleicht kann mir einer einen Tipp geben?

Schönen Gruß

yodaeichen, kannst Du mir sagen, was Du im Skript geändert hast, um PowerControl auf IPS 4.0 zum Laufen zu bringen?

Danke Dir, Philipp

Hallo zusammen,

ich steh gerade etwas auf dem Schlauch. Das Anlegen der Variablen mit einzelnen Stromzählern funktioniert, jedoch verstehe ich nicht wie man die einzelnen Stromkreise anlegt. Wie entstehen die die Variablen nach 0, also SelectValue1 usw.

Danke für Eure Unterstützung.

Hallo!

ich hab es geschafft! mit meinen Nichtkenntnissen dieses Library zu installieren und es schaut glaub ich nicht so schlecht aus.
Wollte euch frage ob hier euch das mal Ansehen könnt, den ich bekomme z.b. keine Verbrauchszahlen in € ausgespuckt.

Vielen Dank!

IPSPowerControl_Configuration.inc.php

<?
	/*
	 * 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     => 32939 /*[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 Esstisch',
			              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,
						  ),
		);                
	}


	/** 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",   10);

	/** IPSPowerControl Aktualisierungs Interval kWh 
	 *
	 * Definiert das Interval für die Aktualisierung der berechneten kWh Verbrauchswerte.
	 * Die Angabe erfolgt in Minuten
	 *
	 */
	define ("IPSPC_REFRESHINTERVAL_KWH",   10);

	/** @}*/
?>

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.
	 */

	/**@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[9] = $sensorList[9];
        
  
        // 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; 
        		} 
        // Berechnung der KWH Werte für die spätere Verwendung 
        //IPSPowerControl_Watt2KWH(0,1); 
        //IPSPowerControl_Watt2KWH(1,1); 
        //IPSPowerControl_Watt2KWH(2,1); 
        IPSPowerControl_AddCalculatedValue('TOTAL', $returnList[7]/1000/60); 
        //IPSPowerControl_AddCalculatedValue('TECH',  $returnList[4]/1000/60); 
        IPSPowerControl_AddCalculatedValue('Licht Esstisch',    $returnList[8]/1000/60); 
		IPSPowerControl_AddCalculatedValue('Fußbodenheizung',    $returnList[9]/1000/60); 
		IPSPowerControl_AddCalculatedValue('Entfeuchter',    $returnList[10]/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[7] = IPSPowerControl_GetCalculatedValue('TOTAL'); 
        //$returnList[4] = IPSPowerControl_GetCalculatedValue('TECH'); 
        $returnList[8] = IPSPowerControl_GetCalculatedValue('Licht Esstisch'); 
		$returnList[9] = IPSPowerControl_GetCalculatedValue('Fußbodenheizung'); 
		$returnList[10] = IPSPowerControl_GetCalculatedValue('Entfeuchter');
        return $returnList; 
    }  

	/** 
	 * 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;
	//}

	/** @}*/

?>

An dieser Stelle möchte ich mich auch bei allen bedanken die ihre Skripten ins Forum gestellt haben, denn damit hatte ich Referenzbeispiele die mir sehr geholfen haben.

Danke!
Christian

PS: wie bekomme ich die Stromverbräuche der IPSLight in diese Übersicht?

Hallo nochmal,

ich hab jetzt gesehen, dass ich falsche Werte bekomme aufs Display … z.b. ein Gerät verbraucht ca1800Watt
lt Display hat es schon 4€ pro Stunde verbraucht und das stimmt nicht wenn ich pro KW ca. 18Cent zahle

IPSPowerControl Konfiguration

<?
	/*
	 * 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     => 32939 /*[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 Esstisch',
			              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",   10);

	/** IPSPowerControl Aktualisierungs Interval kWh 
	 *
	 * Definiert das Interval für die Aktualisierung der berechneten kWh Verbrauchswerte.
	 * Die Angabe erfolgt in Minuten
	 *
	 */
	define ("IPSPC_REFRESHINTERVAL_KWH",   10);

	/** @}*/
?>

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.
	 */

	/**@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,1); 
        IPSPowerControl_Watt2KWH(1,1); 
        IPSPowerControl_Watt2KWH(2,1); 
        IPSPowerControl_AddCalculatedValue('TOTAL', $returnList[7]/1000/60); 
        IPSPowerControl_AddCalculatedValue('Pooltechnik',  $returnList[11]/1000/60); 
        IPSPowerControl_AddCalculatedValue('Licht Esstisch',    $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 Esstisch'); 
		$returnList[9] = IPSPowerControl_GetCalculatedValue('Fußbodenheizung'); 
		$returnList[10] = IPSPowerControl_GetCalculatedValue('Entfeuchter');
		$returnList[12] = IPSPowerControl_GetCalculatedValue('Biotoptechnik');
        return $returnList; 
    }  

	/** 
	 * 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;
	//}

	/** @}*/

?>

Danke für Eure Hilfe

heul … hat niemand eine Lösung dafür ich stehe komplett an :banghead:

Hi,

Du hast das Interval für die Aktualisierung angepasst - prinzipiell kein Problem, allerdings musst Du dann auch die Berechnung in den Callbacks entsprechend anpassen, würde ich jetzt mal auf die Schnelle vermuten …


     define ("IPSPC_REFRESHINTERVAL_WATT",   10);

    define ("IPSPC_REFRESHINTERVAL_KWH",   10);
 

Hallo!

Danke für den Hinweis, hab die Intervall jetzt wieder zurück gestellt.
Ich glaub ich habe einen Fehler in der PowerControl da auch die € angaben nicht richtig Angezeigt werden … viel zu hoch :o(

lg
Christian

Hallo,

ich versuche mich gerade auch gerade in meinen ersten IPS-Schritten an IPSPowerControl. Ich habe über 30 Zählstellen im Haus und bin mir nicht sicher wie ich die am Besten mit „Total“ und „Detail“ darstellen soll, damit ich die Struktur der Zähleranordnung auch sinnvoll darstellen kann.

Ich habe mal beispielhaft die Grundstruktur meiner Zähleranordnung aufgezeichnet:

Kann mit eventuell mal jemand einen Tipp geben, wie ich das am besten - prinzipiell - in IPSPowerControl realisiere?

Danke und Grüße
cervicor