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

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

Vorheriges Thema - Nächstes Thema

viegener

Ich weiss nicht ob es das Thema schonmal gab, aber ich habe im Keller einen SML-Zähler, den ich nicht direkt an den Raspberry anschliessen kann. Deshalb habe ich über den ESP8266 eine SerialBridge eingebaut. Damit sind die Definitionen übers Netz abholbar. Das klappt auch ganz wundervoll über so eine Definition:

define smlobis 192.168.1.53:23 SML

Allerdings ist meine Netzverbindung in den Keller nicht super stabil (erst WLAN und dann Powerline), deshalb ist die Verbindung regelmässig mal weg. Leider gibt es kein automatisches reconnect und auch kein manuelles. Momentan behelfe ich mir mit einem defmod, dass an verschiedene Bedingungen geknüpft ist (presence und auch ein DOIF auf regelmässige updates). Also zum Beispiel sowas wie

define smlobis_presence:watchdog watchdog smlobis_presence:presence:.present 00:10 smlobis_presence:presence:.absent { my $def = $defs{smlobis }->{DEF}; fhem("defmod smlobis OBIS $def"); }

Es wäre schön wen es ein reconnect gäbe entweder manuell oder automatisch für das Modul also etwas wie

set smlobis reconnect

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Elektron

Hallo zusammen,

ich habe vor einigen Wochen auch eine ModerneMessEinrichtung von meinem Energieversorger bekommen.
Also Lesekopf besorgt, kabel verlegt und grundsaetzlich funktioniert das auch...

Aber:

wenn ich auf polling umstelle und den intervall setze (30 Sekunden) bekomme ich (gefuehlt) nicht mehr die richtige momentane Leistungs angezeigt.
(Ich habe zum Test den Siebtraeger angeschaltet, mit rund 1,5kW muesste der schon auffallen.)
Dann habe ich zum Test das Polling ausgeschaltet (aber den Intervall gelassen), das funktioniert auch wie gedacht, allerdings wechselt jetzt die Schnittstelle zwischen "Connected und Disconnected" und schreibt das Logfile voll...

Auch greifen einige der RegExpressions bei dem Model scheinbar nicht...

Readings
1.0.0.0.9.255                        09-01-49-53-4B-00-04-75-B9-A5     2020-06-14 16:16:57
129.129.199.130.3.255          ISK                                                2020-06-14 16:16:57
129.129.199.130.5.255         E014-F16F-ECE9-44E0-6B19-7923-7384-6F19-4F88-18F5-F31E-6A9B-0F76-A317-A586-0983-E523-4F63-2A41-A954-E69C-C481-B6FB-B72D-01     2020-06-14 16:16:57
Version                                 ISK\090149534B000475B9A5          2020-06-14 14:42:11
power                                   654                                               2020-06-14 16:16:57
state                                    opened                                           2020-06-14 16:15:44
total_consumption                199500.6                                       2020-06-14 16:16:57
total_consumption_Ch1         199500.6                                       2020-06-14 16:16:57
total_consumption_Ch2         0                                                   2020-06-14 16:16:57

Vielleicht helfen diese Angaben etwas...

Vielen Dank und Gruesse
Michael

Elektron

Hallo zusammen,

Kurzes Update. Nach einem Update scheint es jetzt zu funktionieren...
Hab das Intervall gesetzt und das Polling wieder deaktiviert...

Viele Grüße Michael

majorshark

Jetzt hat der Netzbetreiber auch bei mir den Zähler gewechselt. Vorher hatte ich einen eHZ-GW8E2A Zähler von 2009 drin. Mit dem Funktionierte das Auslesen der Daten über Jahre tadellos. Jetzt habe ich einen ISKRA eHZ-EDL Type MT681 eingebaut bekommen. Alles was der Zähler jetzt noch anzeigt sind die aufgelaufenen Leistungsdaten des Verbrauches und der Einspeisung und noch ein paar andere Daten. Die Momentanwerte für Power und "Feed_L1" fehlen. Somit habe ich auch keine Leistungsdaten die zur Steuerung heranziehen könnte.

Habe ich jetzt beim durchforsten des Threads etwas übersehen, was ich noch nachjustieren muss oder liefert der Zähler die Daten schlichtweg einfach nicht? Das wäre sehr ärgerlich. Oder gibt es eine Möglichkeit an die Daten wieder heran zu kommen?

