Strom messen mit Owl Energiemonitor

Hallo zusammen,

ich habe mir einen Owl Energiemonitor zugelegt (unter 50 €). Das Gerät misst den Strom induktiv am Hauptleiter und meldet ihn per Funk an einen Empfänger mit Display (Batterie oder USB, mehrere Sensoren sind anschließbar). So kann man ständig den aktuellen Stromverbrauch ablesen und aufzeichnen.

Das Gerät hat einen USB-Anschluß (Stromversorgung und Datenübetragung an den PC). Mit dem Gerät wird eine Software zur Visualisierung der Daten geliefert, die aber schlecht funktioniert und nur Spielzeug ist. Ist diese Softwar aber aktiv, wird eine db-Datei erzeugt (SQLite format 3).

Kennt jemand das Gerät und hat Erfahrung damit?

Ich würde die Daten gerne IP-Symcon kontinuierlich einlesen.

Leider kann ich die db-Datei nicht öffnen, weil der Befehll dbase_open oder sqlite_open im Script nicht funktioniert. Ich habe schon php_dbase.dll ins Installationsverzeich von IP-Symcon kopiert, aber keine Erfolg gehabt.

Hat dafür jemand eine Lösung?

Vielen Dank für Eure Mithilfe.

PHP: SQLite3 - Manual

Hallo Rainer,
vielen Dank, aber auch das löst das problem für mich nicht, ich vermute, das
eine notwendige dll nicht richtig eingebunden ist oder nicht funktioniert.

Fehlermeldung vorher:
< $offen = dbase_open(„C:\ … \be.db“,0);
> Fatal error: Call to undefined function dbase_open()

Fehlermeldung jetzt:
< $offen = SQLite3::open(„C:\ … \be.db“,0);
> Fatal error: Class ‚SQLite3‘ not found

Welche dll ich für sqlite3 einbinden muss, weiß ich aber nicht.

Ich bin was php anbelangt auch noch Anfänger.

gruß
Junker

Such doch mal nach Beispielen im Netz. Müsste sich doch was finden.

Fehler noch nicht gefunden:

PHP_Dbase.dll muss wohl in den in den Unterordner IP-symcon/ext
Ich hatte sie im Hauptordner von IP-Symcon und von Hand in die PHP.ini eingetragen. Daraus war sie aber wieder verschwunden.

Jetzt hab ich sie in dem gleichen Verzeichnis, wie eine korrekt eingebundene dll (extension = php_gd2.dll) auch liegt.
Trotzdem wird php_dbase.dll wieder aus der PHP.INI gelöscht.

Ich bin ratlos

Ursache ist eine falsche PHP_dbase.dll-Version. Die Version, die ich versuche zu laden ist zu neu.

Fehlermeldung:
>Erweiterung php_dbase.dll nicht geladen.
Version stimmt nicht überein: PHP: 5.1.6, EXT: 5.3.1

Ich habe unter PHP: Releases die richtige Version gefunden (ist im Gesamtpaket enthalten).

jetzt funzt es!

So würde z.B. eine Abfrage für sqlite3 aussehen.

$db = new sqlite3("C:/IP-Symcon/db/logging.db-old");
$results = $db->query('SELECT varid FROM ips_float_hour');
while ($row = $results->fetchArray())
{
    var_dump($row);
}

Hallo Rainer,

vielen Dank, aber das mit SQlite3 will nicht funktinieren.

Bei der Zeile

< $db = new sqlite3(„C:/IP-Symcon/db/logging.db-old“);

gibt es die Fehlermeldung:
> Fatal error: Class ‚sqlite3‘ not found in …

Das mit dbase hab ich inzwischen gelöst, aber es handelt sich definitiv um eine SQlite3-Datei. Fehlt mir da die richtige dll oder kann IP-Symcon das in der Grundeinstellung?

Dann leg dir diese Datei ins ext Verzeichniss. Dienst beenden und wieder neu starten.

php_sqlite3.rar (200 KB)

Erweiterung php_sqlite3.dll nicht geladen. Version stimmt nicht überein: PHP: 5.1.6, EXT: 5.3.1

Im php-gesamtpaket, was ich mir runtergeladen habe, ist php_sqlite3.dll nicht dabei, nur php_sqlite.dll. Damit funzt es aber nicht.

