prefixkit Ask an engineerAsk Support RU

Zigbee devices Thermostats and radiator valves

Danfoss Icon

Icon Main Controller with Zigbee Module, Room Thermostat. Works with Zigbee2MQTT with no vendor hub or cloud: it pairs with a Zigbee stick and shows up in Home Assistant.

Vendor
Danfoss
Model
Icon
Type
Thermostats and radiator valves
Power
battery: an end device, does not extend the mesh
Firmware updates (OTA)
no

Find it in shops: AliExpress

Links open a search in the shop; some are affiliate links: buying through them costs you nothing extra and supports this site. We do not sell devices or get them from manufacturers.

What it exposes

FeaturePropertyValuesControl
Battery (l1)battery_l1% · 0…100read only
Climate (l1)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l1)abs_min_heat_setpoint_limit_l1°Cread only
Abs max heat setpoint limit (l1)abs_max_heat_setpoint_limit_l1°Cread only
Min heat setpoint limit (l1)min_heat_setpoint_limit_l1°C · 4…35settable
Max heat setpoint limit (l1)max_heat_setpoint_limit_l1°C · 4…35settable
Setpoint change source (l1)setpoint_change_source_l1manual, schedule, externallyread only
Output status (l1)output_status_l1inactive, activeread only
Room status code (l1)room_status_code_l1no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l1)room_floor_sensor_mode_l1comfort, floor_only, dual_moderead only
Floor min setpoint (l1)floor_min_setpoint_l1°C · 18…35settable
Floor max setpoint (l1)floor_max_setpoint_l1°C · 18…35settable
Temperature (l1)temperature_l1°Cread only
Battery (l2)battery_l2% · 0…100read only
Climate (l2)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l2)abs_min_heat_setpoint_limit_l2°Cread only
Abs max heat setpoint limit (l2)abs_max_heat_setpoint_limit_l2°Cread only
Min heat setpoint limit (l2)min_heat_setpoint_limit_l2°C · 4…35settable
Max heat setpoint limit (l2)max_heat_setpoint_limit_l2°C · 4…35settable
Setpoint change source (l2)setpoint_change_source_l2manual, schedule, externallyread only
Output status (l2)output_status_l2inactive, activeread only
Room status code (l2)room_status_code_l2no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l2)room_floor_sensor_mode_l2comfort, floor_only, dual_moderead only
Floor min setpoint (l2)floor_min_setpoint_l2°C · 18…35settable
Floor max setpoint (l2)floor_max_setpoint_l2°C · 18…35settable
Temperature (l2)temperature_l2°Cread only
Battery (l3)battery_l3% · 0…100read only
Climate (l3)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l3)abs_min_heat_setpoint_limit_l3°Cread only
Abs max heat setpoint limit (l3)abs_max_heat_setpoint_limit_l3°Cread only
Min heat setpoint limit (l3)min_heat_setpoint_limit_l3°C · 4…35settable
Max heat setpoint limit (l3)max_heat_setpoint_limit_l3°C · 4…35settable
Setpoint change source (l3)setpoint_change_source_l3manual, schedule, externallyread only
Output status (l3)output_status_l3inactive, activeread only
Room status code (l3)room_status_code_l3no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l3)room_floor_sensor_mode_l3comfort, floor_only, dual_moderead only
Floor min setpoint (l3)floor_min_setpoint_l3°C · 18…35settable
Floor max setpoint (l3)floor_max_setpoint_l3°C · 18…35settable
Temperature (l3)temperature_l3°Cread only
Battery (l4)battery_l4% · 0…100read only
Climate (l4)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l4)abs_min_heat_setpoint_limit_l4°Cread only
Abs max heat setpoint limit (l4)abs_max_heat_setpoint_limit_l4°Cread only
Min heat setpoint limit (l4)min_heat_setpoint_limit_l4°C · 4…35settable
Max heat setpoint limit (l4)max_heat_setpoint_limit_l4°C · 4…35settable
Setpoint change source (l4)setpoint_change_source_l4manual, schedule, externallyread only
Output status (l4)output_status_l4inactive, activeread only
Room status code (l4)room_status_code_l4no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l4)room_floor_sensor_mode_l4comfort, floor_only, dual_moderead only
Floor min setpoint (l4)floor_min_setpoint_l4°C · 18…35settable
Floor max setpoint (l4)floor_max_setpoint_l4°C · 18…35settable
Temperature (l4)temperature_l4°Cread only
Battery (l5)battery_l5% · 0…100read only
Climate (l5)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l5)abs_min_heat_setpoint_limit_l5°Cread only
Abs max heat setpoint limit (l5)abs_max_heat_setpoint_limit_l5°Cread only
Min heat setpoint limit (l5)min_heat_setpoint_limit_l5°C · 4…35settable
Max heat setpoint limit (l5)max_heat_setpoint_limit_l5°C · 4…35settable
Setpoint change source (l5)setpoint_change_source_l5manual, schedule, externallyread only
Output status (l5)output_status_l5inactive, activeread only
Room status code (l5)room_status_code_l5no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l5)room_floor_sensor_mode_l5comfort, floor_only, dual_moderead only
Floor min setpoint (l5)floor_min_setpoint_l5°C · 18…35settable
Floor max setpoint (l5)floor_max_setpoint_l5°C · 18…35settable
Temperature (l5)temperature_l5°Cread only
Battery (l6)battery_l6% · 0…100read only
Climate (l6)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l6)abs_min_heat_setpoint_limit_l6°Cread only
Abs max heat setpoint limit (l6)abs_max_heat_setpoint_limit_l6°Cread only
Min heat setpoint limit (l6)min_heat_setpoint_limit_l6°C · 4…35settable
Max heat setpoint limit (l6)max_heat_setpoint_limit_l6°C · 4…35settable
Setpoint change source (l6)setpoint_change_source_l6manual, schedule, externallyread only
Output status (l6)output_status_l6inactive, activeread only
Room status code (l6)room_status_code_l6no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l6)room_floor_sensor_mode_l6comfort, floor_only, dual_moderead only
Floor min setpoint (l6)floor_min_setpoint_l6°C · 18…35settable
Floor max setpoint (l6)floor_max_setpoint_l6°C · 18…35settable
Temperature (l6)temperature_l6°Cread only
Battery (l7)battery_l7% · 0…100read only
Climate (l7)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l7)abs_min_heat_setpoint_limit_l7°Cread only
Abs max heat setpoint limit (l7)abs_max_heat_setpoint_limit_l7°Cread only
Min heat setpoint limit (l7)min_heat_setpoint_limit_l7°C · 4…35settable
Max heat setpoint limit (l7)max_heat_setpoint_limit_l7°C · 4…35settable
Setpoint change source (l7)setpoint_change_source_l7manual, schedule, externallyread only
Output status (l7)output_status_l7inactive, activeread only
Room status code (l7)room_status_code_l7no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l7)room_floor_sensor_mode_l7comfort, floor_only, dual_moderead only
Floor min setpoint (l7)floor_min_setpoint_l7°C · 18…35settable
Floor max setpoint (l7)floor_max_setpoint_l7°C · 18…35settable
Temperature (l7)temperature_l7°Cread only
Battery (l8)battery_l8% · 0…100read only
Climate (l8)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l8)abs_min_heat_setpoint_limit_l8°Cread only
Abs max heat setpoint limit (l8)abs_max_heat_setpoint_limit_l8°Cread only
Min heat setpoint limit (l8)min_heat_setpoint_limit_l8°C · 4…35settable
Max heat setpoint limit (l8)max_heat_setpoint_limit_l8°C · 4…35settable
Setpoint change source (l8)setpoint_change_source_l8manual, schedule, externallyread only
Output status (l8)output_status_l8inactive, activeread only
Room status code (l8)room_status_code_l8no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l8)room_floor_sensor_mode_l8comfort, floor_only, dual_moderead only
Floor min setpoint (l8)floor_min_setpoint_l8°C · 18…35settable
Floor max setpoint (l8)floor_max_setpoint_l8°C · 18…35settable
Temperature (l8)temperature_l8°Cread only
Battery (l9)battery_l9% · 0…100read only
Climate (l9)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l9)abs_min_heat_setpoint_limit_l9°Cread only
Abs max heat setpoint limit (l9)abs_max_heat_setpoint_limit_l9°Cread only
Min heat setpoint limit (l9)min_heat_setpoint_limit_l9°C · 4…35settable
Max heat setpoint limit (l9)max_heat_setpoint_limit_l9°C · 4…35settable
Setpoint change source (l9)setpoint_change_source_l9manual, schedule, externallyread only
Output status (l9)output_status_l9inactive, activeread only
Room status code (l9)room_status_code_l9no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l9)room_floor_sensor_mode_l9comfort, floor_only, dual_moderead only
Floor min setpoint (l9)floor_min_setpoint_l9°C · 18…35settable
Floor max setpoint (l9)floor_max_setpoint_l9°C · 18…35settable
Temperature (l9)temperature_l9°Cread only
Battery (l10)battery_l10% · 0…100read only
Climate (l10)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l10)abs_min_heat_setpoint_limit_l10°Cread only
Abs max heat setpoint limit (l10)abs_max_heat_setpoint_limit_l10°Cread only
Min heat setpoint limit (l10)min_heat_setpoint_limit_l10°C · 4…35settable
Max heat setpoint limit (l10)max_heat_setpoint_limit_l10°C · 4…35settable
Setpoint change source (l10)setpoint_change_source_l10manual, schedule, externallyread only
Output status (l10)output_status_l10inactive, activeread only
Room status code (l10)room_status_code_l10no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l10)room_floor_sensor_mode_l10comfort, floor_only, dual_moderead only
Floor min setpoint (l10)floor_min_setpoint_l10°C · 18…35settable
Floor max setpoint (l10)floor_max_setpoint_l10°C · 18…35settable
Temperature (l10)temperature_l10°Cread only
Battery (l11)battery_l11% · 0…100read only
Climate (l11)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l11)abs_min_heat_setpoint_limit_l11°Cread only
Abs max heat setpoint limit (l11)abs_max_heat_setpoint_limit_l11°Cread only
Min heat setpoint limit (l11)min_heat_setpoint_limit_l11°C · 4…35settable
Max heat setpoint limit (l11)max_heat_setpoint_limit_l11°C · 4…35settable
Setpoint change source (l11)setpoint_change_source_l11manual, schedule, externallyread only
Output status (l11)output_status_l11inactive, activeread only
Room status code (l11)room_status_code_l11no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l11)room_floor_sensor_mode_l11comfort, floor_only, dual_moderead only
Floor min setpoint (l11)floor_min_setpoint_l11°C · 18…35settable
Floor max setpoint (l11)floor_max_setpoint_l11°C · 18…35settable
Temperature (l11)temperature_l11°Cread only
Battery (l12)battery_l12% · 0…100read only
Climate (l12)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l12)abs_min_heat_setpoint_limit_l12°Cread only
Abs max heat setpoint limit (l12)abs_max_heat_setpoint_limit_l12°Cread only
Min heat setpoint limit (l12)min_heat_setpoint_limit_l12°C · 4…35settable
Max heat setpoint limit (l12)max_heat_setpoint_limit_l12°C · 4…35settable
Setpoint change source (l12)setpoint_change_source_l12manual, schedule, externallyread only
Output status (l12)output_status_l12inactive, activeread only
Room status code (l12)room_status_code_l12no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l12)room_floor_sensor_mode_l12comfort, floor_only, dual_moderead only
Floor min setpoint (l12)floor_min_setpoint_l12°C · 18…35settable
Floor max setpoint (l12)floor_max_setpoint_l12°C · 18…35settable
Temperature (l12)temperature_l12°Cread only
Battery (l13)battery_l13% · 0…100read only
Climate (l13)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l13)abs_min_heat_setpoint_limit_l13°Cread only
Abs max heat setpoint limit (l13)abs_max_heat_setpoint_limit_l13°Cread only
Min heat setpoint limit (l13)min_heat_setpoint_limit_l13°C · 4…35settable
Max heat setpoint limit (l13)max_heat_setpoint_limit_l13°C · 4…35settable
Setpoint change source (l13)setpoint_change_source_l13manual, schedule, externallyread only
Output status (l13)output_status_l13inactive, activeread only
Room status code (l13)room_status_code_l13no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l13)room_floor_sensor_mode_l13comfort, floor_only, dual_moderead only
Floor min setpoint (l13)floor_min_setpoint_l13°C · 18…35settable
Floor max setpoint (l13)floor_max_setpoint_l13°C · 18…35settable
Temperature (l13)temperature_l13°Cread only
Battery (l14)battery_l14% · 0…100read only
Climate (l14)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l14)abs_min_heat_setpoint_limit_l14°Cread only
Abs max heat setpoint limit (l14)abs_max_heat_setpoint_limit_l14°Cread only
Min heat setpoint limit (l14)min_heat_setpoint_limit_l14°C · 4…35settable
Max heat setpoint limit (l14)max_heat_setpoint_limit_l14°C · 4…35settable
Setpoint change source (l14)setpoint_change_source_l14manual, schedule, externallyread only
Output status (l14)output_status_l14inactive, activeread only
Room status code (l14)room_status_code_l14no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l14)room_floor_sensor_mode_l14comfort, floor_only, dual_moderead only
Floor min setpoint (l14)floor_min_setpoint_l14°C · 18…35settable
Floor max setpoint (l14)floor_max_setpoint_l14°C · 18…35settable
Temperature (l14)temperature_l14°Cread only
Battery (l15)battery_l15% · 0…100read only
Climate (l15)occupied_heating_setpoint, local_temperature, system_mode, running_stateheating setpoint, room temperature, mode, running statesettable
Abs min heat setpoint limit (l15)abs_min_heat_setpoint_limit_l15°Cread only
Abs max heat setpoint limit (l15)abs_max_heat_setpoint_limit_l15°Cread only
Min heat setpoint limit (l15)min_heat_setpoint_limit_l15°C · 4…35settable
Max heat setpoint limit (l15)max_heat_setpoint_limit_l15°C · 4…35settable
Setpoint change source (l15)setpoint_change_source_l15manual, schedule, externallyread only
Output status (l15)output_status_l15inactive, activeread only
Room status code (l15)room_status_code_l15no_error, missing_rt, rt_touch_error, floor_sensor_short_circuit, floor_sensor_disconnectedread only
Room floor sensor mode (l15)room_floor_sensor_mode_l15comfort, floor_only, dual_moderead only
Floor min setpoint (l15)floor_min_setpoint_l15°C · 18…35settable
Floor max setpoint (l15)floor_max_setpoint_l15°C · 18…35settable
Temperature (l15)temperature_l15°Cread only
System status code (l16)system_status_code_l16no_error, missing_expansion_board, missing_radio_module, missing_command_module, missing_master_rail, missing_slave_rail_no_1, missing_slave_rail_no_2, pt1000_input_short_circuit …read only
System status water (l16)system_status_water_l16hot_water_flow_in_pipes, cool_water_flow_in_pipesread only
Multimaster role (l16)multimaster_role_l16invalid_unused, master, slave_1, slave_2read only
Icon application (l16)icon_application_l160, 1, 2, 3, 4, 5, 6, 7 …read only

