Ankündigung

Einklappen
Keine Ankündigung bisher.

IEC 6205621 Timeout Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    IEC 6205621 Timeout Problem

    Hallo Zusammen,

    ich habe eben das EHZ binding mal ausprobiert, ich habe einen EMH Zähler mit Volkszähler Lesekopf an einem USB Adapter. Auslesen über ein Phyton Skript läuft seit Monaten stabil, aber leider wirft mir das Binding immer diesen Fehler:
    Code:
    ERROR o.o.b.i.internal.Meter[:90]- IOException while trying to read: Timeout while listening for Identification Message
    Die Config sieht so aus:
    Code:
    iec6205621meter:017707010000.serialPort=/dev/ttyACM0
    iec6205621meter:017707010000.baudRateChangeDelay=250
    iec6205621meter:017707010000.echoHandling=true
    iec6205621meter:refresh=60
    [/CODE]
    Die Zähler ID habe ich aus den Rohdaten, hier ein Ausschnitt:
    Code:
    4D 48 01 77 07 01 00 00
    Hat jemand eine Idee woran das liegen könnte, delay 0 habe ich auch schon probiert?

    Gruss
    Norbert

    #2
    Hallo,

    ich habe ebenfalls einen EMH-Zähler und den USB-IR-Lesekopf von Volkszaehler.org.

    Die von Norbert beschriebene Fehlermeldung tritt bei mir in der gleichen Form auf, ebenso unabhängig von dem eingestellten delay.

    Wo soll diese "Identification Message" denn herkommen?

    Grüße
    Daniel

    Kommentar


      #3
      das ist die Seriennummer vom Zähler (wenn ich das richtig verstanden habe)

      Kommentar


        #4
        Hallo,

        ich bin mir nicht sicher, ob das die Zähler-ID ist.

        Im Volkszähler-Wiki habe ich mir gerade noch mal eine Seite über den Landis&Gyr-Zähler angeschaut. Kann es sein, dass diese Zähler (die laut IEC-62056-21 Meter Binding getestet sind) ihre Daten in einem anderen Format senden? Im Volkszähler-Wiki-Beispiel findet z.B. auch keine Umwandlung aus dem Binär-Format statt, die scheinbar beim EMH-Zähler notwendig ist.

        Noch dazu scheint es so, dass die Landis&Gyr-Zähler die Daten auf Anfrage schicken, während mein EMH-Zähler die Daten regelmäßig überträgt.

        Grüße
        Daniel

        @Norbert: Könntest Du mir mal dein python-Skript geben, mit dem Du die Zähler ausliest?

        Kommentar


          #5
          Hi Daniel,
          Du hast mit deinen Recherchen recht gehabt. Anbei der quick&dirty but working Code.

          Gruss
          Norbert
          Angehängte Dateien

          Kommentar


            #6
            Hallo Norbert,

            zwar schon etwas älter der Thread, aber hast Du hierzu zwischenzeitlich eine Lösung? Ich habe das gleiche Problem bei gleicher Konfiguration.
            Könnte es mit Berechtigungen zusammenhängen?

            Gruß,
            Christian

            Kommentar


              #7
              Hi Christian,

              nein ich habe noch keine Lösung, an den Berechtigungen liegt es nicht. Ich denke man müsste das Binding erweitern, aber Java ist nicht so mein Ding.

              Gruss
              Norbert

              Kommentar


                #8
                Hallo,

                nur zur Info: Den Fehler bekomm ich auch von Zeit zu Zeit. Funktionieren tuts trotzdem einwandfrei. Ich verwende allerdings auch einen anderen Zähler.

                In der config steht übrigends nicht die ID deines Zählers, sondern eine von dir zu vergebender Name, den du in deiner Item Konfiguration wiederverwenden musst.

                z.B.
                Code:
                iec6205621meter:houseMeter.serialPort=/dev/ttyUSB0
                .items:
                Code:
                Number HouseTarif "Stromverbrauch [%.2f kwh]" (gEnergy) { iec6205621meter="houseMeter:1.8.2" }

                Kommentar


                  #9
                  Hallo,

                  bei mir liegt es wohl daran, dass meine beiden EMH-Zähler SML sprechen also EDL21-Zähler sind. Mir scheint - und so steht es auch in der Beschreibung des Bindings - dass nur Zähler die DLMS/D0 sprechen, erkannt werden.
                  Bei den EMH Zählern kommt die Fehlermeldung
                  Code:
                   IOException while trying to read: Timeout while listening for Identification Message
                  bei meinem PV-Zähler (Hager) kommt die Fehlermeldung
                  Code:
                  Read attempt timed out
                  . Hier handelt es sich um einen D0-Zähler nach DIN EN 62056-21...

                  .... die Fehlermeldung ist zumindest eine andere, weiter bringt mich das jedoch auch nicht!

                  Meine - von hinten durch die Brust - Lösung bisher:
                  vzlogger -> volkszähler -> Skript auf mysql -> mqtt -> openhab.

                  Klappt zwar aber ist doch ziemlich umständlich.

                  Gruß,
                  Christian

                  Kommentar


                    #10
                    Hallo,

                    ich habe das binding entwickelt.
                    Tut mir leid, das ich mich erst sehr spät melde.
                    Kannte diese Forum noch nicht.

                    Zur Fehlermeldung:
                    Wie in der Wiki beschrieben habe ich im binding eine open source lösung vom frauenhofer institut wiederverwendet.
                    IEC 62056-21 funktioniert so, das es zunächst mit dem meter die baud rate zum daten auslesen aushandelt. Dafür wird mit 300 baud eine Anfrage geschickt und anschliessend die baudrate, welche du in deiner Config eingestellt hast, neu eingestellt.
                    Wenn die erste Anfrage mir 300 baud bereits scheitert bekommst du eine ander Fehlermeldung.

                    Das heist deine Bauderate wird and das meter geschickt und anschliessend
                    sollten die daten vom meter kommen.

                    Ich habe im Dezember durch mein EVU einen neuen Meter bekommen und hatte ein ähnliches Problem.
                    Der neuer Zähler hat leider nicht immer die richtigen start bytes geschickt.
                    Ich habe den Code nun vom frauenhofer angepasst und in einen Pull request über git zum review in openhab Projekt geschickt.

                    Falls du meine Vorabversion testen möchtest habe ich diese mal angehängt.
                    Gibt mir doch kurz eine Meldung ob es funktiniert.

                    Gruss
                    Peter
                    Angehängte Dateien

                    Kommentar


                      #11
                      Hi Peter,

                      ich habe das Binding eben mal ausprobiert, mit und ohne delay und echo handling, aber mehr als:
                      Code:
                      2015-02-15 13:13:06.111 [ERROR] [iec6205621meter.internal.Meter] - IOException while trying to read: Timeout while listening for Identification Message
                      bekomme ich leider nicht raus.

                      Gruss
                      Norbert

                      Kommentar


                        #12
                        Bei mir kommen manchmal folgende Meldungen:

                        Code:
                        2015-02-15 20:43:25.385 [ERROR] [iec6205621meter.internal.Meter] - IOException while trying to read: Timeout while listening for Data Message
                        und
                        Code:
                        2015-02-15 20:19:40.530 [ERROR] [iec6205621meter.internal.Meter] - IOException while trying to read: Syntax error in identification message received: unknown baud rate received.(00)2F 49 54 46 (04)35 46 52 50 (08)2D 53 4D 56 (12)33 33 30 31 (16)30 30 32 30 (20)31 0D 0A

                        Aber zumeist funktionierts.
                        Die erste Meldung kam auch mit der vorherigen Version schon, die zweite sehe ich zum ersten mal.

                        Gruß
                        Matthias

                        Kommentar


                          #13
                          Hi

                          Besten Dank für das testen.
                          Ich werde heute Abend versuchen die log-Meldungen in frauenhofer Code zu erweitern, um die erhaltenen Bytes im log auszugeben.
                          Dann wissen wir mehr.

                          Ich habe das bei mir Direkt im Debug Modus anschauen können, über remote debugging in Eclipse.

                          Wir müssen uns hier schrittweise dem Problem annähern.
                          Wie gesagt , ich hätte das gleiche Problem mit meinem neuen Zähler.
                          Ich kann die Methode,welche die bytes auf innhaftigkeit untersucht, anpassen wenn ich weis was eure Zähler ausspucken.

                          Ich lege dann heute Abend eine neue Version hier ab.

                          Gruss
                          Peter.

                          Kommentar


                            #14
                            Konnte gerade im Zug was machen und habe mal ein paar logs eingefügt.
                            Falls ihr das kurz testet und mir mal die einsprechenden log hier posten könntet wäre ich dankbar.
                            Also hier eine neue version mit mehr logs...

                            Ich habe das plugin noch nicht zuhause testen können.
                            Hoffe, das ich hier nix falsch gemacht habe.

                            Gruss
                            Peter
                            Angehängte Dateien

                            Kommentar


                              #15
                              Hi Matthias,

                              hast du für deinen zähler echoHandling=false?

                              Eigentlich sollte bei Einstellung false die baudrate bei dir erkannt werden.

                              case 0x35:

                              result = 9600;

                              (00)2F 49 54 46 (04)35 46 52 50 (08)2D 53 4D 56 (12)33 33 30 31 (16)30 30 32 30 (20)31 0D 0A

                              Habe den log nochmal angepasst, um das byte anzugeben welches er prüft.

                              Hier nochmal einen neue version.

                              Gruss
                              Peter


                              Angehängte Dateien

                              Kommentar

                              Lädt...
                              X