Feedback Beta 1

Fragen zur Nutzung, Features, usw..
Benutzeravatar
mrinas
Beiträge: 1911
Registriert: Mi Jan 29, 2020 10:12 pm

Re: Feedback Beta 1

Beitrag von mrinas »

Gero hat geschrieben: Di Dez 13, 2022 9:35 am
rleidner hat geschrieben: Di Dez 13, 2022 9:18 am Wenn ich das Problem häufiger hätte würde ich die IDs und Namen per MQTT aus der 2.0 holen und eine Liste mit dem Mapping anlegen.
Da wäre es doch perspektivisch geschickter, bei der Konfiguration auf Eindeutigkeit der Namen zu prüfen und auf die Namen zu publishen. Oder man konfiguriert je ID noch ein MQTT-Topic, auf das gepublisht wird. (Wenn keins gepflegt ist, dann wird die ID genommen, so machen es die Shellies ja auch)
Ich halte die Nutzung von IDs zur einwandfreien Identifikation der Konfigurationselemente für unbedingt sinnvoll. Die Namen sind ja nur Beschriftungen für uns Menschen. Wenn man die als eindeutige Identifikation verwenden wollte müsste man (unnötigerweise) Eindeutigkeit forcieren und sich an allen möglichen und unmöglichen Stellen Gedanken um erlaubte und nicht erlaubte Zeichen machen und diese im Code permanente abfangen und adressieren.
Eine numerische ID mit einer beliebigen menschenlesbaren Beschriftung halte ich da für den richtigen, sauberen Weg.
15,2kWp SMA (SB4000TL-21, SB3.0, STP6.0-SE + BYD HVS, EnergyMeter), openWB Standard+, openWB Pro, Peugeot e2008, Tesla Model Y LR.
Gero
Beiträge: 2557
Registriert: Sa Feb 20, 2021 9:55 am

Re: Feedback Beta 1

Beitrag von Gero »

mrinas hat geschrieben: Di Dez 13, 2022 9:58 am Eine numerische ID mit einer beliebigen menschenlesbaren Beschriftung halte ich da für den richtigen, sauberen Weg.
...was dann aber zu dem beschriebenen Problem führt, dass wenn man an der Konfiguration etwas ändert, man in allen angeschlossenen Systemen die Programmierung anpassen muss. Ob man das nun an einer Stelle tut (über Konstanten/Variablen) oder an mehreren Stellen im Coding ist unerheblich. Wenn man seine Konstante aber an der Quelle konfigurierbar macht und alle angeschlossenen Systeme diese auslesen und nutzen können, wäre das pflegeleichter. Sonst hat man das mapping einmal im nodeRED, einmal im openHAB und so weiter.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
LenaK
Beiträge: 1029
Registriert: Fr Jan 22, 2021 6:40 am

Re: Feedback Beta 1

Beitrag von LenaK »

Das Problem ist für Ladepunkte im Master bereits gelöst. Die Komponenten folgen.
LenaK
Beiträge: 1029
Registriert: Fr Jan 22, 2021 6:40 am

Re: Feedback Beta 1

Beitrag von LenaK »

Auch für Komponenten werden nun nur Werte für konfigurierte Komponenten validiert. Damit können auch vor der Konfiguration Werte gepublished werden, diese werden allerdings verworfen, bis eine Komponente mit der entsprechenden ID konfiguriert wurde.
LenaK
Beiträge: 1029
Registriert: Fr Jan 22, 2021 6:40 am

Re: Feedback Beta 1

Beitrag von LenaK »

jub hat geschrieben: Sa Dez 10, 2022 7:11 am Zeitladen über Mitternacht


Wr haben einen günstigeren Nachtstromtarif, deshalb habe ich ein Zeitfenster (22-9 Uhr) unter Termine-Laden (auf der Hauptseite mit den Zanhrädchen) angelegt. Um 10 sek nach Mitternacht stoppt die Ladung.
Eine Workaround ist, ein zweites Zeitfenster nach MItternacht anzulegen
Ist im Master gefixt.
dirkn
Beiträge: 14
Registriert: Mo Jun 13, 2022 6:58 am

Re: Feedback Beta 1

Beitrag von dirkn »

Hallo,

als Erstes, die aktuelle Beta gefällt mir schon richtig gut. Das Modul für VW-SoC läuft nach Neukonfiguration der Fahrzeuge gut.

Im Moment habe ich ein Problem mit RFID. Meine OpenWB 2 ist als Ladepunkt per IP angebunden.
Ich erhalte auf der Startseite folgende Meldung:

Code: Alles auswählen

2022-12-16 09:41:01,042 - {control.chargepoint:535} - {ERROR:MainThread} - Fehler in der Ladepunkt-Klasse von 4
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/control/chargepoint.py", line 519, in prepare_cp
    charging_possible, message = self.is_charging_possible()
  File "/var/www/html/openWB/packages/control/chargepoint.py", line 467, in is_charging_possible
    message += (f"\n RFID-Tag {self.data.get.rfid} kann erst einem EV zugeordnet werden, wenn der Ladepunkt"
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'
2022-12-16 09:41:01,045 - {control.chargepoint:346} - {INFO:MainThread} - LP 4: Keine Ladung, da ein interner Fehler aufgetreten ist: Traceback (most recent call last):
  File "/var/www/html/openWB/packages/control/chargepoint.py", line 519, in prepare_cp
    charging_possible, message = self.is_charging_possible()
  File "/var/www/html/openWB/packages/control/chargepoint.py", line 467, in is_charging_possible
    message += (f"\n RFID-Tag {self.data.get.rfid} kann erst einem EV zugeordnet werden, wenn der Ladepunkt"
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'
Ich habe bereits die Fahrzeuge als auch den Ladepunkt neu angelegt. Im entfernten Ladepunkt ist bei Einstellungen --> RFID --> EIN geschalten.

In der Vorlage zum Ladepunkt unter 2.0 sind die entsprechenden RFID-Tags eingetragen, ebenso am Fahrzeug.
Up_Fahrzeugprofil.png
Im mqtt der 2.0 sehe ich zwei Ladepunkte obwohl nur einer konfiguriert ist.
Dateianhänge
mqtt_2_0.png
mqtt_1_9.png
mqtt_1_9.png (16.21 KiB) 1020 mal betrachtet
LP-Vorlage.png
9,32 kwp PV Fronius Symo Gen24, 10,2 kWh BYD HVS Box
eUp und ID4
1 oWb 2.0 in Garage
LenaK
Beiträge: 1029
Registriert: Fr Jan 22, 2021 6:40 am

Re: Feedback Beta 1

Beitrag von LenaK »

Da war noch ein Bug drin. Bitte eine Sicherung erstellen und dann ein Update machen.
dirkn
Beiträge: 14
Registriert: Mo Jun 13, 2022 6:58 am

Re: Feedback Beta 1

Beitrag von dirkn »

Hallo,

leider jetzt ein neuer Fehler:

Code: Alles auswählen

2022-12-16 12:27:41,066 - {control.chargepoint:912} - {WARNING:MainThread} - Das Fahrzeug darf nur geändert werden, wenn noch nicht geladen wurde.
2022-12-16 12:27:50,332 - {soc.modules.common.fault_state:40} - {ERROR:cp3} - Ladepunkt: FaultState FaultStateLevel.ERROR, FaultStr <class 'KeyError'> 'ip_address', Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/chargepoints/external_openwb/chargepoint_module.py", line 60, in get_values
    self.__client_error_context.reset_error_counter()
  File "/var/www/html/openWB/packages/modules/common/component_context.py", line 99, in __exit__
    raise exception
  File "/var/www/html/openWB/packages/modules/chargepoints/external_openwb/chargepoint_module.py", line 52, in get_values
    my_ip_address = data.data.system_data["system"].data["ip_address"]
KeyError: 'ip_address'
Eventuell das als Ursprung des Fehlers:

Code: Alles auswählen

2022-12-16 12:25:43,590 - {helpermodules.update_config:352} - {DEBUG:MainThread} - Ungültiges Topic zum Startzeitpunkt: openWB/chargepoint/3/set/plug_state_prev
2022-12-16 12:25:43,669 - {helpermodules.update_config:352} - {DEBUG:MainThread} - Ungültiges Topic zum Startzeitpunkt: openWB/command/command_completed
2022-12-16 12:25:43,670 - {helpermodules.update_config:352} - {DEBUG:MainThread} - Ungültiges Topic zum Startzeitpunkt: openWB/command/mqttjs_a46cc101/messages/1671189928560
2022-12-16 12:25:47,360 - {helpermodules.subdata:415} - {ERROR:Thread-5} - Fehler im subdata-Modul
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/helpermodules/subdata.py", line 412, in process_chargepoint_template_topic
    var["cpt"+index].data = dataclass_from_dict(chargepoint.CpTemplateData, payload)
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in dataclass_from_dict
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in <listcomp>
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 36, in _get_argument_value
    return _dataclass_from_dict_recurse(value, arg_spec.annotations.get(argument_name))
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 40, in _dataclass_from_dict_recurse
    return dataclass_from_dict(requested_type, value) \
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in dataclass_from_dict
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in <listcomp>
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 36, in _get_argument_value
    return _dataclass_from_dict_recurse(value, arg_spec.annotations.get(argument_name))
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 41, in _dataclass_from_dict_recurse
    if isinstance(value, dict) and not issubclass(requested_type, dict) \
TypeError: issubclass() arg 1 must be a class
2022-12-16 12:25:47,367 - {helpermodules.subdata:415} - {ERROR:Thread-5} - Fehler im subdata-Modul
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/helpermodules/subdata.py", line 412, in process_chargepoint_template_topic
    var["cpt"+index].data = dataclass_from_dict(chargepoint.CpTemplateData, payload)
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in dataclass_from_dict
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in <listcomp>
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 36, in _get_argument_value
    return _dataclass_from_dict_recurse(value, arg_spec.annotations.get(argument_name))
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 40, in _dataclass_from_dict_recurse
    return dataclass_from_dict(requested_type, value) \
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in dataclass_from_dict
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 20, in <listcomp>
    return cls(*[_get_argument_value(arg_spec, index, args) for index in range(1, len(arg_spec.args))])
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 36, in _get_argument_value
    return _dataclass_from_dict_recurse(value, arg_spec.annotations.get(argument_name))
  File "/var/www/html/openWB/packages/dataclass_utils/_dataclass_from_dict.py", line 41, in _dataclass_from_dict_recurse
    if isinstance(value, dict) and not issubclass(requested_type, dict) \
TypeError: issubclass() arg 1 must be a class
2022-12-16 12:25:47,452 - {helpermodules.subdata:712} - {ERROR:Thread-5} - Fehler im subdata-Modul
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/helpermodules/subdata.py", line 710, in process_system_topic
    self.set_json_payload(var["system"].data, msg)
KeyError: 'system'
2022-12-16 12:25:47,459 - {helpermodules.setdata:37} - {DEBUG:Thread-6} - Subdata initialisation completed. Starting setdata loop to broker.
2022-12-16 12:26:00,315 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=handler10Sec, args=(), kwargs={})
2022-12-16 12:26:00,316 - {root:62} - {INFO:MainThread} - # ***Start*** 
2022-12-16 12:26:00,369 - {soc.modules.common.fault_state:40} - {ERROR:cp3} - Ladepunkt: FaultState FaultStateLevel.ERROR, FaultStr <class 'KeyError'> 'ip_address', Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/chargepoints/external_openwb/chargepoint_module.py", line 60, in get_values
    self.__client_error_context.reset_error_counter()
  File "/var/www/html/openWB/packages/modules/common/component_context.py", line 99, in __exit__
    raise exception
  File "/var/www/html/openWB/packages/modules/chargepoints/external_openwb/chargepoint_module.py", line 52, in get_values
    my_ip_address = data.data.system_data["system"].data["ip_address"]
KeyError: 'ip_address'
9,32 kwp PV Fronius Symo Gen24, 10,2 kWh BYD HVS Box
eUp und ID4
1 oWb 2.0 in Garage
LenaK
Beiträge: 1029
Registriert: Fr Jan 22, 2021 6:40 am

Re: Feedback Beta 1

Beitrag von LenaK »

Ich war im Urlaub... besteht das Problem noch?
Hast Du einen Neustart probiert und 5 Minuten gewartet? Es wird alle 5 Minuten geprüft, ob eine Ip-Adresse vorhanden ist.
dirkn
Beiträge: 14
Registriert: Mo Jun 13, 2022 6:58 am

Re: Feedback Beta 1

Beitrag von dirkn »

Hallo,

kein Problem, Urlaub ist ja schließlich notwendig und erst recht zu dieser Zeit des Jahres.
Das Problem besteht weiter sobald der LP als externe openWB eingetragen ist.
Es macht im übrigen keinen Unterscheid, ob die Adresse als IP oder Hostname eingetragen ist.
ip_error.png
ip_error.png (8.87 KiB) 555 mal betrachtet
config_lp1.png
Wird der LP wieder entfernt besteht der Fehler nicht mehr.
Viel schlimmer ist, dass unabhängig der Einstellung in der 1.9'er openWB zu "Nur Ladepunkt" alles durcheinander kommt und die Ladung abgebrochen wird. Irgend etwas wird scheinbar per MQTT an die WB geschickt.
9,32 kwp PV Fronius Symo Gen24, 10,2 kWh BYD HVS Box
eUp und ID4
1 oWb 2.0 in Garage
Gesperrt