Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

Eurotronic COZB0001

ModelCOZB0001
VendorEurotronic
DescriptionComet Zigbee wireless heater thermostat
Exposesbattery, child_lock, climate (occupied_heating_setpoint, local_temperature, system_mode, running_state, local_temperature_calibration, pi_heating_demand), trv_mode, valve_position, mirror_display
PictureEurotronic COZB0001

Notes

Pairing

After pairing, the LED display shows an animation and the thermostat moves to the mounting position. Subsequently, the LED display shows “Ad”. When you have mounted the Comet Zigbee on the valve, continue with the adaptation. Press and hold the two arrow keys for 3 seconds. After the adaptions is completed, the target temperature is shown.

Factory reset

Press and hold the button in the battery compartment of your Comet Zigbee for at least 10 seconds. From the 5th second on, a counter will run on the thermostat’s display. Keep the button pressed until the 10 appears on your Comet Zigbee. Then “Ad” will be shown again on the display and the controller will be in pairing mode.

Recommendation

This device sends multiple messages in short time period with the same payload. It’s worth setting debounce option to throttle them without losing unique action payloads.

E.g. (devices.yaml)

'0xabc457fffe679xyz':
    friendly_name: my_device
    debounce: 0.5

Controlling

Current heating setpoint

{
    "current_heating_setpoint": 21.5
}

Current heating setpoint is also modified when occupied or unoccupied heating setpoint is set.

System mode

The system mode will be either off, auto, or heat. When set to heat the boost host flags will be set, when using off the window_open host flag will be set (and off will be displayed on the display).

Eurotronic host flags

The eurotronic_host_flags property contains an object with a true/false field for each host option.

{
  "eurotronic_host_flags": {
    "mirror_display": false,
    "boost": false,
    "window_open": false,
    "child_protection": true
  }
}

You can toggle these flags by publishing a message to the set MQTT topic containing eurotronic_host_flags. e.g. enabling the display mirroring:

{"eurotronic_host_flags": {"mirror_display": true}}

Note that true or false do not have quotes around them!

Eurotronic system mode

This is deprecated in favor of eurotronic_host_flags, but will still work for now.

This is a bitmap encoded field to set several device specific features. Please remind it is not possible to set single bits, always the full bitmap is written. Bit 0 doesn't seem to be writeable, it is always reported as set, so expect your written value + 1 to be reported.

BitPosition
0unknown (default 1)
1Mirror Display
2Boost Mode (Always ON)
3unknown
4unknown
5Window Open Mode (Always OFF)
6unknown
7Child Protection

Examples for eurotronic_system_mode:

Mirror display: (Reported as 3)

{
    "eurotronic_system_mode": 2
}

External window open, device display shows "OFF": (Reported as 33)

{
    "eurotronic_system_mode": 32
}

Mirror display and set child protection: (Reported as 131)

{
    "eurotronic_system_mode": 130
}

Eurotronic error status

{
    "eurotronic_error_status": 0
}

This field is a readonly bitmap

BitPosition
0reserved
1reserved
2reserved
3Valve adaption failed (E1)
4Valve movement too slow (E2)
5Valve not moving/blocked (E3)
6reserved
7reserved

OTA updates

This device supports OTA updates, for more information see OTA updates.

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

Exposes

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 %.

Child lock (binary)

Enables/disables physical input on the device. Value can be found in the published state on the child_lock property. It's not possible to read (/get) this value. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"child_lock": NEW_VALUE}. If value equals LOCK child lock is ON, if UNLOCK OFF.

Climate

This climate device supports the following features: occupied_heating_setpoint, local_temperature, system_mode, running_state, local_temperature_calibration, pi_heating_demand.

  • 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 8 and 28. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupied_heating_setpoint": ""}.
  • pi_heating_demand: Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"pi_heating_demand": VALUE} where VALUE is the % between 0 and 100. Reading (/get) this attribute is not possible.
  • 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: off, auto, heat. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"system_mode": ""}.
  • running_state: The current running state. Possible values are: idle, heat. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"running_state": ""}.
  • local_temperature_calibration: Offset to add/subtract to the local temperature. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"local_temperature_calibration": VALUE}.To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"local_temperature": ""}.The minimal value is -12.8 and the maximum value is 12.7 with a step size of 0.1.

Trv mode (enum)

Select between direct control of the valve via the valve_position or automatic control of the valve based on the current_heating_setpoint. For manual control set the value to 1, for automatic control set the value to 2 (the default). When switched to manual mode the display shows a value from 0 (valve closed) to 100 (valve fully open) and the buttons on the device are disabled.. Value can be found in the published state on the trv_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"trv_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"trv_mode": NEW_VALUE}. The possible values are: 1, 2.

Valve position (numeric)

Directly control the radiator valve when trv_mode is set to 1. The values range from 0 (valve closed) to 255 (valve fully open). Value can be found in the published state on the valve_position property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"valve_position": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"valve_position": NEW_VALUE}. The minimal value is 0 and the maximum value is 255.

Mirror display (binary)

Mirror display of the thermostat. Useful when it is mounted in a way where the display is presented upside down.. Value can be found in the published state on the mirror_display property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"mirror_display": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"mirror_display": NEW_VALUE}. If value equals ON mirror display is ON, if OFF OFF.

Help to make the docu better and edit this page on Github ✌
Last Updated: 6/30/25, 6:38 PM