Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für DLMS Plugin

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

  • Tiffi
    antwortet
    Dann ist die Funktion ja quasi beta .
    Wenn ich was testen soll was das Plugin angeht einfach bescheid geben. Werd ja beim nächsten Update spätestens dann merken was nicht geklappt hat.
    Hab auf jeden Fall Dank für die schnelle Hilfe und Anpassung.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Die Unterstützung für nur-lese-Smartmeter ist erst um die Weihnachtszeit eingebaut worden. Und ich kenne aktuell nur zwei User die einen solchen Smartmeter haben. Da ich selbst so ein Gerät nicht im Einsatz habe und meine Zeit sehr begrenzt ist, kann ich viel auch nur raten. Da es keine Tests gibt muß ich mit Änderungen extrem vorsichtig sein sonst läuft es woanders nicht mehr.

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    Hallo,

    vielen Dank, es funktioniert. Ich hatte die Vermutung das es an der leeren Zeile liegt (steht ja auch so im Log) hab zur Sicherheit einfach ein paar Varianten ausprobiert nicht das es heißt ich habe nicht richtig probiert.

    Bleiben die fixe jetzt drin und kommen in die nächste Hauptversion? Ich kann mir gar nicht vorstellen das ich der einzige mit den Problemen war. Gut man kann auch in der Logik nen script schreiben welches einem den Zähler ausliest aber wenn es ein Plugin gibt welches das unterstützt nutze ich lieber das Plugin.

    Grüße und vielen Dank für deine Arbeit.
    Wenn ich explizit was testen soll kann ich das gern tun.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ich habe noch einen Fix für die leere Zeile eingebaut die dazu geführt hatte das das Parsing abbricht bei nur Lese Zählern.
    Bitte noch mal aus dem develop vom dlms Plugin die __init__.py und die plugin.yaml austauschen.

    Aktuell funktioniert bei mir mit Deinen Daten von oben

    Code:
    # tiffy.yaml
    
    Stromzaehler:
        version:
            type: str
            dlms_obis_code:
                - 1-0:0.2.0*255
                - 0
                - Value
                - str
        details:
            type: str
            dlms_obis_code:
                - 1-0:96.1.0*255
                - 0
                - Value
                - str
    
        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:
            # kann nicht funktionieren, der obis code ist unvollständig
            type: str
            dlms_obis_code:
            - '1.8.0*255'
            - '0'
            - Value
            - str
    
        zaehlerstand4:
            # kann nicht funktionieren, der obis code ist unvollständig
            type: num
            dlms_obis_code:
                - '1.8.0*255'
                - '0'
                - Value
                - float
    
        zaehlerstand5:
            type: num
            dlms_obis_code:
                - '1-0:1.8.0*255'
                - '0'
                - Value
                - str
    die Auslesung. 3+4 ausgenommen, weil da der code falsch angegeben ist.
    Zuletzt geändert von bmx; 23.01.2022, 12:24.

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    Ah ok, das ergibt Sinn. Aber das sich das dann auch auf logiken etc auswirkt hätte ich nicht erwartet.

    Kannst du mir ggf noch kurz bzgl der items unter die Arme greifen? Dort hänge ich leider fest.

    Grüße und ein schönes Wochenende

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Nein, sie treten vermutlich nur bei Dir auf weil das dlms Plugin etwas benutzt, was sonst IMHO noch kein Plugin verwendet.

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    hallo,

    so der scheduler läuft jetzt korrekt.
    Nun gibt es nur doch das Item Problem.

    Blöde frage, habe nur ich die Probleme mit dem Scheduler? hab keine Forenbeiträge dazu finden können..

    Grüße und ein schönes Wochenende.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    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.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    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?

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    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.

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    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.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Tiffi
    antwortet
    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.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    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 ...

    Einen Kommentar schreiben:

Lädt...
X