Viessmann ZK03840

   
Model ZK03840
Vendor Viessmann
Description ViCare radiator thermostat valve
Exposes climate (occupied_heating_setpoint, local_temperature, system_mode, schedule), window_open, window_open_force, keypad_lockout, battery, linkquality
Picture Viessmann ZK03840

Notes

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

Options

How to use device type specific configuration

  • thermostat_unit: Controls the temperature unit of the thermostat (default celsius). The value must be one of celsius, fahrenheit

  • legacy: Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true). The value must be true or false

Exposes

Climate

This climate device supports the following features: occupied_heating_setpoint, local_temperature, system_mode, schedule.

  • occupied_heating_setpoint: Temperature setpoint. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"occupied_heating_setpoint": VALUE} where VALUE is the °C between 7 and 30. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupied_heating_setpoint": ""}.
  • local_temperature: Current temperature measured on the device (in °C). To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"local_temperature": ""}.
  • system_mode: Mode of this device. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"system_mode": VALUE} where VALUE is one of: heat, sleep. To read send a message to zigbee2mqtt/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 (enum)

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}. The possible values are: unlock, lock1, lock2.

Battery (numeric)

Remaining battery in %, can take up to 24 hours before reported.. Value can be found in the published state on the battery property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

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.