Skip to main content

Shelly BLU TRV (Thermostatic Radiator Valve)

Short device name: SBTR-001AEU

Functional description

The device's main functionality is to maintain the set temperature in the room by precisely regulating the hot fluid flow trough the radiator.

There are additional functions (available when connected to a Shelly BLU Gateway):

  • Schedules - the target temperature or the valve positioncan be automatically changed according to a preprogrammed schedule. Compatible with GEN2 schedules.
  • Open window mode - if paired with a Shelly BLU Door Window - the target temperature is lowered while the door or window is opened.
  • Child lock mode - if enabled, the target temperature cannot be changed from the rotarion of the TRV's ring.
  • Display flip - the display can be flipped programmatically to reflect the orientation the installation.
  • Display brightness - the brightness can be programmatically set.
  • Temperature override mode - the temperature of the radiator can be temporary increased for fast heating of the room.
  • Boost mode - similar to override, but sets the valve position to 100%, instead of the temperature.
  • Power save mode - if enabled, the temperature regulation algorithm will use lesser movements to save on battery. If disabled, a more precise regulation is used, on the cost of higher power consumption. On by default.

In manual only mode, the available actions using the rotation ring are limited to:

What to doHow to do
Activate pairing modeSingle short press of the reset button (next to the battery cover)
Zigbee identify/stop identifyingSingle long press the reset button (works only if the device is associated to a network)
Activate Zigbee pairing / Leave networkPress 3 times the reset button
Factory resetPress and hold the reset button for more than 30 seconds
Show current temperatureSingle short rotation of the ring
Set target temperatureFurther longer rotation in any direction. If boost is active, the display would show on. Further rotation will cancel the boost and the target temperature will be set
Activate/Deactivate boost modeFast rotation from display off state (right=on, left=off)
Check battery levelShort and fast rotete 4 times in opposite directions when showint current temperature
Check pairing state (count)Short rotation to the right from the battery level state
Activate BLE pairingShort rotation to the right from previous state

The device emits BTHome data packets every 8 seconds with the currently set target temperature, measured temperature (aproximated using software to reflect the real room temperature) and the external temperature (if enabled and received).

Device specific settings

Service UUID: de8a5aac-a99b-c315-0c80-60d4cbb51225

CharacteristicUUIDTypeLengthPropertiesFunction
Target temperature4936d0ba-ff05-472c-907b-6551898fc016byte2Read, Write bondedTarget temperature (*10°C)
Valve current positionc3020a1d-f05b-4430-b2e9-f97df761c33bbyte1Read, Write bondedValve position in percent. Setting is allowed only if automatic temperature control is off
Calibration6db6f15e-43d6-425e-8669-5b449ab08250byte1Read, Write, Write bondedRead current callibration state (1 - calibrated, 0 - not calibrated), Write 1 to start calibration
Rebootfd2b7f76-69d6-45b3-b479-25da252656b6byte1Write bondedWrite 1 to reboot the device
Valve boost3becac15-13db-4e51-bcb0-3a3f79376604byteW:3 R:4Read bonded, Write bondedWrite 3 bytes: [uint8_t pos, uint16_t duration_s]. 0-length or duration=0 clears boost. Read 4 bytes: [uint8_t active, uint8_t pos, uint16_t remaining_duration_s]
Temperature override9e592fdf-20f4-4d8a-aeae-fa588b642e12byteW:4 R:3Read bonded, Write bondedWrite 4 bytes: [int16_t target×10°C, uint16_t duration_s]. 0-length or duration=0 clears override. Read 3 bytes: [uint8_t active, int16_t target×10°C]
External temperature5cb70992-381e-4c21-84d8-b7fd1173597ebyte2Read bonded, Write bondedExternal temperature (*10°C)
Schedulesb77abf7f-66b5-4899-821d-efb177843783byte*Read bonded, Write bondedSchedules (variable length array)
Enabled functions7ff16da2-6f68-4dc6-a97a-bee89d36e739byte2Read bonded, Write bondedRead/Write enabled functions as flags
Temperature sensor offset56133ba2-7fc5-4fd9-a0ef-621afddd8b7dbyte1Read bonded, Write bondedTemperature offset (int8_t ×10°C, range ±125 i.e. ±12.5°C)
Minimal valve position8f4ec08c-91be-4e44-b75a-59c0432cd5b2byte1Read bonded, Write bondedMinimum valve position in % (0-99)
Default boost timea184e9b0-9c01-4f02-b6fc-0e2d247a7979byte4Read bonded, Write bondedDefault boost time in seconds
Default override target temperature886187bf-46d1-487a-a914-adf51caebaddbyte2Read bonded, Write bondedtemperature (*10°C)
Default override duration89c78846-3139-4d69-b4b6-045bfa21c081byte4Read bonded, Write bondedDefault temperature override duration in seconds
Min target temperaturea4e3b1d7-7c92-4f38-b5a1-1d2e3f4a5b6cbyte2Read bonded, Write bondedMin Temperature (*10°C) (40-299)
Max target temperatureb5f4c2e8-8da3-5049-c6b2-2e3f4a5b6c7dbyte2Read bonded, Write bondedMax Temperature (*10°C) (41-300)
Max temperature compensation1bd55b4b-4ec5-4922-9ca8-ae2a72dd5a9dbyte2Read bonded, Write bondedMax Temperature compensation by algorithm (*10°C, 0..50)
Errors00a347f9-4a0a-4ad4-a2d5-1cc01f9b3fe8byte1ReadError flags

