Neues Plugin: Smartmeter - Stromzähler auslesen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • blacksun
    MS Profi
    • 20.01.2016
    • 557

    Was ist rausgekommen?


    Gesendet von iPhone mit Tapatalk

    Kommentar

    • d3k1d
      Extension Master
      • 10.03.2018
      • 108

      Ist es mit dem Plugin bereits möglich den AMIS Zähler (Siemens TD-3511) mit AES auszulesen?

      Kommentar

      • blacksun
        MS Profi
        • 20.01.2016
        • 557

        Prof.Mobilux Wollte mal nachfragen, wie es aussieht mit einem kürzerem Sendeintervall bzw. Abfrageintervall des Zählers. Man kann ja nur 1 Minute minimal einstellen. Funktioniert jetzt momentan sehr zuverlässig, allerdings stört mich einfach noch, das nur pro Minute die richtigen Werte der aktuellen Leistung angezeigt wird. Oder könnte man es evtl. doch noch so programmieren, das das Plugin automatisch erkennt, das ein neues Telegramm vom Zähler gesendet worden ist und dann dies sofort überträgt. Das wäre das optimale.

        Möchte dich nicht drängen, ich weiß, jetzt kommt das schöne Wetter, da hat man was besseres vor. Ich frage nur, da ich kein Feedback auf Post 256 erhalte habe.

        Gruß
        Michael

        Kommentar

        • Gast

          Hallo.

          Seit ein paar Tagen werden bei mir keine UDP Daten mehr an den MS gesendet. Zumindest kommen keine mehr an. Ganz plötzlich. Ich habe nichts geändert.

          Gibt es bekannte Probleme oder gleiche Fälle?

          Gruß

          Kommentar

          • Tico
            Lox Guru
            • 31.08.2016
            • 1030

            Ich empfehle, zuerst die SD-Karte zu wechseln. Ein ähnliches Problem mit nicht ankommenden UDP-Daten wurde durch eine beschädigte SD-Karte verursacht.
            Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

            Kommentar


            • Gast
              Gast kommentierte
              Kommentar bearbeiten
              Danke für deine Antwort.
              Welche denn wechseln? Die vom Miniserver oder die vom Pi?

            • Tico
              Tico kommentierte
              Kommentar bearbeiten
              Miniserver.
          • BavariaTom
            Smart Home'r
            • 24.10.2016
            • 41

            Hallo,

            ich habe einen DTS541 von Holley und den IR Schreib/Lesekopf USB von Weidmann Elektronik.

            Jemand eine Idee welche Einstellungen ich am Plugin treffen muss?

            Bei Iskraemeco MT681 bekomme ich leider keine Daten bzw. egal was ich einstelle... ich bekomme keine Ergebnisse.

            Vielen Dank
            Zuletzt geändert von BavariaTom; 04.07.2019, 05:40.

            Kommentar


            • BavariaTom
              BavariaTom kommentierte
              Kommentar bearbeiten
              Ich habe direkt von Holley jetzt die passenden Parameter erhalten, leider gelingt mir damit noch kein ablesen der Werte.

              IR Schnittstelle Parameter sind:
              Baudrate: 9600
              Parity: Non
              Handshake: Non
              Databits: 8
              Stopbits: 1
              Timeout: 5s
              Verzögerung: 1s

            • Gast
              Gast kommentierte
              Kommentar bearbeiten
              hello, I'm a holley engineer, DTZ541 is my design, What can I do for you.
          • heilmoa
            Smart Home'r
            • 04.12.2017
            • 41

            Hallo BavariaTom,

            ich glaube wir haben den gleichen Zähler. Den Holley DTZ541. Hier der Link zur Hersteller-Seite inkl Anleitung. https://www.holleytech.de/holleytech...aehler-dtz541/

            Nach meiner Recherche auf volkszaehler.org müsste sich der Zähler "so ähnlich" wie der easymeter_q3m verhalten. Zumindest von den Daten und dem fehlenden Handshake.

            Ich habe allerdings noch keinen USB Leser um Tests vorzunehmen.


            Viel Erfolg weiterhin und es würde mich freuen, wenn du mir auch eine Rückmeldung geben könntest.

            Gruß
            heilmoa

            Kommentar


            • BavariaTom
              BavariaTom kommentierte
              Kommentar bearbeiten
              Hallo Heilmoa,

              nicht ganz, ich habe den DTS541 und dazu gibt es kein Handbuch.

              Sollte ich eine Lösung gefunden habe, werde ich hier berichten.

              Grüße
              Tom
          • Gregor
            Dumb Home'r
            • 21.12.2018
            • 28

            Hallo, ich hab leider heute auch vom Bayernwerk meinen bisherigen Zähler, den ich perfekt über Loxberry aulesen konnte, gegen einen DTZ541 getauscht bekommen. Dieser hat das SML Protokoll das ich derzeit nicht auslesen kann. Ich habe aber mit dem Hersteller Kontakt aufgenommen und zumindest folgende Informationen sehr rasch erhalten.
            1.)
            Folgende Parameter sind einzustellen
            audrate: 9600
            Parity: Non
            Handshake: Non
            Databits: 8
            Stopbits: 1
            Timeout: 5s
            Verzögerung: 1s

            2) Das Aulesen funktioniert tatsächlich allerdings erhalte ich einen String der noch dekodiert werden müsste. Der Hersteller (HolleyTech) hat mir eine Exe Datei geschickt. In dieses Programm habe ich mittels Copy / Paste den String von Loxberry reinkopiert und siehe da es kommt ein sinnvolles Ergebnis raus. Loxberry hat folgenden String geliefert:006A1B1B1B1B0101010176040000016200620072 6500000101760101070000000442870B0A01484C59020001CB 550101636A440076040000026200620072650000070177010B 0A01484C59020001CB55010177770701006032010101010101 04484C590177070100600100FF010101010B0A01484C590200 01CB550177070100010800FF65001C01046500044287621E52 FF65000607C20177070100020800FF65001C01046500044287 621E52FF62000177070100000200000101010109312E30322E 3030370177070100605A020101010101054130314101770701 00600500FF0101010165001C010401010163A4760076040000 0362006200726500000201710163EBF4001B1B1B1B1A000C97 1B1B1B1B010101017604000001620062007265000001017601 01070000000442890B0A01484C59020001CB550101638B4A00 76040000026200620072650000070177010B0A01484C590200 01CB5501017777070100603201010101010104484C59017707 0100600100FF010101010B0A01484C59020001CB5501770701 00010800FF65001C01046500044289621E52FF65000607C401 77070100020800FF65001C01046500044289621E52FF620001 77070100000200000101010109312E30322E30303701770701 00605A02010101010105413031410177070100600500FF0101 010165001C010401010163D227007604000003620062007265 00000201710163EBF4001B1B1B1B1A005C3E1B1B1B1B010101 01760400000162006200726500000101760101070000000442 8A0B0A01484C59020001CB5501016308740076040000026200 620072650000070177010B0A01484C59020001CB5501017777 070100603201010101010104484C590177070100600100FF01 0101010B0A01484C59020001CB550177070100010800FF6500 1C0104650004428A621E52FF65000607C60177070100020800 FF65001C0104650004428A621E52FF62000177070100000200 000101010109312E30322E3030370177070100605A02010101 010105413031410177070100600500FF0101010165001C0104 010101639A1C00760400000362006200726500000201710163 EBF4001B1B1B1B1A00CC7F1B1B1B1B01010101760400000162 0062007265000001017601010700000004428B0B0A01484C59 020001CB55010163769E007604000002620062007265000007 0177010B0A01484C59020001CB550101777707010060320101 0101010104484C590177070100600100FF010101010B0A0148 4C59020001CB550177070100010800FF65001C010465000442 8B621E52FF65000607C70177070100020800FF65001C010465 0004428B621E52FF6200017707010000020000010101010931 2E30322E3030370177070100605A0201010101010541303141 0177070100600500FF0101010165001C010401010163FE7600 760400

            Diesen String habe ich nun in die Software kopiert und das Ergebnis ist ein supersauberes Ergebnis wo auch der korrekte Zählerstand angezeigt wird. Den Screenshot und die Software und der fehlerlog des smartmeter sind diesen Posting beigefügt Wer kann uns nun helfen diese Logik in den Smartmeter zu bringen? Ich hab guten Kontakt zu dem Hersteller, also sagt mir bitte was ihr wissen wollt!

            Danke,
            Gregor
            Angehängte Dateien
            Hardware: Loxone mit 5 Extensions und Loxberry.
            Automatisierung: Komplette Hausbeschattung bei Nutzung der Wetterdaten, Lüftersteuerung der dezentralen M-WRG von Meltem, Lichtsteuerung gesamtes Haus, vieles über LED und 1-wire, Abwesenheitssimulation, Stromzähler auslesen, Wetterdaten über Loxberry
            In Planung: WLAN an und aus über Loxone/Loxberry

            Kommentar


            • Gast
              Gast kommentierte
              Kommentar bearbeiten
              hello, I'm a holley engineer, DTZ541 is my design, What can I do for you.
          • blacksun
            MS Profi
            • 20.01.2016
            • 557

            Servus Gregor ,

            ich hab dein Telegramm mal "entschlüsselt" angehängt. Sieht soweit okay aus.

            Code:
            1B1B1B1B                    // Escape Startsequenz
            01010101                    // Start Version 1.0
            76                        // Liste mit 6 Einträgen
                04000001                 // transactionID
                6200                    // groupNO
                6200                    // abortOnError
                72                    // messagebody: Liste mit 2 Einträgen
                    6500000101            // getOpenResponse
                    76                // Liste mit 6 Einträgen
                        01            // codepage
                        01            // clientID
                        07000000044287        // reqFileId
                        0B0A01484C59020001CB55    // serverID
                        01            // refTime
                        01            // smlVersion
                636A44                    // CRC Prüfsumme
                00                    // Ende der ersten SML Nachricht
            
            76                        // Liste mit 6 Einträgen
                04000002                // transactionID
                6200                    // groupNo
                6200                    // abortOnError
                72                    // Liste mit 2 Einträgen
                    6500000701            // GetListResponse
                    77                // Liste mit 7 Einträgen
                        01            // clientId
                        0B0A01484C59020001CB55    // ServerId
                        01            // ListName
                        01            // ??
                        77             // 77 Liste mit 7 Einträgen
                            77             //Liste mit 7 Einträgen
                                07010060320101     // objName: OBIS Kennzahl
                                01        // Status
                                01        // ValTime
                                01        // Unit
                                01        // Scaler
                                04484C59    // Value 48=H, 4C=L, 59=Y = HLY
                                01        // valueSiganture
                            77            // Liste mit 7 Einträgen
                                070100600100FF    // objName: OBIS Kennzahl
                                01        // Status
                                01        // ValTime
                                01        // Unit
                                01        // Scaler
                                0B0A01484C59020001CB55    // Gerätenummer
                                01            // ValueSignature
                            77                // Liste 7 Einträgen
                                070100010800FF        // objName: Wirkenergie Bezug Tarif 1
                                65001C0104        // Status ?
                                6500044287        // Valtime ?
                                621E            // 1E = Wh
                                52FF            // Scaler FF = integer 0,1
                                65000607C2        // Value
                                01            // ValueSignature
                            77                // Liste mit 7 Einträgen
                                070100020800FF        // objName Wirkenergie Lieferung
                                65001C0104        // Status ?
                                6500044287        // Valtime ?
                                621E            // Unit 1E = Wh
                                52FF            // Scaler FF = integer 0,1
                                6200            // Value
                                01            // ValueSignature
                            77                // Liste mit 7 Einträgen
                                07010000020000        // objName
                                01            // Status
                                01            // ValTime
                                01            // Unit
                                01            // Scaler
                                09312E30322E303037    // Value    
                                01            // ValueSignature
                            77
                                070100605A0201
                                01
                                01
                                01
                                01
                                0541303141
                                01
                            77
                                070100600500FF
                                01
                                01
                                01
                                01
                                65001C0104
                                01
                            01            // ListSignature
                            01            // actGatewayTime
                            63A476            // CRC Prüfsumme
                            00            // Ende 2. SML Nachricht
            76                            // Liste mit 6 Einträgen
                04000003                    // transactionID
                6200                        // groupNo
                6200                        // abortOnError
                72                        // Liste mit 2 Einträgen
                    6500000201                // getCloseResponde
                    71                    // Liste mit einem Eintrag
                        01                // 01 = optional
                    63EBF4                    // CRC Prüfsumme der 3. Nachricht
                    00                    // Ende der 3. Nachricht
            1B1B1B1B                        // Escape Sequenz
            1A000C97                        // 1A + Füllbyte + CRC des gesamten Telegramms
            Ich würde vorschlagen, du änderst in der Datei "php_sml_parser.class.php" unter /opt/loxberry/webfrontend/cgi/plugins/smartmeter/bin/ mal die Function "parse_sml_message" so ab.

            Code:
            private function parse_sml_message() {
                    $this->debug('ENTER parse_sml_message');
                    $this->crc16_message = 0xFFFF; # Pruefsumme zuruecksetzen
                    $this->match('76');       # 76 = List of 6 items
                    $result['transactionId'] = $this->readOctet();
                    $this->debug('TRANSACID ('.$result['transactionId'].')');
                    $result['groupNo']       = $this->readUnsigned();
                    $this->debug('groupNo ('.$result['groupNo'].')');
                    $result['abortOnError']  = $this->readUnsigned();
                    $this->debug('abortOnError ('.$result['abortOnError'].')');
                    $result['messageBody']   = $this->readMessageBody();
                    $this->debug('messageBody ('.$result['messageBody'].')');
                    $crc_calc = strtoupper(substr('000'.dechex(($this->crc16_message ^ 0xffff)),-4));
                    $result['crc_calc'] = substr($crc_calc,-2).substr($crc_calc,0,2); # Wert 4-stellig ausgeben
                    $this->debug('crc_calc ('.$result['crc_calc'].')');
                    $result['crc16']         = $this->readUnsigned();
                    $this->debug('crc16 ('.$result['crc16'].')');
                    $this->match('00');       # endOfSmlMsg = 00
                    $result['crcMsgCheck'] = ($result['crc_calc'] == $result['crc16']);
                    $this->debug('EXIT parse_sml_message. CRC='.(($result['crcMsgCheck'])?'OK':'FAIL'),false);
                    $this->debug('--------------------------------',false);
                    return $result;
                }
            Überprüfe auch noch die Function "Debug".

            Die soll so aussehen, also das return soll auskommentiert sein.
            Code:
            function debug($text,$showhexdata=true) {
            #        return; # ggfs. auskommentieren.
                    echo "DEBUG: '$text'";
                    if($showhexdata) echo " : ". substr($this->data,0,150);
                    echo "\n";
                }
            Vorher jedoch die Datei kopieren, dass du noch die originale Datei hast. Dann können wir uns Stück für Stück ran tasten, was da schief läuft.

            Bearbeite die Datei am besten mit Notepad++. Nach dem Ändern speichern und den Zähler nochmal manuell abfragen. Stelle mir dann die fetch_manually Datei hier wieder rein. Evtl. liegt der Fehler schon am Anfang.
            Zuletzt geändert von blacksun; 13.07.2019, 16:23.

            Kommentar

            • Gregor
              Dumb Home'r
              • 21.12.2018
              • 28

              Danke für deine Hilfe. Ich habe alles exakt so gemacht (function parse_sml_message) und überprüft (function debug) und anschließend loxberry noch durchgestartet. Das Ergebnis ist anders aber es funkt noch nicht. Ich habe dir im beiligenden ZIP sowohl die fetch_manually als auch die von mir geänderte und aktuelle php_sml_parser.class.php hinzugefügt. Danke nochmal!
              Ach ja der in der fetch:manually Datei enthaltene String wird in der Exe Datei vom Hersteller wie folgt "entschluesselt":

              Herstellerkennung: HLY
              ServerID: 0A01484C59020001CB55
              Geraeteidentifikation: 01HLY0200117589
              SML-Time: 0005381A
              +A Zaehlerstand 1.8.0: 000050,6768 kWh
              -A Zaehlerstand 2.8.0: 000000,0000 kWh
              Firmware Version: 1.02.007
              Firmware Checksumme: A01A
              Statuswort:001C0104
              Angehängte Dateien
              Hardware: Loxone mit 5 Extensions und Loxberry.
              Automatisierung: Komplette Hausbeschattung bei Nutzung der Wetterdaten, Lüftersteuerung der dezentralen M-WRG von Meltem, Lichtsteuerung gesamtes Haus, vieles über LED und 1-wire, Abwesenheitssimulation, Stromzähler auslesen, Wetterdaten über Loxberry
              In Planung: WLAN an und aus über Loxone/Loxberry

              Kommentar

              • blacksun
                MS Profi
                • 20.01.2016
                • 557

                Das es noch nicht funktioniert, ist klar. Wir müssen den Fehler finden. Frage den Zähler bitte nochmal. Wie ist der Timeout und die Verzögerung bei Dir eingestellt. Stell mal bei Timeout 10 Sekunden ein.

                Kommentar

                • Gregor
                  Dumb Home'r
                  • 21.12.2018
                  • 28

                  hallo, anbei die fetch_manually_datei bei timeout 10 sekunden.
                  Angehängte Dateien
                  Hardware: Loxone mit 5 Extensions und Loxberry.
                  Automatisierung: Komplette Hausbeschattung bei Nutzung der Wetterdaten, Lüftersteuerung der dezentralen M-WRG von Meltem, Lichtsteuerung gesamtes Haus, vieles über LED und 1-wire, Abwesenheitssimulation, Stromzähler auslesen, Wetterdaten über Loxberry
                  In Planung: WLAN an und aus über Loxone/Loxberry

                  Kommentar

                  • blacksun
                    MS Profi
                    • 20.01.2016
                    • 557

                    Mich stört der Anfang irgendwie:

                    Code:
                    00681B1B1B1B0101010
                    Hast du auch schon versucht, andere Zähler auszuwählen und nicht manuelle Konfiguration. Bei mir funktioniert mit manueller Konfiguration nämlich auch nicht. Ich habe den Iskra MT681 ausgewählt. Die Baudrate usw. stimmen, sonst würde kein 1B1B1B1B usw. kommen. Probiere mal andere Zähler aus.

                    Code:
                    DN03UR40: Found configuration for DTZ541-ZEBA
                    DN03UR40: Manual settings.
                    DN03UR40: Protocol: genericsml
                    DN03UR40: Timeout: 10
                    DN03UR40: Delay: 1
                    DN03UR40: Device: /dev/serial/smartmeter/DN03UR40
                    DN03UR40: Baudrate:9600/9600 Databits:8 Stopbits:1 Parity:none Handshake:none
                    Initial Baudrate: 9600
                    Max Baudrate: 9600
                    Protocol: genericsml
                    Timeout: 10
                    Delay: 1
                    Setting up port /dev/serial/smartmeter/DN03UR40: Baudrate:9600/9600 Databits:8 Stopbits:1 Parity:none Handshake:none
                    00681B1B1B1B0101010176040000016200620072650000010176010107000000053B000B0A01484C59020001CB550101637FDA0076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B00621E52FF650007C03F0177070100020800FF65001C01046500053B00621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C0104010101635B9500760400000362006200726500000201710163EBF4001B1B1B1B1A005BD41B1B1B1B0101010176040000016200620072650000010176010107000000053B010B0A01484C59020001CB5501016301300076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B01621E52FF650007C0420177070100020800FF65001C01046500053B01621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C01040101016302BD00760400000362006200726500000201710163EBF4001B1B1B1B1A002FA61B1B1B1B0101010176040000016200620072650000010176010107000000053B020B0A01484C59020001CB55010163820E0076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B02621E52FF650007C0440177070100020800FF65001C01046500053B02621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C010401010163C0A100760400000362006200726500000201710163EBF4001B1B1B1B1A00B32B1B1B1B1B0101010176040000016200620072650000010176010107000000053B040B0A01484C59020001CB550101638C630076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B04621E52FF650007C0460177070100020800FF65001C01046500053B04621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C0104010101631BEB00760400000362006200726500000201710163EBF4001B1B1B1B1A0084381B1B1B1B0101010176040000016200620072650000010176010107000000053B050B0A01484C59020001CB55010163F2890076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B05621E52FF650007C0490177070100020800FF65001C01046500053B05621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C01040101016328E200760400000362006200726500000201710163EBF4001B1B1B1B1A0074981B1B1B1B0101010176040000016200620072650000010176010107000000053B070B0A01484C59020001CB550101630F5D0076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B07621E52FF650007C04B0177070100020800FF65001C01046500053B07621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C010401010163E03600760400000362006200726500000201710163EBF4001B1B1B1B1A00AE711B1B1B1B0101010176040000016200620072650000010176010107000000053B080B0A01484C59020001CB5501016390B90076040000026200620072650000070177010B0A01484C59020001CB5501017777070100603201010101010104484C590177070100600100FF010101010B0A01484C59020001CB550177070100010800FF65001C01046500053B08621E52FF650007C04D0177070100020800FF65001C01046500053B08621E52FF62000177070100000200000101010109312E30322E3030370177070100605A02010101010105413031410177070100600500FF0101010165001C01040101016316880076040000036200620072650000020171
                    Save raw buffer to /var/run/shm/smartmeter/DN03UR40.dump
                    Parse /var/run/shm/smartmeter/DN03UR40.dump as SML-Protocol.
                    Buffer:

                    Kommentar

                    • Gregor
                      Dumb Home'r
                      • 21.12.2018
                      • 28

                      Ich habe alle Zähler mit SML bereits durch. Iskra MT681 sieht wie folgt aus:
                      aber der Anfang (00681B1B1B1B0101010) ist hier nicht dabei
                      Angehängte Dateien
                      Hardware: Loxone mit 5 Extensions und Loxberry.
                      Automatisierung: Komplette Hausbeschattung bei Nutzung der Wetterdaten, Lüftersteuerung der dezentralen M-WRG von Meltem, Lichtsteuerung gesamtes Haus, vieles über LED und 1-wire, Abwesenheitssimulation, Stromzähler auslesen, Wetterdaten über Loxberry
                      In Planung: WLAN an und aus über Loxone/Loxberry

                      Kommentar

                      • blacksun
                        MS Profi
                        • 20.01.2016
                        • 557

                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 1110.png
Ansichten: 2284
Größe: 36,4 KB
ID: 206322


                        Mach noch bei der Function parse_sml_hexdata das # weg und starte nochmal.

                        Angehängte Dateien

                        Kommentar

                        Lädt...