[vz-dev] libsml & vzlogger
M. Hagedorn
mic01 at uni-muenster.de
Tue Oct 25 15:57:33 CEST 2011
Hi.
Ok, nach diversen Anläufen (mit Nachhilfe von Justin -> Danke!) habe ich es
nun *fast* hinbekommen. Es sieht momentan so aus: Mein AVR Net-IO ist mit
einem AtMega644p bestückt, der bekanntlich 2 UARTs hat. Um die *beide* nutzen
zu können, habe ich das yport-Protokoll dupliziert (wie im Wiki beschrieben).
Nun bekomme ich über
nc <ip> 7970 den Zählerstand des einen und über
nc <ip> 7971 entsprechend den Zählerstand des anderen Easymeters (Q3D) [1].
Das Ganze ist fehlerfrei und ohne "verschlucken" von Zeichen. Soweit so gut!
Die Daten sollen natürlich jetzt per vzlogger in den volkszaehler. Dazu habe
ich momentan folgende vzlogger.conf, die *fast* funktioniert:
--------------
/**
* vzlogger configuration
*
* use proper encoded JSON with javascript comments
*
* take a look at the wiki for detailed information:
* http://wiki.volkszaehler.org/software/controller/vzlogger#configuration
*/
{
"retry" : 30, /* how long to sleep between failed requests, in seconds */
"daemon": false, /* run periodically; Achtung: SEHR HOHE Prozesslast!! */
"foreground" : true, /* dont run in background (prevents forking) */
"verbosity" : 10, /* between 0 and 15 (highest) */
"log" : "/var/log/vzlogger.log", /* path to logfile, optional */
"local" : {
"enabled" : false, /* should we start the local HTTPd for serving live
readings? */
"port" : 8081, /* the TCP port for the local HTTPd */
"index" : true, /* should we provide a index listing of available
channels? */
"timeout" : 30, /* timeout for long polling comet requests, 0 disables
comet, in seconds */
"buffer" : 600 /* how long to buffer readings for the local
interface, in seconds */
},
"meters" : [{
"enabled" : true, /* disabled meters will be ignored */
"protocol" : "d0", /* Haushaltsstromzaehler I */
"connection" : "192.168.178.35:7970",
"channels": [{"uuid" : "e8135490-fe74-11e0-bb3b-bfa8fcf82552",
"middleware" : "http://192.168.178.25/middleware.php",
"identifier" : "power"
}]
},{
"enabled" : true, /* disabled meters will be ignored */
"protocol" : "d0", /* Waermepumpenstromzaehler II */
"connection" : "192.168.178.35:7971",
"channels": [{"uuid" : "6427a650-fee7-11e4-9eef-bd23769c78f4",
"middleware" : "http://192.168.178.25/middleware.php",
"identifier" : "power"
}]
}
]
}
---------------------------------------------------
Wenn ich damit vzlogger anwerfe, erhalte ich:
root at virt-ubuntu:~# vzlogger
[Oct 25 15:46:23][mtr0] New meter initialized (protocol=d0,
connection=192.168.178.35:7970, interval=0)
[Oct 25 15:46:23][ch0] New channel initialized (uuid=...f82553
middleware=http://192.168.178.25/middleware.php obis=1-0:1.7.ff*ff)
[Oct 25 15:46:23][mtr1] New meter initialized (protocol=d0,
connection=192.168.178.35:7971, interval=0)
[Oct 25 15:46:23][ch1] New channel initialized (uuid=...9c78f8
middleware=http://192.168.178.25/middleware.php obis=1-0:1.7.ff*ff)
[Oct 25 15:46:23] Opened logfile /var/log/vzlogger.log
[Oct 25 15:46:23][mtr0] Meter connected
[Oct 25 15:46:23][mtr0] Meter thread started
[Oct 25 15:46:23][ch0] Logging thread started
[Oct 25 15:46:23][mtr1] Meter connected
[Oct 25 15:46:23][mtr1] Meter thread started
[Oct 25 15:46:23][ch1] Logging thread started
[Oct 25 15:46:23][ch1] New reading (value=-0.00
ts=61075167443337453699341460165618559225707340766740471943997724049365884721333440514844636004420844493059802586156430512029559131451169403898488280430747878964203589795572795105499369225163028921037701140325597184.000000)
[Oct 25 15:46:23][ch1] Buffer dump: |!123.24| (size=1, keep=0)
[Oct 25 15:46:23][ch0] New reading (value=-2.00
ts=62421905423730807969687851052264161831375798289626249903605016058414025011868272746895314769296679412450915724665115569418291085689189452134508302955595470171528915545234289265405557943488981757719677223475085312.000000)
[Oct 25 15:46:23][ch0] Buffer dump: |!122.34| (size=1, keep=0)
[Oct 25 15:46:23][ch0] JSON request body: [ [ 1319550383620.843018,
122.339096 ] ]
[Oct 25 15:46:23][ch1] JSON request body: [ [ 1319550383612.842041,
123.238251 ] ]
[Oct 25 15:46:23][ch1] Request succeeded with code: 200
[Oct 25 15:46:23][ch0] Request succeeded with code: 200
----
Sieht zunächst alles richtig aus, oder? Wenn ich jetzt allerdings im frontend
nachsehe, sehen beide Zählerstände *identisch* aus und liegen direkt
übereinander. Da stimmt also etwas noch nicht ganz -- nur was?
Justin meinte gestern, dass OBIS noch nicht ganz fertig ist. Hat das damit zu
tun oder stimmt ganz einfach an der Syntax in meiner .conf etwas nicht?
Danke.
Michael
[1] Die zusätzliche Schwierigkeit mit der (unglücklichen/ungewöhnlichen)
7n1 at 9600 Baud-Einstellung wurde hier ja auch schon behandelt ... vgl.
ethersex/core/usart.h (Zeile 112)
More information about the volkszaehler-dev
mailing list