Shelly TRV

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

Re: Shelly TRV

The TRV devices from Jon's TRV plugin work in homekit. I can dump the device details of that helps?

Ha I did think that about it's numbering system but it was the Dining Room schedule running so looks like it counts from 1.


Looks like it's possible to trigger the settings to be published which has the 1-5 Vs name table, then use below command of schedule profile to change.

https://shelly-api-docs.shelly.cloud/gen1/#shelly-trv-overview

Code: Select all

Command topics

Shelly TRV supports a set of commands published on shellies/thermostat/0/command/ to address all TRVs or shellies/shellytrv-<id>/thermostat/0/command/ to address an individual device:

settings will trigger piblishing the content of http /settings endpoint

schedule accepts 1 or 0 to enable/disable schedule

schedule_profile accepts number from 1 to 5 to choose active schedule profile with the provided id




Sent from my iPhone using Tapatalk

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

Re: Shelly TRV

Yeah if you could provide a dump a known-working thermostat that would be great.

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

Re: Shelly TRV

Here you go

Code: Select all
   Script                          address : 15
batteryLevel : 45
buttonGroupCount : 0
configured : True
coolIsOn : False
coolSetpoint : 0.0
dehumidifierIsOn : False
description :
deviceTypeId : trvController
displayStateId : temperatureInputsAll
displayStateImageSel : HvacHeatMode
displayStateValRaw : 19.4, 16.7
displayStateValUi : 19.4, 16.7
enabled : True
energyAccumBaseTime : None
energyAccumTimeDelta : None
energyAccumTotal : None
energyCurLevel : None
errorState :
fanIsOn : False
fanMode : Auto
folderId : 1335677605
globalProps : MetaProps : (dict)
     com.GlennNZ.indigoplugin.HomeKitLink-Siri : (dict)
          HomeKit_audioSelector : false (bool)
          HomeKit_bridgeUniqueID : 170768 (integer)
          HomeKit_deviceSensor : hvacOperationMode.ui (string)
          HomeKit_deviceSubtype : Thermostat (string)
          HomeKit_inverseSelector : false (bool)
          HomeKit_publishDevice : true (bool)
          HomeKit_tempSelector : false (bool)
          homekit-name : Study Thermostat (string)
     com.autologplugin.indigoplugin.trvcontroller : (dict)
          NumTemperatureInputs : 2 (integer)
          ShowCoolHeatEquipmentStateUI : true (bool)
          SupportsBatteryLevel : true (bool)
          SupportsCoolSetpoint : false (bool)
          SupportsHeatSetpoint : true (bool)
          SupportsHvacFanMode : false (bool)
          SupportsHvacOperationMode : true (bool)
          address : 15 (string)
          advancedOption : 2 (string)
          csvCreationMethod : 0 (string)
          csvRetentionPeriodHours : 24 (string)
          csvShortName :  (string)
          csvStandardMode : 1 (string)
          datagraphChartTitle :  (string)
          datagraphOutputImageFilename :  (string)
          datagraphTemplateFilename :  (string)
          enableTrvOnOff : false (bool)
          heatingId : 0 (string)
          heatingVarId : 660754896 (string)
          hideTempBroadcast : false (bool)
          overrideSetpointHeatMaximum : false (bool)
          overrideSetpointHeatMaximumValue : 0 (real)
          polling1RemoteSchedule : 15 (string)
          polling1TrvSchedule : 15 (string)
          pollingBoostEnabled : 6 (string)
          pollingDefaultRemoteSchedule : 15 (string)
          pollingDefaultTrvSchedule : 15 (string)
          pollingScheduleActive : 4 (string)
          pollingScheduleInactive : 18 (string)
          pollingSchedulesNotEnabled : 28 (string)
          radiatorDevId :  (string)
          radiatorMonitoringEnabled : false (bool)
          remoteDeltaMax : 5.0 (string)
          remoteDevId : 857571614 (string)
          remoteSetpointHeatControl : false (bool)
          remoteTempOffset : 0.0 (string)
          remoteThermostatContolEnabled : true (bool)
          remoteThermostatControlEnabled : true (bool)
          schedule10Enabled : false (bool)
          schedule10ForceOff : false (bool)
          schedule10SetpointHeat : 21 (string)
          schedule10TimeOn : 00:00 (string)
          schedule1Enabled : true (bool)
          schedule1ForceOff : false (bool)
          schedule1SetpointHeat : 16 (string)
          schedule1TimeOff : 07:00 (string)
          schedule1TimeOn : 06:00 (string)
          schedule2Enabled : true (bool)
          schedule2ForceOff : false (bool)
          schedule2SetpointHeat : 19 (string)
          schedule2TimeOff : 18:00 (string)
          schedule2TimeOn : 08:00 (string)
          schedule3Enabled : true (bool)
          schedule3ForceOff : false (bool)
          schedule3SetpointHeat : 18 (string)
          schedule3TimeOff : 22:00 (string)
          schedule3TimeOn : 20:00 (string)
          schedule4Enabled : false (bool)
          schedule4ForceOff : false (bool)
          schedule4SetpointHeat : 21 (string)
          schedule4TimeOff : 00:00 (string)
          schedule4TimeOn : 00:00 (string)
          schedule5Enabled : false (bool)
          schedule5ForceOff : false (bool)
          schedule5SetpointHeat : 21 (string)
          schedule5TimeOn : 00:00 (string)
          schedule6Enabled : false (bool)
          schedule6ForceOff : false (bool)
          schedule6SetpointHeat : 21 (string)
          schedule6TimeOn : 00:00 (string)
          schedule7Enabled : false (bool)
          schedule7ForceOff : false (bool)
          schedule7SetpointHeat : 21 (string)
          schedule7TimeOn : 00:00 (string)
          schedule8Enabled : false (bool)
          schedule8ForceOff : false (bool)
          schedule8SetpointHeat : 21 (string)
          schedule8TimeOn : 00:00 (string)
          schedule9Enabled : false (bool)
          schedule9ForceOff : false (bool)
          schedule9SetpointHeat : 21 (string)
          schedule9TimeOn : 00:00 (string)
          scheduleDefault : true (bool)
          scheduleDefaultForceOff : false (bool)
          scheduleDefaultSetpointHeat : 12 (string)
          scheduleDefaultTimeOff : 00:00 (string)
          scheduleDefaultTimeOn : 00:00 (string)
          scheduleMode : 1 (string)
          setpointHeatDeviceStartDefault : 8.0 (string)
          setpointHeatDeviceStartMethod : 1 (string)
          setpointHeatMaximum : 28 (string)
          setpointHeatMinimum : 8 (string)
          setpointHeatOnDefault : 18 (string)
          supportedModel : Thermostat (Spirit) (string)
          supportsHvacOnOff : true (bool)
          supportsHvacOnOffHidden : false (bool)
          supportsManualSetpoint : true (bool)
          supportsTemperatureReporting : true (bool)
          supportsValveControl : true (bool)
          supportsWakeup : false (string)
          trvDevId : 1283448712 (string)
          trvDeviceSetpointHeatMaximum : 28 (string)
          valveAssistance : false (bool)
          version : 2022.0.12 (string)
