Neues Plugin: Smartmeter - Stromzähler auslesen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Prof.Mobilux
    Supermoderator
    • 25.08.2015
    • 4693

    Mit einem ISKRA-Zähler sollte es klappen.
    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


    LoxBerry - Beyond the Limits

    Kommentar

    • blacksun
      MS Profi
      • 20.01.2016
      • 575

      Eigentlich müsste es gehen. Habe heute die PIN bekommen, PIN eingeben. Mit einer Digitalkamera habe ich überprüft, ob der Zähler was sendet und siehe da, ja die rechte IR Diode am Zähler blinkt.

      Ich habe das Profil vom MT681 genommen. Im Log steht aber "Can't read enough bytes".

      Entweder mache ich was falsch, oder das Profil für den MT681 passt nicht. Habe auch andere Profile probiert. Bei jedem der selbe Fehler.

      Bitte um Hilfe!
      Angehängte Dateien

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4693

        Der SML Parser stammt von Wörsty. Da kenne ich mich leider gar nicht aus. Vielleicht kann er helfen. Oder du probierst mal das SML Plugin aus.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar

        • blacksun
          MS Profi
          • 20.01.2016
          • 575

          Habe gerade noch das SML-eMon Plugin probiert. Das funktioniert ebenfalls nicht. Im Log steht auch was von Can't read enough bytes.
          Angehängte Dateien

          Kommentar


          • tholle
            tholle kommentierte
            Kommentar bearbeiten
            Hast du im virtuellen HTTP-Eingang den Timeout auf 8000ms gesetzt?

            Edit: Kommentar ist obsolet, weil ja weiter unten offenbar die Ursache gefunden wurde.
            Zuletzt geändert von tholle; 21.08.2018, 08:50.
        • Prof.Mobilux
          Supermoderator
          • 25.08.2015
          • 4693

          Dann kann nur Wörsty helfen :-) Aber das Problem sollte lösbar sein. Er empfängt Daten, dass heißt dein Zähler sendet schon einmal und das Plugin empfängt Daten :-)

          Vermutlich bricht er zu früh ab oder so etwas. Ich kenne mich leider mit dem SML Protokoll überhaupt nicht aus.
          🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


          LoxBerry - Beyond the Limits

          Kommentar


          • Wörsty
            Wörsty kommentierte
            Kommentar bearbeiten
            Ich leider auch nicht so wirklich und momentan ist es zeitlich auch schlecht.
        • Wörsty
          LoxBus Spammer
          • 06.11.2015
          • 203

          Irgendwie komme ich nicht klar mit den Nachrichten.

          1B1B1B1B Start Escape Zeichenfolge
          01010101 Start Übertragung Version 1
          76 jetzt kommt eine SML-Message
          05 00 0C 2B - Länge (inkl. Längenbyte) ??
          FE transactionId ?
          6200 groupNo
          6200 abortOnError
          72 63 01 01 messageBody
          76 jetzt kommt eine SML-Message
          01 Länge (inkl. Längenbyte)
          01 07 00 06 00 00 yy yy - transactionId
          ...

          Ich benutze auch nur eine PHP-Klasse php_sml_parser.class.php dafür.
          Habe aber keine neuere Version gefunden.
          Loxone Miniserver (letzte Beta) in KNX Umfeld

          Kommentar

        • blacksun
          MS Profi
          • 20.01.2016
          • 575

          Der Zähler ist laut Bayernwerk brandneu. Evtl. liegt’s daran. Aber wenn die SML Version 1 ist, dann müsste es doch vom Telegramm her gleich aufgebaut sein.

          Meinst es hilft, wenn ich am Timeouts rum spiele oder was genau passt im Telegramm nicht?

          Kommentar

          • blacksun
            MS Profi
            • 20.01.2016
            • 575

            So, habe jetzt mal das angehängte Logfile entschlüsselt, soweit mir es möglich war. Ich bin zwar jetzt auch nicht weiter als vorhin, aber einen wirklichen Fehler kann ich nicht erkenne. Siehe Datei Antwort entschlüsselt.

            Kann man aus dem Logfile erkennen, was genau dem Parser nicht schmeckt?

            Kann es sein, das der Parser eigentlich "00" erwartet für End of SML, stattdessen aber noch die SML Time und die SML Version kommt und diese optional ist. Das würde zumindestens ERROR 00 erklären oder sehe ich das falsch?

            Sinn machen würde es schon, da 726201 entspricht der gleichen Länge wie die CRC 634CC8, deshalb sagt der Parser dann: hopla hier steht ja was von 6500xx statt 00.

            Klicke auf die Grafik für eine vergrößerte Ansicht  Name: optional.png Ansichten: 1 Größe: 138,4 KB ID: 164820
            Zuletzt geändert von blacksun; 21.08.2018, 00:57.

            Kommentar


            • Prof.Mobilux
              Prof.Mobilux kommentierte
              Kommentar bearbeiten
              Klingt für mich logisch. Du hast das ja perfekt ansalysiert. Vielleicht hilft es im Volkszähler-Forum nachzufragen. Da sitzen die Experten, eventuell sogar derjenige, der die PHP-Klasse geschrieben hat.
          • t_heinrich
            Lox Guru
            • 07.01.2016
            • 2048

            Prof.Mobilux ich nutze ja schon seit längerem dein super PlugIn hier, lasse mir wöchentlich die Rohdaten per Mail zustellen ... und mache dann nicht wirklich was damit, da ich die Daten nicht weiter (manuell) aufbereite.

            Frage (oder Feature-Wunsch) in dem Zusammenhang: könnte man in das Plugin nicht auch die die Middelware von Volkszähler integrieren?



            Die Middleware ist Vorraussetzung für das Frontend



            Gruß Thomas

            Kommentar

            • Ostpower
              Smart Home'r
              • 16.11.2015
              • 58

              Hallo Zusammen,
              ich verzweifel seit gestern Abend, ich habe das identische Phenomen wie hier oben einige. Zähler zeigt zu hohe Werte an, eigentlich den identischen ,welcher ausgelesen wird.
              Was mir aufgefallen ist, dass nicht immer WERTE aus dem Plugin bekomme. Einmal gibt es viele Error´s und keinen Wert, und dann geht es wieder mal und es kommen eine Zeit Lang alle Werte an. Könnte die IR Schnittstelle defekt sein oder doch etwas mit der SML Programmierung im Plugin?

              Wie verhält sich der Loxone Verbrauchszähler, wenn er mal einen Wert bekommt und dann nicht? Addiert er die Werte dann auf? Laut Verbrauchszähler (Statistik) habe ich heute 4,6MWh verbraucht .

              Log Error sieht öfters so aus:
              Buffer:
              ERROR: '00' expected, got 'BC007605077CE55A62006200726302017101639A26001B1B1 B...' !
              #1 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(303): SML_PARSER->match('00')
              #2 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(329): SML_PARSER->parse_sml_message()
              #3 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/sml_parser.php(36): SML_PARSER->parse_sml_hexdata('1C0B0649534B010...')
              #4 {main}
              ERROR: '77' expected, got '010183028F3EB269F8C14C35A4ECA74B172EC19D74398960A 1...' !
              #1 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(217): SML_PARSER->match('77')
              #2 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(247): SML_PARSER->readListEntry('010183028F3EB26...')
              #3 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(262): SML_PARSER->readValList('7777078181C7820...')
              #4 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(284): SML_PARSER->readListResponse('77010B0649534B0...')
              #5 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(299): SML_PARSER->readMessageBody()
              #6 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/php_sml_parser.class.php(329): SML_PARSER->parse_sml_message()
              #7 /opt/loxberry/webfrontend/htmlauth/plugins/smartmeter/bin/sml_parser.php(36): SML_PARSER->parse_sml_hexdata('1C0B0649534B010...')
              #8 {main}
              ERROR: Error, unexpected type '4x' TL=44

              usw.

              habt ihr nen Tip für mich?

              LG
              Ostpower

              Kommentar


              • blacksun
                blacksun kommentierte
                Kommentar bearbeiten
                Brauchst du da noch Hilfe?
            • Gast

              Hallo Zusammen,
              erst mal danke für das Plugin. Ich habe aktuell das Problem, dass der am Pi angeschlossen IR Lesekopf von Weidmann Elektronik nicht erkannt wird (im Loxberry Plugin). Der Leskopf schein zu funktionieren, wenn ich diesen an meinen Laptop anschließe und die mitgelieferte Software nutze, kann ich Daten auslesen. Habe ich etwas übersehen, muss ich Treiber installieren? Kann ich noch etwas konfigurieren?
              Ich hoffe ihr könnt mir weiterhelfen.

              Vielen Dank, Hagen

              Kommentar

              • Prof.Mobilux
                Supermoderator
                • 25.08.2015
                • 4693

                Ist das ein USB-Lesekopf? Kannst Du Dich bitte mal per Putty einloggen und folgende Befehle ausführen (Ausgabe hier posten):

                Code:
                cat /etc/udev/rules.d/99-smartmeter.rules
                Code:
                ls /dev/serial/smartmeter/*
                Code:
                lsusb -v > /tmp/lsusb.txt
                cat /tmp/lsusb.txt
                🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                LoxBerry - Beyond the Limits

                Kommentar

                • Gast

                  Halllo Mobilux, danke für dein Angebot, ich habe lustiger weise eine Lösung gefunden durch deinen Hinweis, jetzt wird das Gerät erkannt. Ich habe im Verzeichnis /dev/serial/ ein Verzeichnis smartmeter angelegt. Danach wurde das Gerät gefunden. Warum das Problem bestand, kann ich nicht sagen.

                  Kommentar

                  • Gast

                    Hallo,
                    ich bin ganz neu hier und hoffe das dies der richtige Weg ist um meine Fragen loszuwerden.
                    Ich nutze seit gestern einen Raspi und einen IR Lesekopf zum Abfragen des Zählerstandes meines neuen Stromzählers (Landis Gyr E220).
                    Das Plugin hat den Zählerkopf (Fertigteil von Volkszähler) erkannt aber beim manuelle Zählerabfragen kommt imme nur eine mehr oder weniger lange Abfolge von nicht interpretierbaen Daten heraus. Ich habe aus Ermangelung des richtigen Zähler erst einmal den E320 ausgewählt in der Hoffnung das diese gleich abzufragen sind. Leider klappt das nicht. Ein paar tests mit handgewählten Verbindungseinstellungen lieferten auch keine brauchbaren Ausgaben. Haben sie Erfahrungen welche Enistellungen ich für die Abfrage wählen sollte?
                    output log:
                    A106Q3P0: Found configuration for A106Q3P0
                    A106Q3P0: Presetting: landisgyre320d0.
                    Initial Baudrate: 300
                    Max Baudrate: 4800
                    Protocol: landisgyre320d0
                    Timeout: 20
                    Delay: 4
                    Setting up port /dev/serial/smartmeter/A106Q3P0: Baudrate:4800/300 Databits:7 Stopbits:1 Parity:even Handshake:none
                    Sending D0 Starting Sequence
                    Send: /?!
                    5 Bytes written.
                    Changing Baudrate to 4800
                    Send: 040
                    6 Bytes written.
                    & "te er`|F}x4!cc "%aoo #c@a J"%% "%%oooc@a J"eo% %%"%`c@a J%` %%#A@ & E. % fccCcc B%aoo Cc@a J"% b%%oooc@a J"eo% %%"%`c@a J%@` %%#A@ ` E/ % cccc B%aoo Cc@a J"% B%%oooc@aJ"eo% E%"%`c@a J%@` %&#A@ E/ % ccckcc b%aoo cc@a J"% %%oooc@a J"eo% E%"%`c@a J%@` %&#A@ E( % Jcc'cc "%aoo cc@a J"%% "%%oooc@a J"eo% e%"%`c@a J%@` %'#A@ E( %"cccc %aoo Cc@a J"%% "%%oooc@a J"eo% e%"%`c@a J%@` %'#A@ ) E) % Occicc B%aoo Cc@a J"% B%%oooca J"eo% E%"%`c@a J%@` %&#A@ D E+ % hcccc b%aoo cc@a J"% B%%oooc@a J"eo% E%"%`c@a J%@` %&#A@ m E* % eccMcc b%aoo cc@a J"% b%%oooc@a J"eo% e%"%`c@a J%@` %'#A@ o E( % Bccncc %aoo c@a J"%% "%%oooc@a J"eo% e%"%`c@a J%@` %'#A@ E) % /cc,cc %aoo c@a J"%% %%oooc@a J"eo% %"%`c@a J%@` %$#A@ @ E) % Gcc"cC "%aoo #c@a J"%% B%%oooc@a J"eo% %"%`c@a J%@` %$#A@ E* % cc@cc b%aoo #c@a J"% b%%oooc@a J"eo% %%"%`c@a J%@` %%#A@ E* % mcccc B%aoo c@a J"% b%%oooc@a J"eo% %%"%`c@a J%@` %%#A@ - E+ % ccgcc %aoo c@a J"%E %%oooc@a J"eo% %"%`c@a J%@` %$#A@ E- % ccMcc "%aoo #c@a J"%E %%oooc@a J"eo% %"%`c@a J%@` %$A@ % E, % cccc "%aoo #c@a J"%E "%%oooc@a J"eo% %%"%`c@a J%@` %%#A@ ' E. % &ccBcc B%aoo Cc@a J"%e b%%oooc@a J"eo% %%"%`c@a J%@` %%#A@ a E/ % Kcccc B%aoo Cc@a J"%e B
                    Save raw buffer to /var/run/shm/smartmeter/A106Q3P0.dump
                    Parse /var/run/shm/smartmeter/A106Q3P0.dump as D0-Protocol.
                    Calculate average power for cons.
                    Last Reading: . Saved before: 427038.1014 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                    Calculate average power for del.
                    Last Reading: . Saved before: 427038.1014 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                    Save Meter data to /var/run/shm/smartmeter/A106Q3P0.data.
                    All data written to /var/run/shm/smartmeter/A106Q3P0.xxxx
                    --
                    Vielen Dank im voraus

                    Kommentar

                    • Prof.Mobilux
                      Supermoderator
                      • 25.08.2015
                      • 4693

                      Probier mal die Bausätze runterzunehmen auf 300. Wenn das nicht geht mal das SML Protokoll testen.
                      🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                      LoxBerry - Beyond the Limits

                      Kommentar

                      Lädt...