IPSPowerControl

Moin,

wie gewünscht, die Config;

<?
	/*
	 * 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        => 'Gesamt',
			              IPSPC_PROPERTY_VARWATT     => 48585,
			              IPSPC_PROPERTY_VARKWH      => 31396,
							  ),
			1    => array(IPSPC_PROPERTY_NAME        => 'L1',
			              IPSPC_PROPERTY_VARWATT     => 26452,
			              IPSPC_PROPERTY_VARKWH      => 14960,
			          	  ),
			2    => array(IPSPC_PROPERTY_NAME        => 'L2',
			              IPSPC_PROPERTY_VARWATT     => 31023,
			              IPSPC_PROPERTY_VARKWH      => 15903,
			         	 ),
			3    => array(IPSPC_PROPERTY_NAME        => 'L3',
			              IPSPC_PROPERTY_VARWATT     => 10459,
			              IPSPC_PROPERTY_VARKWH      => 17794,
			              ),
			4    => array(IPSPC_PROPERTY_NAME        => 'Waschmaschine',
			              IPSPC_PROPERTY_VARWATT     => 43208,
			              IPSPC_PROPERTY_VARKWH      => 43208,
			              ),
			5    => array(IPSPC_PROPERTY_NAME        => 'Trockner',
			              IPSPC_PROPERTY_VARWATT     => 15786,
			              IPSPC_PROPERTY_VARKWH      => 15786,
			              ),
			6    => array(IPSPC_PROPERTY_NAME        => 'Technik',
			              IPSPC_PROPERTY_VARWATT     => 34869,
			              IPSPC_PROPERTY_VARKWH      => 34869,
			              ),
			);
	}
	

	/**
	 *
	 * 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        => 'Gesamt',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_TOTAL,
			              ),
			1    => array(IPSPC_PROPERTY_NAME        => 'L1',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_DETAIL,
			              ),
			2    => array(IPSPC_PROPERTY_NAME        => 'L2',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_DETAIL,
			              ),
			3    => array(IPSPC_PROPERTY_NAME        => 'L3',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_DETAIL,
			              ),
			4    => array(IPSPC_PROPERTY_NAME        => 'Waschmaschine',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_OTHER,
			              ),
			5    => array(IPSPC_PROPERTY_NAME        => 'Trockner',
			              IPSPC_PROPERTY_DISPLAY     => true,
			              IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_OTHER,
			              ),
			6    => array(IPSPC_PROPERTY_NAME        => 'Technik',
			              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",    23 /*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);

	/** @}*/
?>

Gruss aus EU,

Jörg

Hi Jörg!

Das sieht, soweit ich das erkenne, gut aus.

Die Variablen in IPSPowerControl werden erstellt? Werden diese Variablen auch mit Inhalt gefüllt?
Wenn ja, dann gibt es wohl „nur“ ein Problem mit den Highcharts.

Kannst du die Variablen im WebFront an/aus schalten? Also ob was angezeigt wird im Chart oder nicht.

Wird denn irgend ein Zeitraum/Chart/… im WebFront angezeigt?

Grüße,
Chris

Moin,

die kurze Antwort: ja, ja, nein :slight_smile:

Variablen werden erstellt, mit Werten gefüllt und sind auch im Archiv zu finden.
Dai Variablen können im Webfront ein- und ausgeschaltet werden, allerdings wird kein einziger Graph angezeigt. Im Frame steht immer nur „File not found“.

Vielleicht hat Brownson eine Idee…

GRuss aus EU,

Jörg

Moin!

Einen Versuch hätte ich noch für dich :slight_smile:

Leg doch bitte mal von Hand die Datei „/usr/share/symcon/webfront/user/IPSHighcharts/Highcharts/HighchartsCfgIPSPowerControl.tmp“ an und gib ALLEN Rechten auf die Datei mit „chmod 777 HighchartsCfgIPSPowerControl.tmp“.
Dann im WebFront nochmal was anklicken damit ein Chart erstellt wird. Eventuell fehlen IPSPowerControl/Highcharts nur irgendwie die Rechte da eine Datei anzulegen und mit Inhalt zu füllen?! Wenn die Datei aber schon existiert, dann füllt er sie vlt. mit Inhalt.

