Strom messen mit Owl Energiemonitor

OK das mit dem Batteriewechsel wußte ich noch nicht.

Hi kannst du Script bitte mal posten ?

Aber natürlich:

<?
$db = new sqlite3('C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\2SE\be.db');
$db_query = "SELECT * FROM energy_sensor where name='Waschmaschine'";
$results = $db->query($db_query);
while ($row = $results->fetchArray())
{
$wasch = $row['addr'];
}

setvalue (25549 /*[Labor\Systembereich\Waschmaschine\Sender ID]*/, $wasch);

$db_query = "SELECT * FROM energy_history where addr=".$wasch." order by year desc, month desc, day desc, hour desc, min desc Limit 1";
$results = $db->query($db_query);
while ($row = $results->fetchArray())
{
    SetValue(18543 /*[Labor\Systembereich\Waschmaschine\Verbrauch Waschmaschine]*/  , $row['ch1_kw_avg']*60);
}
?>

Man beachte, dass ich bei meiner Datenbank keinen Wert mit dem Namen ‚dt‘ habe, nach der ich sortieren könnte. Vermutlich ist dieser nur beim OWL+USB vorhanden, ich muss bei meiner Datenbank (mit dem OWL USB Connect) per Datum sortieren…

Ich habe mir die ausgelesene ID in die Variable 25549 hinein geschrieben, damit ich diese auf meinem iPhone visualisieren kann. Dieser Befehl:


setvalue (25549 /*[Labor\Systembereich\Waschmaschine\Sender ID]*/, $wasch);

ist also nicht zwingend nötig.

Danke dir.

Warum hast du du nicht den Wert dt ? Ich habe auch nur das USB Modul und 1 Transmitter und 1 Sensor ?

Machst du keine Protokollierung/ Langzeiterfassung ?

Weiter Vorne im Thread #109 siehst Du meine komplette Datenbank, die Spalte dt habe ich einfach nicht. Vielleicht haben wir unterschiedliche Softwareversionen?!?

Langzeiterfassung brauche ich bei einer Waschmaschine nicht, ich logge die Variable selbstper IPS, und wenn der Wert länger als 5 Minuten auf „0“ ist, dann gibt es eine Push Nachricht aufs Handy: „Die Waschmaschine ist fertig“…

HI ich habe mal mein Script überarbeitet.

Jetzt sind 3 Transmitter eingebunden, könnt Ihr mal schauen ob ich das so richtig programmiert habe :

<?
$db = new sqlite3('C:/ProgramData/2SE/be.db');

//********************************************************************************Zähler 1 Stock*******************************************************//

$db_query1 = "SELECT * FROM energy_sensor where name='ihome'";
$results1 = $db->query($db_query1);
while ($row1 = $results1->fetchArray())
{
$wasch1 = $row1['addr'];
}
$db_query1 = "SELECT * FROM energy_history where addr=".$wasch1." order by year desc, month desc, day desc, hour desc, min desc Limit 1";
$results1 = $db->query($db_query1);

while ($row1 = $results1->fetchArray())
{
    //var_dump($row);
    //echo $row['ghg'];
    SetValue(59002 /*[Stromzähler 1 Stock\Verbrauch (alle 2 Minuten)\Gesamtverbrauch in kW]*/ , GetValue(59002 /*[Stromzähler 1 Stock\Verbrauch (alle 2 Minuten)\Gesamtverbrauch in kW]*/)+$row1['ch1_kw_avg']/1000);
    SetValue(42260 /*[Stromzähler 1 Stock\Verbrauch (alle 2 Minuten)\Liveverbrauch in kWh]*/  , $row1['ch1_kw_avg']*60/1000);
    SetValue(57483 /*[Stromzähler 1 Stock\Verbrauch (alle 2 Minuten)\Live Stromverbrauch]*/  , $row1['ch1_amps_avg']*60);

SetValue(43547 /*[Stromzähler 1 Stock\History\Bisheriger Verbrauch von heute]*/ , GetValue(43547 /*[Stromzähler 1 Stock\History\Bisheriger Verbrauch von heute]*/)+$row1['ch1_kw_avg']/1000);
SetValue(30303 /*[Stromzähler 1 Stock\History\Verbrauch dieser Woche]*/  , GetValue(30303 /*[Stromzähler 1 Stock\History\Verbrauch dieser Woche]*/ )+$row1['ch1_kw_avg']/1000);
SetValue(24493 /*[Stromzähler 1 Stock\History\Verbrauch aktueller Monat]*/ , GetValue(24493 /*[Stromzähler 1 Stock\History\Verbrauch aktueller Monat]*/ )+$row1['ch1_kw_avg']/1000);


SetValue(51871 /*[Stromzähler 1 Stock\Verbrauch (alle 2 Minuten)\Co2 Belastung Live]*/   , $row1['ghg']);
SetValue(32317 /*[Stromzähler 1 Stock\History\Co2 Belastung Gesamt]*/  , GetValue(32317 /*[Stromzähler 1 Stock\History\Co2 Belastung Gesamt]*/)+$row1['ch1_kw_avg']/100000);

	 }
