Sinopé TH1123ZB-G2

ModelTH1123ZB-G2
VendorSinopé
DescriptionZigbee line volt thermostat
Exposesclimate (occupied_heating_setpoint, unoccupied_heating_setpoint, local_temperature, system_mode, pi_heating_demand, running_state), thermostat_occupancy, second_display_mode, thermostat_outdoor_temperature, outdoor_temperature_timeout, enable_outdoor_temperature, temperature_display_mode, time_format, backlight_auto_dim, keypad_lockout, main_cycle_output, power, current, voltage, energy, linkquality
PictureSinopé TH1123ZB-G2

Notes

Setting outdoor temperature

To set outdoor temperature, you need to send the value to the following MQTT topic:

zigbee2mqtt/<FRIENDLY_NAME>/set/thermostat_outdoor_temperature

If you want to automate the publishing of the outdoor temperature using Home Assistant, you may create an automation like this:

- id: 'Auto_Publish_Outdoor_Temprature'
  alias: Auto_Publish_Outdoor_Temprature
  description: Automatically Publish the outdoor temperature to thermostats
  trigger:
  - entity_id: sensor.outdoor_temprature_sensor
    platform: state
  condition: []
  action:
  - data:
      payload_template: '{{ states(''sensor.outdoor_temprature_sensor'') | string }}'
      topic: zigbee2mqtt/<FRIENDLY_NAME>/set/thermostat_outdoor_temperature
    service: mqtt.publish

Setting the clock

To set thermostat display clock, you need to send an epoch value to the following MQTT topic:

zigbee2mqtt/<FRIENDLY_NAME>/set/thermostat_time

On pairing of the device, the time will be set to the network time. Afterwards, the thermostat does not update with network time change, like DST.

An empty payload will set time to current network time.

If you want to automate setting the clock using Home Assistant, you may create an automation like this:

- id: 'Auto_Set_Thermostat_Time'
  alias: Auto_Set_Thermostat_Time
  description: Automatically set time thermostat time
  trigger:
    - platform: time
      at: "00:00:00"
  condition: []
  action:
    - service: mqtt.publish
      data:
        topic: zigbee2mqtt/<FRIENDLY_NAME>/set/thermostat_time
        payload: ""

Activate eco mode

To set the eco_mode, you need to send the value to the following MQTT topic:

zigbee2mqtt/<FRIENDLY_NAME>/1/set

Different version of ecoMode exist :

  • ecoMode : off:-128, celsius*+-10, amount of setpoint reduction/increase for peak and pre-heating or 0 only for the eco icon to flash
  • ecoMode1 : 255=100%, range: 0-99 Set pi_heating_demand percentage limit 0% to 99% (225 = 100%)
  • EcoMode2 : off:255, range: 0-100, set heating restart if room temperature goes x% below setpoint

If you want to enable the eco mode using Home Assistant, you may create an automation like this:

- id: 'activate_eco_mode'
  alias: Activate-eco_mode
  description: Do stuff for the eco mode
  trigger: []
  condition: []
  action:
  - data:
      payload_template: '{"write":{"cluster":"manuSpecificSinope","options":{},"payload":{"ecoMode":<VALUE>}}}'
      topic: zigbee2mqtt/<FRIENDLY_NAME>/1/set
    service: mqtt.publish

Options

How to use device type specific configuration

  • power_calibration: Calibrates the power value (percentual offset), takes into effect on next report of device. The value must be a number.

  • power_precision: Number of digits after decimal point for power, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a with a maximum value of 3

  • current_calibration: Calibrates the current value (percentual offset), takes into effect on next report of device. The value must be a number.

  • current_precision: Number of digits after decimal point for current, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a with a maximum value of 3

  • voltage_calibration: Calibrates the voltage value (percentual offset), takes into effect on next report of device. The value must be a number.

  • voltage_precision: Number of digits after decimal point for voltage, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a with a maximum value of 3

  • energy_calibration: Calibrates the energy value (percentual offset), takes into effect on next report of device. The value must be a number.

  • energy_precision: Number of digits after decimal point for energy, takes into effect on next report of device. This option can only decrease the precision, not increase it. The value must be a number with a minimum value of 0 and with a with a maximum value of 3

  • 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, unoccupied_heating_setpoint, local_temperature, system_mode, pi_heating_demand, running_state.

  • 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 5 and 30. 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 the thermostat. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"system_mode": VALUE} where VALUE is one of: off, 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. Reading (/get) this attribute is not possible.