Grüße,
Chris

Moin Chris,

immer noch die Zeitumstellung oder schon die senile Bettflucht…?? :wink:

Gute Idee…! Werde das gleich heute Nachmittag mal ausprobieren.

Gruss aus EU,

Jörg

Ich bin zwar geistig und körperlich senile, aber der eigentliche Grund ist, dass ich, wie gesagt, jeden Tag um 6 Uhr aufstehe und gleich nach Frankfurt zur Arbeit muss gähn :smiley:

Falls das nichts bringt mit der Datei, dann kannst du ja allgemein mal die Rechte von Highcharts prüfen, vlt. fällt dir irgendwas auf oder du findest irgendwo im Log noch andere Zugriffsfehler… Ansonsten weiß ich dann auch erstmal nicht weiter :confused:

Grüße,
Chris

Aloha,

wie, erst um 6? Da sitze ich schon beim ersten Kaffee im Büro in Bonn… :slight_smile:

Werde mich da nachher mal daran begeben…

Moin,

das Anlegen von HighchartsCfgIPSPowerControl.tmp hat leider keinen Erfolg gebracht. Auch die Rechte auf 0777 setzen war nicht zielführend.

Ausser, dem „File not found“ habe ich keine Fehlermeldung gefunden.

:frowning:

Dann bin ich leider mit meinem Latein am Ende so aus der Ferne…

Hast du mal das IPSHighcharts selbst versucht? Kannst du dir damit Graphen erstellen? Ansonsten funktioniert das vlt. unter Raspberry noch nicht oder nicht richtig? Oder einfach nur mal das Highcharts neu einrichten und/oder darin irgendwas anpassen?

Kannst ja noch ein wenig probieren und dich mit deinen Erkenntnissen dann mal an Brownson wenden. Vielleicht hat er noch eine Idee.

Grüße,
Chris

Moin,

nach Montage der Türklingel und nach Reevaluierung des WAF bezüglich der Helligkeit der Beleuchtung des Klingeltasters hatte ich gestern nicht mehr die Musse, mich tiefer mit der Materie zu befassen…
Aber das WE steht ja vor der Türe…

Gruss aus EU,

Jörg

Moin,

so, hier nun mal was Neues:

nachdem ich die HighchartsCfgIPSPowerControl.tmp aus einer anderen Installation kopiert habe und den Pfad der Variable ChartHTML angepasst habe (<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‘>), bekomme ich nun jede Menge Fehler:

16:46:18 | 14973 | MESSAGE | VariableManager | Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 114

16:46:18 | 00000 | CUSTOM | PHP | Error: Notice: Undefined variable: AdditionalConfigData
Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 114
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
114 in webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php (call IPSLogger_PhpErrorHandler)

16:46:18 | 14973 | MESSAGE | VariableManager | Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 124

16:46:18 | 00000 | CUSTOM | PHP | Error: Notice: Undefined variable: AdditionalConfigData
Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 114
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
114 in webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php (call IPSLogger_PhpErrorHandler)

16:46:18 | 14973 | MESSAGE | VariableManager | Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 124</div>

16:46:18 | 00000 | CUSTOM | PHP | Error: Notice: Undefined variable: LangOptions
Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 124
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
124 in webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php (call IPSLogger_PhpErrorHandler)

16:46:18 | 14973 | MESSAGE | VariableManager | Error in Script /usr/share/symcon/webfront/user/IPSHighcharts

16:46:18 | 00000 | CUSTOM | PHP | Error: Notice: Undefined variable: JavaScriptConfigForHighchart
Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 127
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
127 in webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php (call IPSLogger_PhpErrorHandler)

16:46:18 | 00000 | CUSTOM | PHP | Error: Notice: Undefined variable: AdditionalConfigData
Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 135
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
135 in webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php (call IPSLogger_PhpErrorHandler)

16:46:18 | 14973 | DEBUG | VariableManager | Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 135</div>

16:46:18 | 00000 | CUSTOM | PHP | Error: Notice: Undefined variable: AdditionalConfigData
Error in Script /usr/share/symcon/webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php on Line 135
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
44 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
135 in webfront/user/IPSHighcharts/IPSTemplates/Highcharts.php (call IPSLogger_PhpErrorHandler)

