Shelly BLU Gateway Gen3
The following components are available in Shelly BLU Gateway Gen3:
- System
- WiFi
- Bluetooth Low Energy
- Cloud
- MQTT
- Outbound Websocket
- Up to 10 instances of Script
- BluGw
- BluTrv
BluTrv
Methods
BluTrv.GetStatus
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
Response:
Find the BluTrv.GetStatus response properties in status section
BluTrv.GetConfig
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
Response:
Find the BluTrv.GetConfig response properties in config section
BluTrv.SetConfig
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
| object | Configuration that the method takes |
Response:
Property | Type | Description |
---|---|---|
| boolean |
BluTrv.Delete
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
Response:
null
on success or error
BluTrv.Call
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
| string | required RPC method to invoke on the TRV device |
| object | optional RPC parameters to invoke the selected method with |
Response:
Result of the RPC call. Response may be delayed up to one minute although normally should be recieved within 10 seconds.
BluTrv.GetRemoteStatus
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
Response:
Object containing remote device status, see example below.
BluTrv.GetRemoteConfig
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
Response:
Object containing remote device config, see example below.
BluTrv.GetRemoteDeviceInfo
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
Response:
Object containing remote device info, see example below.
BluTrv.UpdateFirmware
Request:
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
| boolean | optional Defaults to |
| string | optional If not specified TRV device will be updated with the latest firmware, also depending on the bootloader flag |
Response:
null
on success or error
BluTrv.CheckForUpdates
Request
This method doesn't take any arguments.
Response
Property | Type | Description |
---|---|---|
| string | Version of the latest firmware in the repository |
Associations
The Shelly BLU Gateway Gen3
supports Associtions of BLUTRV devices with the gateway and BTHome temperature and/or window sensors (BLUHT, BLUDW) with a BLUTRV device. The Associations procedure can be started by pressing the pair button on the gateway, through an RPC from the BLE
namespace or can be automatically triggered if already associted BLUTRV device enters pairing mode.
Status
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
| number | Last received RSSI of the TRV device |
| number | Last received battery percentage of the TRV device |
| number | Last received packet_id from the TRV device |
| number | Last received packet from the TRV device timestamp |
| boolean | Is TRV device paired with the gateway (should laways be true) |
| boolean | Is TRV device RPC capable (should laways be true) |
| number | The value of the 6-bit state counter received from the TRV device. When changed remote state (config, status and device_info) is updated and change is reflected here. -1 if no data is yet received from the TRV device |
Configuration
Property | Type | Description |
---|---|---|
| number | Id of the BluTrv component instance |
| string | read-only The bluetooth address of the TRV device |
| string or null | User defined name of the BluTrv component |
| string or null | Encrytion key of the BluTrv compoennt. Must be set if Device is encypted |
| string | read-only Linked BTHome TRV device (internal use) |
| array of strings | read-only Associated Temperature sensor from a BLUH&T device. Can be at most one |
| array of strings | read-only Associated Window sensors from BLUDoorWindow device. Can be many |
| object or null | Object for storing meta data (internal use) |
Examples
BluTrv.GetStatus example
- BluTrv.GetStatus HTTP GET Request
- BluTrv.GetStatus Curl Request
- BluTrv.GetStatus Mos Request
http://192.168.33.1/rpc/BluTrv.GetStatus?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.GetStatus","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.GetStatus '{"id":200}'
Response
- BluTrv.GetStatus HTTP GET Response
- BluTrv.GetStatus Curl Response
- BluTrv.GetStatus Mos Response
{
"id": 200,
"rssi": -35,
"battery": 100,
"packet_id": 174,
"last_updated_ts": 1728557063,
"paired": true,
"rpc": true,
"rsv": 53
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"id": 200,
"rssi": -35,
"battery": 100,
"packet_id": 174,
"last_updated_ts": 1728557063,
"paired": true,
"rpc": true,
"rsv": 53
}
}
{
"id": 200,
"rssi": -35,
"battery": 100,
"packet_id": 174,
"last_updated_ts": 1728557063,
"paired": true,
"rpc": true,
"rsv": 53
}
BluTrv.GetConfig example
- BluTrv.GetConfig HTTP GET Request
- BluTrv.GetConfig Curl Request
- BluTrv.GetConfig Mos Request
http://192.168.33.1/rpc/BluTrv.GetConfig?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.GetConfig","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.GetConfig '{"id":200}'
Response
- BluTrv.GetConfig HTTP GET Response
- BluTrv.GetConfig Curl Response
- BluTrv.GetConfig Mos Response
{
"id": 200,
"addr": "28:68:47:f0:2a:b9",
"name": null,
"key": null,
"trv": "bthomedevice:200",
"temp_sensors": [
"bthomesensor:200"
],
"dw_sensors": [],
"meta": null
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"id": 200,
"addr": "28:68:47:f0:2a:b9",
"name": null,
"key": null,
"trv": "bthomedevice:200",
"temp_sensors": [
"bthomesensor:200"
],
"dw_sensors": [],
"meta": null
}
}
{
"id": 200,
"addr": "28:68:47:f0:2a:b9",
"name": null,
"key": null,
"trv": "bthomedevice:200",
"temp_sensors": [
"bthomesensor:200"
],
"dw_sensors": [],
"meta": null
}
BluTrv.SetConfig example
- BluTrv.SetConfig HTTP GET Request
- BluTrv.SetConfig Curl Request
- BluTrv.SetConfig Mos Request
http://192.168.33.1/rpc/BluTrv.SetConfig?id=200&config={"name":"mytrv"}
curl -X POST -d '{"id":1,"method":"BluTrv.SetConfig","params":{"id":200,"config":{"name":"mytrv"}}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.SetConfig '{"id":200,"config":{"name":"mytrv"}}'
Response
- BluTrv.SetConfig HTTP GET Response
- BluTrv.SetConfig Curl Response
- BluTrv.SetConfig Mos Response
{
"restart_required": false
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"restart_required": false
}
}
{
"restart_required": false
}
BluTrv.Delete example
- BluTrv.Delete HTTP GET Request
- BluTrv.Delete Curl Request
- BluTrv.Delete Mos Request
http://192.168.33.1/rpc/BluTrv.Delete?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.Delete","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.Delete '{"id":200}'
Response
- BluTrv.Delete HTTP GET Response
- BluTrv.Delete Curl Response
- BluTrv.Delete Mos Response
null
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": null
}
null
BluTrv.Call example
- BluTrv.Call HTTP GET Request
- BluTrv.Call Curl Request
- BluTrv.Call Mos Request
http://192.168.33.1/rpc/BluTrv.Call?id=200&method="TRV.SetTarget"¶ms={"id":0,"target_C":22}
curl -X POST -d '{"id":1,"method":"BluTrv.Call","params":{"id":200,"method":"TRV.SetTarget","params":{"id":0,"target_C":22}}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.Call '{"id":200,"method":"TRV.SetTarget","params":{"id":0,"target_C":22}}'
Response
- BluTrv.Call HTTP GET Response
- BluTrv.Call Curl Response
- BluTrv.Call Mos Response
null
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": null
}
null
BluTrv.GetRemoteStatus example
- BluTrv.GetRemoteStatus HTTP GET Request
- BluTrv.GetRemoteStatus Curl Request
- BluTrv.GetRemoteStatus Mos Request
http://192.168.33.1/rpc/BluTrv.GetRemoteStatus?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.GetRemoteStatus","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.GetRemoteStatus '{"id":200}'
Response
- BluTrv.GetRemoteStatus HTTP GET Response
- BluTrv.GetRemoteStatus Curl Response
- BluTrv.GetRemoteStatus Mos Response
{
"v": 17,
"ts": 1728654569,
"status": {
"sys": {
"time": "16:49",
"unixtime": 1728654568,
"offset": 10800,
"uptime": 686741,
"ram_size": 29736,
"ram_free": 11896,
"cfg_rev": 5,
"state_rev": 17
},
"temperature:0": {
"id": 0,
"tC": 23.71,
"tF": 74.69,
"errors": []
},
"trv:0": {
"id": 0,
"pos": 0,
"steps": 5938,
"current_C": 24.09,
"target_C": 22,
"override": {
"started_at": 1728654567
},
"schedule_rev": 0,
"errors": [
"not_calibrated"
]
}
}
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"v": 17,
"ts": 1728654569,
"status": {
"sys": {
"time": "16:49",
"unixtime": 1728654568,
"offset": 10800,
"uptime": 686741,
"ram_size": 29736,
"ram_free": 11896,
"cfg_rev": 5,
"state_rev": 17
},
"temperature:0": {
"id": 0,
"tC": 23.71,
"tF": 74.69,
"errors": []
},
"trv:0": {
"id": 0,
"pos": 0,
"steps": 5938,
"current_C": 24.09,
"target_C": 22,
"override": {
"started_at": 1728654567
},
"schedule_rev": 0,
"errors": [
"not_calibrated"
]
}
}
}
}
{
"v": 17,
"ts": 1728654569,
"status": {
"sys": {
"time": "16:49",
"unixtime": 1728654568,
"offset": 10800,
"uptime": 686741,
"ram_size": 29736,
"ram_free": 11896,
"cfg_rev": 5,
"state_rev": 17
},
"temperature:0": {
"id": 0,
"tC": 23.71,
"tF": 74.69,
"errors": []
},
"trv:0": {
"id": 0,
"pos": 0,
"steps": 5938,
"current_C": 24.09,
"target_C": 22,
"override": {
"started_at": 1728654567
},
"schedule_rev": 0,
"errors": [
"not_calibrated"
]
}
}
}
BluTrv.GetRemoteConfig example
- BluTrv.GetRemoteConfig HTTP GET Request
- BluTrv.GetRemoteConfig Curl Request
- BluTrv.GetRemoteConfig Mos Request
http://192.168.33.1/rpc/BluTrv.GetRemoteConfig?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.GetRemoteConfig","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.GetRemoteConfig '{"id":200}'
Response
- BluTrv.GetRemoteConfig HTTP GET Response
- BluTrv.GetRemoteConfig Curl Response
- BluTrv.GetRemoteConfig Mos Response
{
"v": 17,
"ts": 1728654569,
"config": {
"sys": {
"device": {
"name": ""
},
"location": {
"lat": 43.0866,
"lon": 25.2695
},
"ui": {
"lock": false,
"t_units": "C",
"flip": false,
"brightness": 7
},
"ble": {
"interval_ms": 73,
"beacon_count": 4
},
"cfg_rev": 5
},
"temperature:0": {
"id": 0,
"offset_C": 0
},
"trv:0": {
"id": 0,
"enable": true,
"min_valve_position": 0,
"default_override_target_C": 8,
"flags": []
}
}
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"v": 17,
"ts": 1728654569,
"config": {
"sys": {
"device": {
"name": ""
},
"location": {
"lat": 43.0866,
"lon": 25.2695
},
"ui": {
"lock": false,
"t_units": "C",
"flip": false,
"brightness": 7
},
"ble": {
"interval_ms": 73,
"beacon_count": 4
},
"cfg_rev": 5
},
"temperature:0": {
"id": 0,
"offset_C": 0
},
"trv:0": {
"id": 0,
"enable": true,
"min_valve_position": 0,
"default_override_target_C": 8,
"flags": []
}
}
}
}
{
"v": 17,
"ts": 1728654569,
"config": {
"sys": {
"device": {
"name": ""
},
"location": {
"lat": 43.0866,
"lon": 25.2695
},
"ui": {
"lock": false,
"t_units": "C",
"flip": false,
"brightness": 7
},
"ble": {
"interval_ms": 73,
"beacon_count": 4
},
"cfg_rev": 5
},
"temperature:0": {
"id": 0,
"offset_C": 0
},
"trv:0": {
"id": 0,
"enable": true,
"min_valve_position": 0,
"default_override_target_C": 8,
"flags": []
}
}
}
BluTrv.GetRemoteDeviceInfo example
- BluTrv.GetRemoteDeviceInfo HTTP GET Request
- BluTrv.GetRemoteDeviceInfo Curl Request
- BluTrv.GetRemoteDeviceInfo Mos Request
http://192.168.33.1/rpc/BluTrv.GetRemoteDeviceInfo?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.GetRemoteDeviceInfo","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.GetRemoteDeviceInfo '{"id":200}'
Response
- BluTrv.GetRemoteDeviceInfo HTTP GET Response
- BluTrv.GetRemoteDeviceInfo Curl Response
- BluTrv.GetRemoteDeviceInfo Mos Response
{
"v": 17,
"ts": 1728654569,
"device_info": {
"id": "shellyblutrv-ecd5b5a7db28",
"mac": "ECD5B5A7DB28",
"fw_id": "20241004-125638/main@4b7c4712+",
"bl_ver": 1,
"app": "BluTRV",
"model": "BluTRV",
"batch": "1",
"ver": "0.0.1a1"
}
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"v": 17,
"ts": 1728654569,
"device_info": {
"id": "shellyblutrv-ecd5b5a7db28",
"mac": "ECD5B5A7DB28",
"fw_id": "20241004-125638/main@4b7c4712+",
"bl_ver": 1,
"app": "BluTRV",
"model": "BluTRV",
"batch": "1",
"ver": "0.0.1a1"
}
}
}
{
"v": 17,
"ts": 1728654569,
"device_info": {
"id": "shellyblutrv-ecd5b5a7db28",
"mac": "ECD5B5A7DB28",
"fw_id": "20241004-125638/main@4b7c4712+",
"bl_ver": 1,
"app": "BluTRV",
"model": "BluTRV",
"batch": "1",
"ver": "0.0.1a1"
}
}
BluTrv.UpdateFirmware example
- BluTrv.UpdateFirmware HTTP GET Request
- BluTrv.UpdateFirmware Curl Request
- BluTrv.UpdateFirmware Mos Request
http://192.168.33.1/rpc/BluTrv.UpdateFirmware?id=200
curl -X POST -d '{"id":1,"method":"BluTrv.UpdateFirmware","params":{"id":200}}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.UpdateFirmware '{"id":200}'
Response
- BluTrv.UpdateFirmware HTTP GET Response
- BluTrv.UpdateFirmware Curl Response
- BluTrv.UpdateFirmware Mos Response
null
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": null
}
null
BluTrv.CheckForUpdates example
- BluTrv.CheckForUpdates HTTP GET Request
- BluTrv.CheckForUpdates Curl Request
- BluTrv.CheckForUpdates Mos Request
http://192.168.33.1/rpc/BluTrv.CheckForUpdates
curl -X POST -d '{"id":1,"method":"BluTrv.CheckForUpdates"}' http://${SHELLY}/rpc
mos --port ${PORT} call BluTrv.CheckForUpdates
Response
- BluTrv.CheckForUpdates HTTP GET Response
- BluTrv.CheckForUpdates Curl Response
- BluTrv.CheckForUpdates Mos Response
{
"fw_id": "20241004-125638/main@4b7c4712+"
}
{
"id": 1,
"src": "shellyblugwg3-3030f9ed6698",
"params": {
"fw_id": "20241004-125638/main@4b7c4712+"
}
}
{
"fw_id": "20241004-125638/main@4b7c4712+"
}