IPSPowerControl

Hier noch die Anhänge dazu…

Hier verwendest Du vermutlich den falschen Index, Watt2KWH bezieht sich immer auf die Sensor Konfiguration


function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
      $returnList = $valueList;
      $returnList[1] = IPSPowerControl_Value2KWH(0, 1/75, true);
      $returnList[2] = IPSPowerControl_Value2KWH(1, 1/75, true);
      $returnList[3] = IPSPowerControl_Watt2KWH(2);
      $returnList[4] = IPSPowerControl_Watt2KWH(3);
      $returnList[0] = $returnList[1] + $returnList[2];

    return $returnList;
}

Die Funktion " IPSPowerControl_Watt" ist mir unbekannt, wenn nicht von Dir geschrieben, dann Fehler.
Ich würd mal sagen, Du brauchst die Sensor Werte hier einfach nur zuweisen (weil eh schon in Watt vorhanden)


function IPSPowerControl_CalculateValuesWatt($sensorList, $valueList) {
		// Berechnung der Watt Visualisierungs Werte
    $returnList[1] = IPSPowerControl_KWH2Watt(0, 1/75, true);
    $returnList[2] = IPSPowerControl_KWH2Watt(1, 1/75, true);
    $returnList[3] = $sensorList[2];
    $returnList[4] = $sensorList[3];
    $returnList[0] = $returnList[1] + $returnList[2];

    return $returnList;
}

Für die Korrektur der utopische Zahl gibt es einen WIKI Beitrag

@Daniel

Sollte eigentlich kein Problem sein, einfach in der Callback Deine PV gegenrechnen, eventuell meldet sich ja noch einer, der das in der Praxis schon gemacht hat.

Hallo Andreas habe die Configuration laut deiner Anweisung umgestellt… funktioniert auch soweit. Aber die ankommenden „WATT“ Werte werden im Bereich Watt angezeigt im Bereich „KWATT“ aber völlig falsch. woran kann das liegen?
Umgekehrt ist es genau so. ankommende „KWH“ korrekt, „Watt“ Anzeige falsch.

Eine Verständigungsfrage habe ich noch, Die Stromkreise , die ich links aktiviere werden aufgezeichnet, oder? Denn wenn ich klicke, bekomme ich immer das Gleiche Angezeigt:confused:

Hallo
Irgendwie komme ich mit dem Modul nicht klar.
Soweit ich das verstanden habe, ist die wichtigste konfiguration dieser Teil

