-
Notifications
You must be signed in to change notification settings - Fork 107
Description
installierte Version 2025-06-17 17:10:56 +0200 [7ef7424]
Ich habe unterhalb eines MQTT Gerätes mehrere Zähler angelegt. Sobald einer keine Daten mehr sendet, wird die o.g Fehlermeldung an allen Zählern angezeigt. Ebenso im Log wird das so gemeldet.
Das verwirrt total, weil ich die ganze Zeit nach dem Fehler gesucht habe von den Geräten, die senden.
Es wäre gut wenn man die Fehler pro Zähler, also Komponente hinterlegen würde.
Ich habe halt auch ganze Zeit den Fehler gesucht, weil im Mqtt Broker die gesendeten Werte sofot wieder überschrieben werden, daher dachte ich das wäre das Problem.
Letztlich bin ich durch den code gegangen und habe es so rausgefunden.
2025-06-17 18:11:40,759 - {modules.common.component_context:62} - {DEBUG:device0} - Update Komponenten ['Hauptzaehler', 'MQTT-Wechselrichter', 'MQTT-Zähler']
2025-06-17 18:11:41,818 - {modules.devices.generic.mqtt.device:39} - {DEBUG:device0} - Empfange MQTT Daten für Gerät 0: {'openWB/mqtt/counter/0/get/imported': 48003312.8, 'openWB/mqtt/counter/0/get/exported': 66344889.1, 'openWB/mqtt/counter/0/get/power': 23.8, 'openWB/mqtt/pv/5/get/exported': 8316016.9, 'openWB/mqtt/pv/5/get/power': -20.4}
2025-06-17 18:11:41,820 - {modules.common.store._api:26} - {DEBUG:device0} - Raw data CounterState(currents=[0.0, 0.0, 0.0], powers=[0.0, 0.0, 0.0], voltages=[230.0, 230.0, 230.0], power_factors=[0.0, 0.0, 0.0], imported=48003312.8, exported=66344889.1, power=23.8, frequency=None)
2025-06-17 18:11:41,821 - {modules.common.store._api:26} - {DEBUG:device0} - Raw data InverterState(currents=[0.0, 0.0, 0.0], power=-20.4, exported=8316016.9, imported=0, dc_power=None)
2025-06-17 18:11:41,823 - {modules.common.fault_state:49} - {ERROR:device0} - Hauptzaehler: FaultState FaultStateLevel.ERROR, FaultStr <class 'TypeError'> ('must be real number, not NoneType',), Traceback:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/common/configurable_device.py", line 48, in __call__
self.__updater(components_list)
File "/var/www/html/openWB/packages/modules/devices/generic/mqtt/device.py", line 41, in update_components
component.update(received_topics)
File "/var/www/html/openWB/packages/modules/devices/generic/mqtt/counter.py", line 39, in update
imported, exported = self.sim_counter.sim_count(power)
File "/var/www/html/openWB/packages/modules/common/simcount/_simcounter.py", line 14, in sim_count
self.data = sim_count(power, self.topic, self.data, self.prefix)
File "/var/www/html/openWB/packages/modules/common/simcount/_simcount.py", line 34, in sim_count
if math.isnan(power_present):
TypeError: must be real number, not NoneType
Der Fehler wurde im Forum so auch schon diskutiert und dann war er plötzlich weg. Ich würde wetten, da hatte auch eine Componente kurzfristig ausgesetzt.
Ich könnte zwar für jeden Zähler ein eigenes Device anlegen, aber das entspräche nicht der Doku, weil die Daten von einer Sammelstelle (bei mir ein Raspi) kommen.
Vlt. könnte man ja auch noch eine disable Funktion hinzufügen, denn wenn man den Zähler löscht und hinterher wieder anlegt, bekommt er eine neue Nummer, was dann blöd wäre.