Thermostat occupancy (enum)

Occupancy state of the thermostat. Value can be found in the published state on the thermostat_occupancy property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"thermostat_occupancy": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"thermostat_occupancy": NEW_VALUE}. The possible values are: unoccupied, occupied.

Second display mode (enum)

Displays the outdoor temperature and then returns to the set point in "auto" mode, or clears in "outdoor temp" mode when expired.. Value can be found in the published state on the second_display_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"second_display_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"second_display_mode": NEW_VALUE}. The possible values are: auto, setpoint, outdoor temp.

Thermostat outdoor temperature (numeric)

Outdoor temperature for the secondary display. Value can be found in the published state on the thermostat_outdoor_temperature property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"thermostat_outdoor_temperature": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"thermostat_outdoor_temperature": NEW_VALUE}. The minimal value is -99.5 and the maximum value is 99.5. The unit of this value is °C.

Outdoor temperature timeout (numeric)

Time in seconds after which the outdoor temperature is considered to have expired. Value can be found in the published state on the outdoor_temperature_timeout property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"outdoor_temperature_timeout": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"outdoor_temperature_timeout": NEW_VALUE}. The minimal value is 30 and the maximum value is 64800. The unit of this value is s. Besides the numeric values the following values are accepted: 15 min, 30 min, 1 hour.

Enable outdoor temperature (binary)

DEPRECATED: Use second_display_mode or control via outdoor_temperature_timeout. Value can be found in the published state on the enable_outdoor_temperature property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"enable_outdoor_temperature": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"enable_outdoor_temperature": NEW_VALUE}. If value equals ON enable outdoor temperature is ON, if OFF OFF.

Temperature display mode (enum)

The temperature format displayed on the thermostat screen. Value can be found in the published state on the temperature_display_mode property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"temperature_display_mode": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"temperature_display_mode": NEW_VALUE}. The possible values are: celsius, fahrenheit.

Time format (enum)

The time format featured on the thermostat display. Value can be found in the published state on the time_format property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"time_format": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"time_format": NEW_VALUE}. The possible values are: 24h, 12h.

Backlight auto dim (enum)

Control backlight dimming behavior. Value can be found in the published state on the backlight_auto_dim property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"backlight_auto_dim": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"backlight_auto_dim": NEW_VALUE}. The possible values are: on_demand, sensing.

Keypad lockout (enum)

Enables or disables the device’s buttons. 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.

Main cycle output (enum)

The length of the control cycle: 15_sec=normal 15_min=fan. Value can be found in the published state on the main_cycle_output property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"main_cycle_output": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"main_cycle_output": NEW_VALUE}. The possible values are: 15_sec, 15_min.

Power (numeric)

Instantaneous measured power. Value can be found in the published state on the power property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"power": ""}. It's not possible to write (/set) this value. The unit of this value is W.

Current (numeric)

Instantaneous measured electrical current. Value can be found in the published state on the current property. It's not possible to read (/get) or write (/set) this value. The unit of this value is A.

Voltage (numeric)

Measured electrical potential value. Value can be found in the published state on the voltage property. It's not possible to read (/get) or write (/set) this value. The unit of this value is V.

Energy (numeric)

Sum of consumed energy. Value can be found in the published state on the energy property. It's not possible to read (/get) or write (/set) this value. The unit of this value is kWh.

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.