Newbie Frage zu Fehler in den Logs

Fragen zur Nutzung, Features, usw..
aMUSEd
Beiträge: 21
Registriert: Fr Feb 16, 2024 12:18 pm
Been thanked: 1 time

Newbie Frage zu Fehler in den Logs

Beitrag von aMUSEd »

Guten Morgen,

habe eine OpenWB standard2 und mittels MQTT Zähler an mein Smarthome angebunden. Auto ist ein PlugIn BMW 330e. Mein WR ist ein Fronius Symo.

Vielen Dank schon mal im Voraus!

Bekomme folgende Fehler im SOC Log:

Code: Alles auswählen

2024-03-03 13:58:36,565 - {modules.vehicles.bmw.api:73} - {ERROR:fetch soc_ev2} - bmw.getHTTP: Request failed, StatusCode: 403
2024-03-03 13:58:36,566 - {modules.vehicles.bmw.api:258} - {ERROR:fetch soc_ev2} - bmw.requestData: Data Request Error err=RuntimeError(), type(err)=<class 'RuntimeError'>
2024-03-03 13:58:36,567 - {modules.vehicles.bmw.api:278} - {ERROR:fetch soc_ev2} - bmw.fetch_soc: requestData Error, vehicle: 2 err=RuntimeError(), type(err)=<class 'RuntimeError'>
2024-03-03 13:58:36,569 - {modules.common.fault_state:55} - {ERROR:fetch soc_ev2} - BMW: FaultState FaultStateLevel.ERROR, FaultStr <class 'RuntimeError'> , Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 66, in update
    car_state = self._get_carstate_by_source(vehicle_update_data, source)
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 109, in _get_carstate_by_source
    return self.__component_updater(vehicle_update_data)
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/soc.py", line 20, in updater
    return api.fetch_soc(
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/api.py", line 273, in fetch_soc
    data = requestData(token, vin)
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/api.py", line 255, in requestData
    body = getHTTP(url, headers)
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/api.py", line 74, in getHTTP
    raise RuntimeError
RuntimeError

2024-03-03 18:17:16,938 - {modules.vehicles.bmw.api:73} - {ERROR:fetch soc_ev2} - bmw.getHTTP: Request failed, StatusCode: 403
2024-03-03 18:17:16,940 - {modules.vehicles.bmw.api:258} - {ERROR:fetch soc_ev2} - bmw.requestData: Data Request Error err=RuntimeError(), type(err)=<class 'RuntimeError'>
2024-03-03 18:17:16,942 - {modules.vehicles.bmw.api:278} - {ERROR:fetch soc_ev2} - bmw.fetch_soc: requestData Error, vehicle: 2 err=RuntimeError(), type(err)=<class 'RuntimeError'>
2024-03-03 18:17:16,944 - {modules.common.fault_state:55} - {ERROR:fetch soc_ev2} - BMW: FaultState FaultStateLevel.ERROR, FaultStr <class 'RuntimeError'> , Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 66, in update
    car_state = self._get_carstate_by_source(vehicle_update_data, source)
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 109, in _get_carstate_by_source
    return self.__component_updater(vehicle_update_data)
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/soc.py", line 20, in updater
    return api.fetch_soc(
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/api.py", line 273, in fetch_soc
    data = requestData(token, vin)
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/api.py", line 255, in requestData
    body = getHTTP(url, headers)
  File "/var/www/html/openWB/packages/modules/vehicles/bmw/api.py", line 74, in getHTTP
    raise RuntimeError
RuntimeError

Bekomme folgende Fehler im Log vom internen Ladepunkt:

Code: Alles auswählen

2024-03-04 08:07:09,379 - {modules.common.evse:57} - {DEBUG:Internal Chargepoint} - FW-Version: 18
2024-03-04 08:07:09,428 - {modules.common.fault_state:55} - {ERROR:Internal Chargepoint} - Ladepunkt 0: FaultState FaultStateLevel.ERROR, FaultStr modules.internal_chargepoint_handler.chargepoint_module <class 'modules.common.fault_state.FaultState'> ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 90, in __read_registers
    raise FaultState.error(__name__+" "+str(response))
modules.common.fault_state.FaultState: ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 80, in get_values
    plug_state, charge_state, self.set_current_evse = self.__client.evse_client.get_plug_charge_state()
  File "/var/www/html/openWB/packages/modules/common/evse.py", line 39, in get_plug_charge_state
    set_current, _, state_number = self.client.read_holding_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 123, in read_holding_registers
    return self.__read_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 105, in __read_registers
    raise FaultState.error(__name__+" "+str(type(e))+" " +
modules.common.fault_state.FaultState: ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/internal_chargepoint_handler.py", line 242, in update
    state = self.module.get_values(phase_switch_cp_active, rfid_data.last_tag)[0]
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 125, in get_values
    raise FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)) from e
modules.common.fault_state.FaultState: ('modules.internal_chargepoint_handler.chargepoint_module <class \'modules.common.fault_state.FaultState\'> ("modules.common.modbus <class \'modules.common.fault_state.FaultState\'> (\'modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)\', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)', <FaultStateLevel.ERROR: 2>)

2024-03-04 08:19:25,688 - {modules.common.evse:57} - {DEBUG:Internal Chargepoint} - FW-Version: 18
2024-03-04 08:19:25,740 - {modules.common.fault_state:55} - {ERROR:Internal Chargepoint} - Ladepunkt 0: FaultState FaultStateLevel.ERROR, FaultStr modules.internal_chargepoint_handler.chargepoint_module <class 'modules.common.fault_state.FaultState'> ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 90, in __read_registers
    raise FaultState.error(__name__+" "+str(response))
modules.common.fault_state.FaultState: ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 80, in get_values
    plug_state, charge_state, self.set_current_evse = self.__client.evse_client.get_plug_charge_state()
  File "/var/www/html/openWB/packages/modules/common/evse.py", line 39, in get_plug_charge_state
    set_current, _, state_number = self.client.read_holding_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 123, in read_holding_registers
    return self.__read_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 105, in __read_registers
    raise FaultState.error(__name__+" "+str(type(e))+" " +
modules.common.fault_state.FaultState: ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/internal_chargepoint_handler.py", line 242, in update
    state = self.module.get_values(phase_switch_cp_active, rfid_data.last_tag)[0]
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 125, in get_values
    raise FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)) from e
modules.common.fault_state.FaultState: ('modules.internal_chargepoint_handler.chargepoint_module <class \'modules.common.fault_state.FaultState\'> ("modules.common.modbus <class \'modules.common.fault_state.FaultState\'> (\'modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)\', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)', <FaultStateLevel.ERROR: 2>)

2024-03-04 08:42:36,616 - {modules.common.evse:57} - {DEBUG:Internal Chargepoint} - FW-Version: 18
2024-03-04 08:42:36,665 - {modules.common.fault_state:55} - {ERROR:Internal Chargepoint} - Ladepunkt 0: FaultState FaultStateLevel.ERROR, FaultStr modules.internal_chargepoint_handler.chargepoint_module <class 'modules.common.fault_state.FaultState'> ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 90, in __read_registers
    raise FaultState.error(__name__+" "+str(response))
modules.common.fault_state.FaultState: ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 80, in get_values
    plug_state, charge_state, self.set_current_evse = self.__client.evse_client.get_plug_charge_state()
  File "/var/www/html/openWB/packages/modules/common/evse.py", line 39, in get_plug_charge_state
    set_current, _, state_number = self.client.read_holding_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 123, in read_holding_registers
    return self.__read_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 105, in __read_registers
    raise FaultState.error(__name__+" "+str(type(e))+" " +
modules.common.fault_state.FaultState: ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/internal_chargepoint_handler.py", line 242, in update
    state = self.module.get_values(phase_switch_cp_active, rfid_data.last_tag)[0]
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 125, in get_values
    raise FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)) from e
modules.common.fault_state.FaultState: ('modules.internal_chargepoint_handler.chargepoint_module <class \'modules.common.fault_state.FaultState\'> ("modules.common.modbus <class \'modules.common.fault_state.FaultState\'> (\'modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)\', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)', <FaultStateLevel.ERROR: 2>)

2024-03-04 08:49:43,966 - {modules.common.evse:57} - {DEBUG:Internal Chargepoint} - FW-Version: 18
2024-03-04 08:49:44,015 - {modules.common.fault_state:55} - {ERROR:Internal Chargepoint} - Ladepunkt 0: FaultState FaultStateLevel.ERROR, FaultStr modules.internal_chargepoint_handler.chargepoint_module <class 'modules.common.fault_state.FaultState'> ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 90, in __read_registers
    raise FaultState.error(__name__+" "+str(response))
modules.common.fault_state.FaultState: ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 80, in get_values
    plug_state, charge_state, self.set_current_evse = self.__client.evse_client.get_plug_charge_state()
  File "/var/www/html/openWB/packages/modules/common/evse.py", line 39, in get_plug_charge_state
    set_current, _, state_number = self.client.read_holding_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 123, in read_holding_registers
    return self.__read_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 105, in __read_registers
    raise FaultState.error(__name__+" "+str(type(e))+" " +
modules.common.fault_state.FaultState: ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/internal_chargepoint_handler.py", line 242, in update
    state = self.module.get_values(phase_switch_cp_active, rfid_data.last_tag)[0]
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 125, in get_values
    raise FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)) from e
modules.common.fault_state.FaultState: ('modules.internal_chargepoint_handler.chargepoint_module <class \'modules.common.fault_state.FaultState\'> ("modules.common.modbus <class \'modules.common.fault_state.FaultState\'> (\'modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)\', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)', <FaultStateLevel.ERROR: 2>)

2024-03-04 08:53:09,703 - {modules.common.evse:57} - {DEBUG:Internal Chargepoint} - FW-Version: 18
2024-03-04 08:53:09,752 - {modules.common.fault_state:55} - {ERROR:Internal Chargepoint} - Ladepunkt 0: FaultState FaultStateLevel.ERROR, FaultStr modules.internal_chargepoint_handler.chargepoint_module <class 'modules.common.fault_state.FaultState'> ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 90, in __read_registers
    raise FaultState.error(__name__+" "+str(response))
modules.common.fault_state.FaultState: ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 80, in get_values
    plug_state, charge_state, self.set_current_evse = self.__client.evse_client.get_plug_charge_state()
  File "/var/www/html/openWB/packages/modules/common/evse.py", line 39, in get_plug_charge_state
    set_current, _, state_number = self.client.read_holding_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 123, in read_holding_registers
    return self.__read_registers(
  File "/var/www/html/openWB/packages/modules/common/modbus.py", line 105, in __read_registers
    raise FaultState.error(__name__+" "+str(type(e))+" " +
modules.common.fault_state.FaultState: ("modules.common.modbus <class 'modules.common.fault_state.FaultState'> ('modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/internal_chargepoint_handler.py", line 242, in update
    state = self.module.get_values(phase_switch_cp_active, rfid_data.last_tag)[0]
  File "/var/www/html/openWB/packages/modules/internal_chargepoint_handler/chargepoint_module.py", line 125, in get_values
    raise FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)) from e
modules.common.fault_state.FaultState: ('modules.internal_chargepoint_handler.chargepoint_module <class \'modules.common.fault_state.FaultState\'> ("modules.common.modbus <class \'modules.common.fault_state.FaultState\'> (\'modules.common.modbus Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 2 bytes (0 received)\', <FaultStateLevel.ERROR: 2>)", <FaultStateLevel.ERROR: 2>)', <FaultStateLevel.ERROR: 2>)
Gero
Beiträge: 3431
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 60 times

Re: Newbie Frage zu Fehler in den Logs

Beitrag von Gero »

Code: Alles auswählen

 bmw.getHTTP: Request failed, StatusCode: 403
403 ist Not Authorized.

Bei dem anderen Fehler: Hast Du die openWB-Hardware auch korrekt eingestellt?
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
aMUSEd
Beiträge: 21
Registriert: Fr Feb 16, 2024 12:18 pm
Been thanked: 1 time

Re: Newbie Frage zu Fehler in den Logs

Beitrag von aMUSEd »

Danke für die Info betreffend HTTP 403 Gero.

Was meinst du mit korrekt eingestellt? MQTT Zähler liefert Werte, Fronius WR liefert auch Werte - kann man sich in den Diagrammen gut ansehen und prüfen. Was gibt es denn noch einzustellen?

LG Thomas
Gero
Beiträge: 3431
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 60 times

Re: Newbie Frage zu Fehler in den Logs

Beitrag von Gero »

Naja, der Hausverbrauch wird errechnet aus den Leistungen von EVU, PV und Speicher. (Einspeisung / Produktion / Speicherentladung ist jeweils negativ) Und wenn da Hausverbrauch fehlt, scheint da mit der Berechnung etwas nicht zu funktionieren.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
aMUSEd
Beiträge: 21
Registriert: Fr Feb 16, 2024 12:18 pm
Been thanked: 1 time

Re: Newbie Frage zu Fehler in den Logs

Beitrag von aMUSEd »

Der Hausverbrauch wird korrekt berechnet und die unterschiedlichen Vorzeichen wurden auch lt. Doku beachtet. LG
Gero
Beiträge: 3431
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 60 times

Re: Newbie Frage zu Fehler in den Logs

Beitrag von Gero »

Das war die Antwort auf eine andere Fragestellung. Sorry.

Es gibt ja einen Fehler beim Auslesen des internen Ladepunkts. Mit der Hardwareeinstellung meine ich das hier:
lphw.jpg
(95.7 KiB) Noch nie heruntergeladen
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
aMUSEd
Beiträge: 21
Registriert: Fr Feb 16, 2024 12:18 pm
Been thanked: 1 time

Re: Newbie Frage zu Fehler in den Logs

Beitrag von aMUSEd »

Da ist dasselbe wie bei dir eingestellt.
Gero
Beiträge: 3431
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 60 times

Re: Newbie Frage zu Fehler in den Logs

Beitrag von Gero »

Vermutlich lädt das Auto auch nicht, oder? Ich denke ein Ticket beim Support aufmachen hilft da schneller weiter.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
aMUSEd
Beiträge: 21
Registriert: Fr Feb 16, 2024 12:18 pm
Been thanked: 1 time

Re: Newbie Frage zu Fehler in den Logs

Beitrag von aMUSEd »

Danke. Mache ich morgen gleich.
aMUSEd
Beiträge: 21
Registriert: Fr Feb 16, 2024 12:18 pm
Been thanked: 1 time

Re: Newbie Frage zu Fehler in den Logs

Beitrag von aMUSEd »

Liebe community,

leider wurde mir durch den Support nicht geholfen und mich auf die Unterstützung durch die community verwiesen.
Kann mir bitte jemand helfen?!

Vielen Dank schon mal im Voraus!

LG Thomas
Antworten