Seite 15 von 17

Re: Feedback Beta 1

Verfasst: Di Dez 13, 2022 9:58 am
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.

Re: Feedback Beta 1

Verfasst: Di Dez 13, 2022 10:11 am
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.

Re: Feedback Beta 1

Verfasst: Di Dez 13, 2022 10:32 am
von LenaK
Das Problem ist für Ladepunkte im Master bereits gelöst. Die Komponenten folgen.

Re: Feedback Beta 1

Verfasst: Di Dez 13, 2022 11:19 am
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.

Re: Feedback Beta 1

Verfasst: Di Dez 13, 2022 3:57 pm
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.

Re: Feedback Beta 1

Verfasst: Fr Dez 16, 2022 8:55 am
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.

Re: Feedback Beta 1

Verfasst: Fr Dez 16, 2022 11:05 am
von LenaK
Da war noch ein Bug drin. Bitte eine Sicherung erstellen und dann ein Update machen.

Re: Feedback Beta 1

Verfasst: Fr Dez 16, 2022 11:30 am
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'

Re: Feedback Beta 1

Verfasst: Di Dez 27, 2022 10:49 am
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.

Re: Feedback Beta 1

Verfasst: Di Dez 27, 2022 11:01 am
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) 877 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.