Strom messen mit Owl Energiemonitor

Das geht schon. RTS kannst auch noch probieren.

0.00194144 theowl_be.exe IOCTL_SERIAL_SET_RTS Silabser0 SUCCESS 0.00296800 theowl_be.exe IOCTL_SERIAL_SET_DTR Silabser0 SUCCESS

Gibt es irgendwo eine Auflistung aller COMPort befehle?

im script, com Steuerung + Leertaste.

Es kommt nur

©IDTCMV001

an…


COMPort_SetOpen(13263, true);
COMPort_SetBaudrate(13263, 250000);
COMPort_SetRTS(13263, true);
COM
COMPort_SetDTR(13263, true);

COMPort_SendText(13263, "Z");
COMPort_SendText(13263, " .");

habe ich ausgeführt, aber immer nur

©IDTCMV001

Wenn Du die Konfiguration über Script vornimmst, musst Du noch speichern.

IPS_ApplyChanges($comPortID);

Beispiel.

COMPort_SetPort($comPortID, 'COM5'); // ComNummer welche dem PC-Interface zugewiesen ist!
COMPort_SetBaudRate($comPortID, '19200');
COMPort_SetDataBits($comPortID, '8');
COMPort_SetStopBits($comPortID, '1');
COMPort_SetParity($comPortID, 'Even');
COMPort_SetOpen($comPortID, true);
IPS_ApplyChanges($comPortID);

Also über den Comport bekomme ich es nicht hin.
Andere Möglichkeiten wären also das DEBUG oder Direkt die Datenbank, was wahrscheinlich auch der eleganteste Weg wäre.

Also habe die sqlite3 dll ins ext verzeichniss kopiert, und siehe da:

<?

$db = new sqlite3("C:/ProgramData/2SE/be.db");
$results = $db->query('SELECT * FROM energy_history order by dt desc  Limit 1');
while ($row = $results->fetchArray())
{
    var_dump($row);
}
?>

Ausgabe:

array(30) {
  [0]=>
  int(2076738)
  ["addr"]=>
  int(2076738)
  [1]=>
  int(2012)
  ["year"]=>
  int(2012)
  [2]=>
  int(8)
  ["month"]=>
  int(8)
  [3]=>
  int(27)
  ["day"]=>
  int(27)
  [4]=>
  int(9)
  ["hour"]=>
  int(9)
  [5]=>
  int(53)
  ["min"]=>
  int(53)
  [6]=>
  float(0.0175)
  ["ch1_amps_avg"]=>
  float(0.0175)
  [7]=>
  float(4.025)
  ["ch1_kw_avg"]=>
  float(4.025)
  [8]=>
  int(43)
  ["ghg"]=>
  int(43)
  [9]=>
  int(1250)
  ["cost"]=>
  int(1250)
  [10]=>
  float(0.0175)
  ["ch1_amps_min"]=>
  float(0.0175)
  [11]=>
  float(0.0175)
  ["ch1_amps_max"]=>
  float(0.0175)
  [12]=>
  float(4.025)
  ["ch1_kw_min"]=>
  float(4.025)
  [13]=>
  float(4.025)
  ["ch1_kw_max"]=>
  float(4.025)
  [14]=>
  string(23) "2012-08-27 09:53:00.000"
  ["dt"]=>
  string(23) "2012-08-27 09:53:00.000"
}

Der Rest ist nun noch ein auswerten des Array. Da werde ich mich heute Abend dran machen. Jetzt ist erst mal die Family dran :wink:
EDIT Naja eins noch

<?
$db = new sqlite3("C:/ProgramData/2SE/be.db");
$results = $db->query('SELECT * FROM energy_history order by dt desc  Limit 1');
while ($row = $results->fetchArray())
{
    //var_dump($row);
    echo $row['ch1_kw_avg']*60/1000;
}
?>

Das ist dann die Ausgabe für KW auf channel 1

Also das Ding hat sowas von verloren :wink: Das sind ja jetzt 3 ansatzpunkte, einer wird sicher klappen.

Com Port: Versuch erstmal mit einem Terminalprogramm dem Dingen was Sinnvolles zu entlocken, bevor Du das in IPS gießt.

Dos Box Debug: Auch nicht schlecht. Bin mir auch nicht sicher ob man das in IPS auslesen kann. Wenn nicht wäre evtl. ein Ansatz: Umweg über Autoit

DB auslesen … Langweilig :slight_smile:

Anti

Funktioniert aber :wink: Die Geschichte über COMPort werde ich aus Zeitgründen erstmal nicht weiter verfolgen. Der Wert aus der DB wird bei mir jetzt jede Minute in eine Variable geschrieben und so in IPS geloggt.
Wenn jemand was getestet haben möchte, kann ich das aber zu gegebener zeit gerne mal versuchen.

Najo, wenn über die Db klappt, ist das doch die eleganteste Lösung, super.

Sent from my Blade using Tapatalk

Ich habe mir jetzt mal das USB Modul, zwei Transponder und 6 Sensoren bestellt. Mal sehen wie lange das aus Österreich dauern wird.

Wo bekommt man denn die Teile am günstigsten? :confused:

Ich weiss zwar nicht ob sie dort am günstigsten sind, aber ich habe bei grasgruen.it bestellt, wo auch die Links in Post#19 hin verweisen.

Ich habe das LCD Display gleich weg gelassen, dieses würde scheinbar nur mit einem einzigen Transponder klar kommen.

Ok. Also benötige ich den Transmitter, 3 Sensoren und den USB Connect. Die mitgelieferte Software schreibt alles fein in eine SQL-Datenbank, die von mir ausgelesen werden kann. Richtig?

Mir stellt sich nun die Frage, wie sich das Teil verhält, wenn der IPS Server mal aufgrund von Update rebooten muss. Speicher der USB Connect die Werte zwischen? Wenn nicht, würde der Energiemonitor die Werte zwischenspeichern?

VG
Heiko

Das weiß ich noch nicht. Aber mich würde es nicht stören, wenn er nach dem Reboot gleich weiter loggt. Dann fehlen halt zwei Minuten in der Datenbank…

Die Energiedaten werden nachgeschoben in die SQLLite Datenbank. Ich logge in IPS aber immer nur den letzten Wert.
Im Moment habe ich eher das Problem das der Empfänger den Kontakt zum Sender verliert, und das Ding nur 0KW loggt. Ich musste sie neue verbinden damit der Kontakt wieder hergestellt wurde.
http://nasst.homeip.net:82/index.php?configuratorID=30772
Hier könnt ihr mal meine Werte sehen.

Beim LCD Modul - ja, aber vermutlich nicht beim USB Modul.

Nicht ohne Name und Passwort :loveips:

Hmm eigentlich ist der Bereich ohne Passwort.
http://nasst.homeip.net:82/ und dann Public geht das?

Leider nein, es kommt zur Passwortanfrage…

so jetzt aber…

Ja, jetzt funktioniert es. Der Ausfall war um 3:30 morgens. Hast Du da evtl Stromausfall gehabt oder eine Internet Zwangstrennung?