70_SML_IEC1107_A.pm - Modul zum Auslesen der Zählerstände von Stromzählern

Begonnen von fhem-me, 09 Mai 2015, 17:21:08

Vorheriges Thema - Nächstes Thema

fhem-me

Ich habe zwar schon einige SML Module gefunden, nur keines unterstützte bisher das Protokoll IEC1107 A meines Zählers.
Leider kann der installierte Zähler (Kamstrup 382Lx3) nur dieses Protokoll.
Also habe ich angehängtes Modul geschrieben.
Eingebunden wird er als
define Stromzaehler /dev/ttyUSB0@300 300
Er pollt standardmäßig im Intervall von 5 Minuten.
Alle Zähler liefert er als Readings mit dem Zähler-Code als Namen.
Zur Aufarbeitung z.B. der Tageswerte nutzt man statistics

define Strom.Stat statistics Stromzaehler
attr Strom.Stat deltaReadings 1.8.0
attr Strom.Stat ignoreDefaultAssignments 1
attr Strom.Stat singularReadings Stromzaehler:1.8.0:Delta:(Day|Month)

Hoffe es nützt auch anderen.

Guzzi-Charlie

Hallo fhem-me,

ich habe ein ähnliches Problem. Ich habe bei mir Zuhause 40 DRS110M-Zähler von B+G E-Tech installiert (je einer pro abgesichertem Stromkreis) und möchte diese  nun in fhem einbinden. Dazu hatte ich schon vor über einem Jahr mal einen Thread eröffnet. Zum Einen gab es damals leider keine Lösung für mein Problem und zum Anderen mußte ich alle Arbeiten an meiner Hausautomatisierung wg. beruflichen Auslandsaufenthalten hinten anstellen. Ende diesen Jahres soll es nun aber weitergehen.

Im Moment läuft (lief) mein fhem auf der Fritzbox; ist aber wg. der neuen FW auf der Fritzbox inzwischen inaktiv. Da inzwischen nichtmal mehr der Telnet-Zugang zum Nachstarten nach Stromausfall möglich ist werde ich demnächst fhem auf den Raspberry PI umziehen.
             
Im Vorfeld habe ich ein paar Fragen:

       
  • Kann man mit Deinem IEC1107-Modul die einzelnen Zähler direkt ansprechen (Adr), oder müßte ich für jeden Zähler ein eigenes Modul verwenden?
  • Gibt es eine Beschreibung zu dem von Dir erstellten Modul?
  • Im Beispiel hast Du den Stromzähler als "ttyUSB"-Device definiert. Deshalb gehe ich davon aus, daß Du einen RS485/USB-Adapter verwendest. In meinem Fall würde ich lieber die RS485-Schnittstelle meines CUNO verwenden und dann via Ethernet an Raspi/fhem ankoppeln. Gibt's dazu schon Lösungen? Ich habe mir schon tagelang die Finger wund gesucht, aber nicht wirklich etwas gefunden.
Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

fhem-me

Mein Modul habe ich mit dem USB IR Schreib-Lesekopf im Einsatz. Es redet daher nur mit einem Zähler.
Sprechen Deine Zähler denn auch das Protokoll IEC1107 A?

Guzzi-Charlie

Hallo,
ja meine Zähler "sprechen" auch IEC1107. Welche Modes (A...D) sie verstehen weiß ich nicht. Meine Zähler haben eine elektrische RS485-Schnittstelle.

Bei meinen Recherchen habe ich im Volkszähler-Forum den angehängten Beitrag, incl. Pearl-Script (speziell zu meinem Zähler) entdeckt. Vielleicht gibt das ja auch ein paar Anregungen, bzw. vielleicht könnte man daraus ja auch ein eigenständiges Modul für die von mir verwendeten DRS110M-Zähler machen. Meine fhem/Pearl-Fähigkeiten reichen dazu leider nicht aus.

Freue mich über jede Unterstützung.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

fhem-me

Hallo,
habe mal in Dein angehängtes Dokument geschaut.

  • mehrere Zähler am RS485 steht dort auch noch als TODO
  • der Code wechselt zum Auslesen in den "Programming Mode"
Ich kann weder das eine noch das andere in meinem Modul bieten.
Beides sieht nicht nach peanuts aus.

Sorry

optimizer

Habt ihr schon mal vzlogger ausprobiert? Wenn dein Zähler damit ausgelesen werden kann, können wir die Daten mit dem Modul VZLOGGER oder VOLKSZAEHLER auch in FHEM auswerten (s. Forum). Wenn nicht wird dir im volkszaehler Forum bestimmt geholfen.

@Guzzi-Charlie: Da hast du ja eigentlich schon ein Perl-skript für den DRS110M gefunden. Funktioniert das bei dir? Daraus ein FHEM Modul zu machen, sollte dann doch relativ einfach sein.

vzlogger und FHEM kann zusammen auf einem Raspi laufen.

Gruß
optimizer

Guzzi-Charlie

Hallo,
Danke schonmal für Eure Bemühungen.

Ich werde mich intensiv damit befassen wenn ich mein fhem auf den Raspi umgezogen/neu eingerichtet habe.

Bis dahin sammle ich aber gerne weitere Vorschläge, die mir bei der Umsetzung meiner Vorstellungen helfen könnten. Insbesondere auch zum Thema:
"Wie kann ich die RS485-Schnittstelle auf meinem CUNO nutzen".
Denn auch hier hab ich mir schon die Finger "wund gesucht", aber bis auf 2 angepaßte CUNO FW-Versionen für spezielle RS485-Teilnehmer eigentlich NICHTS gefunden. Was ich in diesem Zusammenhang nicht ganz verstehe ist; wieso muß eine Anpassung überhaupt in der CUNO-FW stattfinden? Es wäre doch vermutlich viel sinnvoller wenn die CUNO-FW lediglich die RS485-Schnittstelle als transparente HW-Schnittstelle verfügbar machen würde. Dann könnten alle Protokollimplementationen mit SW-Modulen (z.B. in fhem) stattfinden.

Ich möchte eigentlich ungern zusätzlich einen RS485/USB Converter plus zusätzlichem Com-Server einsetzen.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Guzzi-Charlie

Hallo zusammen,

nachdem ich mich nun gut 2 Wochen intensiv mit dem Problem "Auslesen meiner RS485, ICE107 Zähler (DRSM110M)" befaßt habe konnte ich zwar schon sehr viele Erkenntnisse gewinnen aber leider
ist es mir bis Heute nicht gelungen dem Zähler irgendwelche brauchbaren Daten zu entlocken. Vieles liegt sicherlich an meinem fehlenden fhem/perl-Wissen.

Hier eine kurze Zusammenfassung meiner bisherigen Versuche
Nachdem bisher offensichtlich Niemand einen Weg gefunden hat die RS485-Schnittstelle vom CUNO zu verwenden habe ich diese Variante bereits aufgegeben und mir nun doch einen USB/RS485-
Adapter gekauft. Da der Fhem-Server nun auf dem Raspi läuft und der im Hutschienengehäuse im Verteilerschrank sitzt (genauso wie die auszulesenden Zähler) ist das mit einem USB/RS485-Adapter auch kein großes Problem mehr.

Als Erstes wollte ich die generelle Kommunikation mit dem PC testen, also:

       
  • USB-Stick in den PC gesteckt --> Wurde nicht richtig erkannt, da kein passender Treiber
  • Nach langem Suchen und noch mehr Versuchen endlich einen passenden Treiber gefunden --> Stick wird richtig erkannt/eingebunden und kann auch konfiguriert werden.
  • Dann mit dem Programm "fxj1107dj.exe" (Kommunikationstool vom Hersteller der Zähler) eine Verbindung zum Stick hergestellt --> OK
  • Auswahl der verschiedenen items (Spannung, Zählerstand, etc.) nicht möglich --> Fehlermeldung "Der 'Microsoft.Jet.OLEDB.4.0' Provider ist nicht auf dem lokalen Computer registriert."
  • Wiederum nach langem Suchen fand ich heraus das die Software mit 64Bit-Windows nicht richtig zusammenarbeitet --> Sackgasse
  • Also habe ich meinen alten XP-PC hervorgekramt und das Programm dort getestet --> Programm funktioniert ohne Fehlermeldung (items lassen sich auswählen), aber beim Lesen kommen keine Daten.
  • Das Programm "Test of IEC1107" von [/size]www.meter-test-equipment.com konnte immerhin den Zählertyp auslesen, allerdings auch keine Daten.