heatIsOn : True
heatSetpoint : 21.0
humidifierIsOn : False
humidities : []
humiditySensorCount : 0
hvacMode : Heat
id : 66385964
lastChanged : 2023-02-07 21:52:17
lastSuccessfulComm : 2023-02-07 21:52:17
model : TRV Controller
name : Study Thermostat
ownerProps : com.autologplugin.indigoplugin.trvcontroller : (dict)
     NumTemperatureInputs : 2 (integer)
     ShowCoolHeatEquipmentStateUI : true (bool)
     SupportsBatteryLevel : true (bool)
     SupportsCoolSetpoint : false (bool)
     SupportsHeatSetpoint : true (bool)
     SupportsHvacFanMode : false (bool)
     SupportsHvacOperationMode : true (bool)
     address : 15 (string)
     advancedOption : 2 (string)
     csvCreationMethod : 0 (string)
     csvRetentionPeriodHours : 24 (string)
     csvShortName :  (string)
     csvStandardMode : 1 (string)
     datagraphChartTitle :  (string)
     datagraphOutputImageFilename :  (string)
     datagraphTemplateFilename :  (string)
     enableTrvOnOff : false (bool)
     heatingId : 0 (string)
     heatingVarId : 660754896 (string)
     hideTempBroadcast : false (bool)
     overrideSetpointHeatMaximum : false (bool)
     overrideSetpointHeatMaximumValue : 0 (real)
     polling1RemoteSchedule : 15 (string)
     polling1TrvSchedule : 15 (string)
     pollingBoostEnabled : 6 (string)
     pollingDefaultRemoteSchedule : 15 (string)
     pollingDefaultTrvSchedule : 15 (string)
     pollingScheduleActive : 4 (string)
     pollingScheduleInactive : 18 (string)
     pollingSchedulesNotEnabled : 28 (string)
     radiatorDevId :  (string)
     radiatorMonitoringEnabled : false (bool)
     remoteDeltaMax : 5.0 (string)
     remoteDevId : 857571614 (string)
     remoteSetpointHeatControl : false (bool)
     remoteTempOffset : 0.0 (string)
     remoteThermostatContolEnabled : true (bool)
     remoteThermostatControlEnabled : true (bool)
     schedule10Enabled : false (bool)
     schedule10ForceOff : false (bool)
     schedule10SetpointHeat : 21 (string)
     schedule10TimeOn : 00:00 (string)
     schedule1Enabled : true (bool)
     schedule1ForceOff : false (bool)
     schedule1SetpointHeat : 16 (string)
     schedule1TimeOff : 07:00 (string)
     schedule1TimeOn : 06:00 (string)
     schedule2Enabled : true (bool)
     schedule2ForceOff : false (bool)
     schedule2SetpointHeat : 19 (string)
     schedule2TimeOff : 18:00 (string)
     schedule2TimeOn : 08:00 (string)
     schedule3Enabled : true (bool)
     schedule3ForceOff : false (bool)
     schedule3SetpointHeat : 18 (string)
     schedule3TimeOff : 22:00 (string)
     schedule3TimeOn : 20:00 (string)
     schedule4Enabled : false (bool)
     schedule4ForceOff : false (bool)
     schedule4SetpointHeat : 21 (string)
     schedule4TimeOff : 00:00 (string)
     schedule4TimeOn : 00:00 (string)
     schedule5Enabled : false (bool)
     schedule5ForceOff : false (bool)
     schedule5SetpointHeat : 21 (string)
     schedule5TimeOn : 00:00 (string)
     schedule6Enabled : false (bool)
     schedule6ForceOff : false (bool)
     schedule6SetpointHeat : 21 (string)
     schedule6TimeOn : 00:00 (string)
     schedule7Enabled : false (bool)
     schedule7ForceOff : false (bool)
     schedule7SetpointHeat : 21 (string)
     schedule7TimeOn : 00:00 (string)
     schedule8Enabled : false (bool)
     schedule8ForceOff : false (bool)
     schedule8SetpointHeat : 21 (string)
     schedule8TimeOn : 00:00 (string)
     schedule9Enabled : false (bool)
     schedule9ForceOff : false (bool)
     schedule9SetpointHeat : 21 (string)
     schedule9TimeOn : 00:00 (string)
     scheduleDefault : true (bool)
     scheduleDefaultForceOff : false (bool)
     scheduleDefaultSetpointHeat : 12 (string)
     scheduleDefaultTimeOff : 00:00 (string)
     scheduleDefaultTimeOn : 00:00 (string)
     scheduleMode : 1 (string)
     setpointHeatDeviceStartDefault : 8.0 (string)
     setpointHeatDeviceStartMethod : 1 (string)
     setpointHeatMaximum : 28 (string)
     setpointHeatMinimum : 8 (string)
     setpointHeatOnDefault : 18 (string)
     supportedModel : Thermostat (Spirit) (string)
     supportsHvacOnOff : true (bool)
     supportsHvacOnOffHidden : false (bool)
     supportsManualSetpoint : true (bool)
     supportsTemperatureReporting : true (bool)
     supportsValveControl : true (bool)
     supportsWakeup : false (string)
     trvDevId : 1283448712 (string)
     trvDeviceSetpointHeatMaximum : 28 (string)
     valveAssistance : false (bool)
     version : 2022.0.12 (string)