For detailed information about the Schedules characteristic, refer to Schedules GATT Characteristic.

Enabled functions (uint16_t bitmask)

BitMeaning
0enable (auto temp control)
1floor_heating
2accel
3auto_calibrate
4anticlog
5powersave
6silent_mode
7override_enable
8child_lock
9temperature units is C
10flip display

Reported errors:

BitMeaning
0Not calibrated
1Not mounted (back cover is not closed)
2Battery low
3External temperature missing (if enabled, but no data received for a long time)

RPC channel service (_shOS_RPC_SVC_ID_)

Service UUID: 5f6d4f53-5f52-5043-5f53-56435f49445f

CharacteristicUUIDTypeLengthPropertiesFunction
_shOS_RPC_data___5f6d4f53-5f52-5043-5f64-6174615f5f5fbyte*Read, Write bondedData sent or received trough the RPC channel
_shOS_RPC_tx_ctl_5f6d4f53-5f52-5043-5f72-785f63746c5fbyte*WriteData length to be sent
_shOS_RPC_rx_ctl_5f6d4f53-5f52-5043-5f74-785f63746c5fbyte*Read, Notify, IndicateData length, available for rading. 0 == no data

Reading and writing data is possible on chinks, smaller or equal to the MTU size. Notify and Indicate are not used at the moment.

RPC commands

Note: This documentation covers the commands, sent trough GATT RPC Channel.

For information about how to use GATT RPC channel with Shelly BLU Gateway Gen3, refer to: https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen3/ShellyBluGwG3#blutrvcall

More information about GATT RPC channel is available here: https://github.com/mongoose-os-libs/rpc-gatts/blob/master/README.md

Shelly.GetStatus

This method returns the status of all the components of the device.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

sys

object

Information about the system

PropertyTypeDescription

time

string

Current time in the format HH:MM (24-hour time format in the current timezone with leading zero). null when time is not synced from NTP server.

unixtime

number

Unix timestamp (in UTC)

offset

number

Timezone offset from GMT in seconds

uptime

number

Time in seconds since last reboot

ram_size

number

Total size of the RAM in the system in Bytes

ram_free

number

Size of the free RAM in the system in Bytes

cfg_rev

number

Configuration revision number

state_rev

number

State revision number

temperature

object

Information about the temperature

PropertyTypeDescription

id

number

ID of temperature component

tC

number

Temperature in degrees Celsius

tF

number

Temperature in degrees Farenheit

errors

array of strings

Temperature component errors

PropertyTypeDescription

disabled

string

Shown only if internal temperature sensor is disabled (floor heating mode is selected)

