Neues Plugin: Smartmeter - Stromzähler auslesen

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

    #421
    Okay, dann teste mal ob du doch noch irgendwie auf 9600 stellen kannst. Stell dazu die maxbaudrate auf 9600 und spiele dann etwas mit dem Delay. Wie gesagt, die 5 sagt aus, das der Zähler 9600 kann. Das Delay sagt aus, wie lange gewartet wird nach dem er seine Kennung geschickt hat, bis der Befehl für die Umschaltung auf 9600 gesendet wird. Lasse dabei das Timeout noch auf 20 stehen. Gehts dann mit 9600 kannst du das timeout langsam wieder runter drehen, sonst muss jedesmal 20 Sekunden warten.

    Kommentar

    • Gast

      #422
      Zitat von master chief
      also ich habe den Weidmann I/R Kopf und einmal klappt er am RP3 und einmal nicht. Egal welcher USB Port ausgewählt wird. Gibt's da einen Trick?


      Gibt's Neuigkeiten. Habe es oft versucht, einmal klappt es mit der Erkennung aber moistens eben nicht. Ist das willkür oder Eine Energieoption ???

      Kommentar


      • Gast
        Gast kommentierte
        Kommentar bearbeiten
        schon mal einen aktiven usb hub probiert?
    • Gast

      #423
      Hallo zusammen,
      ich habe auch einen Holley DTZ 541 vom Bayernwerk aufgezwungen bekommen der keinen Standard spricht. Ich lese nun schon X Stunden in Foren wie man diesen zum laufen bekommt, leider ohne Erfolg. Ich kriege einfach keine Werte aus dem Ding raus. Kann wer helfen?
      Ich nutze das pre release plugin 1.1.2. (was unter Version 1.1.1. deklariert ist)
      Habe auch schon die CRC Prüfung beim parsen übergangen mit: "$result['crcMsgCheck'] = ($result['crc_calc'] != $result['crc16']);"

      Zuletzt geändert von Gast; 04.01.2020, 12:40.

      Kommentar

      • blacksun
        MS Profi
        • 20.01.2016
        • 575

        #424
        Kommt denn überhaupt was raus aus dem Zähler. Mit dem Bayernwerk habe ich auch schon meine Erfahrung gemacht. Hab dir ne PN geschickt.

        Kommentar

        • blacksun
          MS Profi
          • 20.01.2016
          • 575

          #425
          Kurze Rückinfo:

          Dieser DTZ41 gibt 20 OBIS-Kennzahlen aus. Bisher wurde in der php_sml_parser.class.php nur TL-Fields berücksichtigt, die kein weiteres Byte zur Längenangabe benötigten.


          "F104" muss nach der Tabelle umgerechnet werden.

          F1 binär 1111 0001, 4Bit nach links schieben --> 0001 0000, 04=0100,
          Ergebnis verordern:
          0001 0000
          0000 0100
          ---------------
          0001 0100 = 20

          Auszug aus dem Telegram:

          Code:
          F104             // Liste mit 20 Elementen
          77                // Liste mit 7 Elementen
          07010060320101    // OBIS
          01                // Optional
          01                // Optional
          01                // Optional
          01                // Optional
          04484C59        // Value
          01                // Optional
          
          77                // Liste mit 7 Elementen
          070100600100FF    // OBIS
          01                // Optional
          01                // Optional
          01                // Optional
          01                // Optional
          0B0A01484C590200019185 // Server-ID
          01                // Optional
          Dann erhält man folgende Änderung in der php_sml_parser.class.php.

          Code:
              private function readValList() {
                  $this->debug('ENTER readValList');
                  $TYPE_LEN = $this->read(1);
          
          # Type-Lenght-Field:
          #    7    6     5     4     3     2     1     0
          #    1    x     x     x     x     x     x     x     weiteres TL-Field folgt, Vergleich auf 0x8
          #    0    x     x     x     x     x     x     x     kein weiteres TL-Field    
          
          # manche DTZ41 vom Bayernwerk schicken 20 OBIS-Kennzahlen
          
                  if(hexdec($TYPE_LEN{0}) & 0x8) {
                      $TYPE_LEN2 = $this->read(1);
                      $TYPE_LEN = hexdec($TYPE_LEN) << 4;
                      $TYPE_LEN=$TYPE_LEN & 0xFF;
                      $TYPE_LEN=$TYPE_LEN | $TYPE_LEN2;
          
           $LEN = $TYPE_LEN;
                      for($i=0;$i<$LEN;$i++) {
                          $this->debug("ENTER readListEntry [$i]");
                          $result[]=$this->readListEntry($this->data);
                      }
                      $this->debug('EXIT readValList : '.print_r($result,true),false);
                      return $result;
          
                   } elseif (hexdec($TYPE_LEN{0}) & 0x0) {
                      $LEN = hexdec($TYPE_LEN{1});
                      for($i=0;$i<$LEN;$i++) {
                          $this->debug("ENTER readListEntry [$i]");
                          $result[]=$this->readListEntry($this->data);
                      }
                      $this->debug('EXIT readValList : '.print_r($result,true),false);
                      return $result;
                  }else{
                      echo('Error reading value-list!');
                  }
              }
              #####################################################################################
          Übrigens: Da hat sich das Bayernwerk diesmal nicht lumpen lassen, Respekt Bayernwerk! 20 OBIS Werte darunter sind:

          Code:
                
                  '0100200700FF' => array('1-0:32.7.0*255','Spannung Phase 1'),
                  '0100340700FF' => array('1-0:52.7.0*255','Spannung Phase 2'),
                  '0100480700FF' => array('1-0:32.7.0*255','Spannung Phase 3'),
                  '01001F0700FF' => array('1-0:31.7.0*255','Strom Phase 1'),
                  '0100330700FF' => array('1-0:51.7.0*255','Strom Phase 2'),
                  '0100470700FF' => array('1-0:71.7.0*255','Strom Phase 3'),
                  '0100510701FF' => array('1-0:81.7.1*255','Phasenwinkel U-L2 bis U-L1'),
                  '0100510702FF' => array('1-0:81.7.2*255','Phasenwinkel U-L3 bis U-L1'),
                  '0100510704FF' => array('1-0:81.7.0*255','Phasenwinkel I-L1 bis U-L1'),
                  '010051070FFF' => array('1-0:81.7.15*255','Phasenwinkel I-L2 bis U-L2'),
                  '010051071AFF' => array('1-0:81.7.26*255','Phasenwinkel I-L3 bis U-L3'),
                  '01000E0700FF' => array('1-0:14.7.0*255','Frequenz'),
          Zuletzt geändert von blacksun; 05.01.2020, 16:13.

          Kommentar

          • Gast

            #426
            Hallo zusammen und herzlichen Dank an Blacksun für die promte Nachbarschaftshilfe!
            Es handelt sich um einen Holley DTZ 541 Charge 2018 der vom Bayernwerk mit na ja sagen wir mal ungewöhnlicher CRC Prüfung KERMIT funktioniert.
            Um dies mit Loxberry ans laufen zu kriegen hänge ich hier anbei die notwendigen Daten die Blacksun abgeändert hat an.
            Muss aber an der Stelle ganz klar dem guten alten fhem den vorzug geben da loxberry keine graphen zur verfügung stellt.
            Bei interesse PN
            Angehängte Dateien

            Kommentar

            • blacksun
              MS Profi
              • 20.01.2016
              • 575

              #427
              Es gibt eine neues PreRelease.



              Info dazu: Bisher wurde in der php_sml_parser.class.php nur TL-Fields berücksichtigt, die kein weiteres Byte zur Längenangabe benötigten. Abfrage erweitert.

              Gruß
              Michael

              Kommentar

              • hme0354
                MS Profi
                • 06.07.2019
                • 970

                #428
                Hallo, ich habe heute versucht die Kommunikation zum ISKRA AM550-TD0.11 aufzubauen. Ich bekomm aber nur diese Daten:

                D307LZ0Y: Found configuration for D307LZ0Y
                D307LZ0Y: Presetting: iskra382d0.
                IInitial Baudrate: 9600
                Max Baudrate: 9600
                Protocol: iskra681sml
                Timeout: 60
                Delay: 2
                Setting up port /dev/serial/smartmeter/D307LZ0Y: Baudrate:9600/9600 Databits:8 Stopbits:1 Parity:none Handshake:none

                Save raw buffer to /var/run/shm/smartmeter/D307LZ0Y.dump
                Parse /var/run/shm/smartmeter/D307LZ0Y.dump as SML-Protocol.
                Buffer:

                Calculate average power for cons.
                Last Reading: . Saved before: 439003.4939 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                Calculate average power for del.
                Last Reading: . Saved before: 439003.4939 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                Save Meter data to /var/run/shm/smartmeter/D307LZ0Y.data.
                All data written to /var/run/shm/smartmeter/D307LZ0Y.xxxx
                n to /var/run/shm/smartmeter/D307LZ0Y.xxxx

                Was mach ich falsch?
                Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
                Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

                Kommentar

                • blacksun
                  MS Profi
                  • 20.01.2016
                  • 575

                  #429
                  Hallo, sieht so aus, als ob keine Daten geschickt werden vom Zähler.

                  Hat’s schonmal funktioniert?
                  Kommen Daten aus der Schnittstelle? Mit Digitalkamera, kein iPhone, überprüfen. Wenn ein Blinken sichtbar ist, kommen auch Daten.
                  Ist der Zähler in Österreich 🇦🇹 verbaut? Ist der Zähler AES verschlüsselt?

                  Kommentar

                  • hme0354
                    MS Profi
                    • 06.07.2019
                    • 970

                    #430
                    Blinken sehr ich nix mit der Spiegelreflex. Bin aus Kärnten. Komisch ist auch, dass ich auf der Website meines Versorgers auch nix sehe. Der Smartmeter ist auch erst letzte Woche installiert worden.

                    Wo erkenne ich ob der Zähler AES verschlüsselt ist?
                    Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
                    Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

                    Kommentar

                    • blacksun
                      MS Profi
                      • 20.01.2016
                      • 575

                      #431
                      In Österreich kann es sein, das die Infrarotschnittstelle deaktiviert ist und nur die seitliche P1 Schnittstelle Daten ausgibt, da müsste eine RJ45 oder RJ12 Buchse sein.

                      Ich kenn diesen Zähler leider nicht "persönlich". Hab ich mir nur eben mal ergoogelt. Ich würd erstmal beim Versorger anrufen, und mal fragen, wies mit der Infrarotschnittstelle aussieht. Kann diese mittels PIN aktiviert werden oder ist diese eh schon aktiviert? Auch kann ich dir nicht sagen, ob mit einer Spiegelreflexkamera die Infrarotstrahlen sichtbar gemacht werden können. Ich habe eine ganz einfach Canon von früher, mit der hat man tatsächlich bläulich was blinken sehen. Mit der iPhone Kamera konnte man nichts erkennen.

                      Kommentar


                      • hme0354
                        hme0354 kommentierte
                        Kommentar bearbeiten
                        Danke für die Info. Werde ich machen.
                    • Benny
                      Extension Master
                      • 10.02.2016
                      • 190

                      #432
                      Hallo Zusammen,

                      ich hatte jetzt 2 Jahre erfolgreich jeden Tag, alle 5 Min, per Volkszaehler Kopf (das gelbe Teilchen als USB Version) meinen Stromzähler ausgelesen.... irgendwann im Dezember ging es dann nicht mehr. Ich hatte nichts verändert.... hab sowohl den Stromzähler neugestartet (einmal Strom komplett aus) sowohl den Sensor versucht anders zu positionieren, aber keine Chance.
                      Wie kann ich prüfen, was das Problem ist? Hat jemand Tipps? Es kommen einfach keine Daten zurück.... das USB Gerät ist da und wird auch abgefragt, aber innerhalb des TimeOuts kommen keine Daten.

                      Was mich beschäftigt: Was kann an dem Sensor evtl. kaputt gegangen sein und gibt es mehrere solcher Erfahrungen? Da es aktuell keine zu kaufen gibt, gibt es Alternativen, die ähnlich im Smartmeter funktionieren?

                      Danke.
                      Viele Grüße,
                      Benny

                      Kommentar


                      • hme0354
                        hme0354 kommentierte
                        Kommentar bearbeiten
                        Ich hätte einen von Weidmann, wenn du ihn brauchst.
                    • Oki8085
                      Dumb Home'r
                      • 27.07.2018
                      • 14

                      #433

                      Hallo zusammen,

                      Ich habe einen Logarex Zähler, welcher Typ auch ausgelesen wird. Nur erhalte ich keine Werte.
                      weiß jemand um Rat? Einstellungen hab ich schon alles mögliche versucht.

                      Viele Grüße

                      Log Viewer - /plugins/smartmeter/shm/fetch_manually.log



                      DN03UR32: Found configuration for DN03UR32
                      DN03UR32: Manual settings.
                      DN03UR32: Protocol: genericd0
                      DN03UR32: Timeout: 10
                      DN03UR32: Delay: 4
                      DN03UR32: Device: /dev/serial/smartmeter/DN03UR32
                      DN03UR32: Baudrate:300/300 Databits:7 Stopbits:1 Parity:even Handshake:none
                      Initial Baudrate: 300
                      Max Baudrate: 300
                      Protocol: genericd0
                      Timeout: 10
                      Delay: 4
                      Setting up port /dev/serial/smartmeter/DN03UR32: Baudrate:300/300 Databits:7 Stopbits:1 Parity:even Handshake:none
                      Sending D0 Starting Sequence
                      Send: /?!
                      5 Bytes written.
                      /?!
                      /LOG4LK13BD202015

                      Save raw buffer to /var/run/shm/smartmeter/DN03UR32.dump
                      Parse /var/run/shm/smartmeter/DN03UR32.dump as D0-Protocol.
                      Calculate average power for cons.
                      Last Reading: . Saved before: 439268.2833 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                      Calculate average power for del.
                      Last Reading: . Saved before: 439268.2833 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                      Save Meter data to /var/run/shm/smartmeter/DN03UR32.data.
                      All data written to /var/run/shm/smartmeter/DN03UR32.xxxx

                      Kommentar


                      • Aexelomeus
                        Aexelomeus kommentierte
                        Kommentar bearbeiten
                        Habe den Lesekopf von Weidemann heute mit folgenden Einstellungen bei meinem Logarex LK13B erfolgreich in Betrieb genommen:

                        Generic D0
                        Initial Baudrate 9600
                        Max Baudrate 300
                        Databits 7
                        Stopbits 1
                        Parity Even
                        Handshake None
                        Timeout 5s
                        Verzögerung 1s

                        Klingt vielleicht komisch, aber bei mir läuft es mit diesen Einstellungen absolut stabil.

                        Gerne ne Rückmeldung, ob das hilft.

                      • Oki8085
                        Oki8085 kommentierte
                        Kommentar bearbeiten
                        Danke für die Tipps.
                        Leider klappt es bei mir nicht.
                        Weder mit der Baudrate 9600 noch mit der 4800 setting
                        Aexelomeus, kannst du bitte mal die Zählerversion posten welche bei dir angezeigt wird?
                        Ich vermute nämlich, dass LOG4LK13BD202015 für 2015 steht und evtl nicht die neueste Software am Zähler ist.
                        DN03UR32: Protocol: genericd0
                        DN03UR32: Timeout: 5
                        DN03UR32: Delay: 1
                        DN03UR32: Device: /dev/serial/smartmeter/DN03UR32
                        DN03UR32: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
                        Initial Baudrate: 9600
                        Max Baudrate: 300
                        Protocol: genericd0
                        Timeout: 5
                        Delay: 1
                        Setting up port /dev/serial/smartmeter/DN03UR32: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
                        Sending D0 Starting Sequence
                        Send: /?!
                        5 Bytes written.
                        Changing Baudrate to 300
                        Send: 000
                        6 Bytes written.
                        m
                        jw|000

                        Save raw buffer to /var/run/shm/smartmeter/DN03UR32.dump
                        Parse /var/run/shm/smartmeter/DN03UR32.dump as D0-Protocol.
                        Calculate average power for cons.
                        Last Reading: . Saved before: 439291.6964 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                        Calculate average power for del.
                        Last Reading: . Saved before: 439291.6964 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                        Save Meter data to /var/run/shm/smartmeter/DN03UR32.data.
                        All data written to /var/run/shm/smartmeter/DN03UR32.xxxx

                      • Aexelomeus
                        Aexelomeus kommentierte
                        Kommentar bearbeiten
                        Also bei mir fängt die Bezeichnung mit LOG5LK13BE und dann ne willkürliche Zahl, ist denke ich mal ne Art Seriennummer.

                        Aber ich kriege auch ne Versionsnummer angezeigt: ver.03,432F,20170504. Ich schließe daher auf den 04.05.2017 als Software-Datum. Mein Zähler sieht auch etwas anders aus, vermutlich muss man LK13BE und LK13BD noch unterscheiden.

                        Ich hab auch einfach alles mögliche ausprobiert, alle Kombinationen, auch die Undenkbaren und irgendwann hat es funktioniert ^^



                        D306NG0M: Found configuration for D306NG0M
                        D306NG0M: Manual settings.
                        D306NG0M: Protocol: genericd0
                        D306NG0M: Timeout: 5
                        D306NG0M: Delay: 1
                        D306NG0M: Device: /dev/serial/smartmeter/D306NG0M
                        D306NG0M: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
                        Initial Baudrate: 9600
                        Max Baudrate: 300
                        Protocol: genericd0
                        Timeout: 5
                        Delay: 1
                        Setting up port /dev/serial/smartmeter/D306NG0M: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
                        Sending D0 Starting Sequence
                        Send: /?!
                        5 Bytes written.
                        Changing Baudrate to 300
                        Send: 000
                        6 Bytes written.

                        /LOG5LK13BE803039

                        1-0:96.1.0*255(001LOG0065148868)
                        1-0:1.8.0*255(003222.2213*kWh)
                        1-0:2.8.0*255(000000.0000*kWh)
                        1-0:0.2.0*255(ver.03,432F,20170504)
                        1-0:96.90.2*255(0F66)
                        1-0:97.97.0*255(00000000)
                        !
                        /LOG5LK13BE803039

                        1-0:96.1.0*255(001LOG0065148868)
                        1-0:1.8.0*255(003222.2215*kWh)
                        1-0:2.8.0*255(000000.0000*kWh)
                        1-0:0.2.0*255(ver.03,432F,20170504)
                        1-0:96.90.2*255(0F66)
                        1-0:97.97.0*255(00000000)
                        !
                        Bps:NLCc8
                        Save raw buffer to /var/run/shm/smartmeter/D306NG0M.dump
                        Parse /var/run/shm/smartmeter/D306NG0M.dump as D0-Protocol.
                        Calculate average power for cons.
                        Last Reading: 3222.199. Saved before: 0.0353 hours. Consumption: 0.0220. Avg. Power: 0.6236,
                        Calculate average power for del.
                        Last Reading: 0.000. Saved before: 0.0353 hours. Consumption: 0.0000. Avg. Power: 0.0000,
                        Save Meter data to /var/run/shm/smartmeter/D306NG0M.data.
                        All data written to /var/run/shm/smartmeter/D306NG0M.xxxx
                    • blacksun
                      MS Profi
                      • 20.01.2016
                      • 575

                      #434
                      300 Baudrate ist falsch. Initialbaudrate 300, Maxbaudrate 4800.

                      Das Delay stellst mal auf 1 oder 2 Sekunden.

                      Probiere das mal.


                      Gesendet von iPhone mit Tapatalk
                      Zuletzt geändert von blacksun; 11.02.2020, 06:33.

                      Kommentar

                      • Oki8085
                        Dumb Home'r
                        • 27.07.2018
                        • 14

                        #435
                        Mit den setting
                        Generic D0
                        Initial Baudrate 300
                        Max Baudrate 300
                        Databits 7
                        Stopbits 1
                        Parity Even
                        Handshake None
                        Timeout 5s
                        Verzögerung 1s

                        Wir ja zumindest die Zählerversion ausgelesen.
                        Der Zähler zeigt auch Komunikation während der Abfrage an (Siehe Bild).
                        Wieso bekomme ich keine Werte?

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

Name: Drehstromzähler.PNG
Ansichten: 4072
Größe: 268,9 KB
ID: 234813
                        Angehängte Dateien

                        Kommentar


                        • hme0354
                          hme0354 kommentierte
                          Kommentar bearbeiten
                          das kann aber auch die Kommunikation zum Versorger sein

                        • Oki8085
                          Oki8085 kommentierte
                          Kommentar bearbeiten
                          Das Zeichen kommt tatsächlich nur kurz wenn ich kurz auf "Zähler manuel abfragen" drücke und der IR-Sensor grün blinkt
                      Lädt...