CRC Fehler beim Auslesen eines Stromzählers via OBIS

Begonnen von TreibAir, 29 April 2020, 01:23:19

Vorheriges Thema - Nächstes Thema

TreibAir

Hallo Forumsgemeinde,

ich habe seit ca. einem Jahr einen USB IR-Lesekopf auf meinem EMH Stromzähler im Einsatz. Bis vor ca. zwei Wochen funktionierte er problemlos. Aktuell liefert er aus mir unbekannten Gründen nur noch CRC Fehler.

define Stromzaehler1 OBIS /dev/ttyUSB1@9600,8,N,1 SML


Vom Terminal aus kann ich sehen, dass etwas empfangen wird:

cat /dev/ttyUSB1 | od -tx1
0000000 1b 1b 1b 1b 01 01 01 01 76 07 00 1d 0f 01 41 69
0000020 62 00 62 00 72 63 01 01 80 f0 70 1c 00 70 00 f0
0000040 00 00 70 fc 00 00 00 00 f0 70 fc 70 fc 70 fc 00
0000060 00 f0 70 00 00 00 70 3c 00 70 34 21 05 58 0a 53
0000100 33 e0 f0 f0 70 00 70 00 f0 00 70 c0 f0 00 00 70
0000120 c0 00 00 f0 70 fc 00 00 70 fc 00 f0 00 01 41 6a
0000140 62 00 62 00 72 63 07 01 77 1c 00 f0 70 00 00 00


Allerdings fehlt mir der Vergleich zu dem, was vor dem 12.4. hier angekommen ist. Da es in der Vergangenheit ja funktionierte, glaube ich nicht, dass es an falschen Einstellungen der Schnittstelle liegt.

Unmittelbar nach einem Reboot meines Systems (Ubuntu 18.04) ist einmalig ein neuer Wert im Logfile gelandet, seitdem wieder nur CRC Fehler. Bei weiteren Neustarts des gesamten Systems oder zumindest von FHEM ließ sich das aber nicht reproduzieren. Ich bin gerade mit meinem Latein ziemlich am Ende und wäre für ein paar Tipps, in welche Richtung ich schauen könnte sehr dankbar.

KölnSolar

Mir kommt da nur die Idee, dass der Lesekopf nicht mehr sauber sitzt ?  :-\
FHEM, Modul, Schnittstelleneinstellungen, sprich Software würde ich erst einmal ausschließen.
Log bei verbose=5 auf dem device könnte evtl. die Augen etwas mehr öffnen.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

viegener

Ich würde auch zuerst die Vermutung von KölnSolar überprüfen. Wenn ich die empfangenenen Daten oben betrachte und mit meinem Verständnis von SML matche, würde ich sagen, dass der Anfang der Daten korrekt gelesen wird (Start mit 4 x 0x1b), aber die Daten nicht vollständig sind, denn am Ende müsste auch ein Block mit 4 x 0x1b plus zusätzliche Daten, inklusive CRC-Wert stehen.

Ist der Cat vollständig, oder kommt da noch mehr?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

TreibAir

Okay, danke, das hat tatsächlich geholfen. Ich hatte nicht damit gerechnet, dass der Sensor so empfindlich auf kleine Positionsänderungen reagiert. Ich scheine bei der Erstinbetriebnahme zufällig eine gute Position erwischt zu haben und hab seitdem bewusst nichts mehr verändert. Aber jetzt, nach einigem hin und her Geschubse und einer vorsorglichen Fixierung läuft alles wieder.

Allerdings habe ich am Ende auch meinen Zähler nochmal neu in FHEM angelegt. Erst danach arbeitete der Zähler auch in FHEM wieder korrekt, nachdem ich ihn vorher per CAT schon erfolgreich wieder auslesen konnte.

Danke für den Denkanstoß!

roli

#4
Ich habe ähliches Problem und komme hier nicht weiter. 
Ich bekomme nur CRC Fehler  -aber erst mal sehen die Daten für mein Verständnis ganz gut aus.   

Keine Ahnung wie ich prüfen soll, ob ich alles richtig bekomme oder nicht