trv

object

TRV component information

PropertyTypeDescription

id

number

ID of TRV component

pos

number

Valve position in percent

steps

number

Stepper motor steps counter

current_C

number

Current temperature in degrees Celsius

target_C

number

Target temperature in degrees Celsius

schedule_rev

number

Schedule revision counter

errors

array of strings

Array of error names Optional.

PropertyTypeDescription

not_calibrated

string

Indicates that calibration did not succeed. The TRV will not function properly.

not_mounted

string

Back cover of the TRV is not closed. The TRV will not function until the cover is in place.

battery_low

string

Battery cannot provide enough current for normal device operation.

ext_temp_missing

string

External temperature is required for device operation and was not received for a long time.

boost

object

Arguments of boost mode. Present only if boost is active Optional.

PropertyTypeDescription

started_at

number

Unix timestamp when the mode has started.

duration

number

Duration of the mode in seconds.

override

object

Arguments of override mode. Present only if override is active Optional.

PropertyTypeDescription

started_at

number

Unix timestamp when the mode has started.

duration

number

Duration of the mode in seconds.

Shelly.GetConfig

This method returns the configuration of all the components of the device.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

sys

object

System component

PropertyTypeDescription

device

object

Device section

PropertyTypeDescription

name

string

Device name

location

object

Location section

PropertyTypeDescription

lat

number

Geographical latitude

lon

number

Geographical longitude

ui

object

User interface section

PropertyTypeDescription

lock

boolean

Child lock

t_units

string

C or F

flip

boolean

Display flip

brightness

number

Display brightness (1-7)

ble

object

BLE section

PropertyTypeDescription

interval_ms

number

BLE advertising interval

beacon_count

number

BLE advertising beacon count in packet

cfg_rev

number

Configuration version counter

temperature

object

Information about the temperature

PropertyTypeDescription

id

number

ID of temperature component

offset_C

number

Temperature offset in degrees Celsius

trv

object

TRV component information

PropertyTypeDescription

id

number

ID of TRV component

enable

boolean

Automatic regulation enabled

override_enable

boolean

Temperature override enabled

min_valve_position

number

Minimum valve position

default_boost_duration

number

Default boost duration in seconds

default_override_duration

number

Default override duration in seconds

default_override_target_C

number

Default override target temperature in degrees Celsius

max_compensation_C

number

Maximum compensation temperature in degrees Celsius

min_target_C

number

Minimum target temperature in degrees Celsius (4.0-29.9)

max_target_C

number

Maximum target temperature in degrees Celsius (4.1-30.0)

flags

array of strings

TRV component flags. Only active flags are included in the array.

PropertyTypeDescription

floor_heating

string

Floor heating mode

accel

string

Accelerated heating mode

auto_calibrate

string

Automatic calibration correction

anticlog

string

Anti clog function

power_save

string

Power saving regulation algorithm

silent_mode

string

Silent mode operation

Shelly.FactoryReset

This method resets the configuration to its default state. Pairing information is preserved.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

null

Shelly.Reboot

This method reboots the device.

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

null

Shelly.GetDeviceInfo

This method returns a meaningful device information.

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

id

string

Internal device name ID including the MAC address

mac

string

MAC address

fw_id

string

Firmware version ID

bl_ver

number

Bootloader version

app

string

Application name

model

string

Device model

batch

string

Production batch id

ver

string

Device version

hw_id

number

Hardware version id

Sys.SetTime

This method sets the device system time and time offset.

Request

Parameters:

PropertyTypeDescription

unixtime

number

Unix timestamp (UTC) Required

offset

number

Offset from GMT in seconds. Must be a multiple of 60, max ±86400 Required

Response

Returns null or error code

Sys.GetStatus

This method returns the status of the system component.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

time

string

Current time in the format HH:MM (24-hour time format in the current timezone with leading zero). null when time is not synced.

unixtime

number

Unix timestamp (in UTC)

offset

number

Timezone offset from GMT in seconds

uptime

number

Time in seconds since last reboot

ram_size