MQTT: state and commands

Zigbee2MQTT publishes the device state to zigbee2mqtt/my_device (my_device is the name you give the device). An example message:

{
  "battery_l1": 87,
  "occupied_heating_setpoint": 21,
  "local_temperature": 20.5,
  "system_mode": "heat",
  "abs_min_heat_setpoint_limit_l1": 0,
  "abs_max_heat_setpoint_limit_l1": 0,
  "min_heat_setpoint_limit_l1": 20,
  "max_heat_setpoint_limit_l1": 20,
  "setpoint_change_source_l1": "manual",
  "output_status_l1": "inactive",
  "room_status_code_l1": "no_error",
  "room_floor_sensor_mode_l1": "comfort",
  "floor_min_setpoint_l1": 27,
  "floor_max_setpoint_l1": 27,
  "linkquality": 120
}

Send commands to zigbee2mqtt/my_device/set:

mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"occupied_heating_setpoint":21.5}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"system_mode":"heat"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"occupied_heating_setpoint":21.5}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"system_mode":"heat"}'
mosquitto_pub -t zigbee2mqtt/my_device/set -m '{"occupied_heating_setpoint":21.5}'

Watch the topics live from the browser: MQTT client.

Home Assistant automation example

Zigbee2MQTT creates Home Assistant entities from the device name. If it is called my_device, an automation in automations.yaml can look like this:

- alias: "Cooler at night"
  mode: single
  triggers:
    - trigger: time
      at: "23:00:00"
  actions:
    - action: climate.set_temperature
      target:
        entity_id: climate.my_device
      data:
        temperature: 18

Check the YAML: YAML checker.

How to pair it

  1. In Zigbee2MQTT click Permit join.
  2. Put the device in pairing mode: usually a long press of the reset button (5–10 s) until the LED blinks; bulbs: switch the power off and on 5–6 times.
  3. Keep the device close to the coordinator or a router while pairing.
  4. Give it a clear name: MQTT topics and Home Assistant entities are built from it.

Exact procedure and model notes: the device page in the Zigbee2MQTT docs. No coordinator yet: coordinator picker.

Similar devices

Idea?