2022.10.14 09:11:40 5: OBIS (EDL300) - SML-Parse 1B1B1B1B0101010176070012107D04396200620072630101760101070012097E01130B06454D48010E153C4C180101635F6B0076070012107D043A620062007263070177010B06454D48010E153C4C18070100620A7F7F72620165097E61217A770701014702037F0101010104454D4801770701000000097F010101010B06454D48010E153C4C1801770701000108007F6401012001621E527F56001871564F01770701000208007F6401012001621E527F56001058274701770701000108017F0101621E527F5600016F383201770701000208017F0101621E527F56001058274701770701000108027F0101621E527F560016021E1D01770701000208027F0101621E527F56000000000001770701001007007F0101621B527F557F7F7F5701770701014702057F0172620165097E61210101030209313D4E70112E3760551A403D0E1460517B020D58035B3072391B58062B1A48491F646C6C433F0C5F4D3F5A202C107A01010163306B0076070012107D043D62006200726302017101630D7B00001B1B1B1B1A01507E
2022.10.14 09:11:40 4: OBIS (EDL300) - CRC Error in Input


Lesekopf sitz gut und liefert immer entsprechend Daten.  KEnnt jemand ein SML Pars modul ohne FHEm um zu testen ob Daten ok sind ?

Es handelt  sich um einen Zähler vom Typ  ED300L .   Mein USB Ir Lesekopf enthält  den Chip FT230x  .

Folgendes ist in FHEM konfiguriert :


define EDL300  OBIS /dev/ttyUSB0@9600,7,E,1 SML
  attr EDL300  event-min-interval 1800
  attr EDL300  interval           1800
  attr EDL300  verbose            5

setdefaultattr group   Logdatei

define   FileLog_Strom   FileLog  /var/log/Stromz-%Y_%m.log  EDL300



Ändere ich dies wie unten auf   @9600,8,E,1     so  bekommt FHEm keine Daten



FHEM auf Debian Wheezy(RASPI), 2 * CUL868/433 *  FS20 STR, 2 * HMS100 T, 2 * , 1* FS20 SU, 2 *  FS20 SM8, 2 ; 1-wire Temp, GPIO based Relais-Schalter;i2c Bus
Integration von Sonnenbatterie Eco8;
Elektro  Nachspeicher-Ofen Ladesteuerung,
Haus Lüftung,
Integration von HardwareAlarmanlag

roli

HAbe jetzt hier weiter getestet  und    das 47_OBIS  für mich soweit geändert, dass  der CRC16 test immer  1 zurückliefert.

Siehe da -- ich bekomme jetzt Werte vom Zähler. 
Habe auch im Internet einen Beitrag gefunden, der die CRC Werte als falsch ansieht. 
Es gibt wohl einige verschiedene CRC Berechnungen   ---
Frage wäre hier, ob es nicht sinnvomm wäre, wenn man eine Option bereitstellt und die CRC Überprüfung auszuschalten  --
Es scheint sehr viele Stromzähler zu geben, die einfach nicht einem einzigen Standard folgen.

Aber vielleicht hat jemand bereits eine andere Lösung für  den Netze BW  Zähler  ED300L ?
FHEM auf Debian Wheezy(RASPI), 2 * CUL868/433 *  FS20 STR, 2 * HMS100 T, 2 * , 1* FS20 SU, 2 *  FS20 SM8, 2 ; 1-wire Temp, GPIO based Relais-Schalter;i2c Bus
Integration von Sonnenbatterie Eco8;
Elektro  Nachspeicher-Ofen Ladesteuerung,
Haus Lüftung,
Integration von HardwareAlarmanlag

roli


Teilweise gelöst.

Mit Testprogrammen außerhalb von FHEM bin ich dem Problem näher gekommen.  Hab mich initial durch andere Beiträge falsch leiten lassen  und leider konnte im Forum auch keiner einen Tip geben. 
Aber oft verwendet man ja Beispiele aus den Foren. 
Wichtig scheint, dass die Specifikation des USB Ports korrekt ist. 

In FHEM   
    define Stromzaehler1 OBIS /dev/ttyUSB1@9600,7,N,1 SML

    oder
   define Stromzaehler1 OBIS /dev/ttyUSB1@9600,8,N,1 SML

ist bei mir nicht erfolgreich !!

Meine Lösung:

  in   /etc/init.d/fhem :

stty -F /dev/ttyUSB0  1:0:8bd:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0


In FHEM:
   
      define EDL300 OBIS /dev/ttyUSB0  SML


Vielleicht helfe ich so jemand anderem etwas weiter.
FHEM auf Debian Wheezy(RASPI), 2 * CUL868/433 *  FS20 STR, 2 * HMS100 T, 2 * , 1* FS20 SU, 2 *  FS20 SM8, 2 ; 1-wire Temp, GPIO based Relais-Schalter;i2c Bus
Integration von Sonnenbatterie Eco8;
Elektro  Nachspeicher-Ofen Ladesteuerung,
Haus Lüftung,
Integration von HardwareAlarmanlag