[vz-users] Auslesen eines ISKRA MT175

Klaus Reichenecker kr at kr123.de
Di Mai 16 19:28:39 CEST 2023


Versuch es mal mit SMLReader

https://github.com/mruettgers/SMLReader

Hichi, Raspi usw, alles ok, Mega Aufwand, aber damit hast ( hofffentlich)  die Daten erst mal zur Verfügung - kannst dann damit per MQTT was auch immer anstellen

TX brauchen übrigens aktuell die wenigsten Zähler

Grüße

Klaus





-----Ursprüngliche Nachricht-----
Von: volkszaehler-users <volkszaehler-users-bounces at demo.volkszaehler.org> Im Auftrag von tuxlog
Gesendet: Dienstag, 16. Mai 2023 19:11
An: volkszaehler-users at lists.volkszaehler.org
Betreff: [vz-users] Auslesen eines ISKRA MT175

Hallo Miteinander,

ich bekomme beim Versuch meinen Zähler auszulesen keine vernünftigen Daten heraus und hoffe auf eure Hilfe.

Zähler: ISKRA MT175-D1A51-V22-K0t (mit PIN frei geschaltet), Lesekopf: 
Hichi USB an Raspberry Pi Model B Plus Rev 1.2 mit Raspbian Bullseye (up-to-date).

Echo-Test mit weißem Papier klappt ohne Probleme.

Die Sendediode des MT175 sendet auch alle 1-3 Sekunden etwas (geprüft mit Handy-Kamera).

Installation des vzlogger hat auch geklappt.

Ich habe mir folgendes config-file zusammen gebaut (Parameter gemäß wiki Seite für den MT175):

{
"retry" : 3,
"verbosity" : 15,
"log" : "/var/log/vzlogger.log",

"local" : {
          "enabled" : true,
          "port" : 8081,
          "index" : false,
          "timeout" : 30,
          "buffer" : 600
},

"meters" : [{
          "protocol" : "sml",
          "enabled" : true,
          "device" : "/dev/ttyUSB0",
          "parity" : "8N1",
          "baudrate" : 9600,
          "aggtime" : -1,
          "aggfixedinterval" : false,
        }]
}

Im Logfile sieht das dann so aus:

[May 16 18:50:04][main] vzlogger v0.8.1 based on
tags/v0.8.1-0-g0671359029 from Sun, 23 Apr 2023 15:16:41 +0200 started.
[May 16 18:50:04][mtr0] Creating new meter with protocol sml.
[May 16 18:50:04][mtr0] Meter configured, enabled.
[May 16 18:50:04]       New meter initialized (protocol=sml) [May 16 18:50:04]       Have 1 meters.
[May 16 18:50:04][main] log level is 15
[May 16 18:50:04][main] local=1
[May 16 18:50:04]       Daemonize process...
[May 16 18:50:04]       Opened logfile /var/log/vzlogger.log [May 16 18:50:04][push] No pushDataServer defined.
[May 16 18:50:04][]     ===> Start meters [May 16 18:50:04][mtr0] Meter connection established [May 16 18:50:04][mtr0] Meter thread started [May 16 18:50:04][mtr0] Meter is opened. Starting channels.
[May 16 18:50:04][http] Starting local interface HTTPd on port 8081 [May 16 18:50:04][]     Startup done.
[May 16 18:50:04][mtr0] Number of readers: 32 [May 16 18:50:04][mtr0] Config.local: 1

Dann passiert nichts mehr.

Also versuche ich erst mal direkt auf der Schnittstelle zu lesen und zu schauen was da ankommt.

Dazu verwende ich ein kleines Python-Programm:

#!/usr/bin/python
import serial

BAUDRATE = 9600

print("opening port")
co = 0
out = ''
# Serial Port 9600 Baud, 8N1
port = serial.Serial(port='/dev/ttyUSB0', baudrate=BAUDRATE, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1) # Serial Port 9600 7E1 #port = serial.Serial(port='/dev/ttyUSB0', baudrate=BAUDRATE, bytesize=serial.SEVENBITS, parity=serial.PARITY_EVEN, stopbits=serial.STOPBITS_ONE, timeout=1)

while True:
    input = port.read()
    out = out + " " + input.hex()
    co += 1

    if (co > 25):
       print(out)
       co = 0
       out = ''

Es gibt keinen wesentlichen Unterschied bei der Ausgabe, egal ob ich mit
7E1 oder 8N1 lese.

  1b 12 12 12 00 00 00 00 64 00 00 18 80 00 40 00 40 00 60 42 00 00 64
00 00 00
  02 00 18 24 02 00 00 00 02 02 00 00 4e e0 00 00 00 42 90 20 00 64 00
