To contribute to this page, edit the following file
Viessmann ZK03840 #
Model | ZK03840 |
Vendor | Viessmann |
Description | ViCare radiator thermostat valve |
Exposes | climate (occupied_heating_setpoint, local_temperature, system_mode), window_open, window_open_force, keypad_lockout, linkquality |
Picture | ![]() |
Notes #
Device type specific configuration #
How to use device type specific configuration
legacy
: Set tofalse
to disable the legacy integration (highly recommended!) (default: true)
Installing the TRV #
- install the correct adaptor on the valve
- open cover (push clip on bottom and push front side to slide open)
- insert batteries (
--
should be on the display) - press the button on the top (
--
+((•))
should be on the display) - wait for the device to pair, it took about 2 minutes for me to get the success message in Zigbee2MQTT
- install the TRV on the adaptor (push hard until you feel a click, rotate the TRV until display faces up)
- press the button on the top for 3 seconds (motor will turn,
21°
+((•))
should be on the display) - close the cover
Exposes #
Climate #
This climate device supports the following features: occupied_heating_setpoint
, local_temperature
, system_mode
.
occupied_heating_setpoint
: Temperature setpoint. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"occupied_heating_setpoint": VALUE}
whereVALUE
is the °C between7
and30
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"occupied_heating_setpoint": ""}
.local_temperature
: Current temperature measured on the device (in °C). To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"local_temperature": ""}
.system_mode
: Mode of this device. To control publish a message to topiczigbee2mqtt/FRIENDLY_NAME/set
with payload{"system_mode": VALUE}
whereVALUE
is one of:heat
. To read send a message tozigbee2mqtt/FRIENDLY_NAME/get
with payload{"system_mode": ""}
.
Window_open (binary) #
Detected by sudden temperature drop or set manually..
Value can be found in the published state on the window_open
property.
To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"window_open": ""}
.
It’s not possible to write (/set
) this value.
If value equals true
window_open is ON, if false
OFF.
Window_open_force (binary) #
Manually set window_open, ~1 minute to take affect..
Value can be found in the published state on the window_open_force
property.
To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"window_open_force": ""}
.
To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"window_open_force": NEW_VALUE}
.
If value equals true
window_open_force is ON, if false
OFF.
Keypad_lockout (binary) #
Enables/disables physical input on the device.
Value can be found in the published state on the keypad_lockout
property.
To read (/get
) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get
with payload {"keypad_lockout": ""}
.
To write (/set
) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set
with payload {"keypad_lockout": NEW_VALUE}
.
If value equals lock1
keypad_lockout is ON, if unlock
OFF.
Linkquality (numeric) #
Link quality (signal strength).
Value can be found in the published state on the linkquality
property.
It’s not possible to read (/get
) or write (/set
) this value.
The minimal value is 0
and the maximum value is 255
.
The unit of this value is lqi
.
Manual Home Assistant configuration #
Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:
climate:
- platform: "mqtt"
availability_topic: "zigbee2mqtt/bridge/state"
temperature_unit: "C"
temp_step: 1
min_temp: "7"
max_temp: "30"
current_temperature_topic: true
current_temperature_template: "{{ value_json.local_temperature }}"
mode_state_topic: true
mode_state_template: "{{ value_json.system_mode }}"
modes:
- "heat"
mode_command_topic: true
temperature_command_topic: "occupied_heating_setpoint"
temperature_state_template: "{{ value_json.occupied_heating_setpoint }}"
temperature_state_topic: true
binary_sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
value_template: "{{ value_json.window_open }}"
payload_on: true
payload_off: false
binary_sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
value_template: "{{ value_json.window_open_force }}"
payload_on: true
payload_off: false
binary_sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
value_template: "{{ value_json.keypad_lockout }}"
payload_on: "lock1"
payload_off: "unlock"
sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
value_template: "{{ value_json.linkquality }}"
unit_of_measurement: "lqi"
icon: "mdi:signal"