number

Total size of the RAM in the system in Bytes

ram_free

number

Size of the free RAM in the system in Bytes

cfg_rev

number

Configuration revision number

state_rev

number

State revision number

Sys.GetConfig

This method returns the configuration of the system component.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

device

object

Device section

PropertyTypeDescription

name

string

Device name

location

object

Location section

PropertyTypeDescription

lat

number

Geographical latitude

lon

number

Geographical longitude

ui

object

User interface section

PropertyTypeDescription

lock

boolean

Child lock

t_units

string

Temperature units: C or F

flip

boolean

Display flip

brightness

number

Display brightness (1-7)

ble

object

BLE section

PropertyTypeDescription

interval_ms

number

BLE advertising interval in milliseconds

beacon_count

number

BLE advertising beacon count in packet

cfg_rev

number

Configuration version counter

Sys.SetConfig

This method sets the configuration of the system component.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

config

object

Configuration object

PropertyTypeDescription

device

object

Device section Optional

PropertyTypeDescription

name

string

Device name

location

object

Location section Optional

PropertyTypeDescription

lat

number

Geographical latitude

lon

number

Geographical longitude

ui

object

User interface section Optional

PropertyTypeDescription

lock

boolean

Child lock

t_units

string

Temperature units: C or F

flip

boolean

Display flip

brightness

number

Display brightness (1-7)

ble

object

BLE section Optional

PropertyTypeDescription

interval_ms

number

BLE advertising interval in milliseconds (min 20)

beacon_count

number

BLE advertising beacon count in packet (1-65535)

Response

Returns null or error code

Temperature.GetConfig

This method returns the configuration of the temperature component.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

id

number

ID of temperature component

offset_C

number

Temperature offset in degrees Celsius

Temperature.SetConfig

This method sets the configuration of the temperature component.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

config

object

Configuration object

PropertyTypeDescription

offset_C

number

Temperature offset in degrees Celsius Optional

Response

Returns null or error code

Trv.GetConfig

Get TRV configuration

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

id

number

ID of TRV component

enable

boolean

true if the thermostat function is enabled

override_enable

boolean

true if temperature override is enabled

min_valve_position

number

Minimum valve position in percent

default_boost_duration

number

Default boost duration in seconds

default_override_duration

number

Default override duration in seconds

default_override_target_C

number

Default override target temperature in degrees Celsius

max_compensation_C

number

Maximum compensation temperature in degrees Celsius

min_target_C

number

Minimum target temperature in degrees Celsius (4.0-29.9)

max_target_C

number

Maximum target temperature in degrees Celsius (4.1-30.0)

flags

array of strings

Array of active flag names. Only flags that are enabled are included in the array.

PropertyTypeDescription

floor_heating

string

Floor heating mode. If active, the TRV will use only the external temperature if available.

accel

string

Accelerated heating. This mode aims to reach the target temperature faster, but overshoot is possible.

auto_calibrate

string

Automatic calibration correction function.

anticlog

string

Anti clog prevention function. Moves the valve at least once a week to prevent a stuck valve.

power_save

string

Power saving regulation algorithm.

silent_mode

string

Silent operation mode. The valve will use a low-noise movement profile to reduce operating sound.

Trv.SetConfig

This method sets the configuration of the TRV.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

config

object

Configuration properties

PropertyTypeDescription

enable

boolean

true to enable the thermostat function Optional

override_enable

boolean

true to enable temperature override Optional

default_boost_duration

number

Default boost duration in seconds Optional

default_override_duration

number

Default override duration in seconds Optional

flags

object

Flags as key-value pairs where true enables and false disables the flag Optional.

PropertyTypeDescription

floor_heating

boolean

true for floor heating mode. If active, the TRV will use only the external temperature if available, false otherwise.

accel

boolean

true to enable accelerated heating. This mode aims to reach the target temperature faster, but overshoot is possible.

auto_calibrate

boolean

true to enable the automatic calibration correction function, false otherwise.

anticlog

boolean

true to enable anti clog prevention function. It would move the valve at least once a week to prevent a stuck valve, false otherwise.

power_save

boolean

true to enable power saving regulation algorithm. If disabled, a more precise regulation is used at the cost of higher power consumption, false otherwise.

silent_mode

boolean

true to enable silent operation mode. The valve will use a low-noise movement profile to reduce operating sound, false otherwise.

min_valve_position

number

Minimum valve position in percent (0-99) Optional

default_override_target_C

number

Default override temperature in degrees Celsius Optional

max_compensation_C

number

Maximum compensation temperature in degrees Celsius (0-5) Optional

min_target_C

number

Minimum target temperature in degrees Celsius (4.0-29.9) Optional

max_target_C

number

Maximum target temperature in degrees Celsius (4.1-30.0) Optional

Response

Returns null or error code.

TRV.SetTarget

Sets the target temperature in degrees Celsius.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

target_C

number

Target temperature in degrees Celsius (4.0-30.0) Required

Response

Returns null or error code

TRV.SetFlag

Sets a flag for the TRV component.

Available TRV setting flags are: "floor_heating", "accel", "auto_calibrate", "anticlog", "power_save", "silent_mode",

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

flag

string

Required

Response

Returns null or error code

TRV.ClearFlag

Clear a flag for the TRV component.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

flag

string

Required

Response

Returns null or error code

TRV.GetStatus

Request

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

id

number

TRV internal component number. Always 0

pos

number

Valve position in percent

steps

number

Stepper motor steps counter

current_C

number

TRV measured temperature in degrees Celsius

target_C

number

Target temperature in degrees Celsius

schedule_rev

number

Schedule revision counter

errors

array of strings

Array of error names Optional.

PropertyTypeDescription

not_calibrated

string

Indicates that calibration did not succeed. The TRV will not function properly.

not_mounted

string

Back cover of the TRV is not closed. The TRV will not function until the cover is in place.

battery_low

string

Battery cannot provide enough current for normal device operation.

ext_temp_missing

string

External temperature is required for device operation and was not received for a long time.

boost

object

Arguments of boost mode. Present only if boost is active Optional.

PropertyTypeDescription

started_at

number

Unix timestamp when the mode has started.

duration

number

Duration of the mode in seconds.

override

object

Arguments of override mode. Present only if override is active Optional.

PropertyTypeDescription

started_at

number

Unix timestamp when the mode has started.

duration

number

Duration of the mode in seconds.

TRV.Calibrate

Start stepper motor calibration process. Can take up to 10 seconds. The device will not respond to other commands during the calibration.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

Returns null or error code

The calibration success/fail is reported in the device status.

TRV.SetOverride

This method sets a temporary target temperature.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

target_C

number

Temporary target temperature in degrees Celsius. If omitted, uses default_override_target_C Optional

duration

number

Duration in seconds. If omitted, uses default_override_duration Optional

Response

Returns null or error code

TRV.ClearOverride

This method terminates the previously started temperature override and returns the device to the normal target temperature.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

Returns null or error code

TRV.SetBoost

Temporarily opens the valve to 100%. Override target_C takes precedence over boost. If duration is omitted, uses default_boost_duration.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

duration

number

Duration in seconds. If omitted, uses default_boost_duration Optional

Response

Returns null or error code

TRV.ClearBoost

This method terminates the previously started boost state.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

Returns null or error code

TRV.SetExternalTemperature

Sets external temperature. With no parameters - use internal sensor instead of the external one.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

t_C

number

External temperature in degrees Celsius Optional

Response

Returns null or error code

TRV.SetPosition

This method sets the valve position. Works only if the thermostat function is disabled in the config (Trv.SetConfig).

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

pos

number

New valve position (0-100%) Required

Response

Returns null or error code.

Trv.AddScheduleRule

This method defines a new schedule rule. The timespecs format is Shelly Cron. 10 slots for schedule rules are available.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

rule

object

Arguments for the rule.

PropertyTypeDescription

enable

boolean

true to enable the execution of this job, false otherwise. It is true by default.

timespec

string

As defined by cron. Note that leading 0s are not supported (e.g.: for 8 AM you should set 8 instead of 08). Required

target_C

number

Target temperature to set when the condition in timespecs is met. Either target_C or pos is Required.

pos

number

Valve position in percent (0-100) to set when the condition in timespecs is met. Either target_C or pos is Required.

Response

PropertyTypeDescription

rule_id

number

The id number of the created rule

Trv.UpdateScheduleRule

This method modifies an existing schedule rule.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

rule_id

number

Rule id to modify Required

rule

object

Arguments for the rule.

PropertyTypeDescription

enable

boolean

true to enable the execution of this job, false otherwise. Optional

timespec

string

As defined by cron. Note that leading 0s are not supported (e.g.: for 8 AM you should set 8 instead of 08). Optional

target_C

number

Target temperature to set when the condition in timespecs is met. Optional

pos

number

Valve position in percent (0-100) to set when the condition in timespecs is met. Optional

Response

Returns null or error code.

Trv.RemoveScheduleRule

Remove a schedule rule.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

rule_id

number

The rule id to remove Required

Response

Returns null or error code.

Trv.ListScheduleRules

List schedule rules.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

Response

PropertyTypeDescription

schedule_rev

number

Schedule revision counter

rules

array of objects

Array of defined schedule rules

PropertyTypeDescription

rule_id

number

The id number of the rule

enable

boolean

true if the rule is enabled

target_C

number

Target temperature in degrees Celsius. Present if the rule sets a temperature.

pos

number

Valve position in percent (0-100). Present if the rule sets a position.

timespec

string

Cron timespec string

Trv.ShowMessage

Shows a short text on the display. Up to 4 characters.

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

message

string

Text to show Required

Response

Returns null or error code

Trv.PairingComplete

Shows the result of an operation (e.g. pairing) on the display with "YES" or "NO".

Request

Parameters:

PropertyTypeDescription

id

number

ID of component. Always 0 Required

success

boolean

true or false Required

Response

Returns null or error code

Examples

Note: To execute the commands using Shelly BLU Gateway Gen3, refer to: https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen3/ShellyBluGwG3#blutrvcall

Example call using BLU GW: https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen3/ShellyBluGwG3/#blutrvcall-example

or

<gateway_ip_address>/rpc/BluTrv.call?id=<TRV_component_id>&method=<RPC_command>&params=<body_of_command_params>

TRV.SetConfig example

Example

{
"id": 0,
"config": {
"enable": true,
"override_enable": true,
"default_boost_duration": 300,
"default_override_duration": 300,
"flags": {
"floor_heating": false,
"accel": false,
"auto_calibrate": true,
"anticlog": true,
"silent_mode": false
},
"min_valve_position": 0,
"default_override_target_C": 30,
"max_compensation_C": 5,
"min_target_C": 5,
"max_target_C": 35
}
}

Response

null

TRV.GetConfig example

Example

{
"id": 0
}

Response

{
"id": 0,
"enable": true,
"override_enable": true,
"min_valve_position": 0,
"default_boost_duration": 1800,
"default_override_duration": 2147483647,
"default_override_target_C": 8,
"max_compensation_C": 5,
"min_target_C": 5,
"max_target_C": 35,
"flags": []
}

TRV.GetStatus example

Example

{
"id": 0
}

Response

{
"id": 0,
"pos": 0,
"steps": 0,
"current_C": 21.76,
"target_C": 9.19,
"schedule_rev": 0,
"errors": [
"not_calibrated",
"not_mounted",
"battery_low",
"ext_temp_missing"
],
"override": {
"started_at": 1746426676,
"duration": 200
},
"boost": {
"started_at": 1746426540,
"duration": 300
}
}

TRV.Calibrate example

Example

{
"id": 0
}

Response

null

Sys.GetConfig example

Example

{
"id": 0
}

Response

{
"device": {
"name": ""
},
"location": {
"lat": 0,
"lon": 0
},
"ui": {
"lock": false,
"t_units": "C",
"flip": false,
"brightness": 7
},
"ble": {
"interval_ms": 333,
"beacon_count": 5
},
"cfg_rev": 1
}