function IPSPowerControl_GetSensorConfiguration() {
return array(
0 => array(IPSPC_PROPERTY_NAME => ‚L1‘,
IPSPC_PROPERTY_VARWATT => null,
IPSPC_PROPERTY_VARKWH => 25419,

Doch egal wie ich das konfiguriere es füllt nur mein error Log
Immer der Fehler IPSPowerControl_Manager.class.php on Line 547
Habe die Null wert unter Watt oder kwh eingegeben.
habe die für die Wete Intager oder float Datentypen verwendet. Ohne Erfolg.
weis nicht mehr wo ich den Fehler suchen soll.
Mein Zahler den ich Auslese liefert zum eine den Wert in Watt und zum anderen den Wert in kWh jeweils als Datentyp Float.
Meines verständnis ist ja bei IPSPC_PROPERTY_VARWATT und IPSPC_PROPERTY_VARKWH die ObjektID der Variable zuzuweisen, aber es funktioniert nich.
Wenn mir Jemand helfen kann, wäre ich sehr dankbar.

LG Markus

@pummanew

Bitte alle wesentlichen Teile von Config+Custom posten (ohne kommentare).
Wenn Dein Sensor beide Werte (KWH, Watt) liefert, dann trag sie auch in der Config ein!

@Henry1970

Momentan keine Idee mehr, sieht eigentlich alles in Ordnung aus

Hallo,

es wäre super, wenn man einfach die Sensoren von Verbrauchern und Erzeugern getrennt in der Config angeben könnte und die Werte anschließend je nach Auswahl im Webfront gegengerechnet werden können. Die Graphen könnnte man dann in einem oder mehreren Charts aufbereiten und visualisieren. Zur Zeit ist ja alles unter „Energieverbrauch“ verbucht und nicht getrennt (Energieverbrauch / Energieerzeugung).

Damit wäre das Script ideal für PV-Anlagen Eigentümer :slight_smile:

Gruß

Hallo Andreas
ich habe heute mal die IPSPowerControl_Configuration bezüglich der Abfragehäufigkeit für WATT auf 10sec geändert… und sofort ändert sich auch die Anzeige! hängt es damit zusammen? Hat evtl. noch jemand die Homematic Schaltaktoren mit Leistungsmessung in IPS PowerControl laufen?:confused:

Hallo Henry

Sind bei mir in Powercontrol drin und funktionieren… (HM-PW) aber ich nutze für die Konvertierung nicht die Funktion von Powercontrol sondern mache es per Script in eine andere KW Variable. Intervall für das Auslesen wie von dir beschrieben passt beziehungsweise kannst/musst den manchmal ändern. Der KW muss/sollte aber immer bei stündlich bleiben und den Watt, jop den kannst du auf tiefer setzen. Musst du aber nicht. Je tiefer der Intervall je genauer die Ausgabe das ist klar. Da du bei den HM ja eine Schwelle setzen kannst ab wann die einen Verbrauch melden (zbsp grosser 1w sende) würde ich den Intervall nicht zu tief setzen (macht deine DB voll mit immer den gleichen Werten) sondern du kannst zbsp wenn ein HM eine Änderung meldet den Intervall auf dem übernahmescript/Powercontrol per script tiefer setzen und danach wieder erhöhen. Da bei mir in ipspowercontrol auch andere Geräte wie Allnet3690 etc. eingelesen werden die max alle 15 Minuten ein Ergebnis senden (egal ob Änderung oder nicht die geben nicht mehr her) macht das aber zbsp bei mir auch nur begrenzt Sinn da der Intervall ja für das Auslesen/übernehmen aller Geräte gilt. Musst wissen was du willst, brauchst und was Sinn macht. Auch die Anzeige (at the end highcharts) (Dichte/Messpunkte pro Intervall) kriegt zu viele Werte gar nicht mehr sauber abgebildet, ich mache alle 15 Minuten bei den Watt eine Übernahme und alle h bei den KW. Findes übrigens super, dass wenn man das Modul updated ja sogar neu installiert die Zeiten auf den Scripttimern bleiben und nicht wieder überschrieben werden… :-))

Welche Objekt ID hat du verwendet. Die Watt oder die Watth? Wie oft wird abgefragt?

Gesendet von meinem Nexus 5 mit Tapatalk

Schau dir nochmals meinen vorherigen Beitrag an, hab den noch etwas erweitert und da sind deine Fragen beantwortet. Gruss

Hallo Leute, hallo Brownson,

habe heute dein Modul geladen. Ich habe einen IPS 868 EKM und zum Testen an den Input 4 einen Stromzähler angeschlossen.

Der hat 1000 Impulse für 1 kWh

Hier mal das Skript


<?

	function IPSPowerControl_GetSensorConfiguration() {
    return array(
      0    => array(IPSPC_PROPERTY_NAME        => 'Teichpumpen',
                    IPSPC_PROPERTY_VARWATT     => welche ID muss hier rein???,
                    IPSPC_PROPERTY_VARKWH      => null,
                    ),,
			);
	}
	
	function IPSPowerControl_GetValueConfiguration() {
    return array(
      0    => array(IPSPC_PROPERTY_NAME        => 'Teichpumpen',
                    IPSPC_PROPERTY_DISPLAY     => true,
                    IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_DETAIL,
                    ),

	
		);
	}


	define ("IPSPC_ELECTRICITYRATE",    25 /*Cents per KWh*/);


	define ("IPSPC_WATERRATE",    130 /*Cents per m³*/);


	define ("IPSPC_GASRATE_KWH",    10.6 /*1m³ = kWh*/);


	define ("IPSPC_GASRATE_EURO",    7.6 /*Cents per KWh*/);


	define ("IPSPC_REFRESHINTERVAL_WATT",   60);


	define ("IPSPC_REFRESHINTERVAL_KWH",   60);


?>



Würde sehr gerne den aktuellen Wattverbrauch angezeigt bekommen und natürlich auch den Verbrauch der letzten Tagen/Wochen etc. in kWh.

Dein HowTo ist für Einsteiger sehr kompliziert. Könntest du mir vielleicht helfen?

Hier noch die Custom


<?

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


	function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
		$returnList = $valueList;
		foreach ($sensorList as $idx=>$value) {
			$returnList[$idx] = $value;
		}
		return $returnList;
	}



?>


EKM868.jpg

Moin ,

ich habe selber das EKM , es liefert dir unter dem Wert Current , WATT . Ich lasse den Wert Counter in einem kleinen Script in kwh umrechnen und Speicher den in eine neue Variable , diese bekommt dann das IPSPowerControl.

Nicht vergessen nach Einstellungen wieder installieren , damit Änderungen übernommen werden .

Für den schnellen überblickt ist das voll ok wenns in die tiefe geht dann hab ich von Sascha nen schönes Script erworben, das mir genau zeigt was ich gerade verbrauche und ob der monatliche Abschlag noch passt:)

Hi Marcel,
kannst du mir das vielleicht genauer erklären?
Ich habe ja eine Counter und eine Current Variable.
Mir würde eigentlich eine momentane Watt Ausgabe im Webfront reichen. Und vielleicht eine Tageszusammenfassung in kWh.
Kannst mir dazu deine Skript vielleicht mal zeigen?

