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
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
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 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
Anti
Funktioniert aber 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?
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
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?