[OBIS V2] - Jetzt auch mit SML-Unterstützung

Begonnen von Icinger, 08 April 2016, 19:54:44

Vorheriges Thema - Nächstes Thema

gvzdus

Danke, qualifizierter Fehlerreport!

Der DZG-Zähler ist buggy, und es gibt einen Workaround dafür, der bisher aber nur für den Gesamtwert "power" greift.
Entweder, Du patcht per Hand Zeile 423 in 47_OBIS, oder Du machst morgen ein Update, ich committe gleich diesen Change:
423c423
<       if ($tltype==0x50 && $len<4 && $isobis && $cntdown==2 && $result[0]=~/^1-0:[1357]6\.7\.0/ && $hash->{helper}{DZGHACK}) {
---
>       if ($tltype==0x50 && $len<4 && $isobis && $cntdown==2 && $result[0]=~/^1-0:16\.7\.0/ && $hash->{helper}{DZGHACK}) {

f_sieler

Danke gvzdus,

nach dem Einfügen von:
if ($tltype==0x50 && $len<4 && $isobis && $cntdown==2 && $result[0]=~/^1-0:[1357]6\.7\.0/ && $hash->{helper}{DZGHACK}) {
hatte ich noch nicht viele Werte über 330W. Da waren aber die negativen Werte weg. :D
Wenn ich mir eine graphische Darstellung von "power_L1" über einen etwas längeren Zeitraum ansehe, erkennt man einen alle ca. 10min regelmäßig wiederkehrenden  Werteinbruch. Das muss aber nicht vom "OBIS-Modul" ausgelöst werden. Möglich ist auch ein Fehler vom WS7412.2 . Kennt jemand dieses Phänomen oder hat jemand eine Erklärung? siehe Dateianhang.
FHEM 5.5 auf FritzBox 7390, CUL für FS20, 8x fht80b, 7x fht80TF, 3x fs20st-4,  FB_Callmonitor

gvzdus

Ich würde eine Hässlichkeit des Wechselrichters mit in Betracht ziehen.

f_sieler

Gut geschlussfolgert gvzdus,
ich hatte vergessen zu erwähnen, dass es sich um den Einspeisezähler einer Solaranlage handelt. Der Wechselrichter macht alle 10min eine Prüfung der Einspeiseleitung. Dadurch entsteht der Leistungseinbruch.
Die negativen Leistungswerte sind nicht mehr aufgetaucht. Danke gvzdus.
FHEM 5.5 auf FritzBox 7390, CUL für FS20, 8x fht80b, 7x fht80TF, 3x fs20st-4,  FB_Callmonitor

viegener

@gvzdus: Ich habe bei mir das Problem, dass aufgrund einer Netzwerkverbindung über Powerline zu meinem Zähler (bzw. Lesekopf) immer wieder (vermeintlich) die Verbindung zum Zähler abbricht. Ich hatte testweise vor einer Woche mal einen Versuch gemacht, eine kleine Änderung in der Parse-Funktion vorzunehmen und diese läuft jetzt bei mir seitdem stabil.

sub OBIS_Parse($$)
{
my ($hash, $buf) = @_;
my $name = $hash->{NAME};

# added latpackettime on any received data
        $hash->{helper}{LastPacketTime} = gettimeofday if ( length($buf) > 0 ) ;

# gvz Unsure what this is for


Eingefügt habe ich nur den Kommentar und das rücksetzen von LastPackTime auch wenn nur neue Daten empfangen wurden, aber noch kein vollständiges Datenpaket erhalten wurde. Vielleicht macht es ja Sinn das ins Modul zu übernehmen, denn nach meinem Verständnis ist das durchaus korrekt so.

Anmerkung: Ein Setzen des intervalls hat bei mir nicht geholfen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

gvzdus

Moin, das "interval" ist ja auch was ganz anderes: Da geht es darum, statt kontinuierlich die Daten zu lesen, nur alle z.B. 15 Minuten mal einen Stand zu holen.

Ich hab' mir mal kurz den Code angesehen, und ich würde die Änderung lieber nicht übernehmen, obwohl ich eigentlich sehr offen dafür bin. Der Timer ist ja dafür da, um die Verbindung nach bestem Wissen zu resetten, wenn kein vollständiges (parseable) Datenpaket für X Sekunden (nämlich das Attribut resetAfterNoDataTime oder alternativ 90 Sekunden Default) empfangen wurde.

Meine Sorge ist jetzt: Angenommen, es kommt wegen verstellter Initialisierung (Baudrate magisch verändert, whatever) auf einmal nur noch Schrott. Dann würde Deine Codeänderung nicht resetten, weil ja *irgendwas* ankam (auch, wenn es Schrott ist). Ich habe also die Sorge, dass möglicherweise eine "Selbstheilung" bei anderen nicht greifen würde.
Andererseits verstehe ich nicht ganz, was bei Dir das Problem mit dem Reset auslöst. Ein Reset sollte vielleicht mal 2-3 Messwerte überspringen, aber eigentlich die Situation verbessern. Hilft Dir vielleicht, das Attribut resetAfterNoDataTime hochzusetzen?
Oder hast Du eine Idee, warum der "Verzicht auf Reset" bei Dir hilft statt zu Problemen zu führen?

Mnl

#1476
Hallo Forum,

ich weiß nicht genau, ob ich hier richtig bin, aber immerhin geht es um SML und Auslesen des Stromzählers.
Ich habe einen EMH-eHZ-Pxxx  und seit gestern einen Hichi-IR-Lese-Schreibkopf.

Die Einbindung in FHEM hat Dank des OBIS-Modules schnell geklappt.

Die Zählerstände für Verbrauch und Einspeisung passen.

Aber:
bei "power"  kommt nur ein niedriger Wert (der sich ständig ändert)  von +/- 5 bis 10,   selten auch mal Werte um 30.
Die Grundlast des Hauses liegt allerdings bei eher 150 - 400 W..

Es kommt wohl auch nicht viel mehr Information rüber, weil der Zähler das anscheinend nicht liefert ??

Fehlt etwas in meiner Konfiguration ??


define myPowerMeter OBIS /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0038-if00-port0@9600,8,N,1 SML
attr myPowerMeter event-on-change-reading .*
attr myPowerMeter extChannels auto
attr myPowerMeter interval 60
attr myPowerMeter room Strom
#   DEF        /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0038-if00-port0@9600,8,N,1 SML
#   DeviceName /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0038-if00-port0@9600,8,N,1
#   FD         53
#   FUUID      63de6b5c-f33f-93ac-3f45-75c4a1166f8f7f75
#   MeterType  SML
#   NAME       myPowerMeter
#   NR         928
#   PARTIAL   
#   STATE      opened
#   TYPE       OBIS
#   eventCount 269
#   READINGS:
#     2023-02-04 22:23:01   1.0.96.1.0.255  EMHT
#     2023-02-04 22:23:01   ManufID2        EMH
#     2023-02-04 22:23:01   power           -4
#     2023-02-04 22:17:06   state           opened
#     2023-02-04 22:23:01   total_consumption 4221209.5
#     2023-02-04 18:03:37   total_consumption.255 4221188.9
#     2023-02-04 22:23:01   total_feed      7918129
#     2023-02-04 18:03:37   total_feed.255  7918107
#   helper:
#     BUFFER     
#     DIRECTIONSUM <
#     EoM        0
#     LastPacketTime 1675545781.31254
#     SPEED      5
#     SPEED2     5
#     TRIGGERTIME 1675545426.13803
#     Channels:
#     DEVICES:
#       
#       0
#       
#     RULECACHE:
#       1-0:1.8.0*255 Counter
#       1-0:16.7.0*255 Channels
#       1-0:2.8.0*255 Counter
#       1-0:96.1.0*255 unknown
#       1-0:96.50.1*1 ManufID2
#       255-255:255.255.255*255 unknown
#     directions:
#
setstate myPowerMeter opened
setstate myPowerMeter 2023-02-04 22:23:01 1.0.96.1.0.255 EMHT
setstate myPowerMeter 2023-02-04 22:23:01 ManufID2 EMH
setstate myPowerMeter 2023-02-04 22:23:01 power -4
setstate myPowerMeter 2023-02-04 22:17:06 state opened
setstate myPowerMeter 2023-02-04 22:23:01 total_consumption 4221209.5
setstate myPowerMeter 2023-02-04 18:03:37 total_consumption.255 4221188.9
setstate myPowerMeter 2023-02-04 22:23:01 total_feed 7918129
setstate myPowerMeter 2023-02-04 18:03:37 total_feed.255 7918107



Gruß
Michael
CUL433, CUL868, JeeLink, Somfy, IT, GT-WT-01, GT-WT-02, Lacrosse, CUL_WS, Bravia, FritzBox, FritzDect, 1-wire, MQTT, BDKM, EnOcean, HUEDevice

gvzdus

Sicherheitsfrage 1: Die PIN hast eingegeben? Ohne PIN würde ich erwarten, dass die Zählerstände nur kWh-genau sind (statt um 3-4 Zehnerpotenzen genauer), und ich wüsste nicht, was bei "power" rauskäme.

Deine Definition ist hilfreich, aber zur Analyse möchte ich Dich um
attr <devicename> verbose 5
bitten. Dann werden die Rohdaten so geloggt:
2023.02.04 22:49:11 5: OBIS (MT175) - Full message-> 1B1B1B1B010101017605084CB5C962006200726301017601010502C4
3C990B090149534B00047FE6A101016374BB007605084CB5CA620062007263070177010B090149534B00047FE6A1070100620AFFFF726
2016504B5C26F7D77078181C78203FF010101010449534B0177070100000009FF010101010B090149534B00047FE6A101770701000108
00FF650001018201621E52FF59000000000304F5BD0177070100010801FF0101621E52FF59000000000304F5BD0177070100010802FF0
101621E52FF5900000000000000000177070100020800FF0101621E52FF5900000000076636DF0177070100020801FF0101621E52FF5900000000076636DF0177070100020802FF0101621E52FF5900000000000000000177070100100700FF0101621B5200550000006D0177070100240700FF0101621B520055000000110177070100380700FF0101621B5200550000001E01770701004C0700FF0101621B5200550000003E0177078181C78205FF010101018302DE94C577CEBE72E879A9B3ACC50AF06D3DC27D8AD92DC1E29AA49BFD485357E4B589E527301B2D0EA6FA4FCE325CD969010101639401007605084CB5CB620062007263020171016379A2001B1B1B1B1A00FEE4

Mit den Rohdaten kann ich gucken, ob am Parser etwas schräg ist.

Mnl

Danke für die schnelle Rückmeldung !

Ja PIN habe ich hineingemorst...

Hier ein Auszug aus den letzten Einträgen im logfile:


2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: /
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: 1-0:96.50.1*1(EMH)
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg 1-0:96.50.1*1(EMH) is of type ManufID2
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: 1-0:96.1.0*255(EMHT)
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: 1-0:1.8.0*255(>4221299.8*Wh)
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg 1-0:1.8.0*255(>4221299.8*Wh) is of type Counter
2023.02.04 22:54:53 4: OBIS (myPowerMeter) - Set total_consumption to 4221299.8
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: 1-0:2.8.0*255(7918130.4*Wh)
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg 1-0:2.8.0*255(7918130.4*Wh) is of type Counter
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: 1-0:16.7.0*255(530*W)
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg 1-0:16.7.0*255(530*W) is of type Channels
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: 255-255:255.255.255*255()
2023.02.04 22:54:53 5: OBIS (myPowerMeter) - Msg-Parse: !
2023.02.04 22:54:54 5: OBIS (myPowerMeter) - SML-Parse 1B1B1B1B010101017605023E42EA6200620072630101760107FFFFFFFFFFFF0500BF6BA40B0A01454D48000080540A72620165056521276201636824007605023E42EB62006200726307017707FFFFFFFFFFFF0B0A01454D48000080540A070100620AFFFF72620165056521277577070100603201010101010104454D480177070100600100FF010101010B0A01454D48000080540A0177070100010800FF641C01047262016505652127621E52FF6502841E880177070100020800FF017262016505652127621E52FF6504B835F80177070100100700FF0101621B520053020F01010163D60D007605023E42EC62006200726302017101638930001B1B1B1B1A00A6EA
2023.02.04 22:54:54 5: OBIS (myPowerMeter) - Full message-> 1B1B1B1B010101017605023E42EA6200620072630101760107FFFFFFFFFFFF0500BF6BA40B0A01454D48000080540A72620165056521276201636824007605023E42EB62006200726307017707FFFFFFFFFFFF0B0A01454D48000080540A070100620AFFFF72620165056521277577070100603201010101010104454D480177070100600100FF010101010B0A01454D48000080540A0177070100010800FF641C01047262016505652127621E52FF6502841E880177070100020800FF017262016505652127621E52FF6504B835F80177070100100700FF0101621B520053020F01010163D60D007605023E42EC62006200726302017101638930001B1B1B1B1A00A6EA
2023.02.04 22:54:54 4: OBIS (myPowerMeter) - MSG IS:
/
1-0:96.50.1*1(EMH)
1-0:96.1.0*255(EMHT)
1-0:1.8.0*255(>4221300*Wh)
1-0:2.8.0*255(7918130.4*Wh)
1-0:16.7.0*255(527*W)
255-255:255.255.255*255()
!

CUL433, CUL868, JeeLink, Somfy, IT, GT-WT-01, GT-WT-02, Lacrosse, CUL_WS, Bravia, FritzBox, FritzDect, 1-wire, MQTT, BDKM, EnOcean, HUEDevice

gvzdus

1-0:16.7.0*255(527*W)
heißt, dass er 527 Watt als Wert dekodiert. Was kommt dann als Reading bei FHEM raus?

Mnl

Verrückt !!

Seit heute Nachmittag ca. 14:00 Uhr kämpfe ich damit, daß bei   "power" kein vernünftiger Wert kommt.

Jetzt (nach  ~8h ) verbose =5 eingeschaltet
==>  Es kommen vernünftige Werte, die auch mit dem übereinstimmen, was der Wechselrichter zeigt.

Ich bin verwirrt, aber auf höchstem Niveau !!
CUL433, CUL868, JeeLink, Somfy, IT, GT-WT-01, GT-WT-02, Lacrosse, CUL_WS, Bravia, FritzBox, FritzDect, 1-wire, MQTT, BDKM, EnOcean, HUEDevice

Mnl

Reading    ist im Anhang ...

Ich weiß zwar nicht warum, aber jetzt kommen vernünftige Werte.

Bleibt nur noch die Frage, ob von dem Zähler wirklich nicht mehr rüberkommt
(z.B. L1,L2,L3  ..)

Danke für die Unterstützung

MIchael
CUL433, CUL868, JeeLink, Somfy, IT, GT-WT-01, GT-WT-02, Lacrosse, CUL_WS, Bravia, FritzBox, FritzDect, 1-wire, MQTT, BDKM, EnOcean, HUEDevice

gvzdus

Ich hatte einen EMH-Zähler, und bei dem kamen auch keine Phasenwerte rüber.
Mit dem PV-Einbau bekam ich einen ISKRA-Zähler, der liefert Phasen. Das entspricht also meinen Erfahrungen.

Mnl

 :-X
jetzt weiß ich auch, warum con 14:00 bis ca. 23:00 Uhr  der Zähler nur niedrige power-Werte gebracht hat:

da habe ich  Strom von der Sonne und aus der Batterie gehabt.
(siehe Anlage)
Erst ab ca. 23:00 Strombezug, der am Zähler angezeift werden konnte...
CUL433, CUL868, JeeLink, Somfy, IT, GT-WT-01, GT-WT-02, Lacrosse, CUL_WS, Bravia, FritzBox, FritzDect, 1-wire, MQTT, BDKM, EnOcean, HUEDevice

stefanru

@Mni: Mit was malst du den Graph? Sieht toll aus.

Gruß,
Stefan