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

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

Vorheriges Thema - Nächstes Thema

Peter aus Calw

Hallo Markus,
habe jetzt doch noch eine Frage, mit :
   
channels {"1.7.0"=>"E-aktuell"}

geht das super, wie bringt man jetzt noch diesen dazu ?

{"2.7.0"=>"P-aktuell"}

Gruß Peter

KölnSolar

channels {"1.7.0"=>"E-aktuell","2.7.0"=>"P-aktuell"}

Kannst Du noch in dem einen riesenlangen Post die letzte Zeile rausschmeißen u. das Codeende einfügen: "[/code]" (ohne " natürlich)

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

Peter aus Calw

habe den Eintrag einfach gelöscht, ist hoffentlich gut so.
Danke für den Tipp, probiert habe ich einige Optionen - die einfachste nicht.
Gruß Peter

jt5569

Hallo,

da ich jetzt auch auf OBIS V2 umgestiegen bin (bis jetzt hatte ich das Script "AS1440.sh" im Einsatz) und ich in den vielen Beiträgen noch nicht die passende Antwort gefunden habe, versuche ich hiermit:
Ist mittlerweile eine Baudraten-Umschaltung implementiert? Denn das Auslesen aller Parameter des AS1440 dauert bei mir fast 2 min!!
Oder kann man die Anzahl der Parameter deutlich reduzieren?
Denn ich habe ein einfach Script geschrieben, was am Ende des Tages (23:59) eine Tagesauswertung mit den letzten Werten des AS1440 und meiner PV Anlage errechnet.
Da aber das LOG File vom AS1140 am ende des Tages nicht immer mit den gleichen Werten endet (da der letzte Abruf wegen der langen Auslesezeit nicht vor 0.00 Uhr fertig wird) bekommt mein Script immer die falschen Werte. (Ich hoffe das ist irgendwie verständlich geschrieben).
Vielen Dank im Voraus für Tipps.
Grüße Jürgen

Peter aus Calw

Hallo Jürgen,
zu Deiner Frage kann ich vielleicht einen Tipp geben, habe das auch irgendwann hier im Forum erhalten da ich ein ähnliches Problem hatte. Mit diesem "at" werden Daten aus heute in das Log von morgen weitergeschrieben, wie das genau funktioniert ist mir zu hoch - aber es funktioniert :
define a_actuator  at  +*00:05  {addLog("AC_LSHK","state");;addLog("HK_szeit","state");;addLog("UX_v22","state");;addLog("UX_v06","state");;addLog("TH_HKRestw","temperature")}
Dann erscheint eine Eingabemaske mit möglichen Eingaben. Es ist bestimmt einen Versuch wert.
Da Du diese Daten vermutlich auch irgendwo speichern wirst kann ich noch einen Tipp geben. Meine Verbrauchsdaten (HT,NT,Einsp.,Tagesertrag etc.) stehen in einer Log, dieses Log ist mit einer Libreoffice Calc verknüpft und die Calc-Datei wird bei mir um 22:00 Uhr per cron gestartet, mit dem Start läuft ein integriertes Makro ab das meine Daten jeweils immer in die erste freie Zeile schreibt.
Bei Interesse stelle ich die Calc-Tabelle gerne zu Verfügung.
erstmal guten Erfolg und LG von Peter   

michael.winkler

Ich habe immer noch das Problem, dass das OBIS Modul auf disconnected steht und von sich aus auch keinen Reconnect mehr durchführt. Zum Zeitpunkt des Disconnectes habe ich folgendes im LOG stehen:

2020.01.22 11:19:51.247 1: 10.10.2.3:23 disconnected, waiting to reappear (myPowerMeter)
2020.01.22 11:19:51.250 1: PERL WARNING: Use of uninitialized value $b in substitution (s///) at ./FHEM/47_OBIS.pm line 253.
2020.01.22 11:19:51.250 1: stacktrace:
2020.01.22 11:19:51.250 1:     main::__ANON__                      called by ./FHEM/47_OBIS.pm (253)
2020.01.22 11:19:51.250 1:     main::OBIS_Read                     called by fhem.pl (3761)
2020.01.22 11:19:51.250 1:     main::CallFn                        called by fhem.pl (756)


Als Workaround habe ich jetzt erst mal einen AT eingerichtet der alle 10 Sekunden schaut ob die Readings nicht älter als 60 Sekunden sind. Wenn die Readings älter als 60 Sekunden sind wird das OBIS Modul durch ein "modify myPowerMeter 10.10.2.3:23 SML" neugestartet. Direkt danach läuft das Modul wieder, daher schließe ich das ESPEasy Modul, welches die SML Daten liefert, als Fehlerquelle aus.

Wäre gut wenn Sich mal ein Entwickler des Modules dazu meldet.

Gruß
Michael

jt5569

Hallo Peter,

vielen Dank für Deine Tipps.
Ich wollte das "addlog" ausprobieren, bekomme aber eine Fehlermeldung:
"a_actuator: Undefined subroutine &main::addLog called at (eval 228461) line 1."

In meiner meiner fhem.cfg habe folgendes eingetragen:

define AS1440 OBIS /dev/ttyUSB0@300,7,E,1 AS1440
attr AS1440 interval 300
attr AS1440 pollingMode on
attr AS1440 room Stromdaten
define a_actuator at +*00:05  {addLog("AS1440","1.1.1.8.0")}

Im wiki habe ich unter addLog noch folgendes gelesen:
"HINWEIS: Es gibt mittlerweile (12/2019) das Attribut addLog für FileLog Devices."

Vielleicht versuche ich es mal als Attribut.

Das kopieren der Daten in eine Tabelle ist auch eine gute Idee. Aber ich wollte erstmal die täglichen Verbräuche "nur" grafisch mit FHEM darstellen.

Wichtig für mich wäre immer noch die "Datenflut" des AS1440 zu reduzieren, um auch die LOG Files nicht zu überfüllen.
Vielleicht hat ja da noch jemand einen Tipp?

Grüße
Jürgen







KölnSolar

Hallo Jürgen,
ZitatWichtig für mich wäre immer noch die "Datenflut" des AS1440 zu reduzieren, um auch die LOG Files nicht zu überfüllen.
Dazu kannst Du entweder:
- die event....-Attribute beim OBIS-Device(Du schränkst generell events ein)
- den für Dich passenden regexp beim Log-device (Du schränkst nicht die events ein, sondern nur das Datenvolumen im Log)
einsetzen.
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

Peter aus Calw

Hallo Jürgen,
vielleicht habe ich auch etwas nicht richtig verstanden, meine Lösung hat sich auf die Fortschreibung von Events in Logs über den 00:00 Uhr Übergang für Anzeigen im Plot bezogen, also wenn ein Event um 23:35 Uhr erfolgt, soll dieser im Plot
nicht abbrechen.
LG Peter

micomat

Hey,
nach Umzug auf ein neues System fehlen mir die Parameter dir_total_consumption und dir_total_feed auf beiden SML Zaehlern.
Konfiguration ist aber wie beim alten System auf dem die Parameter auch jetzt noch da sind.

Ne Idee wie ich die wieder herbekomme?
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

cocojambo

Das Modul läuft bei mir2-3Tage ohne Probleme, bleibt aber dann plötzlich stehen. So auch heute morgen wieder um 07:48 Uhr. Auch ein get update hilft nicht mehr. Das ist ärgerlich, weil meine gesamte Energie-Berechnung der Photovoltaik-Anlage und des Stromspeichers auch mit diesen Werten gemacht wird, die dann natürlich nicht mehr stimmt.
Im Status steht "opend". Ich habe mal ein "list ISKRA_MT691 gemacht"

Internals:
   DEF        /dev/ttyUSB0@9600,8,N,1 SML
   DeviceName /dev/ttyUSB0@9600,8,N,1
   FD         35
   FUUID      5d6a8b10-f33f-6f9b-51f5-096f290c6e0079b0
   MeterType  SML
   NAME       ISKRA_MT691
   NR         1444
   PARTIAL   
   STATE      opened
   TYPE       OBIS
   READINGS:
     2020-01-31 07:07:48   1.0.96.50.1.255 ISK
     2020-01-31 07:07:48   Bezug           47
     2020-01-31 07:07:48   Einspeisung     0
     2020-01-31 07:07:48   power           47
     2020-01-31 11:59:55   statTotal_consumption Hour: 0.0 Day: 344.8 Month: 281895.7 Year: 281895.7
     2020-01-31 11:59:55   statTotal_consumptionDay 344.8
     2020-01-30 23:59:55   statTotal_consumptionDayLast 4495.9
     2020-01-31 11:59:55   statTotal_consumptionHour 0.0
     2020-01-31 11:59:55   statTotal_consumptionHourLast 0.0
     2020-01-31 11:59:55   statTotal_consumptionLast Hour: 0.0 Day: 4495.9 Month: 11749.8 Year: 11749.8 (since: 2019-12-30 )
     2020-01-31 11:59:55   statTotal_consumptionMonth 281895.7
     2020-01-31 11:59:55   statTotal_consumptionYear 281895.7
     2019-12-31 23:59:55   statTotal_consumptionYearLast 11749.8
     2020-01-31 11:59:55   statTotal_feed  Hour: 0.0 Day: 0.0 Month: 18799.7 Year: 18799.7
     2020-01-31 11:59:55   statTotal_feedDay 0.0
     2020-01-30 23:59:55   statTotal_feedDayLast 69.6
     2020-01-31 11:59:55   statTotal_feedHour 0.0
     2020-01-31 11:59:55   statTotal_feedHourLast 0.0
     2020-01-31 11:59:55   statTotal_feedLast Hour: 0.0 Day: 69.6 Month: 15.7 Year: 15.7 (since: 2019-12-31_14:55:27 )
     2020-01-31 11:59:55   statTotal_feedMonth 18799.7
     2019-12-31 23:59:55   statTotal_feedMonthLast 15.7
     2020-01-31 11:59:55   statTotal_feedYear 18799.7
     2019-12-31 23:59:55   statTotal_feedYearLast 15.7
     2020-01-30 19:17:42   state           opened
     2020-01-31 07:07:48   total_consumption 2085544.3
     2020-01-31 07:07:48   total_feed      9583067
   helper:
     BUFFER     
     EoM        -1
     SPEED      5
     SPEED2     5
     TRIGGERTIME 1580408262.16903
     _98_statistics myStatDevices
     Channels:
     DEVICES:
       
       30
       
     directions:
Attributes:
   alias      Stromzähler RNG
   event-min-interval .*:30
   group      Systemkontrolle
   interval   30
   room       System
   userReadings Bezug:power.* { if (ReadingsVal($name,"power",0) > 0) { ReadingsVal($name,"power",0) } else { 0 } }, Einspeisung:power.* { if (ReadingsVal($name,"power",0) <= 0) { - ReadingsVal($name,"power",0) } else { 0 } }


Da sehe ich aber auch nichts ungewöhnliches, warum das Modul plötzlich steht. Woran kann das liegen? und vor allem, was kann ich machen um herauszufinden was die Ursache ist. Im LOG habe ich keinen Eintrag zu dieser Zeit gefunden.

Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

Raymund

#821
ZitatDas Modul läuft bei mir2-3Tage ohne Probleme, bleibt aber dann plötzlich stehen.

Hallo, ich hatte ein ähnliches Problem, bis ich rausgefunden hatte, dass mein "Volkszähler" immer mal wieder "falsche" SML-Files übermittelt. Es fehlen dann meistens zwei Bytes, was aber z.B. auch an der Software des Zählers liegen könnte (keine Schuldzuweisung hier). Vielleicht mal "vorne anfangen" und die Files bzw. deren Länge loggen !?

cocojambo

Danke für deinen Hinweis aber ich habe keinen Volkszähler dran, sondern dieses Teil:

Weidmann Elektronik Stromzähler, Smart Meter IR (Infrarot) Schreib/Lesekopf USB (Optokopf)

und der Kopf hat ja einige Zeit einwandfrei gearbeitet und ich habe nichts an der Verkabelung oder am Lesekopf verändert.

Gruß
Norbert

FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

Raymund

#823
Das war auch eher als "Anregung zur Selbsthilfe" gedacht. Ich würde auf "verbose 5" stellen und mich auf die Lauer legen, bis Du die Anweisungen eingrenzen kannst, bei denen das Programm stehen bleibt. In der Zwischenzeit kannst Du ja schon einmal ein bisschen die "SML-Norm" studieren. Dann sukzessive Log3-Anweisungen verteilen, bis der "Übeltäter" feststeht. Dauert halt aber nur so geht's, wenn Dir vorher keiner einen Tipp geben kann.

Icinger

Es ist definitiv so, wie Raymund gesagt hat:
Dir fehlen ein paar Bytes. Das letzte Telegramm wurde nicht vollständig empfangen.

Hinweis dafür ist das Internal "EoM" (=EndOfMessage), welches solange auf -1 steht, bis eine komplette Message empfangen wurde.


lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho