eCozy 1TST-EU
| Model | 1TST-EU | 
| Vendor | eCozy | 
| Description | Smart heating thermostat | 
| Exposes | battery, climate (occupied_heating_setpoint, local_temperature, system_mode, running_state, local_temperature_calibration, pi_heating_demand), linkquality | 
| Picture |  | 
Notes
Controlling
Get local temperature in degrees Celsius (in the range 0x954d to 0x7fff, i.e. -273.15°C to 327.67 ºC)
{
    "local_temperature": ""
}
Get or set offset added to/subtracted from the actual displayed room temperature to NUMBER, in steps of 0.1°C
{
    "local_temperature_calibration": "NUMBER"       // Possible values: –2.5 to +2.5; leave empty to read
}
Set temperature display mode
{
    "temperature_display_mode": ""      // Possible values: 0 to set °C or 1 so set °F
}
Get room occupancy. Specifies whether the heated/cooled space is occupied or not. If 1, the space is occupied, else it is unoccupied.
{
    "thermostat_occupancy": ""
}
Get or set occupied heating setpoint to NUMBER in degrees Celsius.
{
    "occupied_heating_setpoint": "NUMBER"       // Possible values: MinHeatSetpointLimit to  MaxHeatSetpointLimit, i.e. 7 to 30 by default; leave empty to read
}
Get or set unoccupied heating setpoint to NUMBER in degrees Celsius
{
    "unoccupied_heating_setpoint": "NUMBER"       // Possible values: MinHeatSetpointLimit to MaxHeatSetpointLimit, i.e. 7 to 30 by default; leave empty to read
}
Increase or decrease heating setpoint by NUMBER degrees in °C.
{
    "setpoint_raise_lower": {
    "mode": "0x00",       // Possible values: see table below
    "amount": "NUMBER"    // Possible values: signed 8-bit integer that specifies the amount the setpoint(s) are to be increased (or decreased) by, in steps of 0.1°C
    }
}
| Attribute Value | Description | 
|---|---|
| 0x00 | Heat (adjust Heat Setpoint) | 
| 0x01 | Cool (adjust Cool Setpoint) | 
| 0x02 | Both (adjust Heat Setpoint and Cool Setpoint) | 
Get or set whether the local temperature, outdoor temperature and occupancy are being sensed by internal sensors or remote networked sensors
{
    "remote_sensing": "NUMBER"      // Possible values: see table below; leave empty to read
}
| Bit Number | Description | 
|---|---|
| 0 | 0 – local temperature sensed internally 1 – local temperature sensed remotely | 
| 1 | 0 – outdoor temperature sensed internally 1 – outdoor temperature sensed remotely | 
| 2 | 0 – occupancy sensed internally 1 – occupancy sensed remotely | 
Get or set control sequence of operation
{
    "control_sequence_of_operation": "VALUE"       // Possible values: see table below; leave empty to read
}
| Values | Possible Values of SystemMode | 
|---|---|
| cooling only | Heat and Emergency are not possible | 
| cooling with reheat | Heat and Emergency are not possible | 
| heating only | Cool and precooling are not possible | 
| heating with reheat | Cool and precooling are not possible | 
| cooling and heating 4-pipes | All modes are possible | 
| cooling and heating 4-pipes with reheat | All modes are possible | 
Get or set system mode
{
    "system_mode": "VALUE"       // Possible values: see table below; leave empty to read
}
| Values | 
|---|
| off | 
| auto | 
| cool | 
| heat | 
| emergency heating | 
| precooling | 
| fan_only | 
| dry | 
| sleep | 
Get running state
{
    "running_state": ""       // leave empty when reading
}
Possible values:
| Values | 
|---|
| off | 
| cool | 
| heat | 
Valve position / heating demand
{
    "pi_heating_demand": 0       // leave empty when reading
}
Will report the valve position or heating amount depending on device. 0=min, 255=max
Get or set weekly schedule
{
    "weekly_schedule": {
    "TemperatureSetpointHold": "0x00",                // 0x00 setpoint hold off or 0x01 on
    "TemperatureSetpointHoldDuration": "0xffff",      // 0xffff to 0x05a0
    "ThermostatProgrammingOperationMode": "00xxxxxx"  //see table below
    }                                                   // leave empty to read
}
| Attribute Value | Description | 
|---|---|
| 0 | 0 – Simple/setpoint mode. This mode means the thermostat setpoint is altered only by manual up/down changes at the thermostat or remotely, not by internal schedule programming. 1 – Schedule programming mode. This enables or disables any programmed weekly schedule configurations. Note: It does not clear or delete previous weekly schedule programming configurations. | 
| 1 | 0 - Auto/recovery mode set to OFF 1 – Auto/recovery mode set to ON | 
| 2 | 0 – Economy/EnergyStar mode set to OFF 1 – Economy/EnergyStar mode set to ON | 
Clear weekly schedule
{
    "clear_weekly_schedule": ""
}
Options
- 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- trueor- false
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 %.
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/setwith payload- {"occupied_heating_setpoint": VALUE}where- VALUEis the °C between- 7and- 30. To read send a message to- zigbee2mqtt/FRIENDLY_NAME/getwith 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/setwith payload- {"pi_heating_demand": VALUE}where- VALUEis the % between- 0and- 100. To read send a message to- zigbee2mqtt/FRIENDLY_NAME/getwith payload- {"pi_heating_demand": ""}.
- local_temperature: Current temperature measured on the device (in °C). To read send a message to- zigbee2mqtt/FRIENDLY_NAME/getwith payload- {"local_temperature": ""}.
- system_mode: Mode of this device. To control publish a message to topic- zigbee2mqtt/FRIENDLY_NAME/setwith payload- {"system_mode": VALUE}where- VALUEis one of:- off,- auto,- heat. To read send a message to- zigbee2mqtt/FRIENDLY_NAME/getwith payload- {"system_mode": ""}.
- running_state: The current running state. Possible values are:- idle,- heat. To read send a message to- zigbee2mqtt/FRIENDLY_NAME/getwith payload- {"running_state": ""}.
- local_temperature_calibration: Offset to be used in the local_temperature. To control publish a message to topic- zigbee2mqtt/FRIENDLY_NAME/setwith payload- {"local_temperature_calibration": VALUE}.To read send a message to- zigbee2mqtt/FRIENDLY_NAME/getwith payload- {"local_temperature": ""}.The minimal value is- -12.8and the maximum value is- 12.7with a step size of- 0.1.
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.