defmod VersorgerZaehler OBIS /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00F31B12-if00-port0@9600 SML
attr VersorgerZaehler icon measure_power
attr VersorgerZaehler interval 300
attr VersorgerZaehler pollingMode on
attr VersorgerZaehler room 3.10_Zaehler
attr VersorgerZaehler stateFormat {\
if(ReadingsVal("VersorgerZaehler","differenz",0) < 0) {\
"<div style='color:green'>". sprintf("%.1f",ReadingsVal("VersorgerZaehler","differenz",0)) . " W</div>"\
} else {\
"<div style='color:red'>". sprintf("%.1f",ReadingsVal("VersorgerZaehler","differenz",0)) . " W</div>"\
}\
}\

attr VersorgerZaehler userReadings color { (ReadingsVal("VersorgerZaehler","differenz","?") > 0) ? "#ad3333":"#3aab2c";;},\
differenz {sprintf("%.0f",ReadingsVal("VersorgerZaehler","power","?")-ReadingsVal("VersorgerZaehler","feed_L1","?"))}
attr VersorgerZaehler verbose 0

setstate VersorgerZaehler <div style='color:green'>-2862.0 W</div>
setstate VersorgerZaehler 2020-06-22 15:39:11 0.0.96.1.255.255 2253830
setstate VersorgerZaehler 2020-06-22 15:39:11 1.0.0.0.0.255 39-30-30-36-39-36-38-31
setstate VersorgerZaehler 2020-06-22 17:39:07 1.0.0.0.9.255 09-01-49-53-4B-00-04-75-34-55
setstate VersorgerZaehler 2020-06-22 17:39:07 129.129.199.130.3.255 ISK
setstate VersorgerZaehler 2020-06-22 17:39:07 129.129.199.130.5.255 C338-4D09-59DA-BDDA-1037-FED9-9814-7581-B5C7-FB62-EB39-077C-F39F-C283-D227-B536-C80A-5C20-F493-F564-D61E-3292-A2E8-BF8D-01
setstate VersorgerZaehler 2020-06-22 15:43:39 Version ISK\090149534B0004753455
setstate VersorgerZaehler 2020-06-22 17:39:07 color #3aab2c
setstate VersorgerZaehler 2020-06-22 17:39:07 differenz -2862
setstate VersorgerZaehler 2020-06-22 15:39:11 feed_L1 2861.6
setstate VersorgerZaehler 2020-06-22 15:39:11 power 0
setstate VersorgerZaehler 2020-06-22 17:20:47 state opened
setstate VersorgerZaehler 2020-06-22 17:39:07 total_consumption 0
setstate VersorgerZaehler 2020-06-22 17:39:07 total_consumption_Ch1 0
setstate VersorgerZaehler 2020-06-22 17:39:07 total_consumption_Ch2 0
setstate VersorgerZaehler 2020-06-22 17:39:07 total_feed 2000
setstate VersorgerZaehler 2020-06-22 17:39:07 total_feed_Ch1 2000
setstate VersorgerZaehler 2020-06-22 17:39:07 total_feed_Ch2 0


Und hier noch ein aktuelles Log.
2020.06.22 17:28:06 5: OBIS (VersorgerZaehler) - Internal timer set to 2020-06-22 17:28:36
2020.06.22 17:28:11 5: SML-Parse 1B1B1B1B0101010176050000402A620062007263010176010105000015640B090149534B0004753455010163A2AB0076050000402B620062007263070177010B090149534B0004753455070100620AFFFF72620165000019657977078181C78203FF010101010449534B0177070100000009FF010101010B090149534B00047534550177070100010800FF65000101A001621E52036900000000000000000177070100010801FF0101621E52036900000000000000000177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Full message-> 1B1B1B1B0101010176050000402A620062007263010176010105000015640B090149534B0004753455010163A2AB0076050000402B620062007263070177010B090149534B0004753455070100620AFFFF72620165000019657977078181C78203FF010101010449534B0177070100000009FF010101010B090149534B00047534550177070100010800FF65000101A001621E52036900000000000000000177070100010801FF0101621E52036900000000000000000177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=1B1B1B1B0101010176050000402A620062007263010176010105000015640B090149534B0004753455010163A2AB0076050000402B620062007263070177010B090149534B0004753455070100620AFFFF72620165000019657977078181C78203FF010101010449534B0177070100000009FF010101010B090149534B00047534550177070100010800FF65000101A001621E52036900000000000000000177070100010801FF0101621E52036900000000000000000177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100000009FF010101010B090149534B00047534550177070100010800FF65000101A001621E52036900000000000000000177070100010801FF0101621E52036900000000000000000177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100010800FF65000101A001621E52036900000000000000000177070100010801FF0101621E52036900000000000000000177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100010801FF0101621E52036900000000000000000177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100010802FF0101621E52036900000000000000000177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100020800FF0101621E52036900000000000000020177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100020801FF0101621E52036900000000000000020177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177070100020802FF0101621E52036900000000000000000177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 5: OBIS: Telegram=0177078181C78205FF010101018302C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01010163BAD70076050000402C62006200726302017101630E4F001B1B1B1B1A00EAF9
2020.06.22 17:28:11 4: MSG IS:
/ISK\090149534B0004753455
129-129:199.130.3*255(ISK)
1-0:0.0.9*255(090149534B0004753455)
1-0:1.8.0*255(0*Wh)
1-0:1.8.1*255(0*Wh)
1-0:1.8.2*255(0*Wh)
1-0:2.8.0*255(2000*Wh)
1-0:2.8.1*255(2000*Wh)
1-0:2.8.2*255(0*Wh)
129-129:199.130.5*255(C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01)
!

