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.
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.
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.
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?
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.
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 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
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.
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…