pluginId : com.autologplugin.indigoplugin.trvcontroller
pluginProps : emptyDict : (dict)
protocol : Plugin
remoteDisplay : True
sharedProps : com.indigodomo.indigoserver : (dict)
states : States : (dict)
     advanceActivatedTime : Inactive (string)
     advanceActive : false (bool)
     advanceStatusUi :  (string)
     advanceToScheduleTime : Inactive (string)
     batteryLevel : 45 (integer)
     batteryLevel.ui : 45% (string)
     batteryLevelRemote : 0 (integer)
     batteryLevelRemote.ui : 0% (string)
     batteryLevelTrv : 45 (integer)
     batteryLevelTrv.ui : 45% (string)
     boostActive : false (bool)
     boostDeltaT : 0 (real)
     boostMinutes : 0 (integer)
     boostMode : 3 (integer)
     boostModeUi :  (string)
     boostSetpoint : 0 (integer)
     boostStatusUi :  (string)
     boostTimeEnd : Inactive (string)
     boostTimeStart : Inactive (string)
     callingForHeat : false (bool)
     callingForHeatFalseSSM : 0 (integer)
     callingForHeatTrueSSM : 0 (integer)
     controllerMode : 2 (integer)
     controllerModeUi : UI Control (string)
     eventReceivedDateTimeRemote : 2023-02-07 21:35:53 (string)
     extendActivatedTime : Inactive (string)
     extendActive : false (bool)
     extendLimitReached : false (bool)
     extendMinutes : 0 (integer)
     extendScheduleNewTime : Inactive (string)
     extendScheduleOriginalTime : Inactive (string)
     extendStatusUi :  (string)
     hvacCoolerIsOn : off (on/off bool)
     hvacDehumidifierIsOn : off (on/off bool)
     hvacFanIsOn : off (on/off bool)
     hvacHeaterIsOn : on (on/off bool)
     hvacHumidifierIsOn : off (on/off bool)
     hvacOperationMode : 1 (integer)
     hvacOperationMode.ui : heat on (string)
     hvacOperationModeIsAuto : false (bool)
     hvacOperationModeIsCool : false (bool)
     hvacOperationModeIsHeat : true (bool)
     hvacOperationModeIsOff : false (bool)
     hvacOperationModeIsProgramAuto : false (bool)
     hvacOperationModeIsProgramCool : false (bool)
     hvacOperationModeIsProgramHeat : false (bool)
     hvacOperationModeTrv : 1 (integer)
     nextScheduleExecutionTime : 22:00 (string)
     schedule1Active : false (bool)
     schedule1Enabled : true (bool)
     schedule1ForceOff : false (bool)
     schedule1SetpointHeat : 16.0 °C (string)
     schedule1TimeOff : 07:00 (string)
     schedule1TimeOn : 06:00 (string)
     schedule1TimeUi : 06:00 - 07:00 (string)
     schedule2Active : false (bool)
     schedule2Enabled : true (bool)
     schedule2ForceOff : false (bool)
     schedule2SetpointHeat : 19.0 °C (string)
     schedule2TimeOff : 18:00 (string)
     schedule2TimeOn : 08:00 (string)
     schedule2TimeUi : 08:00 - 18:00 (string)
     schedule3Active : true (bool)
     schedule3Enabled : true (bool)
     schedule3ForceOff : false (bool)
     schedule3SetpointHeat : 18.0 °C (string)
     schedule3TimeOff : 22:00 (string)
     schedule3TimeOn : 20:00 (string)
     schedule3TimeUi : 20:00 - 22:00 (string)
     schedule4Active : false (bool)
     schedule4Enabled : false (bool)
     schedule4ForceOff : false (bool)
     schedule4SetpointHeat : Not Set (string)
     schedule4TimeOff : 00:00 (string)
     schedule4TimeOn : 00:00 (string)
     schedule4TimeUi : Inactive (string)
     schedule5Active : false (bool)
     schedule5Enabled : false (bool)
     schedule5ForceOff : false (bool)
     schedule5SetpointHeat :  (string)
     schedule5TimeOn :  (string)
     schedule5TimeUi :  (string)
     setpointHeat : 21 (real)
     setpointHeatMaximum : 28 (real)
     setpointHeatMinimum : 8 (real)
     setpointHeatOnDefault : 18 (real)
     setpointHeatRemote : 0 (integer)
     setpointHeatTrv : 26 (real)
     temperature : 19.4 (real)
     temperatureInput1 : 19.4 (real)
     temperatureInput1.ui : 19.4 °C (string)
     temperatureInput2 : 16.7 (real)
     temperatureInput2.ui : 16.7 °C (string)
     temperatureInputsAll : 19.4, 16.7 (string)
     temperatureRadiator : 0 (real)
     temperatureRemote : 19.4 (real)
     temperatureRemotePreOffset : 19.4 (real)
     temperatureTrv : 16.7 (real)
     temperatureUi : R: 19.4 °C, T: 16.7 °C (string)
     valvePercentageOpen : 100 (integer)
     zwaveEventReceivedDateTimeRemote : N/A (string)
     zwaveEventReceivedDateTimeTrv : 2023-02-07 21:48:17 (string)
     zwaveEventSentDateTimeRemote : N/A (string)
     zwaveEventSentDateTimeTrv : 2023-02-07 21:52:17 (string)
subModel :
subType :
supportsAllLightsOnOff : False
supportsAllOff : False
supportsCoolSetpoint : False
supportsHeatSetpoint : True
supportsHvacFanMode : False
supportsHvacOperationMode : True
supportsStatusRequest : True
temperatureSensorCount : 2
temperatures : [19.4, 16.7]
version : 2022.0.12

Posted on
Sun Feb 12, 2023 5:19 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

Alright I think I I got what you were looking for. There was a "hvacHeaterIsOn" state that I found I could set to "True". The TRV in HomeKit (using HomeKitLink Siri) now shows the number as red instead of black. I guess this is what you are looking for? I don't have a TRV nor a thermostat, so I'm just guessing at this point :mrgreen:

I was able to fake the response from the TRV over MQTT and test what happens when the TRV responds with a set point value. HomeKit changes the "heating to XX" value accordingly. When I change the set point in HomeKit, I can see the correct MQTT message being generated too.

If this looks good to you, then I'd like to get this released as 0.9.0. I have been working on the Python 3 update in parallel, and I'd like to get that released shortly after as 1.0.0. I will get your schedule feature added in 1.0.1 unless some people find any bugs in the Python 3 version.

https://github.com/AaronLionsheep/Shell ... ue-132.zip

Posted on
Mon Feb 13, 2023 2:38 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Awesome.. Yes, that is working and going to go a long way to the WAF of these.

Obviously more functionality would be nice around the schedules :D , but for now yes this is working great now for essential functionality.

I can for now change the schedules in the Shelly app, and if I were desperate, create an MQTT or HTTP manual action to change it directly.

Posted on
Mon Feb 13, 2023 4:20 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

Glad to hear its working as you expect in HomeKit now!

siclark wrote:
Obviously more functionality would be nice around the schedules :D , but for now yes this is working great now for essential functionality.

I can for now change the schedules in the Shelly app, and if I were desperate, create an MQTT or HTTP manual action to change it directly.


ok ok you have nearly convinced me :mrgreen:. Can you just explain why you are using the schedules on the device rather than using Indigo schedules? I've typically left the on-device automations out of the plugins to keep it in Indigo. I'm want to make sure there isn't something I'm missing here where I could make the Indigo-side of things better.

Posted on
Tue Feb 14, 2023 3:13 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

I spoke too soon. Yes it can send me set points from HomeKit but if the temp changes from Shelly app or direct on the trv then home kit goes back to showing 7C.

I like the ability to edit schedules from my phone rather than having to log onto a Mac which means as well that my wife can do same.
And then interface in the Shelly app is easier to see and use than doing multiple schedules in indigo.

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

Re: Shelly TRV

siclark wrote:
I spoke too soon. Yes it can send me set points from HomeKit but if the temp changes from Shelly app or direct on the trv then home kit goes back to showing 7C.


:shock: Hmmm I can't seem to replicate this. I can send a fake MQTT message into indigo that changes the current temperature (not the set point) and HomeKit updates correctly. Can you try using MQTT Explorer (or the command line) to subscribe to the TRV device (shellies/<your_trv>/#) and start capturing all the MQTT traffic. Then perform your action in HomeKit, watch for that error to occur, and then send me the TRV messages that occurred during that time?

I want to make sure I can send the exact messages your TRV was sending to replicate it myself. I'm even using the HomeKitLink Siri plugin to rule out any HomeKit plugin oddities.

siclark wrote:
I like the ability to edit schedules from my phone rather than having to log onto a Mac which means as well that my wife can do same.
And then interface in the Shelly app is easier to see and use than doing multiple schedules in indigo.


Fair enough, I'll get it added!

Posted on
Tue Feb 14, 2023 5:14 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Sorry. It’s the Shelly changing the set point itself that causes HomeKit to show 7C rather than the correct set point

edit: it was actually the indigo device showing 7c but now adjusting the set point in Shelly its reporting correctly into indigo and homekit.

I will keep an eye on it over the next few days.

Posted on
Wed Feb 15, 2023 7:50 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

Ok I believe I have all the schedule features implemented in the latest version: https://github.com/AaronLionsheep/Shell ... ue-132.zip

I added 2 plugin actions available in the plugin menu and as actions in triggers. They are "Set TRV Schedule Profile" and "Disable TRV Schedule". The action to set a schedule profile will give you a list of profile numbers (1-5) along with the profile name once the device has seen a message with the names. You also get the option to enable that profile in the same action. The action to disable a schedule will simply disable the current schedule.

Some things to test please:

1. Set a schedule and confirm the profile names appear in the list. They will only show when the TRV has published an update message.
2. Set a schedule with "enable schedule" checked and confirm the correct schedule is set and is also enabled.
3. Set a schedule with "enable schedule" unchecked and confirm the correct schedule is set and is NOT enabled.
4. With a schedule already running, run "Disable TRV Schedule" and confirm the schedule was disabled.

Let me know if I missed something or if you need any of those actions to behave differently!

Also keep me updated on that weird 7 degree thing you were experiencing.

Posted on
Thu Feb 16, 2023 12:33 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Shelly TRV

Cheers that sounds amazing. Will check today.

I think it’s an indigo to HomeKit issue, see attached screen shots.

Image
Image

Posted on
Thu Feb 16, 2023 2:19 am
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

The changing of the schedule is working, but the names are not getting populated. I have reloaded the plugin and made changes to the schedules to force Shelly to write out the new settings and see it getting processed in Indigo (but not as result of announce). but still shows up as Unknown.

How should I trigger these to be updated?

Code: Select all
   ShellyMQTT Debug                Queued MQTT message type shelly from Shelly connector
   ShellyMQTT Debug                    Processing: "{ "device":{"type":"SHTRV-01","mac":"2C1165DABA8B","hostname":"shellytrv-2C1165DABA8B","num_outputs":0},"wifi_ap":{"enabled":false,"ssid":"shellytrv-2C1165DABA8B"},"wifi_sta":{"enabled":true,"ssid":"IoT","ipv4_method":"static","ip":"192.168.0.221","gw":"192.168.0.1","mask":"255.255.255.0","dns":null},"mqtt":{"enable":true,"server":"192.168.0.41:1883","user":null,"id":"shellytrv-2C1165DABA8B","clean_session":true,"max_qos":0,"retain":true,"update_period":60},"sntp":{"server":"time.google.com","enabled":true},"login":{"enabled":false,"unprotected":false,"username":"admin","default_username":"admin"},"pin_code":"","name":"Shelly Dining TRV","fw":"20220811-152343/v2.1.8@5afc928c","discoverable":false,"build_info":{"build_id":"20220811-152343/v2.1.8@5afc928c","build_timestamp":"2022-08-11T15:23:43Z","build_version":"2022081115"},"cloud":{"enabled":true},"coiot":{"enabled":false,"update_period":3600,"peer":""},"timezone":"Europe/London","lat":51.368172,"lng":-0.394720,"tzautodetect":true,"tz_utc_offset":0,"tz_dst":false,"tz_dst_auto":true,"time":"08:16","child_lock":false,"clog_prevention":true,"display":{"brightness":7,"flipped":true},"hwinfo":{"hw_revision":"dev-prototype","batch_id":0},"sleep_mode":{"period":60,"unit":"m"},"thermostats":[{"target_t":{"enabled":true,"value":21.0,"value_op":8.0,"units":"C","accelerated_heating":false},"schedule":true,"schedule_profile":2,"schedule_profile_names":["Dining Room","Dining Room WFH","Bedroom","Bedroom 1","Holiday"],"schedule_rules":["0600-0123456-19","0730-01234-21","2000-01234-18","2300-0123456-12"],"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}] }" on topic "shellies/shellytrv-2C1165DABA8B/settings"

Posted on
Thu Feb 16, 2023 3:42 pm
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

siclark wrote:
The changing of the schedule is working, but the names are not getting populated. I have reloaded the plugin and made changes to the schedules to force Shelly to write out the new settings and see it getting processed in Indigo (but not as result of announce). but still shows up as Unknown.

How should I trigger these to be updated?

Code: Select all
   ShellyMQTT Debug                Queued MQTT message type shelly from Shelly connector
   ShellyMQTT Debug                    Processing: "{ "device":{"type":"SHTRV-01","mac":"2C1165DABA8B","hostname":"shellytrv-2C1165DABA8B","num_outputs":0},"wifi_ap":{"enabled":false,"ssid":"shellytrv-2C1165DABA8B"},"wifi_sta":{"enabled":true,"ssid":"IoT","ipv4_method":"static","ip":"192.168.0.221","gw":"192.168.0.1","mask":"255.255.255.0","dns":null},"mqtt":{"enable":true,"server":"192.168.0.41:1883","user":null,"id":"shellytrv-2C1165DABA8B","clean_session":true,"max_qos":0,"retain":true,"update_period":60},"sntp":{"server":"time.google.com","enabled":true},"login":{"enabled":false,"unprotected":false,"username":"admin","default_username":"admin"},"pin_code":"","name":"Shelly Dining TRV","fw":"20220811-152343/v2.1.8@5afc928c","discoverable":false,"build_info":{"build_id":"20220811-152343/v2.1.8@5afc928c","build_timestamp":"2022-08-11T15:23:43Z","build_version":"2022081115"},"cloud":{"enabled":true},"coiot":{"enabled":false,"update_period":3600,"peer":""},"timezone":"Europe/London","lat":51.368172,"lng":-0.394720,"tzautodetect":true,"tz_utc_offset":0,"tz_dst":false,"tz_dst_auto":true,"time":"08:16","child_lock":false,"clog_prevention":true,"display":{"brightness":7,"flipped":true},"hwinfo":{"hw_revision":"dev-prototype","batch_id":0},"sleep_mode":{"period":60,"unit":"m"},"thermostats":[{"target_t":{"enabled":true,"value":21.0,"value_op":8.0,"units":"C","accelerated_heating":false},"schedule":true,"schedule_profile":2,"schedule_profile_names":["Dining Room","Dining Room WFH","Bedroom","Bedroom 1","Holiday"],"schedule_rules":["0600-0123456-19","0730-01234-21","2000-01234-18","2300-0123456-12"],"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}] }" on topic "shellies/shellytrv-2C1165DABA8B/settings"


Do you ever see the "schedule_profile_names" key in the logs when the device publishes to "shellies/shellytrv-2C1165DABA8B/info", or is it only on the settings? That data coming over MQTT is missing from their documentation, but I'll just go off of your example.

The latest version subscribes to that settings topic too and should read the profile names from it. Please give that a try and let me know.

https://github.com/AaronLionsheep/Shell ... ue-132.zip

Posted on
Thu Feb 16, 2023 3:52 pm
siclark offline
Posts: 1960
Joined: Jun 13, 2017
Location: UK

Re: Shelly TRV

Cheers. It’s only in settings as far as I have seen.


Sent from my iPhone using Tapatalk

Posted on
Sun Feb 19, 2023 8:25 am
aaronlionsheep offline
Posts: 260
Joined: Feb 24, 2019
Location: Virginia, USA

Re: Shelly TRV

siclark wrote:
Cheers. It’s only in settings as far as I have seen.


Sent from my iPhone using Tapatalk


Just checking in to see if you got a chance to try the new version. I’d like to get this version released if you are happy with everything. I’ve got the Python 3 version almost ready go that I’d like to get released to everyone after I wrap up the TRV device.

Who is online

Users browsing this forum: No registered users and 1 guest