IPSPowerControl

Hi Michael, bitte nimm die PHP-Tags und nicht die QUOTE, sieht besser aus für PHP-Code :slight_smile:

Grüße,
Chris

Geändert… Ich wünschte, ich bekäme so schnell ne Antwort auf mein EKM-Problem…

Hi,

wollte heute Power Control in Betrieb nehmen. Hat soweit auch alles geklapt. Konfig steht, Graphen werden angezeigt unter Visualiziation… Allerdings kommt ein Fehler im Installation-Wizard. Habe Webfront ID entsprechend eingetragen usw. und dann kommt folgendes:

Error: Warning: Cannot auto-convert to String from Variant. Error: Could not convert variant of type (Null) into type (String)
Error in Script D:\IPS\IP-Symcon\scripts\IPSLibrary\app\modules\IPSModuleManagerGUI\IPSModuleManagerGUI.inc.php on Line 46

Habe ich evtl. einen Fehler in meiner PowerControl-Konfig?

Alle module sind auf dem aktuellsten Stand…

Grüße

Ich habe das Modul gerade entdeckt. Allerdings habe ich eine Frage die ich nirgends beantwortet finde: Kann ich damit auch den Verbrauch fester Verbraucher erfassen?

Beispiel:
Ich habe einen Wärmespeicher mit E-Heizstab. Der hat eine Leistung von 4 kW. Wenn ich ihn für eine halbe Stunde einschalte, weiß ich, dass ich 2 kWh verbraucht habe.

Kann man mit diesem Modul auch den Verbrauch anhand der Einschaltzeiten erfassen?

@Uhlhorn

Das müsste eigentlich gehen. Das Skript greift auf von Dir definierte Werte (in kWh oder W) zurück. Man muss angeben, wo das Skript sich die Werte herholt.

Allerdings müsstest Du daür sorgen, dass dort die richtigen Werte stehen, also ein Skript schreiben, dass diese Werte gemäss Zeit berrechnet.

Ich würde eher dazu raten, einen Drehstromzähler mit S0 dem Heizstab vorzuschalten und dann die Werte so zuermitteln.

Gruss
MikeLima aka Michael

@MikeLima: Nachdem ich hier keine Antwort fand, habe ich zu dem Thema einen neuen Thread aufgemacht, und dort wurde mir geholfen:
IP-Symcon Community Forum

Hallo,

ich benutze das Power Control mit dem HM EM TX WM und den Ferrariszähler Sensor.

Das klappt soweit auch ganz gut. Die aktuelle Leustungswerte in Watt stimmen auch.

Über die ID 23247 werden die aktuellen Leistungsdaten in Watt abgefragt

Die KWH werte müssen ja berechnet werden.

Aber ich kann im WebFront nur die Watt werte ablesen die KWh Werte sind leer.

Ich hoffe ihr könnt mir da auf die Sprünge helfen.

Vielen Dank im voraus.


<?
	/*
	 * 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        => 'Stromzähler',
			              IPSPC_PROPERTY_VARWATT     => 23247,
			              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        => 'L1',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_OTHER,
			              ),
		);
	}

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

	/** @}*/
?>

   <?
    /*
     * 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;
        }
    
function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
        $returnList = $valueList;
        foreach ($sensorList as $idx=>$value) {
            $returnList[$idx] = $value;
        }
      $returnList[0] = IPSPowerControl_Value2KWH(0, 1/1000, true);
   
        return $returnList;

}
        

}

    /** @}*/




Hi,

kann mir keiner helfen?

Gruß Mike

Die Funktion zur Berechnung der KWH ist nicht richtig (eine Funktion in der Funktion, keine Rückgabewert) - versuchs mal so:


    function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
        $returnList = $valueList;
        $returnList[0] = IPSPowerControl_Value2KWH(0, 1/1000, true);
   
        return $returnList;
    }

Hallo Andreas,

danke für deine Hilfe

Ich bekomme folgende fehlermeldung wenn das Script den Khw wert abfragt

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\IPSLibrary\app\modules\IPSPowerControl\IPSPowerControl_Utils.inc.php on line 48
Write L1=0, Old=0, Diff=0

Sorry, falsche Funktion, Du benötigst die Funktion IPSPowerControl_Watt2KWH


    function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
        $returnList = $valueList;
        $returnList[0] = IPSPowerControl_Watt2KWH(0, 1/1000, true);
   
        return $returnList;
    }  

Hallo Andreas,

danke für den Tip. Jetzt werden auch die KHW Werte im Chart angezeigt, aber die Werte sind viel zu hoch.

Mein Homematic Zähler liefert bei jeder Umdrehung des Feraris Zählers den Aktuellen Verbrauch in Watt. Also wenn die Scheibe einmal durchgelaufen ist schickt er die aktuellen Daten an IPS.

Die Aktuellen Werte müssten doch durch 1000 geteilt werden. Somit hätte ich dann einen Verbrauch von 0,5 Kwh und nicht 500 Kwh.

Egal welche Werte ich in dieser Zeile (rot markiert) änder, die werte bleiben so hoch $returnList[0] = IPSPowerControl_Watt2KWH(0, 1/1000, true);