Nu’ bin ich überfragt…

Gruss aus EU,

J.

Hat denn wirklich noch niemand IPSPowerControl auf einem Raspberry Pi2 ans Laufen bekommen?

Gruss,

J.

Hallo,

Ich habe IPS PowerControl installiert und die ID´s der HM Messsteckdosen in der Config eingetragen.
IPSHighchart hatte ich vorher installiert bekomme aber diese Fehlermeldung wenn ich zb. die Steckdosen Visualisierung über IPSPowerControl anschalten oder abschalten will.Es wird auch kein Graph der Steckdosen erstellt.
In der IPSHighcharts.inc.php wird in der Zeile 342 eine Fehler erzeugt mit illegal String offset. :frowning:

Vielleicht kann mir jemand einen Tip geben.

Danke und Gruß

Stephan

29-11-_2015_14-57-12.jpg

Hi Stephan!

Das sind eindeutig zu wenig Infos :wink:

Welche IPS Version hast du im Einsatz auf welchem System? Klingt nach IPS 4?
Und dann hat es vmtl. damit zu tun, was paresy bei den IPS 4 Infos geschrieben hat:
Kleinere Inkompatibilitäten bei IPS_GetVariable, IPS_GetScript, IPS_GetLink, IPS_GetMedia
…weitere Details in der Symcon Doku. Würde Anpassungen in den Skripten erfordern.

Grüße,
Chris

Hallo Chris,

Ja sorry hatte ich vergessen zu schreiben das ich IPS4.0 habe.
Das klingt ja nicht so gut, nun habe ich zwei Baustellen da das Script Heizung über Webfront auch nicht funktioniert.
Oh hätte ich mal kein Update durchgeführt.
Gibst eigentlich eine einfache Methode wieder zurück auf die 3.4 ?

Gruß

Stephan

Tja…was soll ich sagen. Bevor man auf eine komplett neue Version aktualisiert (die auch noch Beta) ist, sollte man VORHER lieber GENAU lesen, prüfen und testen… :rolleyes:

Vor allem, wenn man nicht selbst ein paar Zeilen in einem Skript ändern kann/will. Scheint ja weder beim Heizungs-Skript, noch hier, etwas „dramatisches“ zu sein…

Wenn du ein komplettes Backup von deinem alten IPS Verzeichnis hast, dann einfach das neue (4.0) wegverschieben und das alte (3.4) wieder hinkopieren :slight_smile:

Grüße,
Chris

Hi Chris,

So habe wieder auf 3.4 zurückgestellt und somit geht zumindestens IPSPowerControl mit den Highchart´s.
Nun schaue ich mir noch mal das Heizungsscript an wo es da hängt.

Danke

Stephan

Hallo Leute,

ich habe es geschafft IPSPowerControl auf einem Raspberry zum Laufen zu bringen.

Nun möchte ich gerne die Werte meines Gas Zählers anzeigen lassen. Dieser ist über einen S0-Zähler angebunden und ich muss den angezeigten Wert durch 100 teilen um auf Kubikmeter zu kommen.

Wenn ich es richtig verstanden habe muss ich hierfür die Funktion
„IPSPowerControl_Value2m3 ($sensorIdx, $factor=1, $correctNegativDifferences=false)“
verwenden.

Kann mir jemand verraten ob ich es in die Datei
„IPSPowerControl_Configuration“ oder in die Datei „IPSPowerControl_Custom“ einfügen muss und an welcher Stelle?

Gruß

Axel

könntest du uns vielleicht kurz beschreiben was du geändert hast damit es auf dem pi läuft?

Christian

Hallo Ferengi ,

ich bin nach folgender Anleitung vorgegangen:

https://www.symcon.de/forum/threads/27426-HighCharts-auf-einem-Raspberry

Weiterhin habe ich die Pfadangabe für die Variable „ChartHTML“ in user statt User geändert. Das „U“ habe ich also von groß auf klein geändert. Leider weiß ich zur Zeit nicht in welchem Skript in diese Anpassung durchgeführt habe.

Viel Erfolg!!!

Wenn Du Fragen hast melde Dich gerne wieder.

Gruß

Axel