Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für DLMS Plugin

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

    Support Thread für DLMS Plugin

    Hallo zusammen,

    ich habe das DLMS Plugin überarbeitet und würde das in develop für SmartHomeNG einpflegen wollen. Allerdings wäre es mir lieber, wenn sich einige bereit erklären würden das Plugin vorher zu testen.

    Da das DLMS nun seit 2016 erfolgreich läuft, habe ich diesen Thread "recycled" und er sollte fortan als für Support genutzt werden.
    Zuletzt geändert von bmx; 22.12.2019, 09:49.


    #2
    Hi,

    Code:
     dlms_serial.drainOutput()
    dlms_serial.flushInput()
    könnte mit neueren Serial.py versionen nicht mehr gehen...

    https://knx-user-forum.de/forum/supp...-gesucht/page8

    Was kann das neue Plugin besser als das Alte?

    Viele Grüsse
    Jürgen

    Kommentar


      #3
      Es kann weitere Dinge von Obis übernehmen wie z.B. das Datum als String oder bei Bedarf historische Daten wenn der Zähler sie liefert.
      Weiterhin habe ich enger am Regelwerk programmiert es sollten daher weitere (auch Industrie-) Zähler unterstützt werden ohne Anpassungen.

      Gruß,
      Bernd

      Kommentar


        #4
        Hi Bernd

        mit was für einem Zähler hast du das den schon getest? Ich hätte eine Elster AS 1440

        Was ich auch noch sinvoll finde das man wenn gerade eine Schleife durchläuft das man eine Semaphore davor schaltet. Bei 300baud dauert es schon mal 45-50s bis der Zähler ausgelesen wird. Ich will das aber mind. alle 30s lesen.

        Ich habe mir da einfach folgendes vorgeschaltet

        Code:
        def _save_update_values(self):
           if(self._sema.acquire(blocking=False)):
              self._update_values()
              self._sema.release()
           else:
              logger.debug( "update is alrady running nothing todo" )
        Dann kann nix mehr passieren. Und eigentlich darf man auch erst den Server Stoppen wenn gerade nicht gelesen wird. Sonst kann es beim AS1440 sein das das nächste mal lesen nicht funktioniert. Da habe ich aber nich nix gemacht.


        Viele Grüsse
        Jürgen
        Zuletzt geändert von bmx; 11.03.2017, 09:49. Grund: [CODE] ergänzt

        Kommentar


          #5
          Landis + Gyr ZMD310CT für den Industrie Bereich mit Bezug und Lieferung, ist etwas eigen mit dem Standard aber paßt noch. Das mit der Auslesezeit stimmt schon. Je nachdem, was der Zähler an Fähigkeiten hat, wird automatisch umgeschaltet auf eine höhere Baurate.
          Die Semapore müßte dort eingebaut, wo der Scheduler die Lesefunktion aufruft. Und wenn das ganze schon läuft dann geht es eben weiter ohne das die Lesefunktion erneut läuft und in Konflikt mit der ersten kommt...


          Kommentar


            #6
            Hi,
            wie das mit der Semaphore benutzt wird. kannst du dir da ansehen.
            https://github.com/callidomus/plugin...ms/__init__.py
            VG
            Jürgen
            Zuletzt geändert von heckmannju; 24.10.2016, 18:04.

            Kommentar


              #7
              Hi Jürgen, danke für den Hinweis. Nur mal aus technischer Sicht: Was spricht für die Verwendung einer "Zwischenfunktion" so wie im Beispiel? Alternativ könnte ich das ja auch direkt am Anfang der Updatefunktion einbauen...?

              Kommentar


                #8
                Ich wüste nix was dagegen spricht ich finde es aber so wie es ist am übersichtlichsten. Da man das auch wieder als Pattern in andere Plugins abkupfern könnte..

                Kommentar


                  #9
                  Ok, danke Dir, ich lerne gerne dazu und mir war nicht klar, ob etwas aus technischer Sicht dagegen sprechen würde.

                  Kommentar


                    #10
                    Hi,
                    gibt es die funktionalität reset baudrate (true), Checksum(true) und No Waiting(no) nicht mehr?
                    Viele Grüsse
                    Jürgen

                    Kommentar


                      #11
                      Weil die Antwort vom Smartmeter vorgibt, mit welcher Baudrate gearbeitet werden soll und das Plugin darauf zugreift und die Wartezeitintervalle in der Spezifikation genau vorgeschrieben sind.

                      Aber es könnte sein, das es das eine oder andere Smartmeter gibt, was sich nicht dran hält. Und darum der Aufruf zum Test :-)

                      Kommentar


                        #12
                        Okay und was ist für eine Wartezeit vorgeschrieben?

                        Kommentar


                          #13
                          Das hängt vom Protokoll-Modus ab in dem der Smartmeter betrieben wird.
                          Code:
                                  # about timeout: time tr between sending a request and an answer needs to be
                                  # 200ms < tr < 1500ms for protocol mode A or B
                                  # inter character time must be smaller than 1500 ms
                                  # The time between the reception of a message and the transmission of an answer is:
                                  # (20 ms) 200 ms = tr = 1 500 ms (see item 12) of 6.3.14).
                                  # If a response has not been received, the waiting time of the transmitting equipment after
                                  # transmission of the identification message, before it continues with the transmission, is:
                                  # 1 500 ms < tt = 2 200 ms
                                  # The time between two characters in a character sequence is:
                                  # ta < 1 500 ms

                          Kommentar


                            #14
                            Kannst du die Anpassungen für die aktuelle PySerial version noch machen? In die Probelmatik wird sonst jeder mit einer neuen Version reinlaufen.
                            VG
                            Jürgen

                            Kommentar


                              #15
                              Ja, baue ich mit ein. Mir sind auch noch ein paar Kleinigkeiten aufgefallen die ich eben gefixt habe. Wenn es problemlos durchläuft, packe ich eine neue ZIP zusammen...

                              Kommentar

                              Lädt...
                              X