Dann habe ich den Stick doch direkt an den Raspberry gesteckt und hoffte da vielleicht etwas mehr Glück als unter Windows zu haben und habe:

       
  • das SML_IEC1107_A Modul von fhem-me eingerichtet (wohl wissend das es nicht speziell für meinen Zähler entwickelt wurde). --> Redet offensichtlich mit der Schnittstelle, aber liefert auch nur seltsame Ergebnisse "PARTIAL: "af59d4cc3a3030b136b133333030b130308d0a". Das Ergebnis "af59d4cc3a3030b136b133333030b130308d0a" wird bei jedem Auslesen wiederholt und hinten angehängt. Leider fehlt mir komplett das Know How um durch Anpassung/Konfiguration des Moduls evtl. die gewünschten Ergebnisse zu erzielen. --> Für mich auch eine Sackgasse
  • Als nächstes habe ich es mit dem Script von Oliver Reimann; http://wiki.volkszaehler.org/hardware/channels/meters/power/drs155m auf dem Raspi auf Kommandozeilenebene getestet --> keine Daten
    Das Script läuft zwar offensichtlcih, aber als Ergebnis einer Abfrage kommt nur "val = (  )"Allerdings verstehe ich auch hier die Einstellungen im Script nicht ganz. Z.Bsp. steht im o.g. Thread daß "Der serielle Port und die UUID(die UUID bekommt man über das Webinterface von volkszähler) müssen im Script angepasst werden."
    --> Wie stelle ich den Com-Port ein?
    --> wozu benötige ich eine UUID und wenn ja, wie kann ich diese ermitteln.
Fazit
Frust auf der ganzen Linie. Bin kurz vor der Aufgabe und muß wohl meine Zählerstände weiterhin von Hand abschreiben.

Und wozu ich seinerzeit (schon über 2 Jahre her) das viele Geld für den CUNO augegeben habe weiß ich inzwischen auch nicht mehr, weil:

       
  • Die RS485-Schnittstelle wird offensichtlich von Nichts und Niemandem unterstützt/verwendet --> Nutzlos
  • Die One-Wire-Schnittstelle ist offensichtlich auch nur beschränkt nutzbar (10 bis max. 30 Sensoren). Ist mein nächstes Projekt --> Ein Arduino for 20€ kann mehr
  • Bleibt nur die funktionierende Schnittstelle zu den Funk Temp.-Sensoren (z.B. S300). Die verwende ich aber eigentlich nur temporär. --> CUNO = teuer und mit sehr eingeschränktem Nutzen.
Und
Gehört zwar nicht ganz hier zum Thema aber betrifft auch die Firma Busware. Von meiner anfänglichen "Begeisterung" für viele gute Ideen ist inzwischen nicht mehr viel übrig geblieben. Ich
betreibe außer dem CUNO noch drei 4-Kanal S0-Datenlogger mit denen ich die Energieproduktion meiner insgesamt 10 verschiedenen Photovoltaik-Wechselrichter erfasse. Mit den Loggern habe ich
sehr oft Probleme. Einer war schon kurz nach der Inbetriebnahme defekt und wurde auf Garantie ausgetauscht und alle anderen jetzt in Betrieb befindlichen bleiben in unregelmäßigen Abständen
stehen, so daß sie entweder nicht mehr zählen, oder sich das Ethernet-Interface aufhängt und man dann nicht mehr darauf zugreifen kann. Dann hilft nur spannungslos machen und neu booten.

So nun bin ich erstmal meinen ganzen Frust los und hoffe, daß es da draußen doch noch Jemanden gibt, der mir weiterhelfen kann.

Wünsche Euch allen ein schönes Restwochenende.
Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Guzzi-Charlie

Hallo zusammen,

ist denn keiner da draußen, der mir weiterhelfen könnte. Seit weiteren 3 Wochen versuche ich nun schon diese "Scheiß" DRS110M Stromzähler auszulesen und bin nicht einen Millimeter weitergekommen. Das Einzige was ich bisher zustande gebracht habe ist nach wie vor das ich mit dem http://www.meter-test-equipment.com/ Tool die Zähler ansprechen kann und diese mit Firmenkennung (YTL) und Seriennummer (ist auch verifiziert mit dem Aufdruck auf dem Zähler) antworten, aber ich bekomme nach wie vor keine Daten. Zur Sicherheit habe ich auch noch einen zweiten Zähler getestet, aber leider mit dem gleichen Ergebnis.

Ich bin wirklich frustriert, zumal mich der Spaß 900,-€ gekostet hat. Hätte ich gewußt, daß es mit der Schnittstelle so viele Probleme gibt, dann hätte ich für weniger als die Hälfte des Geldes auch gleich welche ohne Schnittstelle nehmen können.

Fast habe ich die Hoffnung auf Erfolg schon aufgegeben, aber vielleicht findet sich ja doch noch Jemand der mir helfen kann.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Florian_GT

Zitat von: Guzzi-Charlie am 25 Oktober 2015, 14:25:58
Hallo zusammen,