00 18 80
  00 40 00 40 00 60 42 06 00 66 00 02 00 00 00 02 02 00 00 4e e0 00 06
00 00 40
  00 fe fe 60 40 00 40 00 20 42 80 70 66 06 00 00 86 00 02 fe 00 00 00
00 00 00
  02 02 00 66 06 00 00 00 00 00 fe 00 00 00 00 02 00 00 00 02 02 00 00 4e e0 00
  00 66 06 00 00 00 00 00 fe 40 00 00 00 00 00 40 1c 00 fe 10 00 00 00
00 06 38
  38 10 00 66 06 00 00 00 00 00 fe 00 00 40 1c 00 fe 10 00 00 00 00 06
38 38 10
  00 66 06 00 00 00 00 00 fe 00 00 40 1c 00 fe 10 00 00 00 00 00 00 00
00 00 66
  06 00 00 00 06 00 fe 00 00 40 12 00 00 00 00 00 00 00 00 66 06 00 00
00 06 00
  fe 00 00 40 12 00 00 00 00 00 00 00 00 66 06 00 00 30 06 00 fe 00 00
40 12 00
  00 00 00 00 00 00 00 66 06 00 00 08 06 00 fe 00 00 40 12 00 00 00 00
00 00 c8
  00 66 06 00 00 86 00 00 fe 00 00 00 00 02 00 c2 30 08 30 00 00 80 8e
60 c2 c0
  0c 30 02 c8 08 42 08 0e 06 0c 42 c0 24 04 00 04 22 86 00 00 00 10 c0
12 e6 02
  30 80 08 3e 00 72 00 40 02 00 66 00 00 00 42 c0 00 00 64 00 00 18 80
00 40 00
  40 00 60 42 00 00 60 00 42 02 90 00 12 12 12 12 10 00 f2 fe 1b 12 12
12 00 00
  00 00 64 00 00 18 80 02 40 00 40 00 60 42 00 00 64 00 00 00 02 00 18
26 02 00
  00 00 02 02 00 00 4e e0 00 00 00 42 06 02 00 64 00 00 18 80 00 40 00
40 00 60
  42 06 00 66 00 02 00 00 00 02 02 00 00 4e e0 00 06 00 00 40 00 fe fe
60 40 00
  40 00 20 42 80 70 66 06 00 00 86 00 02 fe 00 00 00 00 00 00 02 02 00
66 06 00
  00 00 00 00 fe 00 00 00 00 02 00 00 00 02 02 00 00 4e e0 00 00 66 06
00 00 00
  00 00 fe 40 00 00 00 00 00 40 1c 00 fe 10 00 00 00 00 06 38 38 12 00
66 06 00
  00 00 00 00 fe 00 00 40 1c 00 fe 10 00 00 00 00 06 38 38 12 00 66 06
00 00 00
  00 00 fe 00 00 40 1c 00 fe 10 00 00 00 00 00 00 00 00 00 66 06 00 00
00 06 00
  fe 00 00 40 12 00 00 00 00 00 00 02 00 66 06 00 00 00 06 00 fe 00 00
40 12 00
  00 00 00 00 00 00 00 66 06 00 00 30 06 00 fe 00 00 40 12 00 00 00 00
00 00 02
  00 66 06 00 00 08 06 00 fe 00 00 40 12 00 00 00 00 00 00 cc 00 66 06
00 00 86
  00 00 fe 00 00 00 00 02 00 c2 30 08 30 00 00 80 8e 60 c2 c0 0c 30 02
c8 08 42
  08 0e 06 0c 42 c0 24 04 00 04 22 86 00 00 00 10 c0 12 e6 02 30 80 08 3e 00 72
  00 40 02 00 66 00 00 00 42 06 00 00 64 00 00 18 80 00 40 00 40 00 60
42 00 00
  60 00 42 80 70 00 12 12 12 12 10 00 c0 20

Okay, jetzt ist klar, wieso der vzlogger kein SML findet, der SML-Header
1b1b1b1b01010101 kommt nicht vor. Allerdings so etwas Ähnliches (1b 12
12 12 00 00 00 00). Dann habe ich einige Umpositionierungen des Lesekopfs ausprobiert. Ich dachte, vielleicht sitzt der irgendwie schief drauf, leider ohne Erfolg es kommen immer ähnliche Daten wie oben.

Fällt euch dazu etwas ein? Ich vermute irgendetwas an der seriellen Kommunikation ist falsch eingestellt. Aber was?

Vielen Dank, tuxlog





Mehr Informationen über die Mailingliste volkszaehler-users