SetValue(25527 /*[Stromzähler 1 Stock\Kosten\Gesamtkosten]*/  , GetValue(59002 /*[Stromzähler 1 Stock\Verbrauch (alle 2 Minuten)\Gesamtverbrauch in kW]*/) * 0.238);



//********************************************************************************Zähler EG*******************************************************//

$db_query2 = "SELECT * FROM energy_sensor where name='Eltern'";
$results2 = $db->query($db_query2);
while ($row2 = $results2->fetchArray())
{
$wasch2 = $row2['addr'];
}
$db_query2 = "SELECT * FROM energy_history where addr=".$wasch2." order by year desc, month desc, day desc, hour desc, min desc Limit 1";
$results2 = $db->query($db_query2);
while ($row2 = $results2->fetchArray())
{
    //var_dump($row);
    //echo $row['ghg'];
    SetValue(38642 /*[Stromzähler EG\Verbrauch (alle 2 Minuten)\Gesamtverbrauch in KW]*/  , GetValue(38642 /*[Stromzähler EG\Verbrauch (alle 2 Minuten)\Gesamtverbrauch in KW]*/ )+$row2['ch1_kw_avg']/1000);
    SetValue(21611 /*[Stromzähler EG\Verbrauch (alle 2 Minuten)\Liveverbrauch in kWh]*/   , $row2['ch1_kw_avg']*60/1000);
    SetValue(14585 /*[Stromzähler EG\Verbrauch (alle 2 Minuten)\Live Stromverbrauch]*/  , $row2['ch1_amps_avg']*60);

SetValue(47820 /*[Stromzähler EG\History\Bisheriger Verbrauch von heute]*/  , GetValue(47820 /*[Stromzähler EG\History\Bisheriger Verbrauch von heute]*/ )+$row2['ch1_kw_avg']/1000);

SetValue(55257 /*[Stromzähler EG\History\Verbrauch des aktuellen Monats]*/  , GetValue(55257 /*[Stromzähler EG\History\Verbrauch des aktuellen Monats]*/  )+$row2['ch1_kw_avg']/1000);


SetValue(45713 /*[Stromzähler EG\Verbrauch (alle 2 Minuten)\Co2 Belastung Live]*/    , $row2['ghg']);


	 }
SetValue(27594 /*[Stromzähler EG\Kosten\Gesamtkosten]*/   , GetValue(38642 /*[Stromzähler EG\Verbrauch (alle 2 Minuten)\Gesamtverbrauch in KW]*/ ) * 0.238);

//********************************************************************************Zähler Test*******************************************************//

$db_query3 = "SELECT * FROM energy_sensor where name='test'";
$results3 = $db->query($db_query3);
while ($row3 = $results3->fetchArray())
{
$wasch3 = $row3['addr'];
}
$db_query3 = "SELECT * FROM energy_history where addr=".$wasch3." order by year desc, month desc, day desc, hour desc, min desc Limit 1";
$results3 = $db->query($db_query3);
while ($row = $results3->fetchArray())
{
    //var_dump($row);
    //echo $row['ghg'];

    SetValue(27597 /*[Stromzähler 1 Stock\Test-Modul\Live Gesamtverbrauch]*/  , $row3['ch1_kw_avg']*60/1000);
    SetValue(36826 /*[Stromzähler 1 Stock\Test-Modul\Live Stromverbrauch]*/  , $row3['ch1_amps_avg']*60);
 }


?>

