[vz-users] Es läuft...neuja, fast

Michael mijukad at gmail.com
Fri Apr 18 02:27:58 CEST 2014


Hallo Zusammen,

 

heute die ersten Gehversuche mit den Komponenten:

 

RaspberryPi

Erweiterung mit Schaltausgängen

IR TTL Lesekopf

IR USB Lesekopf

EDIMAX Wlan Stick

 

gemacht.

 

Das erste was funktionierte, war der GPIO0 Eingang mit einer Drahtbrücke.
Das gab dann auch Linien im FrontEnd.

Weiter ging es mit den beiden IR Leseköpfen. Da war die Schwierigkeit der
beiden Easymeter Q3Dx Zähler.

9600 Baud 7E1 war irgendwann klar, wie man das der vzlogger.conf beibringt
auch.

 

Die OBIS Werte habe ich dann mit einer abgespeckten „vzlogger.text“:

 

{

"retry" : 30,                   /* how long to sleep between failed
requests, in seconds */

"daemon": true,         /* run periodically */

"foreground" : true,            /* dont run in background (prevents forking)
*/

 

"verbosity" : 15,               /* between 0 and 15 */

"log" : "/var/log/vzlogger.log",/* path to logfile, optional */

 

"local" : {

        "enabled" : false,      /* should we start the local HTTPd for
serving live readings? */

        "port" : 8080,          /* the TCP port for the local HTTPd */

        "index" : true,         /* should we provide a index listing of
available channels if no UUID was requested? */

        "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,

        "protocol" : "d0",

        "device" : "/dev/ttyUSB0",

        "parity" : "7E1",

        "baudrate" : 9600,

        },{

       "enabled" : true,

        "protocol" : "d0",

        "device" : "/dev/ttyAMA0",

        "parity" : "7E1",

        "baudrate" : 9600

        }

]}

 

und dem Aufruf des vzloggers von der kommandozeile den Zählern entlockt und
verifiziert. Dank an denjenigen der das in einem Post dokumentiert hat. 

Das ergibt dann für die beiden Easymeter Zähler:

Apr 17 23:01:55][mtr0] Got 8 new readings from meter:

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:0.0.0*255/ObisItentifier:1-0:0.0.0*255 value=nnnnnnnn.00
ts=1397768514.846

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=6264.42
ts=1397768514.883

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:21.7.255*255/ObisItentifier:1-0:21.7.255*255 value=50.23
ts=1397768514.915

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:41.7.255*255/ObisItentifier:1-0:41.7.255*255 value=74.60
ts=1397768514.948

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:61.7.255*255/ObisItentifier:1-0:61.7.255*255 value=51.39
ts=1397768514.980

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:1.7.255*255/ObisItentifier:1-0:1.7.255*255 value=176.22
ts=1397768515.011

[Apr 17 23:01:55][mtr0] Reading:
id=1-0:96.5.5*255/ObisItentifier:1-0:96.5.5*255 value=82.00
ts=1397768515.032

[Apr 17 23:01:55][mtr0] Reading:
id=0-0:96.1.255*255/ObisItentifier:0-0:96.1.255*255 value=1.00
ts=1397768515.068

[Apr 17 23:01:55][d0]   Parsed reading (OBIS code=1-0:0.0.0*255,
value=00000000nnnnnnnn, unit=)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:1.8.0*255,
value=00002045.5528609, unit=kWh)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:21.7.255*255,
value=000000.00, unit=W)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:41.7.255*255,
value=000126.69, unit=W)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:61.7.255*255,
value=000000.00, unit=W)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:1.7.255*255,
value=000126.69, unit=W)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:96.5.5*255, value=82,
unit=)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=0-0:96.1.255*255,
value=1ESYnnnnnnnn, unit=)

[Apr 17 23:01:56][d0]   Read package with 8 tuples (vendor=ESY, baudrate=5,
identification=Q3DA1004 V3.03)

 

 