Sys.SetConfig example

Example

{
"id": 0,
"config": {
"device": {
"name": "Living room TRV"
},
"location": {
"lat": 43.0866,
"lon": 25.2695
},
"ui": {
"lock": false,
"t_units": "C",
"flip": false,
"brightness": 7
},
"ble": {
"interval_ms": 333,
"beacon_count": 5
}
}
}

Response

null

BTHome data

BTHome sensor data objects

idnamedata typescale factordescription
0x00packet iduint81revolving counter
0x01batteryuint81battery level in percent (0-100)
0x3Abuttonuint81button press event (Only when button is pressed)
0x45temperaturesint160.1target temperature in °C
0x45temperaturesint160.1current temperature in °C
0x45temperaturesint160.1external temperature in °C (only if available)
0x54status counterraw-status counter (1 byte packed in raw datatype format)

Button press events

idnameexample
0x01single press0x3A01
0x80button hold0x3AFE

ZigBee device info

Device Id: 0x0301 (Thermostat)

Profile Id: 0x104 (Home Automation)

EndPointRoleIdClusterIdAttribute/CommandAccess/Direction
1S0x0000Basic0x0000ZCL Versionr
0x0004Manufacturer namer
0x0005Model Identifierr
0x0007Power sourcer
0x000AProduct coder
0x4000Sw Build Idr
0xFFFDCluster Rev.r
0x0000Reset to factory defaultsC->S
S0x0001Power config0x0021Battery percentage remainingrp
0xFFFDCluster Rev.r
C0x0003Identify0xFFFDCluster Rev.r
0x0000IdentifyC->S
0x0001IdentifyQueryC->S
S0x0003Identify0x0000Identify timer
0xFFFDCluster Rev.r
0x0000IdentifyC->S
0x0001IdentifyQueryC->S
S0x0004Groups0x0000Name supportr
0xFFFDCluster Rev.r
0x0000AddGroupC->S
0x0001ViewGroupC->S
0x0002GetGroupMembershipC->S
0x0003RemoveGroupC->S
0x0004RemoveAllGroupsC->S
0x0005AddGroupIfIdentifyingC->S
S0x0005Scenes0x0000Scene countr
0x0001Current scener
0x0002Current groupr
0x0003Scene validr
0x0004Name supportr
0xFFFDCluster Rev.r
0x0000AddSceneC->S
0x0001ViewSceneC->S
0x0002RemoveSceneC->S
0x0003RemoveAllScenesC->S
0x0004StoreSceneC->S
0x0005RecallSceneC->S
0x0006GetSceneMembershipC->S
S0x0201Thermostat0x0000Local temperaturerp
0x0002Occupancyr
0x0003Abs. min heat setpoint limitr
0x0004Abs. max heat setpoint limitr
0x0008PI heating demandrp
0x0010Local temperature calibrationrw
0x0012Occupied heating setpointrwp
0x0014Unoccupied heating setpointrwp
0x0015Min heat setpoint limitrw
0x0016Max heat setpoint limitrw
0x001ARemote sensingrwp
0x001BControl sequence of operationr
0x001CSystem moderwp
0x001DAlarm maskrp
0xFFFDCluster Rev.r
0x0000Setpoint raise/lowerC->S
S0xFC24TRV Manual Mode MFC:0x14900x0000Manual Mode (0 = auto, 1 = manual)rwp
0x0001Position (0 - 100%)rwp
0xFFFDCluster Rev.r
0x0000CalibrateC->S

Attributes: r = readable, w = writable, p = reportable

Commands: C->S = client to server, S->C = server to client

ZigBee Rejoin Policy

If network is lost, the device will try to rejoin following this scheme:

  • Fist 12 hours - tries to reconnect every 1 hour
  • Next 24 hours - every 6 hours
  • Next 7 days - every 24 hours
  • After 7 days, retries stop and a restart will be needed to reconnect

Note: If the device should leave the network, follow a new ZigBee commissioning. It will erase the saved network keys