Ich hoffe Du kannst mir helfen. Ich habe keine ahnung von PHP leider.

    function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
        $returnList = $valueList;
        $returnList[0] = IPSPowerControl_Watt2KWH(0, 1/1000, true);
   
        return $returnList;
    }  

Hallo,

Ich habe mir einen Homematic Stromzähler gekauft: HM-ES-TX-WM
Kann ich dieses Modul zur Visualisieung vom Verbrauch nutzen? oder ist dieses nur für einzelne Steckdosen?
Wenn ich es benutzen kann, hat schon jemand erfahrung damit gemach?
Was genau müsste ich einstellen?

MFG

Guten Morgen,

nach der Installation von IPSPowerControl auf meinem Pi 2 stolperte ich über folgendes Problem:

die konfigurierten Variablen wurden aufgezeichnet, allerdings wird der Graph nicht angezeigt. Im Frame steht „File not found“.

Die Variable ChartHTML hat den Wert

<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>

Zwei Dinge fallen dabei auf:

[ol]
[li]der Mix aus Backslashes und Slashes und[/li][li]im Verzeichnis Highcharts fehlt die Datei HighchartsCfgIPSPowerControl.tmp[/li][/ol]
Ich bitte um Hilfe, wie ich unter IPSPowerControl auf dem Pi die Graphen angezeigt bekommen kann.

Der Thread von aluehmann war dabei nur insofern hilfreich, dass


// if ($variable['VariableValue']['ValueType'] != 3)
if ($variable['VariableType'] != 3)

in Check_ContentVariable geändert werden musste, damit die Installation überhaupt durchlief.

Gruss aus EU,

Jörg

Moin Jörg!

Bei mir kamen auch erst keine Graphen, aber nach etwas warten kamen dann welche. Das dauerte einige Minuten, bis die 1. Graphen kamen und dann nochmal einige Zeit, bis alle verfügbar waren.

Also lieber erstmal einen Moment warten, bevor du viel „rumbastelst“ und am Ende hätte es von Anfang an funktioniert :slight_smile:

Grüße,
Chris

Moin Chris,

offensichtlich auch noch jemand, der nicht schlafen kann :slight_smile:

Ich warte schon seit Freitag Abend darauf, dass das „File not found“ verschwindet… Ich denke, dass dies nun lange genug gewesen sein sollte… :slight_smile:

Auch habe ich PowerControl komplett deinstalliert und neu installiert mit dem gleichen Ergebnis.

Hatte es bei Dir denn „out of the box“ funktioniert?

Gruss,

Jörg

Joa, nicht schlafen können + arbeiten müssen :rolleyes: :smiley: Ich darf jeden Morgen um 6 Uhr aufstehen :eek:

Freitag ist lang genug her :smiley: Hab es auch noch nicht sooo lange im Einsatz und wenn ich mich richtig erinnere lief das ohne Änderungen in meinem IPS 3.4 unter Windows. Ich hab es nur ein paar Mal neu gemacht, weil die Sortierung der Variablen optisch nicht nach meinen Vorstellungen war und ich noch ein paar Wohnbereiche in „Gesamtvariablen“ gespeichert habe, aber ansonsten kann ich mich an keine Probleme erinnern.

Voraussetzung ist IPSHighcharts aus der IPSLibrary…aber das hast du ja bestimmt installiert?! :slight_smile: Finden sich sonst irgendwelche Meldungen/Fehler im Log? In der Config nur mal eine Test-Variable eingetragen und die passt auch so? Kannst ja mal die Config posten.

Grüße,
Chris

Yepp, die Winterzeit sorgte dafür, dass ich schon um 4 wach war und um 5 dann im Büro saß…

IPSHighcharts „as it is“ auf dem Pi installiert unter IPS4 installiert.

Es fand sich ein Fehler bei der Installation, aber dies hatte ich oben schon erwähnt…

// if ($variable['VariableValue']['ValueType'] != 3)
if ($variable['VariableType'] != 3)  

Das Slash/Backslash-Problem in der Variable ChartHTML hattest Du auch?

Configs kann ich erst morgen posten… Telekom hatte beim Grundstückskauf versichert, dass VDSL verfügbar sei… Nun sind wir stolzer Besitzer eines analogen Telefonanschlusses und LTE/3G ist auch Wunschdenken… Aber 9/2016 soll VDSL kommen. Warten wir es ab…!

Gruss aus dem Tal der Ahnungslosen,

Jörg

LOL :smiley: Ich bin zu Hause momentan auch nur mit LTE online, da die Telekom Mist gebaut hat :rolleyes:

An ein Slash-Backslash Problem kann ich mich nicht erinnern, aber ich verwende IPS auch unter Windows, da sind die Backslash ok :slight_smile:

Grüße,
Chris

Yepp… Telekom… Der Name kommt mir bekannt vor…

Ach ja, jetzt weiss ich’s: ich kann von daheim aus (fast) die Zentrale sehen… Naja, zumindest bildlich gesprochen…

Und trotzdem analoges Telefon… Toooooootal toll!

Aber vielleicht hat ja der Entwickler von IPSPowerControl eine Idee, woran es liegen kann…