[vz-users] Auslesen eines ISKRA MT175

Tobias Baumann 017623705678 at o2online.de
Mi Mai 17 06:51:00 CEST 2023


Guten Morgen Tuxlog


hast du den Typ (Typenschlüssel) kontrolliert siehe MT175 wiki das hier 
ein k0 benötig wird , es gibt wohl auch als v22 oder andere varianten.

es könnte sein das hier d0 läuft (ehemals 1107 )



Am 17.05.2023 um 06:15 schrieb tuxlog:
> Guten Morgen Tobias,
>
> vielen Dank für Deine Antwort. Eigentlich würden mir die Daten im 
> vzlogger zunächst ausreichen. Dort kann ich sie mir dann abholen und 
> in eine DB schreiben. Auslesen würde ich gerne den saldierten 
> Zählerstand (abrechnungsrelevant) und die aktuelle Last in Watt.
>
> Ich habe es so verstanden, wenn ich in der config keine channels 
> anlege und die verbosity auf 15 setzen, dann logged der vzlogger alles 
> was er als SML erkennt im log file. Aber er erkennt leider keine Daten 
> und somit bleibt es im logfile stumm und auf port 8081 würde ja nur 
> etwas angezeigt, wenn er SML erkennt und ein channel angelegt wurde.
>
> Aktuell kommt dort: { "version": "0.8.1", "generator": "vzlogger", 
> "data": [ ], "exception": { "message": "channel index is disabled", 
> "code": 0 } }
>
> Ich denke die Schwierigkeit ist eher, dass meine am Kopf ausgelesenen 
> Daten kein gültiges SML sind. Ich weiß aber nicht woran das liegen 
> könnte.
>
> Viele Grüße, tuxlog
>
> Am 16.05.23 um 19:37 schrieb Tobias Baumann:
>> hallo tuxlog
>>
>> kannst du bitte auch noch mitteilen was genau du haben möchtest ? , 
>> nur VZlogger und nur die gerade ausgelesen daten ? oder die Komplette 
>> Datenbank mit Frontend und Darstellung
>>
>> Deine Config sagt nur das mini Frontend erstellt auf port 8081 , 
>> heißt nur der gerade aktuelle messwert wird angezeigt . die Log datei 
>> sieht korrekt aus zu deiner Config
>>
>>
>> hast du denn deine daten auf port 8081 angeschaut ? sind diese 
>> vorhanden?
>>
>>
>>
>>
>> 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,
>>         }]
>> }
>>
>> Am 16.05.2023 um 19:28 schrieb Klaus Reichenecker:
>>> 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
>>>
>>>
>>>
>>>
>>
>

-- 
Diese E-Mail wurde von AVG-Antivirussoftware auf Viren geprüft.
www.avg.com


Mehr Informationen über die Mailingliste volkszaehler-users