Hi everyone,
I am struggling to control my Shelly BLU TRV position using a script on my Shelly BLU Gateway Gen3. No matter which RPC method I call, I constantly receive a "404 No handler" error.
My Setup:
- Gateway: Shelly BLU Gateway Gen3 (Firmware: [ Inserisci qui la versione firmware, es: 1.4.2 ])
- Device: Shelly BLU TRV, correctly paired and visible in the app.
- Device ID: 200 (identified as blutrv:200 and bthomedevice:200 in the logs).
The Problem: I want to set the valve position (e.g., 50%) via script. I have tried several methods, but all of them return {"code":-404, "message":"No handler for..."}.
Tested Methods (All failed with 404):
- Shelly.call("blutrv:200.SetPosition", {"pos": 50});
- Shelly.call("BTHome.RemoteCall", {"address": "f8:44:77:2a:4a:80", "method": "TRV.SetPosition", "params": {"pos": 50}});
- Shelly.call("bthomedevice:200.RpcCall", {"method": "TRV.SetPosition", "params": {"pos": 50}});
- Shelly.call("TRV.SetPosition", {"id": 200, "pos": 50});
Debug Info (from Shelly.getComponentConfig![]()
JSON
{
"id": 200,
"addr": "f8:44:77:2a:4a:80",
"name": "Camera SX P2",
"trv": "bthomedevice:200",
"temp_sensors": [],
"dw_sensors": [],
"override_delay": 30,
"meta": {}
}
When I try to list methods using Rpc.ListMethods filtered for the device, the response seems empty or the handler is missing.
Question: What is the correct RPC syntax for the Gen3 Gateway to send a SetPosition command to a BLU TRV? Does this firmware version support direct position control via scripting, or should I use a different component path?
Thanks in advance for your help!