[vz-dev] IR-Datenkopf und vzlogger anschließen

Martin Werthmoeller mw+volkszaehler.org at werthmoeller.de
Wed Dec 21 15:15:45 CET 2011


Hallo Liste,

die volkszahler-users Liste scheint ja nicht allzu bevölkert zu sein,
daher poste ich mal hier.

ich habe einen IR-Kopf an den Drehstrom-Zähler für unsere Heizungs-
und Lüftungsanlage angegeschlossen. Der Zähler ist ein 

  Iskra
  ehz-edl
  Typ MT681-D4A51-K0p

(ähnlich http://mess-dienste.de/uploads/pics/MT681EDL.jpg)


Der IR-Kopf ist per RS232 zu USB Konverter an einen kleinen Rechner
angeschlossen, auf dem ein aktuelles Debian läuft.

Nach einigen Versuchen habe ich festgestellt, dass
Schnittstellenparameter auf 9600 7E1 eingestellt werden müssen, um ein
Signal zu erhalten. Auszug eines Hexdumps siehe unten.

Per vzlogger bekomme ich nur Daten, wenn ich das "meter" wie folgt
konfiguriere:

"meters" : [{
    "protocol" : "s0",
    "device" : "/dev/ttyUSB0",
    "resolution" : 1000,
    "interval" : 2,
    "channel" : {
        "uuid" : "4bc73d30-26ee-11e1-b3b9-5b31e8473936",
        "middleware" : "http://volkszaehler/middleware.php",
        }
    },

Resolution und interval sind allerdings nicht notwendig. Vzlogger
schickt jetzt alle 2 Sekunden ein JSON Tupel an die Middleware. Die
Tupel enthalten einen Zeitstempel und eine 1. Bei höhere Leistung
werden mehr Zeitstempel geschickt.

Im Web-UI kann ich jetzt erkennen, wann die Anlage auf Grundlast läuft
und wann eine höhere Leistung angefordert wurde.

Allerdings scheint mir das Verhältnis zwischen Grundlast und
Spitzenlast nicht zu passen. Wenn ich die Auflösung des UI so
einstelle, dass die Spitzenlast passt, ist die Grundlast zu hoch und
umgekehrt.

Aktuell habe ich die Version 0.3.2 von vzlogger installiert. Mit der
Version 0.2 bekomme ich bei einer GUI-Auflösung von 44307
einigermassen passende Werte im UI.


** Fragen

* Mir scheint s0 nicht das korrekte Protokoll zu sein. Müsste der Kopf
  nicht eigentlich als SML oder D0 angesprochen werden?

* Mit der Version 0.2 skalierte das Frontend nach einigen Tag sehr
  schlecht, da die DB-Abfragen immer länger dauerten. Gibt es auch die
  Möglichkeit, daß größere Zeitabstände mit summierten Werten geloggt
  werden? 

  Z.B. statt

    +--------+------------+---------------+-------+
    | id     | channel_id | timestamp     | value |
    +--------+------------+---------------+-------+
    | 595291 |          7 | 1324023217617 |     1 |
    | 595290 |          7 | 1324023217554 |     1 |
    | 595289 |          7 | 1324023217480 |     1 |
    | 595288 |          7 | 1324023217413 |     1 |
    | 595287 |          7 | 1324023217349 |     1 |
    +--------+------------+---------------+-------+

    +--------+------------+---------------+-------+
    | id     | channel_id | timestamp     | value |
    +--------+------------+---------------+-------+
    | 595291 |          7 | 1324023217617 |     5 |


** Hexdump des TTY-Datenstroms
------------------------------------------------------------------------
0000000 1b1b 1b1b 0101 0101 0576 0020 765e 6200
0000010 6200 7200 2063 0101 0176 0501 4a00 5627
0000020 0920 0508 3435 4c2d 1956 2001 6301 5c75
0000030 7600 0005 765e 0120 0062 0062 6372 0107
0000040 2077 0901 0508 3435 4c2d 1956 0720 0001
0000050 0a62 7f7f 6272 2001 0065 3522 7b6d 0777
0000060 0101 4720 0302 017f 0101 0401 2049 4b53
0000070 7701 0107 0000 0900 017f 0101 0901 0508
0000080 3435 2d20 564c 0119 0777 0001 2001 0008
0000090 657f 0000 0201 6201 1e20 7f52 0059 0000
00000a0 0000 2062 6453 7701 0107 0100 0108 7f20
00000b0 0101 1e62 7f52 0059 2000 0000 6200 6453
00000c0 7701 0107 0020 0801 7f02 0101 1e62 2052
00000d0 597f 0000 0000 0000 0000 0120 0777 0001
00000e0 070f 7f00 2001 6201 521b 6500 0000 6100
00000f0 0120 0777 0001 0715 7f00 2001 6201 521b
0000100 6500 0000 5d00 0120 0777 0001 0729 7f00
0000110 2001 6201 521b 6500 0000 0000 0120 0777
0000120 0001 073d 7f00 2001 6201 521b 6500 0000
0000130 0300 0120 0777 0001 0560 7f05 2001 0101
0000140 6501 0000 0201 7701 0720 0101 0247 7f05
0000150 0101 2001 0301 5702 396c 0e57 3465 6720
0000160 7063 2d37 0009 2117 2008 0534 1441 7a61
0000170 7a4a 647d 1920 6a6c 3c60 4d61 5505 2073
0000180 6050 3830 5c12 6b46 5c66 7a20 0101 6301
0000190 7b02 7600 2005 5e00 0276 0062 0062 6372
00001a0 0220 7101 6301 1259 1b00 201b 1b1b 001a
00001b0 1d25 1b1b 1b1b 0120 0101 7601 0005 765e
00001c0 2003 0062 0062 6372 0101 0176 0120 0005
00001d0 274a 0957 0508 2035 2d34 564c 0119 6301
00001e0 0313 0020 0576 5e00 0476 0062 2062 7200
00001f0 0763 7701 0901 0508 3520 2d34 564c 0719
0000200 0001 2062 7f0a 727f 0162 0065 3522 7120
0000210 777b 0107 4701 0302 207f 0101 0101 4904
0000220 4b53 7701 0720 0001 0000 7f09 0101 2001
0000230 0901 0508 3435 4c2d 1956 0120 0777 0001
0000240 0801 7f00 2065 0000 0201 6201 521e 597f
0000250 0020 0000 0000 5362 0165 2077 0107 0100
0000260 0108 017f 6201 1e20 7f52 0059 0000 0000
0000270 2062 6553 7701 0107 0100 0208 7f20 0101
0000280 1e62 7f52 0059 2000 0000 0000 0000 7701
0000290 0107 0020 070f 7f00 0101 1b62 2052 6500
00002a0 0000 5f00 7701 0107 0020 0715 7f00 0101
00002b0 1b62 2052 6500 0000 5c00 7701 0107 0020
00002c0 0729 7f00 0101 1b62 2052 6500 0000 0000
00002d0 7701 0107 0020 073d 7f00 0101 1b62 2052
00002e0 6500 0000 0200 7701 0107 0020 0560 7f05
00002f0 0101 0101 2065 0000 0201 7701 0107 4701
0000300 0220 7f05 0101 0101 0203 2057 396c 0e57
0000310 3465 6367 3770 2d20 0009 2117 3408 4105
0000320 2014 7a61 7a4a 647d 6c19 606a 3c20 4d61
0000330 5505 5073 3060 2038 5c12 6b46 5c66 017a
0000340 0101 6320 4340 7600 0005 765e 2005 0062
0000350 0062 6372 0102 0171 6320 323f 1b00 1b1b
0000360 1a1b 2000 7e4f 1b1b 1b1b 0101 0101 7620
------------------------------------------------------------------------
 
Viele Gruesse,
martin!



More information about the volkszaehler-dev mailing list