Ähmm, ich hab dir doch die Datei unten angehängt. Warum nimmst Du die nicht.

Edit: Bist du noch mit V2.1 unterwegs?

Wenn ja, musst Du mit PDO arbeiten. Dazu musst Du die php_pdo.dll ins ext Verzeichnis kopieren. Anstatt New Sqlite3 new pdo aufrufen.

Vielen Dank,
dank Deiner Hilfe nähere ich mich der Lösung an. Die nachfolgenden Schritte wurden erfolgreich durchgeführt:

  • nicht nur php_pdo.dll sondern auch php_pdo_sqlite.dll werden benötigt, beides im Gesamtpaket php-5.1.6 enthalten
  • php_pdo.dll + php_pdo_sqlite.dll in /ext gelegt und Dienst neu gestartet

[ul]Datenbank öffnen mit
$db = new PDO(‚sqlite:/IP-Symcon/db/logging.db-old‘);[/ul]

[ul]als nächstes versuche ich mit Erfolg die Anzahl der Datenzeilen in der Datenbank auslesen:
$results = $db->query('SELECT * FROM … ); [/ul]

[ul]Zählen der Zeilen
$count = $results->columnCount(); [/ul]

  • die letzte Zeile in ein array einlesen

Jetzt folgt noch etwas Feinarbeit, da ich festgestellt habe, das immer nur ein Minutenschitt beim Kilowattverbrauch abgesichert wird. Ziell soll ja sein, daß ich einen Zählerstand und/oder aktuellen Stromverbrauch darstelle.

Hallo zusammen.
Ich hab mir das Ding auch grade bestellt. Komme aber wohl erst Donnerstag dazu alles zu installieren.

Interessantes Teil.

Hmm vielleicht isses möglich die Daten direkt von dem Ding zu bekommen, statt über dem Umweg Software / DB. Wenn der einen virtuellen COM Port benutzt würde ich sagen stehen die chancen nicht schlecht.

Anti

@ Hast du die Datenbank öffnen können? Ich komme mit Access nicht drauf.

@Anti das Ding erzeugt einen Virtuellen Com port. Leider habe ich keine Erfahrung mit dem Lesen von Daten vom Com port. Gibt es da eine Anleitung?
OK das mit der ComPort habe ich hinbekommen.
da kommt aber nur

©IDTCMV001

an.

EDIT
jetzt kommt im Moment gar nichts mehr an…

Ich hab mich da auch noch nicht intensiv mit beschäftigt aber ich würde mal wetten es gibt Com Port Sniffer. Und fürn ersten Schritt mal da mitlauschen was das originale Progämmchen da so drüber schickt/bekommt.

[nach kurzem Googlen]
Advanced Serial Port Monitor | Serial port sniffer from our Advanced Serial Port Monitor. How serial port sniffer is done
oder in Sysinternals gibts auch was dafür
Portmon for Windows

Anti

Habt Ihr diesen USB Empfänger für 20-25€ mitbestellt?

http://grasgruen.it/shop/?76,owl-usb-connect

Ich hab dieses Dinses Set Bestellt. OWL +USB Drahtloser Energiemonitor Smart Meter - grasgruen.it - WebShop
Man braucht dann noch 2 Sensoren
OWL Standard Sensor für Energiemonitor - grasgruen.it - WebShop

Ist der USB Ausgang bei Dir an dem Kasten mit dem LCD Display dran? Das würde heissen dass man nicht mehr als 3 Phasen messen könnte? Werden die Verbrauchsdaten dieser 3 Phasen einzeln abgespeichert? Oder nur als Summe?

Ich denke ich werde mir den USB Empfänger und 3 Transmitter und 9 Sensoren bestellen (Natürlich nicht alles auf einmal). Mut dem USB Empfänger weiss ich dann zumindest dass ich bis zu 10 Transmitter gleichzeitig loggen konnte…

Bei dem USB Empfänger stand zwar dabei, dass man einen Kompletten Satz dieses Energiezählers benötigt, um an den Transmitter heran zu kommen, aber den Transmitter habe ich dann trotzdem einzeln auch im Shop gefunden…