Ok. I finally managed to get the Webasto NEXT to run without errors.
I deleted all queries from the modbus script of @lemuba that lead to errors. I also deleted the slider in the config as it seems to drop errors as @BrainDra1n mentioned.
So now it looks like this:
As I´m on the most recent firmware it seems that the NEXT is not hibernating and the keepalive function has also been deleted from the scripts.
So now my only point is to bring back the slider to set the output Ampere via modbus Port 5004. By the way this port is only writable and not readable refering to the doc found over at the evcc project. The upper script from @lemuba tried to read and display it also - so I got rid of this.
My now working config without any errors in the logs looks like this:
configuration.yaml:
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
modbus: !include modbus.yaml
modbus.yaml:
# Protocol requirements
# The Webasto Next charging station acts as a slave device in Modbus TCP/IP communication.
# Charging station should be in the same network with the master device, or proper routing should be applied to provide communication between slave and master devices in different sub networks.
# Each charging station should have a different IP address. There can only be one active Modbus master connection at any time.
# Parameter Modbus TCP
# Each Wallbox Next must be given a unique IP.
# Parameter Value
# IP-address: Any IP address; All Webasto Next on the same subnet (e.g., xxx.xxx.xxx.xxx)
# Modbus Port: 502
# Modbus Unit ID: 255
- name: Webasto_Next
type: tcp
timeout: 5
host: 192.168.2.123
port: 502
sensors:
- name: Webasto_Next_Charge_Point_State
# 0: "Available",
# 1: "Preparing",
# 2: "Charging",
# 3: "SuspendedEVSE",
# 4: "SuspendedEV",
# 5: "Finishing",
# 6: "Reserved",
# 7: "Unavailable",
# 8: "Faulted",
unique_id: Webasto_Next_Charge_Point_State
slave: 255
input_type: input
address: 1000
data_type: uint16
- name: Webasto_Next_Charging_State
# 0: Not Charging, State Ax, Bx, Dx or C1 1: Charging, state C2
unique_id: Webasto_Next_Charging_State
slave: 255
input_type: input
address: 1001
data_type: uint16
- name: Webasto_Next_Equipment_State
# 0: Initializing
# 1: Running
# 2: Fault
# 3: Disabled
# 4: Updating
unique_id: Webasto_Next_Equipment_State
slave: 255
input_type: input
address: 1002
data_type: uint16
- name: Webasto_Next_Cable_State
# 0: Cable not connected 1: Cable connected, vehicle not connected 2: Cable connected, vehicle connected 3: Cable connected, vehicle connected, cable locked
unique_id: Webasto_Cable_State
slave: 255
input_type: input
address: 1004
data_type: uint16
- name: Webasto_Next_EVSE_Fault_Code
# 0: No fault
# Other: Fault code
unique_id: Webasto_Next_EVSE_Fault_Code
slave: 255
input_type: input
address: 1006
data_type: uint16
- name: Webasto_Next_Charging_Current_L1
unique_id: Webasto_Next_Charging_Current_L1
slave: 255
input_type: input
address: 1008
data_type: uint16
device_class: current
offset: 0
scale: 0.001
precision: 0
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_Charging_Current_L2
unique_id: Webasto_Next_Charging_Current_L2
slave: 255
input_type: input
address: 1010
data_type: uint16
device_class: current
offset: 0
scale: 0.001
precision: 0
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_Charging_Current_L3
unique_id: Webasto_Next_Charging_Current_L3
slave: 255
input_type: input
address: 1012
data_type: uint16
device_class: current
offset: 0
scale: 0.001
precision: 0
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_Active_Power_Total
unique_id: Webasto_Next_Active_Power_Total
slave: 255
input_type: input
address: 1020
data_type: uint32
device_class: power
state_class: measurement
unit_of_measurement: W
- name: Webasto_Next_Active_Power_L1
unique_id: Webasto_Next_Active_Power_L1
slave: 255
input_type: input
address: 1024
data_type: uint32
device_class: power
state_class: measurement
unit_of_measurement: W
- name: Webasto_Next_Active_Power_L2
unique_id: Webasto_Next_Active_Power_L2
slave: 255
input_type: input
address: 1028
data_type: uint32
device_class: power
state_class: measurement
unit_of_measurement: W
- name: Webasto_Next_Active_Power_L3
unique_id: Webasto_Next_Active_Power_L3
slave: 255
input_type: input
address: 1032
data_type: uint32
device_class: power
state_class: measurement
unit_of_measurement: W
- name: Webasto_Next_Meter_Reading
unique_id: Webasto_Next_Meter_Reading
slave: 255
input_type: input
address: 1036
data_type: uint32
device_class: energy
state_class: total_increasing
offset: 0
scale: 0.001
precision: 3
unit_of_measurement: kWh
- name: Webasto_Next_Session_Max_Current
unique_id: Webasto_Next_Session_Max_Current
slave: 255
input_type: input
address: 1100
data_type: uint16
device_class: current
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_EVSE_Min_Current
unique_id: Webasto_Next_EVSE_Min_Current
slave: 255
input_type: input
address: 1102
data_type: uint16
device_class: current
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_EVSE_Max_Current
unique_id: Webasto_Next_EVSE_Max_Current
slave: 255
input_type: input
address: 1104
data_type: uint16
device_class: current
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_Cable_Max_Current
unique_id: Webasto_Next_Cable_Max_Current
slave: 255
input_type: input
address: 1106
data_type: uint16
device_class: current
state_class: measurement
unit_of_measurement: A
- name: Webasto_Next_Session_Start_Time
unique_id: Webasto_Next_Session_Start_Time
slave: 255
input_type: input
address: 1504
data_type: uint32
- name: Webasto_Next_Session_Duration
unique_id: Webasto_Next_Session_Duration
slave: 255
input_type: input
address: 1508
data_type: uint32
device_class: duration
state_class: measurement
unit_of_measurement: s
- name: Webasto_Next_Session_End_Time
unique_id: Webasto_Next_Session_End_Time
slave: 255
input_type: input
address: 1512
data_type: uint32
- name: Webasto_Next_Failsafe_Current
# R/W: Can be set in the Next WebUI (Standard:6A)
# Charging power will fall back to 6A, if ALive Register 6000 not triggered with 1 within each 20 seconds
unique_id: Webasto_Next_Failsafe_Current
slave: 255
input_type: holding
address: 2000
data_type: uint16
device_class: current
state_class: measurement
unit_of_measurement: A
# Failsafe charging current during communication failure
- name: Webasto_Next_Failsafe_Timeout
# R/W: No need to change (Standard: 20 seconds)
unique_id: Webasto_Next_Failsafe_Timeout
slave: 255
input_type: holding
address: 2002
data_type: uint16
# Communication timeout for switching to Failsafe charging current. If the timeout has occurred and the TCP socket is still active, TCP socket restarts. If set, Failsafe period is timeout/2, otherwise 20 sec.
automations.yaml:
alias: Set Webasto Next Current Limit
description: Set Webasto Next Current Limit
trigger:
- platform: state
entity_id:
- input_number.webasto_next_current_value_slider
condition: []
action:
- service: modbus.write_register
data:
hub: Webasto_Next
address: 5004
slave: 255
value:
- "{{ (states.input_number.webasto_next_current_value_slider.state) }}"
mode: single
My next 2do is to reimplement the slider to fully support dynamic loadings controlled by my. Any idea how I could do this ? Any help is highly appreciated Thx!