2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: /ISK\090149534B0004753455
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 129-129:199.130.3*255(ISK)
2020.06.22 17:28:11 5: Msg 129-129:199.130.3*255(ISK) is of type ManufID
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:0.0.9*255(090149534B0004753455)
2020.06.22 17:28:11 5: Msg 1-0:0.0.9*255(090149534B0004753455) is of type Serial
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:1.8.0*255(0*Wh)
2020.06.22 17:28:11 5: Msg 1-0:1.8.0*255(0*Wh) is of type Counter
2020.06.22 17:28:11 4: Set total_consumption to 0
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:1.8.1*255(0*Wh)
2020.06.22 17:28:11 5: Msg 1-0:1.8.1*255(0*Wh) is of type Counter
2020.06.22 17:28:11 4: Set total_consumption_Ch1 to 0
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:1.8.2*255(0*Wh)
2020.06.22 17:28:11 5: Msg 1-0:1.8.2*255(0*Wh) is of type Counter
2020.06.22 17:28:11 4: Set total_consumption_Ch2 to 0
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:2.8.0*255(2000*Wh)
2020.06.22 17:28:11 5: Msg 1-0:2.8.0*255(2000*Wh) is of type Counter
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:2.8.1*255(2000*Wh)
2020.06.22 17:28:11 5: Msg 1-0:2.8.1*255(2000*Wh) is of type Counter
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 1-0:2.8.2*255(0*Wh)
2020.06.22 17:28:11 5: Msg 1-0:2.8.2*255(0*Wh) is of type Counter
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: 129-129:199.130.5*255(C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01)
2020.06.22 17:28:11 5: Msg 129-129:199.130.5*255(C3384D0959DABDDA1037FED998147581B5C7FB62EB39077CF39FC283D227B536C80A5C20F493F564D61E3292A2E8BF8D01) is of type PublicKey
2020.06.22 17:28:11 5: OBIS (VersorgerZaehler) - Msg-Parse: !
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

KölnSolar

ZitatHabe ich jetzt beim durchforsten des Threads etwas übersehen, was ich noch nachjustieren muss oder liefert der Zähler die Daten schlichtweg einfach nicht? Das wäre sehr ärgerlich.
So wird es leider sein.  :'(
ZitatOder gibt es eine Möglichkeit an die Daten wieder heran zu kommen?
Evtl. lässt sich über die Eingabe einer Pin mehr herausholen. Die müsstest Du bei Deinem Msb erfragen.

Ich nehme an Du hast einen IR-Kopf auf der vorderen Kundenschnittstelle ? Die hintere(verdeckt/verplombt) liefert oft weitere Daten. Aber dafür müsste Dir der Msb den Einbau dort erlauben.

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

majorshark

