Moin! Nachdem heute die Leseköpfe angekommen sind, habe ich die gleich ausprobiert. Nach Einrichtung über udev mit Symlinks unt Einstellung auf 9600 8N1 konnte ich Rohdaten aus den beiden Iskra MT681 auslesen. Der eine Zähler liefert ca. alle 2 Sekunden, der andere alle 3-4. Soweit okay.
Eine ausgelesene Nachricht habe ich mal versucht zu interpretieren; mit Hilfe der hier früher verlinkten PDF bin ich zum Ergebnis im Anhang gekommen. Alle Inhalte habe ich nicht verstanden, aber die Nachricht scheint plausibel und liefert (zumindest) erkennbare Zählerwerte. Wenn ich jetzt (als root!) mit vzlogger die Daten lesen will, scheint vzlogger die Geräte ansprechen zu können, er liest jedoch keine Nachrichten, obwohl ich die Rohdaten problemlos auslesen kann (cat, od, xxd usw). vzlogger.conf: { "retry": 30, // how long to sleep between failed requests, in seconds "daemon": false, // run periodically "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": [ // Hauszaehler { "enabled": true, // disabled meters will be ignored (default) "protocol": "sml", // see 'vzlogger -h' for list of available protocols "device": "/dev/usb-ir-lesekopf0", "channels": [{ "uuid": "172f44a0-a2ea-11e4-b6fc-8717f097d281", "middleware": "http://localhost/middleware.php", "identifier": "power" }, { "uuid": "3195ca20-a2ea-11e4-93db-1d29033bb3d3", "middleware": "http://localhost/middleware.php", "identifier": "counter" }] }, // Heizungszaehler { "enabled": true, // disabled meters will be ignored (default) "protocol": "sml", // see 'vzlogger -h' for list of available protocols "device": "/dev/usb-ir-lesekopf1", "channels": [{ "uuid": "3f584b20-a2ea-11e4-b24c-8b4f13f12417", "middleware": "http://localhost/middleware.php", "identifier": "power" }, { "uuid": "37dc5dc0-a2ea-11e4-b940-ef44af1297fb", "middleware": "http://localhost/middleware.php", "identifier": "counter" }] } ] } vzlogger.log: [Jan 26 12:25:40][mtr0] Meter connection established [Jan 26 12:25:40][mtr1] Meter connection established [Jan 26 12:26:38] Closing connections to terminate aus unerfindlichem Grund unergiebig - kann man den LogLevel zu hoch setzen? Hat da jemand eine Idee, wieso vzlogger hier keine Daten erkennt? Muss ich die Channels ggf. anders konfigurieren (identifier?)? Gruß Sebastian
1b 1b 1b 1b - SMLTP: SML-Header 01 01 01 01 - SMLTP: Beginn einer SML-Nachricht, v1 76 - SML-Message 05 - size: 5 (?) 00 bc 2a d1 - transactionID - Startwert 62 00 - groupNo, TL 62 = unsigned8, Wert = 0 62 00 - abortOnError, TL 62 = unsigned8, Wert = 0 72 63 01 01 - choice, TL 63 = unsigned16, Wert = 257 -> ? 76 - SML-Message (Format nicht passend? Interpretation?) 01 - size: 1 (??) 01 05 00 3e b8 ef 0b 09 01 49 53 4b 00 03 cf 21 00 01 01 63 1b a2 00 76 - SML-Message 05 - size: 5 (?) 00 bc 2a d2 - transactionID - Folgewert zu (ganz!) oben 62 00 - groupNo, TL 62 = unsigned8, Wert = 0 62 00 - abortOnError, TL 62 = unsigned8, Wert = 0 72 63 07 01 - choice: TL 63 = unsigned16, Wert = 1793 -> SML_GetList_Response 77 01 - SML_GetList_Res, 01 = clientId not set 0b 09 01 49 53 4b 00 03 cf 21 00 07 01 00 62 0a ff ff 72 - actSensorTime? 62 01 - TL 62 = unsigned8, Wert = 1 -> actSensorTimer 65 00 52 45 37 - TL 65 = unsigned32, Wert = 5391671 (sec seit epoch - unplausibel) 7a - valList? 77 07 - valListEntry 81 81 c7 82 03 ff - OBIS 129-129:199.130.3*255 = Herstelleridentifikation 01 - status = not set 01 - valTime = not set 01 - unit = not set 01 - scaler = not set 04 49 53 4b - value: TL 04 = octet_string[4], Wert = "ISK" -> Iskra 01 - value signature = not set 77 07 - valListEntry 01 00 00 00 09 ff - OBIS 1-0:0.0.9*255 = ? (ServerID?) 01 - status = not set 01 - valTime = not set 01 - unit = not set 01 - scaler = not set 0b 09 01 49 53 4b 00 03 cf 21 00 - value: TL 0b = octet_string[11], Wert = "..ISK....." 01 - value signature = not set 77 07 - valListEntry 01 00 01 08 00 ff - OBIS 1-0:1.8.0*255 = Wirk-Energie Total Bezug 65 00 00 01 82 - status: TL 65 = unsigned32, Wert = 386? 01 - valTime = not set 62 1e - unit: TL 62 = unsigned8, Wert = 30 52 ff - scaler: TL 52 = integer8, Wert = -1 59 00 00 00 00 00 30 f6 1a - value: TL 59 = integer64, Wert = 3208730 Wh 01 - value signature = not set 77 07 - valListEntry 01 00 01 08 01 ff - OBIS 1-0:1.8.1.255 = Wirk-Energie Tarif 1 Bezug 01 - status = not set 01 - valTime = not set 62 1e - unit: TL 62 = unsigned8, Wert = 30 52 ff - scaler: TL 52 = integer8, Wert = -1 59 00 00 00 00 00 30 f6 1a - value: TL 59 = integer64, Wert = 3208730 Wh 01 - value signature = not set 77 07 - valListEntry 01 00 01 08 02 ff - OBIS 1-0:1.8.2*255 = Wirk-Energie Tarif 2 Bezug 01 - status = not set 01 - valTime = not set 62 1e - unit: TL 62 = unsigned8, Wert = 30 52 ff - scaler: TL 52 = integer8, Wert = -1 59 00 00 00 00 00 00 00 00 - value: TL 59 = integer64, Wert = 0 Wh 01 - value signature = not set 77 07 - valListEntry 01 00 10 07 00 ff - OBIS 1-0:16.7.0*255 (?) 01 - status = not set 01 - valTime = not set 62 1b - unit: TL 62 = unsigned8, Wert = 29 52 00 - scaler: TL 52 = integer8, Wert = 0 55 00 00 00 a8 - value: TL 55 = integer32, Wert = 168 01 - value signature = not set 77 07 - valListEntry 01 00 24 07 00 ff - OBIS 1-0:36.7.0*255 01 - status = not set 01 - valTime = not set 62 1b - unit: TL 62 = unsigned8, Wert = 29 52 00 - scaler: TL 52 = integer8, Wert = 0 55 00 00 00 27 - value: TL 55 = integer32, Wert = 39 01 - value signature = not set 77 07 - valListEntry 01 00 38 07 00 ff - OBIS 1-0:56.7.0*255 01 - status = not set 01 - valTime = not set 62 1b - unit: TL 62 = unsigned8, Wert = 29 52 00 - scaler: TL 52 = integer8, Wert = 0 55 00 00 00 02 - value: TL 55 = integer32, Wert = 2 01 - value signature = not set 77 07 - valListEntry 01 00 4c 07 00 ff - OBIS 1-0:76.7.0*255 01 - status = not set 01 - valTime = not set 62 1b - unit: TL 62 = unsigned8, Wert = 29 52 00 - scaler: TL 52 = integer8, Wert = 0 55 00 00 00 7e - value: TL 55 = integer32, Wert = 126 01 - value signature = not set 77 07 - valListEntry 81 81 c7 82 05 ff - OBIS 129.129:199.130.05*255 = ?? 01 - status = not set 01 - valTime = not set 01 - unit = not set 01 - scaler = not set 83 02 2c fd fc 65 03 aa 69 ca 22 9e e0 72 34 d8 50 d4 4a c2 27 5c 18 98 c9 a3 22 32 25 43 d8 42 0c d5 08 97 db 59 f0 c4 e9 1d a7 7d 1d 2c a4 67 e5 d7 01 01 01 63 5e 69 00 76 - SML-Message 05 - size: 5 00 bc 2a d3 - transactionId - Folgewert zu oben 62 00 - groupId, TL 62 = unsigned8, Wert = 0 62 00 - abortOnError, TL 62 = unsigned8, Wert = 0 72 63 02 01 - SMLMessageBody, TL 63 = unsigned16, Wert = 33 71 01 63 1a f9 00 ?? 1b 1b 1b 1b - SMLTP: SML-Header 1a 00 21 bc - SMLTP: Ende der Nachricht: 0 Padding-Bytes, 21bc = Prüfsumme