ist denn keiner da draußen, der mir weiterhelfen könnte. Seit weiteren 3 Wochen versuche ich nun schon diese "Scheiß" DRS110M Stromzähler auszulesen und bin nicht einen Millimeter weitergekommen. Das Einzige was ich bisher zustande gebracht habe ist nach wie vor das ich mit dem http://www.meter-test-equipment.com/ Tool die Zähler ansprechen kann und diese mit Firmenkennung (YTL) und Seriennummer (ist auch verifiziert mit dem Aufdruck auf dem Zähler) antworten, aber ich bekomme nach wie vor keine Daten. Zur Sicherheit habe ich auch noch einen zweiten Zähler getestet, aber leider mit dem gleichen Ergebnis.

Ich bin wirklich frustriert, zumal mich der Spaß 900,-€ gekostet hat. Hätte ich gewußt, daß es mit der Schnittstelle so viele Probleme gibt, dann hätte ich für weniger als die Hälfte des Geldes auch gleich welche ohne Schnittstelle nehmen können.

Fast habe ich die Hoffnung auf Erfolg schon aufgegeben, aber vielleicht findet sich ja doch noch Jemand der mir helfen kann.

Gruß

Ich habe in meinem Sicherungskasten 4 Stromzähler verbaut welche ich per RS485 über einen PHP Script Auslese. Aktuell werden die Daten dann doch in einem eigenen smarthome-system dass ich selber entwickelt habe gespeichert. Ich bin jetzt gerade aber dabei alles auf FHEM umzustellen. Ich weiß noch nicht ob ich ein entsprechendes Modul entwickeln werde aber ich werde auf jeden Fall ein Gateway bauen zwischen meine in php geschriebenen abfragen welche dann per mqtt weitergegeben werden.
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

Guzzi-Charlie

Hallo afloria,

nachdem mich der fhem admin freundlich erinnert hat, daß ich mich schon seeehr lange nicht mehr eingeloggt habe (stimmt leider) wollte ich zumindest ein Lebenszeichen senden.

Unter Anderem aus beruflichen Gründen liegt mein fhem Projekt leider seit über einem Jahr auf Eis. Wenn dann nach anfänglicher Euphorie auch noch fast alle Versuche erfolglos bleiben, oder aus unerfindlichen Gründen nicht mehr funktionieren, dann erreicht die Motivation schonmal leicht den Nullpunkt.

Aber ich will hier Niemanden mit meiner Motivationslosigkeit langweilen.

Falls es aber zu dem Problem des Auslesens der Stromzähler etwas Neues geben sollte wäre ich schon noch daran interessiert. Seit 1,5 Jahren bleibt mir nichts anderes übrig als die Zähler (40 Stück) einmal im Monat "manuell" abzulesen und die Daten in meine Excelliste einzutragen. Das hatte ich mir natürlich anders vorgestellt.

Schöne Grüße
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Florian_GT

Zitat von: Guzzi-Charlie am 22 Januar 2017, 22:07:33
Hallo afloria,

nachdem mich der fhem admin freundlich erinnert hat, daß ich mich schon seeehr lange nicht mehr eingeloggt habe (stimmt leider) wollte ich zumindest ein Lebenszeichen senden.

Unter Anderem aus beruflichen Gründen liegt mein fhem Projekt leider seit über einem Jahr auf Eis. Wenn dann nach anfänglicher Euphorie auch noch fast alle Versuche erfolglos bleiben, oder aus unerfindlichen Gründen nicht mehr funktionieren, dann erreicht die Motivation schonmal leicht den Nullpunkt.

Aber ich will hier Niemanden mit meiner Motivationslosigkeit langweilen.

Falls es aber zu dem Problem des Auslesens der Stromzähler etwas Neues geben sollte wäre ich schon noch daran interessiert. Seit 1,5 Jahren bleibt mir nichts anderes übrig als die Zähler (40 Stück) einmal im Monat "manuell" abzulesen und die Daten in meine Excelliste einzutragen. Das hatte ich mir natürlich anders vorgestellt.

Schöne Grüße

Hi,

ich verwende nen Comserver also RS485 wird per LAN Netzwerk fähig gemacht, und kann dann per Telnet angesprochen werden.

Ich habe aktuell meine in PHP geschriebenes System nicht aktiv, da ich schon sehr gute Erfolge bei einer direkten Benutzung mit FHEM erzielt habe. Teilweise aber noch Probleme mit Timings oder gar Timeouts, weil das ganze nicht geforkt in einem eigenen Prozess läuft.

Dann bin ich jetzt umgezogen, und noch sind die Zähler nicht wieder verbaut.

Weiß noch nicht ob das mit FHEM was wird, oder ob ich einfach die Daten von meinem PHP Scripts per MQTT oder änlich an FHEM schiebe.
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)