Halo, ich betreibe seit einigen Tagen den OWL+USB. Wie sieht es bei euch mit der Genauigkeit aus? Ich habe eine Differenz von ca. +40% im Vergleich zum Stromzähler des Netzbetreibers. Spannung ist richtig eingestellt. Laut Meßgerät habe ich 230V im Haus. Wie sind bei Euch die Meßwerte? Kann es sein, dass mein Gerät einen Defekt aufweist? Was passiert, wenn die Funksignale eventuell mal „verschluckt“ werden.
Viele Grüße Tinus

Ich habe auch den Verdacht dass er zu viel anzeigt, eine 36W Neon Röhre wird mit 150W angezeigt. Ich bin aber noch nicht mit meiner Multimeter Zange hin gegangen…

Ich hab heute erst die Zählerstände eingetragen.
Ich werde das mal eine Woche beobachten.

Notfalls liesse es sich mit der einzutragenden Spannung justieren.

Hallo,
bei mir wird der Verbrauch viel zu hoch bei OWL gemessen.
Zählerstand Stromanbieter : 5455,1
Zählerstand : 6041,95

Denke ich muss die Spannung einstellen.

Gruß
Stefan

ich würde fast sagen das „Spannung“ einstellen nix (oder nicht viel) bringt: die schwankt teilwesie recht agil um mehrere Volt. Wer eine APC-USV hat kann sich das gern mal anschauen. Mit dieser Meßmethode wird man immer größere Abweichungen haben.

Nachdem man keine andere Einstellmöglichkeit bei der Software hat, ausser die Spannung, dann müssen wir leider die Spannungseinstellungen um z.B. 50% zurück stellen, wenn der ermittelte Wert z.B. 100% zu hoch ist… Natürlich könnte man auch die ausgelesenen Werte um die selbe %Zahl umrechnen, kommt aufs gleiche raus…

nur fängt das keine Spannungsschwankungen ab, weder kurzfristige noch langfristige. Das dürfte dann eher auf „Calibration by long Term try and error“ werden

So was, nennt man bei uns, Schätzeisenmesstechnik. :smiley:

Daher gefällt mir diesesSystem auch besser, da wird die Spannung über einen Transformator mitgemessen.

Wenn man den Quelltext selber anpassz können sogar die Spannnungen aller drei Phasen mit einbezogen werden.

Gruß,
Thorsten

Hi,

komisch ich habe mir mal ein Flunke Messgerät ausgeliehen und habe es mal mit dem OWL verglichen.

Also ich kann bei 1 Phase nur max 0,5% abweichung festellen wenn überhaupt.

Jedenfalls bei der Live Messung, auch Ampere wird richtig angezeigt.

Ich stelle nur Fest, das die Spannung nicht 230V bei mir ist, laut Flunke kommt bei mir nur 220-225V an, je nach dem wie stark der Verbraucher ist, komisch oder ?

Ich habe aber die Version ohne Display.

Hallo Ihr Owl’er,
ich bräuchte da mal nen Tipp: Ich habe den Owl USB Connect mit 3-Sensoren installiert - sozusagen das Starter-KIT.

Das Tool zeigt mir nach Installation auch schön die akutellen Verbräuche,
jedoch bleibt der Historische Wert unverändert. Wie gesagt: die Livedaten kommen in der Owl-Software und auch der DB an…

Somit bekomm ich auch in IPS keine aktuellen Daten(Danke für die Scripts !)
sondern nur diesen sich nicht ändernden historischen Wert.

Hat wer ne Idee ?? Läuft bei Euch die Software auch gleichzeitig mit IPS ? auf dem gleichen Rechner ?

Danke & a guads Neues !

Menno, ich komm hier einfach nicht weiter.

Im Owl-Tool passts, aber leider kommt nichts (ausser dem aller ersten Wert) in IPS an… Ideen ?

Herzlichen Dank für Eure Unterstützung !

Kann es sein das das Datum in den ersten einträgen der DB nicht passt?
Ich würde die db nochmal löschen und dann nochmal testen.

C:\Program Files\2SE\The OWL USB Connect 2>theowl_be

Usage: theowl_be [-r:  register service                    |
                  -u:  unregister service                  |
                  -d:  run in console window (debug)       |
                  -s:  start service                       |
                  -x:  open data folder                    |
                  -t:  [tariff_uid] test tariff time/cost  |
                  -k:  kill database (no undo - no warning)|
                  -kq: kill or archive database]

also das ding mit -k