[Apr 17 23:01:56][mtr1] Got 8 new readings from meter:

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:0.0.0*255/ObisItentifier:1-0:0.0.0*255 value=nnnnnnnn.00
ts=1397768515.961

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=2045.55
ts=1397768516.003

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:21.7.255*255/ObisItentifier:1-0:21.7.255*255 value=0.00
ts=1397768516.036

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:41.7.255*255/ObisItentifier:1-0:41.7.255*255 value=126.69
ts=1397768516.069

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:61.7.255*255/ObisItentifier:1-0:61.7.255*255 value=0.00
ts=1397768516.103

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:1.7.255*255/ObisItentifier:1-0:1.7.255*255 value=126.69
ts=1397768516.128

[Apr 17 23:01:56][mtr1] Reading:
id=1-0:96.5.5*255/ObisItentifier:1-0:96.5.5*255 value=82.00
ts=1397768516.153

[Apr 17 23:01:56][mtr1] Reading:
id=0-0:96.1.255*255/ObisItentifier:0-0:96.1.255*255 value=1.00
ts=1397768516.186

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:0.0.0*255,
value=00000000nnnnnnnn, unit=)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:1.8.0*255,
value=00006264.4166532, unit=kWh)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:21.7.255*255,
value=000050.16, unit=W)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:41.7.255*255,
value=000074.51, unit=W)

[Apr 17 23:01:56][d0]   Parsed reading (OBIS code=1-0:61.7.255*255,
value=000051.32, unit=W)

[Apr 17 23:01:57][d0]   Parsed reading (OBIS code=1-0:1.7.255*255,
value=000175.99, unit=W)

[Apr 17 23:01:57][d0]   Parsed reading (OBIS code=1-0:96.5.5*255, value=82,
unit=)

[Apr 17 23:01:57][d0]   Parsed reading (OBIS code=0-0:96.1.255*255,
value=1ESYnnnnnnnnnn, unit=)

[Apr 17 23:01:57][d0]   Read package with 8 tuples (vendor=ESY, baudrate=5,
identification=Q3DA1004 V3.03)

 

Die Suche in den archivierten Mailinglisten Einträgen war oft die
Informationsquelle. Wenn man auch nicht immer weiß, ob das noch für das
aktuelle Release gilt etc.

 

Die größte Hürde war und ist immer noch die vzlogger.conf.

 

Linux und die Kommandozeile ist bei mir schon etwas her, da kamen richtige
Wehmutsgefühle auf.  Das Problem für einen „ Neu User“ ist daran schlicht,
das es keine Dokumentation zu den Parametern gibt und einen Die zig
verschachtelten Klammern in unterschiedlichsten Formen die letzten Nerven
rauben. Auch wenn man dann erstmal rumstochert und einen Notepad++ auftreibt
(auf den auch schon in Beiträgen hingewiesen wurde), klemmt es dann schon
wieder, wenn man mit dem FileZilla die Datei saugt und dann erstmal
feststellt, dass ist ja nur Softlink und zurückschreiben geht dann nur über
/tmp und sudo mv 
.

Also nix für schnelle Änderungen, die macht man dann mit nano, das ist okay.

 

Mit der vzlogger.conf stehe ich nach wie vor auf dem Kriegsfuß, vielleicht
liegt es auch an der Uhrzeit.  Die jetzige Version scheint von mir
„kaputtgespielt“ zu sein, den GPIO0 Part mußte ich auskommentieren, da ich
sonst das Parsing ums verrecken nicht durchlaufen wollte.  Komischerweise
laufen die S0 Werte jedoch immer noch im Front End, also scheint meine
Auskommentierung auch nicht wirklich zu funktionieren.

 

Für die beiden IR EDL Zähler sind jeweils zwei Kanäle definiert „Leistung“
und „Zählerstand“. Die beiden Leistungswerte laufen soweit, die Zählerstände
nicht „mehr“, da ist auch durch das heftige Klammern gesetzte noch was
schief.

 

Der S0 Zähler hat eine Zählerkonstante von 2000 Imp/kWh. Mit diesem
eingestellten Wert produziert er allerdings eine Leistung, die um den Faktor
100 zu groß ist.

 

Die aktuelle vzlogger.conf hänge ich mal an. Der ein oder andere wird
wahrscheinlich schnell Fehler sehen, Kommentare sind dazu gern gesehen, wenn
sie helfen.

 