OK, ich muss mich jetzt auch mal anhängen. Ich hab seit gestern einen SDM630M über ModBus angeschlossen. Der liefert für jede Phase die Leistung in Watt und für die gesamt Leistung Watt und Verbrauch kWh. Was muss ich noch einstellen, damit ich die kWh für die einzelnen Phasen auch angezeigt bekomme? Ich dachte in dem Fall gar nichts. Oder hab ich das Prinziep doch noch nicht verstanden?

	function IPSPowerControl_GetSensorConfiguration() {
		return array(
            0    => array(IPSPC_PROPERTY_NAME        => 'L1',
                          IPSPC_PROPERTY_VARWATT     => 36271,
                          IPSPC_PROPERTY_VARKWH      => null,
                          ),
            1    => array(IPSPC_PROPERTY_NAME        => 'L2',
                          IPSPC_PROPERTY_VARWATT     => 39672,
                          IPSPC_PROPERTY_VARKWH      => null,
                          ),
            2    => array(IPSPC_PROPERTY_NAME        => 'L3',
                          IPSPC_PROPERTY_VARWATT     => 24372,
                          IPSPC_PROPERTY_VARKWH      => null,
                          ),
            3    => array(IPSPC_PROPERTY_NAME        => 'Gesamt',
                          IPSPC_PROPERTY_VARWATT     => 25200,
                          IPSPC_PROPERTY_VARKWH      => 12162,
                          ),
			);
	}

	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        => 'Gesamt',
                          IPSPC_PROPERTY_DISPLAY     => true,
                          IPSPC_PROPERTY_VALUETYPE   => IPSPC_VALUETYPE_TOTAL,
                          ),
		);
	}
	function IPSPowerControl_CalculateValuesWatt($sensorList, $valueList) {
		$returnList = $valueList;
		foreach ($sensorList as $idx=>$value) {
			$returnList[$idx] = $value;
		}
		return $returnList;
	}


	function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
		$returnList = $valueList;
		foreach ($sensorList as $idx=>$value) {
			$returnList[$idx] = $value;
		}
		return $returnList;
	}

Ach ja, das Thema 2. Array würde mich auch brennend interessieren denn als nächstes wird die Wärmepumpe eingebunden und die hat einen eigen Tarif.

So ich glaub ich hab es jetzt endlich gerafft :smiley: Ich muss natürlich die Leistung die jede Minute anliegt für die Verbrauchsberechnung summieren und das funktioniert jetzt!

Hallo,

könntest du von deiner Struktur nen Screenshot machen? Und von dem Configskript das auf die Variablen zurückgreift…

Ich hab auch lange rumprobiert und habs nicht hinbekommen…
Mein Youless Zähler liefert kWh Werte… Diese rechne ich in Watt um… beides schon eingehängt… aber das TEil will nicht (so wie ich :slight_smile: )…

Und mit einer 3 Woche alten Tochter :-)… fehlt dann auch noch die Zeit sich das näher anzuschauen…

Ja klar. Wobei ich mir im Moment nicht mehr so ganz sicher bin ob die Werte stimmen, die errechneten kWh Werte scheinen mir deutlich zu hoch zu sein. Aber hier mal das Prinzip:

Die Konfiguration steht weiter oben. Ich bekomme Watt Werte und muss die in kWh umrechnen. Also hab ich im Skript „IPSPowerControl_Custom“ folgendes geändert:

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


	function IPSPowerControl_CalculateValuesKWH($sensorList, $valueList) {
		$returnList = $valueList;
		foreach ($sensorList as $idx=>$value) {
			$returnList[$idx] = $value;
		}
      $returnList[0] = IPSPowerControl_GetCalculatedKWH (0);
      $returnList[1] = IPSPowerControl_GetCalculatedKWH (1);
      $returnList[2] = IPSPowerControl_GetCalculatedKWH (2);

		return $returnList;

Somit rechnet er für die Array Einträge 0-3 in der Config pro Minute die Watt Werte zu kWh Werten um und gibt diese dann wieder aus. Er legt dazu im Custom Ordner des Data Zweiges die benötigten Hilfsvariablen selbständig an und loggt diese.

Du musst nur nach dem Konfigurieren der Arrays das Modul über die Oberfläche noch mal installieren, damit er die Änderungen mit bekommt.

Leider ist die Anleitung insgesamt etwas dünn gehalten. Ich hab da auch ewig gesucht und rum probiert.

@ Brownson:
könntest Du in einer Stillen Stunde mal über mein Skript drüber schauen und mir sagen warum die Werte so hoch sind?

Super vielen Dank…

Ich muss mich revidieren, mein Youless Zähler gibt mir den aktuellen WATT Verbrauch aus… den hatte ich bisher in kWh umgerechnet… In diesem Fall, kann ich dein Skript eins zu eins übernehmen…

Die passende VariablenID des Youless Wertes anzapfen… dann sollte es funktionieren…
Bin gespannt… Mal schauen ob heute nacht mal zuhause mal Luft dafür ist:D

Ich bekomme in der mobilen APP den chart nicht angezeigt. Ist das so gewollt?

Gesendet von meinem Nexus 5 mit Tapatalk