Hi
merkwürdige Sache das mit dem Setup. Ich werd mal schauen, vieleicht liegts an meiner IPS_Installer. Die hab ich schon ewig nicht mehr upgedated.
Dann hätt ich da noch folgende Patches:
case "00D8": //eingeschaltet
// print "Eingeschaltet MAC".substr($buf,12,16);
$myCat = IPS_GetObjectIDByIdent(substr($buf,12,16), $idCatCircles);
SetValue(IPS_GetVariableIDByName ("State", $myCat),True);
// begin by bb
$ID_Watt_before_Off = GetValue(IPS_GetVariableIDByName('Watt_before_off',$myCat));
SetValue(IPS_GetVariableIDByName('Watt',$myCat),$ID_Watt_before_Off);
// end by bb
// Sofort Verbrauch abfragen
// PW_SendCommand(substr($buf,12,16));
break;
case "00DE": //ausgeschaltet
// print "Ausgeschaltet MAC".substr($buf,12,16);
$myCat = IPS_GetObjectIDByIdent(substr($buf,12,16), $idCatCircles);
SetValue(IPS_GetVariableIDByName ("State", $myCat),False);
// by bb
SetValue(IPS_GetVariableIDByName ("Watt", $myCat),0);
// Sofort Verbrauch abfragen
// PW_SendCommand(substr($buf,12,16));
break;
und
// Aktueller Verbrauch in Watt ermitteln
$value = hexdec($pulse)/8; ///8;
$out = (pow(($value+$offNoise),2)*$gainB)+(($value+$offNoise)*$gainA)+$offTotal;
$watt = (($out ) / 468.9385193)*1000;
$watt = round($watt,0);
SetValueFloat(CreateVariable("Watt", 2, $myCat, 0, "~Watt.3680", 0), $watt);
// begin by bb
If ($watt > 1) {
SetValueFloat(CreateVariable("Watt_before_off", 2, $myCat, 0,"", 0), $watt);
IPS_SetHidden(IPS_GetVariableIDByName ("Watt_before_off", $myCat),True);
// end by bb
};
legt eine Dummy Variable an welche beim schalten übers Webfront die Variable „Watt“ sofort updated.
Ist nicht wirklich wichtig, kommt aber optisch besser.
Wegen Gesamtverbrauch könnte es Sinn machen bei der aktuellen Pulseauswertung zu bleiben. Ich denke diese etwas aufzufriesieren dürfte leichter sein als mit der komplizierten PW internen Berechnung zu hantieren.
Ich stelle mir vor die Auswertung vom PW_Controller Script zu entkoppeln.
–> gut für die Laufzeit !
Das neue Script benützt dann fürs WF den jetztigen 1min Raster. - exakte Genauigkeit is da ja nicht so unbedingt wichtig.
Fürs Datenbanklogging gibts zb. einen 10min Raster welcher durch die längere Integrationszeit dann auch bessere Genauigkeit bringen sollte.
Siehe auch die Spec der Circles.
Da kann dann evtl. auch Tages/Monats/Jahres Auswertung und Kostenberechnung mit rein. Gleich wie in Andres 1Wire S0 Script.
Für Spezialfälle zb.- „Energieprofil der Waschmaschine“ erstellen" könnte man dann auch noch einen extrakurzen Raster bauen welcher permanent pollt aber dafür nur ein Gerät verarbeitet.
Das ganze dann noch mit exakten Timestamps verrechnet (Genauigkeit!!) und netten Highcharts sollte ganz gut kommen.
gruß
bb
– ich muß gleich noch ein Paket Circles bestellen. Das Zeug kommt echt gut.