/**

* 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

*/

// WICHTIG:  Immer wenn noch ein Parameter folgt muss ein Komma getzt
werden.

//                    Das Komma darf nicht im auskommentierten teil stehen

//                    (    //    Kommentiert den Rest der Zeile ab hier aus
)

//                    (   /* Start Kommentar,       */ Ende Kommentar
)

//                    Wenn kein Parameter folgt, kein Komma ans Ende setzen

 

{

"retry" : 30,                                       /* how long to sleep
between failed requests, in seconds */

"daemon": true,                             /* run periodically */

//"foreground" : true,                  /* dont run in background (prevents
forking) */

"verbosity" : 15,                              /* between 0 and 15 */

"log" : "/var/log/vzlogger.log",/* path to logfile, optional */

 

"local" : {

//            "enabled" : false,            /* should we start the local
HTTPd for serving live readings? */

                "port" : 8080,                    /* the TCP port for the
local HTTPd */

                "index" : true,                  /* should we provide a
index listing of available channels if no UUID was requested? */

                "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 */

          } // local

,

"meters" : 

  [

    {                          

                "enabled" : true,

                "protocol" : "d0",

                "device" : "/dev/ttyUSB0",

        "parity" : "7E1",

        "baudrate" : 9600,

        "interval" : 180,

        "aggtime" : 180,                   /* aggregate all signals and give
one update to middleware every 'aggtime' seconds */

        "aggfixedinterval" : true,         /* round all timestamps to
middleware to nearest aggtime */  

                "channels": 

                [

          {

                               "uuid" : "eee8d170-c676-11e3-aa0c-xxxxxxxxx",

                               "middleware" :
"http://localhost/middleware.php",

                "identifier" : "1-0:1.7.255",
// Wirkleistung

                               "aggmode" : "AVG"

                  }

        ,

          {

                "uuid" : "b57f9f60-c677-11e3-8597-xxxxxxxxxx",

                "middleware" : "http://localhost/middleware.php",

                "identifier" : "1-0:1.8.0"
// Zaehlerstand

          }

                ] // channel

     }

     ,

     {                                                        

                "enabled" : true,

                "protocol" : "d0",

                "device" : "/dev/ttyAMA0",

                "parity" : "7E1",

        "baudrate" : 9600,  

        "interval" : 180,

        "aggtime" : 180,                   /* aggregate all signals and give
one update to middleware every 'aggtime' sec$

        "aggfixedinterval" : true,         /* round all timestamps to
middleware to nearest aggtime */

                "channels": 

        [

          {

                               "uuid" : "c28d00c0-c67e-11e3-9eb2-xxxxxxxx",

                               "middleware" :
"http://localhost/middleware.php",

                               "identifier" : "1-0:1.7.255",
// Wirkleistung

                "aggmode" : "AVG"

          }

        ,

          {

                "uuid" : "482531c0-c67f-11e3-900a-xxxxxxxxxxxx",

                "middleware" : "http://localhost/middleware.php",

                "identifier" : "1-0:1.8.0",                             //
Zaehlerstand

                  }

        ] // channel

     }

/*     ,     

     {


                "enabled" : true,

                "protocol" : "S0",

//            "interval" : 30,

                "device" : "/dev/ttyGPIO0",

                "resolution" : 2000,
// number of impulses per kWh, feature of the meter

        "aggtime" : 60,                                         // aggregate
all signals and give one update to middleware every 'aggtime' seconds

        "aggfixedinterval" : true,                    // round all
timestamps to middleware to nearest aggtime

                "channel" : 

        [

          {

                               "uuid" : "239f3a20-c630-11e3-937c-xxxxxxxx",

                               "middleware" :
"http://localhost/middleware.php",

                               "identifier": "Impulse",                //
counts the S0 impulses. Can also supply "Power" readings

                "aggmode" : "MAX"                      // add all s0
intervals in the aggregation. Possible Modes: SUM, AVG, MAXIMUM 

                  }

        ] //channel

    }

*/

  ] // meters       

 

} // end of config 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20140418/6b64753d/attachment-0001.html>


More information about the volkszaehler-users mailing list