Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
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 ...
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
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.
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 ...
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
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...
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.
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?
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?
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).
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar