Shelly TRV

Posted on
Fri Jan 13, 2023 2:51 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Shelly TRV

Hi Aaron. My first Shelly trv has arrived. What do you need from me to try and see if this can be controlled?
Thanks. Simon

Posted on
Mon Jan 16, 2023 5:26 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Having a bit of a play with this, I think the basics would involve enabling reporting temperature and valve status back into Indigo (and so enabling onwards to Homekit) so that Indigo can change the current set temp. Enabling boost and adjusting the boost minutes would also be handy.

I would be happy to adjust the actual programs in Shelly app for a while, although I would like a clever way to disable the programs via Indigo so that I can enable summer or holiday mode and prevent the heating coming on. (I think this can be done be disabling the schedule?).

It seems quite clever too in that you can address all thermostats together, ie to put into holiday mode (disable all schedules) or individually.

Posted on
Mon Jan 16, 2023 8:59 am
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

siclark wrote:
Having a bit of a play with this, I think the basics would involve enabling reporting temperature and valve status back into Indigo (and so enabling onwards to Homekit) so that Indigo can change the current set temp. Enabling boost and adjusting the boost minutes would also be handy.

I would be happy to adjust the actual programs in Shelly app for a while, although I would like a clever way to disable the programs via Indigo so that I can enable summer or holiday mode and prevent the heating coming on. (I think this can be done be disabling the schedule?).

It seems quite clever too in that you can address all thermostats together, ie to put into holiday mode (disable all schedules) or individually.


I'm going to try and take a stab at this today and implement the TRV as an Indigo thermostat with the heat setpoint only.
  • I think I will be able to make an Indigo action that will initiate a boost for X minutes.
  • I think I can use the "Off" HVAC mode in Indigo to tell the TRV to fully close the valve and disable itself. Going back into the "Heat" mode in Indigo would then send the appropriate commands to the TRV to go back into the automatic valve control mode based on the current temperature.
  • If the TRV is running its own schedule, the Indigo UI would show the HVAC mode as "ProgramHeat".

I don't see any reason why you can't also use the Shelly app for your holiday stuff as Indigo will stay in sync with the data it reads from the device.

This might take us a few times of going back and forth until we get everything working as it should since I don't have a TRV myself.

Posted on
Mon Jan 16, 2023 10:10 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Cheers.
Looking at the schedules, there is a Holiday one, so maybe just being able to change the live schedule program is good enough for an "override " Happy to help work at this.

Posted on
Mon Jan 16, 2023 10:35 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

In the meantime if anyone is reading this and interested in getting one, I have set up a simple Shims device to detect when the valve is open to turn on my boiler which enables this to work (ie actually heat my house) via the Shelly app for schedules and overrides etc until this works through the plugin.

[Edit - I see Karl's direct plugin supports the TRV and actions such as adjusting the setpoint and schedules, but doesnt expose it as a thermostat device so no control from Homekit etc as a standard indigo thermostat device]

Posted on
Mon Jan 16, 2023 8:03 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

Could someone explain how a few of the functions work on the TRV?

How does the "Boost" differ from "accelerated heating"? Does boost just go to 100% open valve for the set duration and ignore the temperature set point during that time?

If that is the case, would it be reasonable to use the Indigo UI "Heat On" HVAC mode setting for this? When changing to this mode - initiate a boost for the default duration. Then, post-boost, automatically switch back to the "Auto Heat/Cool" mode.

Screen Shot 2023-01-16 at 8.52.47 PM.png
Indigo Modes
Screen Shot 2023-01-16 at 8.52.47 PM.png (23.12 KiB) Viewed 2650 times

Posted on
Mon Jan 16, 2023 11:11 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

I think accelerated heating changed the logic it uses to determine valve % relative to set point. I don’t think we need an option to change from indigo? Can’t imagine once set is something that needs to be changed.
Yea boost just sets valve to 100% for x minutes. Not sure on its point really, I think I’d rather boost to x temp for y minutes so the room doesn’t get too hot.
As for programs maybe I’d use auto to indicate the schedule is in operation and heat otherwise? Not sure it needs to be set though as of it’s on auto ie a schedule and we change the set point manually then the trv likely reports that the schedule is no longer active and the mode would show heat. ?
As the TRVs aren’t ever off just set to a low set point I think, and is consistent with Jon’s TRV plug-in that can always be on heat or auto rather than use off?

Posted on
Mon Jan 16, 2023 11:13 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

As for operating the boost function happy for that to be an action rather than controlled by the thermostat itself.

Posted on
Sun Feb 05, 2023 3:38 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

Sorry for the delay, but I believe I have the device supported in this branch: https://github.com/AaronLionsheep/Shell ... ue-132.zip

If you are still willing, please give that a try and create a TRV device. It brings in the temperature sensor from the device as well as some additional state information (boost remaining, valve position, battery voltage, battery level, and calibration status).

There are 2 plugin actions: Start TRV Boost and Stop TRV Boost. These can be accessed from the plugin menu if you want to manually execute them. They also appear under the ShellyMQTT folder in trigger actions for any automations. The Start action lets you supply a boost duration, and the state should be updated as this value ticks down over time.

I have unit tests for this device, so I am very confident it works according to the documentation I have available. Please let me know if something doesn't work and I can adjust based on what MQTT messages you re seeing.

One thing to note: actions performed on the device do not immediately update the Indigo device. For example, setting the heat point in Indigo won't set the heat point locally. It will send the command to the device and the device should respond with its updated state. When the device responds with a new state, then Indigo will update the device locally. Basically, Indigo will show the state of the device as the device is rather than what Indigo thinks it should be.

Posted on
Mon Feb 06, 2023 5:15 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Cheers... once I figured out my settings I got it all working. With the valve % visibility I can set triggers to control my boiler which is fantastic.

I have also tested adding into Homekitlink plugin, and it works well setting the temperature from the Home app, except I need to change the mode to Heat On first. When I then change the termperature in Indigo or Shelly app, Homekit sees the thermostat as off, and doesnt show set point.

Could we have a state that is always "heat on" so that the Home app picks up on the set point. I think that might also help with the little icon in Indigo as well.

The boost function seems to work well, I can see my wife making a lot of use of that!

Great job. Thank you.

ps far less importantly, but would be great to be able to change what schedule profile name is active. I see that the device announces the 5 available, so hopefully an easy action with a drop down to choose?

this is in settings
Code: Select all
"thermostats":
[{"target_t":{"enabled":true,"value":15.0,"value_op":8.0,"units":"C","accelerated_heating":false},
"schedule":true,
"schedule_profile":1,
"schedule_profile_names":["Dining Room","Livingroom 1","Bedroom","Bedroom 1","Holiday"],
"schedule_rules":["0600-0123456-19","0900-01234-21","2000-0123456-18","2300-0123456-12","0900-56-18"],
"temperature_offset":0.0,
"ext_t":{"enabled":true, "floor_heating": true},
"t_auto":{"enabled":true},"boost_minutes":30,"valve_min_percent":0.00,"force_close":false,"calibration_correction":true,"extra_pressure":false,"open_window_report":false}] }
Last edited by siclark on Mon Feb 06, 2023 5:27 pm, edited 2 times in total.

Posted on
Mon Feb 06, 2023 5:21 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

CliveS wrote:
not sure to move over to Shelly TRV (waiting on feedback from @autolog and @siclark who both have them) or just not upgrade to the next release.


I am happy so far Clive, once I got some settings on the Shelly app corrected. Indigo control is minimal (compared to the Spirit TRVs) as the logic of controlling the valve is in the TRV, and the communication of remote sensor to TRV is also handled by Shelly, so hopefully less to go wrong.

Posted on
Mon Feb 06, 2023 5:40 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

siclark wrote:
Cheers... once I figured out my settings I got it all working. With the valve % visibility I can set triggers to control my boiler which is fantastic.

I have also tested adding into Homekitlink plugin, and it works well setting the temperature from the Home app, except I need to change the mode to Heat On first. When I then change the termperature in Indigo or Shelly app, Homekit sees the thermostat as off, and doesnt show set point.

Could we have a state that is always "heat on" so that the Home app picks up on the set point. I think that might also help with the little icon in Indigo as well.

The boost function seems to work well, I can see my wife making a lot of use of that!

Great job. Thank you.


Awesome! I've gone ahead an changed the device to set the internal HvacMode state to "Heat". This forces the UI to show a menu for the HVAC modes, but the device will never change out of heat mode. The updated code should be available here: https://github.com/AaronLionsheep/Shell ... ue-132.zip

I believe you will need to create a new device in Indigo for this change to be picked up. I'd recommend making a second device that is configured with the same device settings (topics and message type). Just do a quick test and see if that second device shows as you expect in HomekitLink. If so, then you should be able to use the Indigo dependency menu to move over any triggers to the new device.

Posted on
Mon Feb 06, 2023 5:42 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Cheers. Will look in the morning now.

Posted on
Tue Feb 07, 2023 2:06 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

So the heat setting works, but it doesnt seem to pick up the set point. It shows Heating to 7.0 always. I can adjust the setpoint and it sends it to Indigo ok, and the shelly trv responds, but in the Home app it then just drops back to showing 7.0c.

Not sure why.

Posted on
Tue Feb 07, 2023 3:15 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

siclark wrote:
So the heat setting works, but it doesnt seem to pick up the set point. It shows Heating to 7.0 always. I can adjust the setpoint and it sends it to Indigo ok, and the shelly trv responds, but in the Home app it then just drops back to showing 7.0c.

Not sure why.


It took me a moment to realize 7.0c is not even close to what you would be setting it to. I'll dig through the HomeKitLink plugin to see how it is reading the temperature from the Indigo device. Of note, I see a hard-coded minimum value of 7.0 in case you are wondering where its coming from. https://github.com/Ghawken/HomeKitLink- ... tat.py#L35

siclark wrote:
ps far less importantly, but would be great to be able to change what schedule profile name is active. I see that the device announces the 5 available, so hopefully an easy action with a drop down to choose?

this is in settings
Code: Select all
"thermostats":
[{"target_t":{"enabled":true,"value":15.0,"value_op":8.0,"units":"C","accelerated_heating":false},
"schedule":true,
"schedule_profile":1,
"schedule_profile_names":["Dining Room","Livingroom 1","Bedroom","Bedroom 1","Holiday"],
"schedule_rules":["0600-0123456-19","0900-01234-21","2000-0123456-18","2300-0123456-12","0900-56-18"],
"temperature_offset":0.0,
"ext_t":{"enabled":true, "floor_heating": true},
"t_auto":{"enabled":true},"boost_minutes":30,"valve_min_percent":0.00,"force_close":false,"calibration_correction":true,"extra_pressure":false,"open_window_report":false}] }


So the schedule_profile_names and schedule_rules are missing from the Shelly docs. I'll see what I can come up with for making an action where you can force the device into a specific schedule profile. I guess you'd also like to have a state showing the current schedule profile?

In that example output, do you know which schedule was running at the moment? I'd like to think Shelly would start counting at 0, but you never know.

Who is online

Users browsing this forum: No registered users and 1 guest