Zitat von: KölnSolar am 22 Juni 2020, 18:11:43
So wird es leider sein.  :'(
Das wäre großer Mist. Ein hoch auf den technischen Fortschritt!  :(

Zitat von: KölnSolar am 22 Juni 2020, 18:11:43
Ich nehme an Du hast einen IR-Kopf auf der vorderen Kundenschnittstelle ?

Ja die habe ich wieder vorn drauf. An der gleichen Position wie bei dem Alten.

Also muss erst einmal die PIN her.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

viegener

@majorshark: Ich habe zwar keinen MT681 aber einen anderen ISKRA-Zähler. Ich habe mir die PIN vom Versorger besorgt und seitdem sendet mein Zähler zumindest aktuelle Verbrauchsinfo und genauere Verbrauchssumme.

Bei meinem Versorger gab es dafür ein Formular dass man elektronisch senden konnte - die Eingabe per Taste und Taschenlampe ist zwar etwas nervig aber muss ja nicht dauernd gemacht werden
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

AxelSchweiss

Zitat von: viegener am 22 Juni 2020, 18:47:07
Bei meinem Versorger gab es dafür ein Formular dass man elektronisch senden konnte - die Eingabe per Taste und Taschenlampe ist zwar etwas nervig aber muss ja nicht dauernd gemacht werden

Hmm ... also bei meinem Zähler steht in der Betriebsanleitung das ich das nach jedem Stromausfall machen darf.  :(

majorshark

Zitat von: AxelSchweiss am 22 Juni 2020, 18:56:49
Hmm ... also bei meinem Zähler steht in der Betriebsanleitung das ich das nach jedem Stromausfall machen darf.  :(

Auf der suche nach der PIN Eingabe habe ich folgendes Video gefunden. Der Autor gibt darin auch hinweise wie Einstellungen dauerhaft gespeichert bleiben. Ein Versuch ist's Wert.

https://www.youtube.com/watch?v=TonPnmOtBM0
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

StG (DD)

So, meine Probleme nach dem Zählerwechsel sind erledigt. Ich musste den persönlichen Aktivierungscode für den Zähler von meinen Messtellenbetreiber erfragen. Dann konnte ich im Einstellungsmenü von IEC 61107 auf SML umstellen. Außerdem musste ich noch die Protokolleinstellungen von  @9600,7,E,1 SML auf @9600,8,N,1 SML ändern.

Jetzt kommen endlich wieder Daten vom Zähler. Vielleicht wäre die mögliche Notwendigkeit des Aktivierungsvorgangs und die Änderung der Protokolleinstellung eine Aufnahme in die Modulbeschreibung / Wiki wert.

VG, Stephan

AxelSchweiss

Was ich mir für das Modul wünschen würde wäre eine Aktivierungsfunktion.
Konkret :
Wenn das Modul feststellt das n Minuten lang keine Daten bzw. keine vernüftigen Daten mehr ankommen wird die übertragung des Blinkcodes für die PIN und die Einstellungen ausgelöst.
Daraufhin sendet die IR-Sende-Diode dann die Blinkcodes und alles ist wieder schick.

Das sollte mit einem SchreibLeseKopf wie dem hier:
http://adl517.at/index.php/seitenmenue/25-zaehler-lesekopf
eigentlich funktionieren.
Vorausgesetzt man hat nur eine Ser2Net Firmware a la ESPEasy drauf.


majorshark

Das habe ich auch schon überlegt. Es würde ja reichen wenn man einfache Sequenzen über den Schreib/Lesekopf dem Zähler morsen könnte. Da braucht man nicht mit der Taschenlampe herum zu fummeln.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

AxelSchweiss

Ja genau.
Entweder manuell ausgelöst oder wenn Attribute im Datenstrom fehlen.
Zum Beispiel wird nur der Gesamverbrauch übermittelt aber der Sekundenwert fehlt. Und das für mehrere Minuten um Übertragungsfehler auszuschliesen.
So würde sich mein Zähler nach einem Stromausfall verhalten.
Dann könnte man eine Sequenz an das Modul analog dem guten alten Hays-Standard übermittel "1,,1,1,0" ;D
1 wäre Licht an/aus und das Komma bedeutet 1 Sekunde warten. Die Null ist dann das Ende der Sequenz.
Damit kannst du dann die PIN eingeben und durch die Untermenüs hüpfen.

Konfigurierbar müsste die zu überwachende Datensequenz, die Dauer des ausbleibens und die zu übermittelnde Blink-Sequenz sein.


Icinger

Patches werden gerne entgegengenommen ^^
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

AxelSchweiss

Da fängst schon an ... ich kann nicht programmieren  ...   :)
Ansonsten hätte ich das schon gemacht.
Aber ich könnte testen, Doku schreiben und so.