Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für DLMS Plugin

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

    #91
    Wozu brauchst Du die Instanz? Hast Du mehrere Zähler mit DLMS am Start?

    Und ja, das was im Webinterface dargestellt wird sollte der Abfrage entsprechen. Was sagt denn das Log zum dem Ganzen? Evtl. musst Du Dir das für plugins.dlms erst auf debug konfigurieren ...

    Kommentar


      #92
      Im Log steht nur
      2022-01-18 18:20:11 WARNING plugins.dlms 1@: Any line with OBIS Code should have at least one data item

      Ok, auf debug konfigurieren schau ich mir an.
      Ich habe 2 Zähler (Wärmepumpe extra) daher die Instanz. kann ich aber auch erst mal weg lassen.

      DEBUG Log:

      Code:
      2022-01-18 18:32:22 DEBUG plugins.dlms init plugins.dlms
      2022-01-18 18:32:22 DEBUG plugins.dlms Instance 0 of DLMS configured to use serialport '/dev/ttyUSB0' with update cycle of 59 seconds
      2022-01-18 18:32:22 DEBUG plugins.dlms init done
      
      2022-01-18  18:32:56 ERROR    plugins.dlms        no results from smartmeter query received
      mehr kommt aktuell net.
      Parallel dazu auf der Konsole klappt es wie gehabt.
      Zuletzt geändert von Tiffi; 18.01.2022, 18:39.

      Kommentar


        #93
        Ok, muss ich mir anschauen wo es haken könnte :-(

        Kommentar


          #94
          Zur Info, ich habe heute SmarthomeNG sowie die Plugins auf die aktuellste Version gezogen. Wenn ich noch daten liefern soll teste ich gern weiter. Leider stehe ich aber gerade auf dem schlauch.

          Achso der Zähler arbeitet im push modus, vielleicht liegts in der Richtung, oder ich bin zu blöde.

          Ergänzend:
          Code:
          2022-01-18 20:10:45 DEBUG plugins.dlms init plugins.dlms
          2022-01-18 20:10:45 DEBUG plugins.dlms Instance 0 of DLMS configured to use serialport '/dev/ttyUSB0' with update cycle of 30 seconds
          2022-01-18 20:10:45 DEBUG plugins.dlms init done
          2022-01-18 20:10:48 DEBUG plugins.dlms Item 'Stromzaehler.Auslesung' has Attribute 'dlms_obis_readout' so it is added to the list of items to receive full OBIS Code readout
          2022-01-18 20:10:48 DEBUG plugins.dlms Item 'Stromzaehler.Seriennummer' has Attribute 'dlms_obis_code' so it is added to the list of items to receive OBIS Code Values
          2022-01-18 20:10:48 DEBUG plugins.dlms The OBIS Code '1-1:0.0.0' is added to the list of codes to inspect
          
          2022-01-18 20:10:49 DEBUG plugins.dlms Plugin 'dlms': run method called
          2022-01-18 20:10:49 DEBUG plugins.dlms scheduler_add: name = plugins.dlms.DLMS, parameters: prio=5, cycle=30, next=datetime.datetime(2022, 1, 18, 20, 10, 49, 560874, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin'))
          
          2022-01-18 20:10:49 DEBUG plugins.dlms run dlms
          
          2022-01-18 20:11:00 ERROR plugins.dlms no results from smartmeter query received
          Zuletzt geändert von Tiffi; 18.01.2022, 20:14.

          Kommentar


            #95
            Womit hast Du denn vor dem Update die Daten eingelesen?

            Das mit dem Push Mode ist klar. Du hast ja auch im Standalone Modus alles korrekt eingestellt und die Daten auch bekommen.

            Egal, ich habe ich develop einen Fix geschoben, Du kannst mal die drei Dateien
            dlms/__init__.py
            dlms/dlms.py
            dlms/plugin.yaml

            tauschen und schauen ob es für Dich klappt. Ist leider Blindflug für mich, ich habe keinen Zähler der nur quasselt ...

            Kommentar


              #96
              Wird gemacht.

              Vor dem Update hatte ich noch kein ir lesekopf. War also der erste Versuch heute.

              Testen tue ich morgen. Vielen Dank für deine Mühe.

              Kommentar


                #97
                Guten Morgen,

                hier nun die Erkenntnis:
                Code:
                2022-01-19 09:42:12 DEBUG plugins.dlms init plugins.dlms
                2022-01-19 09:42:12 DEBUG plugins.dlms Instance 0 of DLMS configured to use serialport '/dev/ttyUSB0' with update cycle of 45 seconds
                2022-01-19 09:42:12 DEBUG plugins.dlms init done
                2022-01-19 09:42:15 DEBUG plugins.dlms Item 'Stromzaehler.Auslesung' has Attribute 'dlms_obis_readout' so it is added to the list of items to receive full OBIS Code readout
                2022-01-19 09:42:15 DEBUG plugins.dlms Item 'Stromzaehler.Seriennummer' has Attribute 'dlms_obis_code' so it is added to the list of items to receive OBIS Code Values
                2022-01-19 09:42:15 DEBUG plugins.dlms The OBIS Code '1-1:0.0.0' is added to the list of codes to inspect
                
                2022-01-19 09:42:16 DEBUG plugins.dlms Plugin 'dlms': run method called
                
                2022-01-19 09:42:16 DEBUG plugins.dlms scheduler_add: name = plugins.dlms.DLMS, parameters: prio=5, cycle=45, next=datetime.datetime(2022, 1, 19, 9, 42, 16, 461324, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin'))
                2022-01-19 09:42:16 DEBUG plugins.dlms run dlms
                
                2022-01-19 09:42:34 DEBUG plugins.dlms readout size is 30
                2022-01-19 09:42:34 DEBUG plugins.dlms All lines inspected, no more data
                Geändert hat sich an der Stelle soweit noch nichts. Der Kauderwelch erscheint weiterhin im web if
                Interessant ist vielleicht noch das wenn ich checksum auf true setze folgende meldung erhalte:
                Code:
                2022-01-19  10:17:48 DEBUG    plugins.dlms        Exception ''int' object is not iterable' occurred, please inform plugin author!
                allerdings wird bei dem Manuellen aufruf checksum false gesetzt. dieser funktioniert auch weiterhin problemlos.

                Kommentar


                  #98
                  Komisch. Laut Post #88 hast Du die Baudrate in der plugin.yaml auf 9600 gesetzt. Das sollte auch ankommen und gesetzt werden.
                  Es wäre jedoch gut das zu prüfen.
                  Bitte füge mal
                  Code:
                  self.logger.debug(f"Config: {self._config}")
                  vor der Zeile 129
                  Code:
                  self.init_webinterface()
                  in dlms/__init__.py ein und schaue was dann im Logging angezeigt wird.

                  Die Checksummen Prüfung funktioniert nur dann, wenn auch die entsprechenden Marker im Datenstrom drin sind. Bisher kenne ich keinen Zähler der nur sendet der die Marker auch drin hat. Du wärest dann ein Testkandidat ...

                  Kommentar


                    #99
                    diese Leerzeichen machen mich fertig...

                    Code:
                    2022-01-19 12:04:03 DEBUG plugins.dlms init plugins.dlms
                    2022-01-19 12:04:03 DEBUG plugins.dlms Instance 0 of DLMS configured to use serialport '/dev/ttyUSB0' with update cycle of 45 seconds
                    2022-01-19 12:04:03 DEBUG plugins.dlms Config: {'serialport': '/dev/ttyUSB0', 'device': '', 'querycode': '?', 'timeout': 2, 'baudrate': 9600, 'baudrate_fix': True, 'use_checksum': False, 'onlylisten': True, 'reset_baudrate': True, 'no_waiting': False}
                    2022-01-19 12:04:03 DEBUG plugins.dlms init done
                    2022-01-19 12:04:06 DEBUG plugins.dlms Item 'Stromzaehler.Auslesung' has Attribute 'dlms_obis_readout' so it is added to the list of items to receive full OBIS Code readout
                    2022-01-19 12:04:06 DEBUG plugins.dlms Item 'Stromzaehler.Seriennummer' has Attribute 'dlms_obis_code' so it is added to the list of items to receive OBIS Code Values
                    2022-01-19 12:04:06 DEBUG plugins.dlms The OBIS Code '1-1:0.0.0' is added to the list of codes to inspect
                    2022-01-19 12:04:07 DEBUG plugins.dlms Plugin 'dlms': run method called
                    2022-01-19 12:04:07 DEBUG plugins.dlms scheduler_add: name = plugins.dlms.DLMS, parameters: prio=5, cycle=45, next=datetime.datetime(2022, 1, 19, 12, 4, 7, 79821, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin'))
                    2022-01-19 12:04:07 DEBUG plugins.dlms run dlms
                    2022-01-19 12:04:15 DEBUG plugins.dlms readout size is 21
                    2022-01-19 12:04:15 WARNING plugins.dlms Any line with OBIS Code should have at least one data item
                    2022-01-19 12:04:15 DEBUG plugins.dlms All lines inspected, no more data
                    schaut erstmal so aus als das es passt.

                    Kommentar


                      Ja, erklärt aber nicht das Kauderwelsch. Ich habe in develop noch einen neuen Fix gepusht. Probiere mal bitte analog zu Post #95

                      Kommentar


                        Guten Abend.

                        auf den ersten Blick sieht es gut aus. testen tue ich wieder morgen. aber der kladderadatsch ist verschwunden.
                        Darf ich fragen was geändert wurde? fürs Verständnis...


                        Kopie aus dem Webif
                        Code:
                        /LOG5LK13BE803039
                        
                        1-0:96.1.0*255(001LOG0065267445)
                        1-0:1.8.0*255(009364.3661*kWh)
                        1-0:2.8.0*255(000000.0000*kWh)
                        1-0:16.7.0*255(000910*W)
                        1-0:32.7.0*255(235.6*V)
                        1-0:52.7.0*255(236.6*V)
                        1-0:72.7.0*255(235.9*V)
                        1-0:31.7.0*255(002.02*A)
                        1-0:51.7.0*255(001.55*A)
                        1-0:71.7.0*255(001.15*A)
                        1-0:81.7.1*255(119*deg)
                        1-0:81.7.2*255(240*deg)
                        1-0:81.7.4*255(031*deg)
                        1-0:81.7.15*255(036*deg)
                        1-0:81.7.26*255(039*deg)
                        1-0:14.7.0*255(50.0*Hz)
                        1-0:1.8.0*96(00020.5*kWh)
                        1-0:1.8.0*97(00147.5*kWh)
                        1-0:1.8.0*98(00532.6*kWh)
                        1-0:1.8.0*99(05031.8*kWh)
                        1-0:1.8.0*100(09364.3*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)
                        !
                        Log:
                        Code:
                        2022-01-19 19:43:23 DEBUG plugins.dlms scheduler_remove: name = plugins.dlms.DLMS
                        2022-01-19 19:43:23 DEBUG plugins.dlms Plugin 'dlms': stop method called
                        2022-01-19 19:43:41 DEBUG plugins.dlms.dlms init plugin component plugins.dlms.dlms
                        2022-01-19 19:43:41 DEBUG plugins.dlms init plugins.dlms
                        2022-01-19 19:43:41 DEBUG plugins.dlms Instance 0 of DLMS configured to use serialport '/dev/ttyUSB0' with update cycle of 45 seconds
                        2022-01-19 19:43:41 DEBUG plugins.dlms Config: {'serialport': '/dev/ttyUSB0', 'device': '', 'querycode': '?', 'timeout': 2, 'baudrate': 9600, 'baudrate_fix': True, 'use_checksum': False, 'onlylisten': True, 'reset_baudrate': True, 'no_waiting': False}
                        2022-01-19 19:43:41 DEBUG plugins.dlms init done
                        2022-01-19 19:43:44 DEBUG plugins.dlms Item 'Stromzaehler.Auslesung' has Attribute 'dlms_obis_readout' so it is added to the list of items to receive full OBIS Code readout
                        2022-01-19 19:43:44 DEBUG plugins.dlms Item 'Stromzaehler.Seriennummer' has Attribute 'dlms_obis_code' so it is added to the list of items to receive OBIS Code Values
                        2022-01-19 19:43:44 DEBUG plugins.dlms The OBIS Code '1-1:0.0.0' is added to the list of codes to inspect
                        2022-01-19 19:43:45 DEBUG plugins.dlms Plugin 'dlms': run method called
                        2022-01-19 19:43:45 DEBUG plugins.dlms scheduler_add: name = plugins.dlms.DLMS, parameters: prio=5, cycle=45, next=datetime.datetime(2022, 1, 19, 19, 43, 45, 251528, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin'))
                        2022-01-19 19:43:45 DEBUG plugins.dlms run dlms
                        2022-01-19 19:43:45 DEBUG plugins.dlms.dlms Config='{'serialport': '/dev/ttyUSB0', 'device': '', 'querycode': '?', 'timeout': 2, 'baudrate': 9600, 'baudrate_fix': True, 'use_checksum': False, 'onlylisten': True, 'reset_baudrate': True, 'no_waiting': False}'
                        2022-01-19 19:43:45 DEBUG plugins.dlms.dlms Time to open serial port /dev/ttyUSB0: 12.39 ms
                        2022-01-19 19:43:45 DEBUG plugins.dlms.dlms start to read data from serial device
                        2022-01-19 19:43:46 DEBUG plugins.dlms.dlms finished reading data from serial device after 674 bytes
                        2022-01-19 19:43:46 DEBUG plugins.dlms.dlms The manufacturer for LOG is unknown (out of 0 given manufacturers)
                        2022-01-19 19:43:46 DEBUG plugins.dlms.dlms Time for reading OBIS data: 1.25 s
                        2022-01-19 19:43:46 DEBUG plugins.dlms.dlms Whole communication with smartmeter took 1.26 s
                        2022-01-19 19:43:46 DEBUG plugins.dlms.dlms checksum calculation skipped
                        2022-01-19 19:43:46 DEBUG plugins.dlms.dlms the whole query took 1.26 s, suggested cycle thus is at least 11.26 s
                        2022-01-19 19:43:46 DEBUG plugins.dlms readout size is 674
                        2022-01-19 19:43:46 WARNING plugins.dlms Any line with OBIS Code should have at least one data item
                        2022-01-19 19:43:46 ERROR plugins.dlms An empty line was encountered!
                        2022-01-19 19:43:46 DEBUG plugins.dlms All lines inspected, no more data

                        Was scheinbar noch nicht funktioniert ist die zyklische abfrage alle x sekunden. Die Werte bleiben wie sie sind auch nach mehreren Minuten.

                        Schönen Abend und vielen Dank
                        Zuletzt geändert von Tiffi; 19.01.2022, 19:52.

                        Kommentar


                          Guten Morgen,

                          wie gestern geschrieben die Abfrage findet nur ein mal statt. Der eingestellte Zyklus scheint nicht zu wirken.
                          Was ebenfalls noch Probleme macht ist das Übernehmen der Werte in Items. Ich habe verschiedene Notationen ausprobiert es wird aber keine in ein Intem Übernommen:

                          Code:
                          Stromzaehler:
                          
                          zaehlerstand1:
                          type: foo
                          dlms_obis_code:
                          - '1-0:1.8.0*255'
                          - '0'
                          - Value
                          - float
                          
                          zaehlerstand2:
                          type: num
                          dlms_obis_code:
                          - '1-0:1.8.0*255'
                          - '0'
                          - Value
                          - float
                          
                          zaehlerstand3:
                          type: str
                          dlms_obis_code:
                          - '1.8.0*255'
                          - '0'
                          - Value
                          - str
                          
                          zaehlerstand4:
                          type: num
                          dlms_obis_code:
                          - '1.8.0*255'
                          - '0'
                          - Value
                          - float
                          ich habe auch einige Datentypen probiert aber auch das hilft nicht. Im Thread hab ich einen Hinweis gesehen aber auch diese Schreibweise hilft nicht (Post #60 und #61) Ich weiß nur nicht worauf sich das bezieht. wenn das der vorherige Post ist (#59)
                          Wenn dem so ist kann es möglich sein das die Kopfzeile mit folgender Leerzeile ggf Probleme beim Indentifizieren der OBIS-Codes macht?

                          Grüße und einen schönen Tag.

                          Kommentar


                            Hm. Ich habe einen Verdacht was den Scheduler angeht: Kannst Du mal im Admin Interface unter Scheduler schauen ob alle Einträge die dort unter Plugins, sonstige, etc. gelistet sind in der Zukunft sind? Oder hast Du Einträge die in der Vergangenheit liegen?

                            Kommentar


                              Es liegen alle Einträge in der Vergangenheit.
                              Sie bleiben bei der Ausführung nach Neustart stehen und werden auch nicht initial aufgerufen (zumindest bei den Logiken findet kein initialer Aufruf statt).
                              Zuletzt geändert von Tiffi; 22.01.2022, 08:36.

                              Kommentar


                                Ok. In develop ist eine neue Datei lib/triggertimes.py zu finden. Kannst Du die mal einspielen?

                                Kommentar

                                Lädt...
                                X