Ankündigung

Einklappen
Keine Ankündigung bisher.

Welches Plugin für EMH (eHZ EW8E2A): SML/SMLx/DLMS/Easymeter?

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

  • bmx
    antwortet
    Setze doch mal via Admin Interface die Baudrate auf 9600, ich vermute das hast Du noch nicht gemacht...

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Was neues im Logbuch:

    WARNING root identification message 'b'R\x07O_rR\x07O/rR\x07O/rR\x07O/rR\x07O_rR\x07O_rR\x07O_rR\x07O_rR\x07O\x1frR\x07O _rR\x07O\x0frR\x07O/rR\x07O_rR\x07O_rR\x07O\x1frR\x07O/rR\x07O_rR\x07O_rR\x07O\x0frR\x07O/rR\x07O/rR\x07O/rR\x07O\x0frR\x07O\x0frR\x07O/rR\x07O/rR\x07O/rR\x07O/rR\x07O_rR\x07O_rR\x07O_rR\x07O_rR\x07O\x0frR\x07O \x0frR\x07O/rR\x07O/rR\x07O\x0frR\x07O\x0frR\x07O_rR\x07O_rR\x07O\x0fr R\x07O\x0frR\x07O_rR\x07O\x0frR\x07O\x0frR\x07O_rR \x07O/rR\x07O_rR\x07O\x0frR\x07O\x0frR\x07O_rR\x07O\x0fr R\x07O\x0frR\x07O/rR\x07O_rR\x07O_rR\x07O/rR\x07O/rR\x07O\x0frR\x07O_rR\x07O_rR\x07O\x0frR\x07O/rR\x07O/rR\x07O\x0frR\x07O\x0frR\x07O\x0frR\x07O\x1frR\x07 O\x0frR\x07O_rR\x07O\x0frR\x07O\x1frR\x07O\x0frR\x 07O\x0frR\x07O\x0frR\x07O\x1frR\x07O\x0frR\x07O\x0 frR\x07O\x0frR\x07O/rR\x07O_rR\x07O\x0frR\x07O/rR\x07O\x0frR\x07O_rR\x07O/rR\x07O/rR\x07O_rR\x07O\x1frR\x07O/rR\x07O/rR\x07O_rR\x07O\x1frR\x07O_rR\x07O\x0frR\x07O_r'' does not start with '/',abort query

    2021-04-02 20:20:19 ERROR plugins.dlms no results from smartmeter query received

    Irgendwie kommt es mir vor, dass er auf eine niedrigere Baudrate zurückfällt.

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Hallo,
    vielen Dank für den Tipp, aber das update scheint Zeit zu beanspruchen, da es nicht so einfach ist.
    Hier die Ausgabe vom Logbuch und dem Webinterface.
    Es scheint nicht zu funktionieren. Wenn ich es in der Kommandozeile ausführe gibt er mir die Werte aber brav aus.



    Kann man das sehen?

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ok. Du solltest auf SHNG 1.8.2 aktualisieren weil da bekannte Fehler gefixt werden.

    In der plugin.yaml benötigst Du device_address: /EMH5----eHZ-E0018E nicht, schmeiß das mal raus. Und Timeout kannst Du bitte herabsetzen. Du brauchst nicht 500 Sekunden für eine Abfrage...
    Wenn das Smartmeter eh' alle paar Sekunden was schickt, dann kannst Du eine Zeitspanne wählen, die kleiner ist als der Wiederholungsabstand der Sendungen vom Smartmeter

    Es gibt auch im develop branch eine neue Version vom dlms Plugin. Das solltest Du Dir mal runterladen und einbauen. Bitte auch das Unterverzeichnis webif berücksichtigen. Ich habe das Webinterface ein wenig aufgebohrt. Du kannst nun Deine definierten dlms_obis_codes im Webinterface sehen.

    Außerdem ist eine zusätzliche Seiten mit oft genutzten Codes dazugekommen und man kann in beiden Übersichten auch in den Tabellen suchen

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Sorry, ich dachte zu weit.
    Ich habe die Version 1.8.1

    SmartHomeNG Version:1.8.1.master (84873f74) in /usr/local/smarthome (tags/v1.8.1)
    SmartHomeNG Plugins Version:1.8.1.master (5295e19f) in /usr/local/smarthome/plugins (heads/master)
    Python Version:3.7.3 final (/usr/bin/python3)

    Item:
    Code:
    Strom:[INDENT]Haus:[/INDENT][INDENT=2]Auslesung:[/INDENT][INDENT=3]type: str[/INDENT][INDENT=3]dlms_obis_readout: yes[/INDENT][INDENT=2]
    Energie:[/INDENT][INDENT=3]type: num[/INDENT][INDENT=3]sqlite: true
    dlms_obis_code:
    - '1-0:1.8.1*255'
    - 0
    - 'Value'
    - 'num'[/INDENT][INDENT=2]
    Nummer:[/INDENT][INDENT=3]type: str
    dlms_obis_code:
    - '1-0:0.0.0*255'
    - 0
    - 'Value'
    - 'str'[/INDENT][INDENT=2]
    Kunde:[/INDENT][INDENT=3]type: str
    dlms_obis_code:
    - '0-0:96.1.255*255'
    - 0
    - 'Value'
    - 'str'[/INDENT]
    Plugin.yaml:
    Code:
    dlms:
        plugin_name: dlms
        serialport: /dev/ttyUSB0
        baudrate: '9600'
        timeout: '500'
        use_checksum: false
        device_address: /EMH5----eHZ-E0018E
        only_listen: true
    Aktuell kommt keine grundsätzliche Fehlermeldung, nur nach dem Timeout meldet er sich.
    Code:
    WARNING plugins.dlms update is alrady running, maybe it really takes very long or you should use longer query interval time
    Übrigens: Frohe Ostern!
    Zuletzt geändert von bmx; 02.04.2021, 11:28. Grund: NOCHMAL DIE BITTE DIE EINRÜCKUNGEN ZU BERÜCKSICHTIGEN!!!

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Es wäre schon schön wenn Du die Items auch richtig posten würdest, also mit korrekten Einrückungen. Es gibt da extra einen angepinnten Thread dazu ...

    Interessant wäre zunächst ob ein Item mit dem Attribut dlms_obis_readout bei Dir befüllt wird.

    Welche SHNG Version nutzt Du? Die Fehler oben kenne ich eigentlich aus einer Version vor 1.8.2. Du kannst temporär das lösen in dem Du in der plugins/dlms/plugin.yaml die Zeile 96 änderst von list(4, str, int, str, str) in list(4,str,int,str,str)

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Hallo,
    also wenn das Plugin nicht aktiv ist funktioniert alles wie oben. Ich habe das ständig lesen flag gesetzt.
    Mache ich in den items was falsch:

    Code:
    Energie:
        type: num
        sqlite: true
        dlms_obis_code:
            - '1-0:1.8.1*255'
            - 0
            - 'Value'
            - 'num'
    
    Nummer:
        type: str
        dlms_obis_code:
            - '1-0:0.0.0*255'
            - 0
            - 'Value'
            - 'str'
    
    Kunde:
        type: str
        dlms_obis_code:
            - '0-0:96.1.255*255'
            - 0
            - 'Value'
            - 'str'
    
    #Reminder - Ausgelesene Werte:
    #Nummer 1-0:0.0.0*255(100005391999)
    #Energie 1-0:1.8.1*255(051630.3719)
    # ?? 1-0:96.5.5*255(80)
    #Kunde 0-0:96.1.255*255(0000708333)
    Fehlermeldung im Log:
    Code:
    lib.metadata plugin 'dlms': definition = 'dlms_obis_code': Invalid subtype ' str' specified, using 'foo' instead
    2021-04-01 22:46:24 ERROR lib.metadata plugin 'dlms': definition = 'dlms_obis_code': Invalid subtype ' int' specified, using 'foo' instead
    2021-04-01 22:46:24 ERROR lib.metadata plugin 'dlms': definition = 'dlms_obis_code': Invalid subtype ' str' specified, using 'foo' instead
    2021-04-01 22:46:24 ERROR lib.metadata plugin 'dlms': definition = 'dlms_obis_code': Invalid subtype ' str' specified, using 'foo' instead
    Und dann:
    Code:
    plugins.dlms update is alrady running, maybe it really takes very long or you should use longer query interval time
    Zuletzt geändert von bmx; 02.04.2021, 08:25. Grund: Einrückungen angepasst damit es lesbar wird

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ich habe in den develop branch von SmartHomeNG ein aktualisiertes DLMS Plugin gepusht. Schau mal, ob das so für Dich passt.
    Zuletzt geändert von bmx; 01.04.2021, 15:13.

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Schau:
    Code:
    sudo python3 dlms.py /dev/ttyUSB0 -c -v -l -t 10 -s 9600
    2021-03-31 19:46:17,296 - __main__ - INFO - This is DLMS Plugin running in standalone mode @ 477
    2021-03-31 19:46:17,297 - __main__ - INFO - ============================================== @ 478
    2021-03-31 19:46:17,298 - __main__ - DEBUG - Config='{'serialport': '/dev/ttyUSB0', 'device': '', 'querycode': '?', 'speed': 9600, 'timeout': 10.0, 'onlylisten': True, 'use_checksum': False}' @ 160
    2021-03-31 19:46:17,301 - __main__ - DEBUG - Time to open serial port /dev/ttyUSB0: 3.74 ms @ 210
    2021-03-31 19:46:17,302 - __main__ - DEBUG - start to read data from serial device @ 113
    2021-03-31 19:46:18,953 - __main__ - DEBUG - finished reading data from serial device after 21 bytes @ 129
    2021-03-31 19:46:18,954 - __main__ - DEBUG - Identification Message is b'/EMH5----eHZ-E0018E\r\n' @ 255
    2021-03-31 19:46:18,955 - __main__ - DEBUG - The manufacturer for EMH is unknown (out of 0 given manufacturers) @ 273
    2021-03-31 19:46:18,955 - __main__ - DEBUG - Baudrate id is '5' thus Protocol Mode is C and max Baudrate available is 9600 Bd @ 309
    2021-03-31 19:46:18,956 - __main__ - DEBUG - Can not change Baudrate in listening only mode @ 328
    2021-03-31 19:46:18,957 - __main__ - DEBUG - Reading OBIS data from smartmeter @ 363
    2021-03-31 19:46:18,958 - __main__ - DEBUG - start to read data from serial device @ 113
    2021-03-31 19:46:19,072 - __main__ - DEBUG - finished reading data from serial device after 110 bytes @ 129
    2021-03-31 19:46:19,082 - __main__ - DEBUG - Time for reading OBIS data: 1.78 s @ 371
    2021-03-31 19:46:19,083 - __main__ - DEBUG - Whole communication with smartmeter took 1.79 s @ 376
    2021-03-31 19:46:19,083 - __main__ - DEBUG - Acknowledge echoed from smartmeter @ 379
    2021-03-31 19:46:19,084 - __main__ - DEBUG - checksum calculation skipped @ 415
    2021-03-31 19:46:19,085 - __main__ - DEBUG - parsing OBIS codes took 1.97 ms @ 419
    2021-03-31 19:46:19,085 - __main__ - DEBUG - the whole query took 1.79 s, suggested cycle thus is at least 11.79 s @ 425
    2021-03-31 19:46:19,086 - __main__ - INFO - These are the results of the query @ 486
    2021-03-31 19:46:19,086 - __main__ - INFO - ============================================== @ 487
    2021-03-31 19:46:19,087 - __main__ - INFO -
    1-0:0.0.0*255(100005391999)
    1-0:1.8.1*255(051614.4403)
    1-0:96.5.5*255(80)
    0-0:96.1.255*255(0000708333 @ 488
    2021-03-31 19:46:19,089 - __main__ - INFO - ============================================== @ 489
    Das sieht doch mal nicht schlecht aus.
    Zuletzt geändert von bmx; 02.04.2021, 08:25.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ok, wir sind jetzt an dem Punkt wo von der seriellen Schnittstelle gelesen wird. Nur wird keine Abbruchbedingung erfüllt. Das sollte eigentlich ein Timeout sein. Das findet aber nicht statt und es wird endlos gelesen.
    Ich habe den Code mal angepasst zu das nun bis zum DLMS Terminator gelesen werden sollte. Probier das mal aus, ich habe den gist aktualisiert.

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Hallo,
    Python 3.7.3
    jetzt geht es einen Schritt weiter:
    Code:
    sudo python3 dlms.py /dev/ttyUSB0 -c -v -l -t 10 -s 9600
    2021-03-30 21:59:40,820 - __main__ - INFO - This is DLMS Plugin running in standalone mode @ 473
    2021-03-30 21:59:40,821 - __main__ - INFO - ============================================== @ 474
    2021-03-30 21:59:40,822 - __main__ - DEBUG - Config='{'serialport': '/dev/ttyUSB0', 'device': '', 'querycode': '?', 'speed': 9600, 'timeout': 10.0, 'onlylisten': True, 'use_checksum': False}' @ 160
    2021-03-30 21:59:40,825 - __main__ - DEBUG - Time to open serial port /dev/ttyUSB0: 3.57 ms @ 210
    2021-03-30 21:59:40,826 - __main__ - DEBUG - start to read data from serial device @ 113
    2021-03-30 21:59:42,003 - __main__ - DEBUG - finished reading data from serial device after 21 bytes @ 129
    2021-03-30 21:59:42,004 - __main__ - DEBUG - Identification Message is b'/EMH5----eHZ-E0018E\r\n' @ 255
    2021-03-30 21:59:42,005 - __main__ - DEBUG - The manufacturer for EMH is unknown (out of 0 given manufacturers) @ 273
    2021-03-30 21:59:42,006 - __main__ - DEBUG - Baudrate id is '5' thus Protocol Mode is C and max Baudrate available is 9600 Bd @ 309
    2021-03-30 21:59:42,007 - __main__ - DEBUG - Can not change Baudrate in listening only mode @ 328
    2021-03-30 21:59:42,007 - __main__ - DEBUG - Reading OBIS data from smartmeter @ 363
    2021-03-30 21:59:42,008 - __main__ - DEBUG - start to read data from serial device @ 113
    Zuletzt geändert von bmx; 02.04.2021, 08:25.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Kommt nach
    Code:
    2021-03-29 17:20:09,520 - __main__ - DEBUG - Reading OBIS data from smartmeter @ 359
    nichts mehr?

    Welche Python Version hast Du im Einsatz? python3 -V

    Ich habe den gist aktualisiert, es wäre gut beide Dateien gegen die neuen Varianten zu ersetzen.
    Zuletzt geändert von bmx; 29.03.2021, 19:59.

    Einen Kommentar schreiben:


  • Postmichel
    antwortet
    Danke, habe es nochmal geprüft.
    Das nimmt er jetzt, habe aber parameter s 9600 übergeben müssen. Leider hängt er dann am Obis Code:
    Code:
    sudo python3 dlms.py /dev/ttyUSB0 -c -v -l -t 10 -s 9600
    2021-03-29 17:20:09,274 - __main__ - INFO - This is DLMS Plugin running in standalone mode @ 469
    2021-03-29 17:20:09,275 - __main__ - INFO - ============================================== @ 470
    2021-03-29 17:20:09,276 - __main__ - DEBUG - Config='{'serialport': '/dev/ttyUSB0', 'device': '', 'querycode': '?', 'speed': 9600, 'timeout': 10.0, 'onlylisten': True, 'use_checksum': False}' @ 158
    2021-03-29 17:20:09,280 - __main__ - DEBUG - Time to open serial port /dev/ttyUSB0: 3.68 ms @ 208
    2021-03-29 17:20:09,517 - __main__ - DEBUG - Identification Message is b'/EMH5----eHZ-E0018E\r\n' @ 253
    2021-03-29 17:20:09,518 - __main__ - DEBUG - The manufacturer for EMH is unknown (out of 0 given manufacturers) @ 271
    2021-03-29 17:20:09,519 - __main__ - DEBUG - Baudrate id is '5' thus Protocol Mode is C and max Baudrate available is 9600 Bd @ 307
    2021-03-29 17:20:09,519 - __main__ - DEBUG - Can not change Baudrate in listening only mode @ 324
    2021-03-29 17:20:09,520 - __main__ - DEBUG - Reading OBIS data from smartmeter @ 359
    Warum kann ich die Excel Tabelle nicht lesen?
    Code:
    /usr/lib/python3/dist-packages/openpyxl/worksheet/worksheet.py:303: UserWarning: Using a coordinate with ws.cell is deprecated. Use ws[coordinate] instead
    warn("Using a coordinate with ws.cell is deprecated. Use ws[coordinate] instead")
    [B]Error 'int' object has no attribute 'upper' occurred[/B]
    Zuletzt geändert von bmx; 02.04.2021, 08:26.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ich glaube dann ist da was falschgelaufen bei Deinem Download.

    Schau mal ob in dlms.py
    Code:
        parser.add_argument('-l', '--onlylisten', help='Only listen to serial, no active query', action='store_true' )
        parser.add_argument('-c', '--nochecksum', help='use a checksum', action='store_false' )
    fehlen. Wenn ja, dann ist das nicht die richtige Datei die Du ausführst. Vielleicht ist der Download sonstwo hingelaufen ...

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Mit der richtigen Python-IDE geht das auch heute noch...

    Einen Kommentar schreiben:

Lädt...
X