Ankündigung
Einklappen
Keine Ankündigung bisher.
Welches Plugin für EMH (eHZ EW8E2A): SML/SMLx/DLMS/Easymeter?
Einklappen
X
-
Setze doch mal via Admin Interface die Baudrate auf 9600, ich vermute das hast Du noch nicht gemacht...
-
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:
-
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:
-
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:
-
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:
Plugin.yaml: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]
Aktuell kommt keine grundsätzliche Fehlermeldung, nur nach dem Timeout meldet er sich.Code:dlms: plugin_name: dlms serialport: /dev/ttyUSB0 baudrate: '9600' timeout: '500' use_checksum: false device_address: /EMH5----eHZ-E0018E only_listen: true
Übrigens: Frohe Ostern!Code:WARNING 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, 11:28. Grund: NOCHMAL DIE BITTE DIE EINRÜCKUNGEN ZU BERÜCKSICHTIGEN!!!
Einen Kommentar schreiben:
-
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:
-
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:
Fehlermeldung im Log: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)
Und dann: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
Code:plugins.dlms update is alrady running, maybe it really takes very long or you should use longer query interval time
Einen Kommentar schreiben:
-
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:
-
Schau:
Das sieht doch mal nicht schlecht aus.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 - ============================================== @ 489Zuletzt geändert von bmx; 02.04.2021, 08:25.
Einen Kommentar schreiben:
-
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:
-
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 @ 113Zuletzt geändert von bmx; 02.04.2021, 08:25.
Einen Kommentar schreiben:
-
Kommt nach
nichts mehr?Code:2021-03-29 17:20:09,520 - __main__ - DEBUG - Reading OBIS data from smartmeter @ 359
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:
-
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:
Warum kann ich die Excel Tabelle nicht lesen?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
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:
-
Ich glaube dann ist da was falschgelaufen bei Deinem Download.
Schau mal ob in dlms.py
fehlen. Wenn ja, dann ist das nicht die richtige Datei die Du ausführst. Vielleicht ist der Download sonstwo hingelaufen ...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' )
Einen Kommentar schreiben:


Einen Kommentar schreiben: