-
Notifications
You must be signed in to change notification settings - Fork 0
usage
When Indigo is restarted or the plugin is reloaded, the plugin will initialise all TRV Controller devices and evaluate and action any defined schedules.
The TRV Controller devices are listed within the Indigo Home Window (that lists devices). The relevant Device info listed in the Window is as follows:
| Column | Description |
|---|---|
| State | Shows TRV Controller state, either a single temperature (from the controlled TRV) or a pair of temperatures (Remote thermostat, controlled TRV). |
| Device Name | User defined. |
| Address | The Z-Wave address of the controlled TRV. |
| Notes | User defined. |
| Folder | User defined. |
| Model | 'TRV Controller' |
| Protocol | 'TRV' 😃 |
| Firmware | Set to the version of the currently installed TRV Controller plugin. |
The plugin is implemented as an Indigo Thermostat Device, so the built-in Indigo controls can be be used to control the TRV Controller device:

The various built-in controls are described below:
| Built-In Control | Description |
|---|---|
| Heat Setpoint arrows | Click on the arrows to adjust the Heat Setpoint up or down, one degree at a time. |
| Mode | Whilst the Indigo UI lists a default set (non-modifiable) of different Modes for the TRV Controller device, only Off and Heat On are actioned. |
| Send Status Request | This will retrieve the current temperatures from the controlled TRV and any remote thermostat. |
The following states are shown in the Device Details pane (see image above):
| State | Description |
|---|---|
| Battery Level | The battery level shown is the lowest of the controlled TRV and remote thermostat (if remote thermostat enabled and a battery device). |
| Temperature. | Shows TRV Controller temperature, either a single temperature (from controlled TRV) or a pair of temperatures (Remote thermostat, controller TRV). |
| Last Update | The date and time the TRV Controller device was last updated. |
The plugin provides the following custom states (in ~ alphabetical order):
| State | Description |
|---|---|
| advanceActive | true if Advance is active, else false. |
| advanceActivatedTime | Inactive or the time Advance was activated HH:MM. e.g. 13:40. |
| advanceStatusUi | Description of Advance e.g. Advanced to S3 'Start at 15:00' at 13:40. |
| advanceToScheduleTime | The time of the schedule advanced to HH:MM e.g. 15:00. |
| batteryLevel | Percentage value [integer] of the lowest of the battery level of the controlled TRV and remote thermostat (if enabled and a battery device). |
| batteryLevelRemote | Percentage value [integer] of the battery level of the remote thermostat. If no remote thermostat enabled or not a battery device, it will be 0. |
| batteryLevelTrv | Percentage value [integer] of the battery level of the controlled TRV. |
| boostActive | true if Boost is active, else false. |
| boostDeltaT | 0 if Boost not active or Boost Mode not Delta T else Number of degrees above measured ambient to boost temperature by e.g. 5.0. |
| boostMinutes | Number of minutes to action the Boost for e.g. 20. |
| boostMode | 1 = 'Delta T', 2 = 'Setpoint', 3 = 'Inactive' |
| boostModeUi | Blank if Boost not active else Delta T or Setpoint |
| boostSetpoint | 0 if Boost not active or Boost Mode not Setpoint else desired Boost Heat Setpoint e.g. 21.0 |
| boostStatusUi | Blank if Boost not active else e.g. 11:34 - 11:54 [DeltaT = +5.0] |
| boostTimeEnd | HH:MM e.g. 11:54 |
| boostTimeStart | HH:MM e.g. 11:34 |
| controllerMode | 1 = 'Auto Schedule Control', 2 = 'UI Control', 3 = 'TRV Hardware Control', 4 = 'TRV UI Control', 5 = 'Remote Hardware Control', 6 = 'Remote UI Control' |
| controllerModeUi | Auto Schedule Control, UI Control, TRV Hardware Control, TRV UI Control, Remote Hardware Control, Remote UI Control |
| eventReceivedDateTimeRemote | N/A if no remote or remote is a Z-Wave device else YYYY-MM-DD HH:MM:SS e.g. 2019-01-25 11:38:26 |
| extendActivatedTime | Inactive or HH:MM e.g. 21:10 |
| extendActive | true if active, else false |
| extendLimitReached | false if limit not reached else true |
| extendMinutes | 0 if Extend inactive else e.g. 15 |
| extendScheduleNewTime | Inactive or e.g. 22:15 |
| extendScheduleOriginalTime | Inactive or HH:MM e.g. 22:00 |
| extendStatusUi | Blank if Extend not active else e.g. S4 'End at 22:00 => 22:15' at 21:10 |
| hvacOperationModeTrv | 0 = 'Off', 1 = 'Heat On' |
| nextScheduleExecutionTime | Time of next schedule processing e.g. 22:15 |
| schedule1Active | true if active, else false. |
| schedule1Enabled | true if enabled, else false. |
| schedule1TimeOn | HH:MM - 00:00 if Schedule not enabled else e.g. 06:30 |
| schedule1TimeOff | HH:MM - 00:00 if Schedule not enabled else e.g. 08:30 |
| schedule1SetpointHeat | Not Set if Schedule not enabled else desired Heat Setpoint e.g. 21.0 |
| schedule1TimeUi | Inactive if Schedule not enabled else e.g. 06:30 - 08:30 |
| schedule2Active | see schedule1Active |
| schedule2Enabled | see schedule1Enabled |
| schedule2TimeOn | see schedule1TimeOn |
| schedule2TimeOff | see schedule1TimeOff |
| schedule2SetpointHeat | see schedule1SetpointHeat |
| schedule2TimeUi | see schedule1TimeUi |
| schedule3Active | see schedule1Active |
| schedule3Enabled | see schedule1Enabled |
| schedule3TimeOn | see schedule1TimeOn |
| schedule3TimeOff | see schedule1TimeOff |
| schedule3SetpointHeat | see schedule1SetpointHeat |
| schedule3TimeUi | see schedule1TimeUi |
| schedule4Active | see schedule1Active |
| schedule4Enabled | see schedule1Enabled |
| schedule4TimeOn | see schedule1TimeOn |
| schedule4TimeOff | see schedule1TimeOff |
| schedule4SetpointHeat | see schedule1SetpointHeat |
| schedule4TimeUi | see schedule1TimeUi |
| setpointHeatOnDefault | The default Heat Setpoint used by the Thermostat Turn ON action. |
| setpointHeatMaximum | The maximum Heat Setpoint allowed by the controlled TRV device type e.g. 28.0. |
| setpointHeatMinimum | The minimum Heat Setpoint allowed by the controlled TRV device type e.g. 8.0. |
| setpointHeatTrv | The current Heat Setpoint of the controlled TRV e.g. 21.0. |
| setpointHeatRemote | If no remote thermostat enabled, then 0 else the current Heat Setpoint of the remote thermostat e.g. 21.0. |
| temperature | Temperature recorded by the TRV Contoller. Will be equal to the TRV temperature if no remote else the Remote temperature: e.g. 21.0 |
| temperatureTrv | Temperature recorded by the controlled TRV e.g. 24.0. |
| temperatureRemote | If no remote thermostat enabled, then 0 else temperature recorded by the Remote e.g. 21.0. |
| temperatureUi | If no remote thermostat enabled, then e.g. 24.0 °C else e.g. R: 21.0 °C, T: 24.0 °C |
| valvePercentageOpen | If TRV doesn't have valve control then 0 else percentage valve open 0 to 100. |
| zwaveEventReceivedDateTimeTrv | YYYY-MM-DD HH:MM:SS e.g. 2019-01-25 18:17:33 |
| zwaveEventReceivedDateTimeRemote | N/A if no remote or remote isn't a Z-Wave device else YYYY-MM-DD HH:MM:SS e.g. 2019-01-25 18:21:04 |
| zwaveEventSentDateTimeTrv | YYYY-MM-DD HH:MM:SS e.g. 2019-01-25 18:12:28 |
| zwaveEventSentDateTimeRemote | N/A if no remote or remote isn't a Z-Wave device elseYYYY-MM-DD HH:MM:SS e.g. 2019-01-25 18:21:04 |
The TRV Controller can be controlled using the built-in standard Indigo Device Actions > Thermostat Controls:
| Action | Description |
|---|---|
| Set Heat Setpoint | Indigo default action |
| Increase Heat setpoint | Indigo default action |
| Decrease Heat Setpoint | Indigo default action |
| Set Cool Setpoint | [action ignored by plugin] |
| Increase Cool Setpoint | [action ignored by plugin] |
| Decrease Cool Setpoint | [action ignored by plugin] |
| Set Main Mode | Only Modes All Off or Heat On are actioned [action for the remaining modes are ignored by plugin] |
| Get All Status | Indigo default action |
| Get Current Mode | Indigo default action |
| Get Ambient Temperature | Indigo default action |
| Get Humidity | [action ignored by plugin] |
| Get Setpoints | Indigo default action |
| Cycle Through Thermostat Modes | [action ignored by plugin] |
| Toggle Thermostat Fan Mode | [action ignored by plugin] |
In addition to the built-in device actions, the TRV Controller provides additional TRV specific actions that can be access via Device Actions > TRV Controls:
This will advance to the next schedule time, ON or OFF. For example, if the time is currently between the end of the AM schedule and start of the PM schedule then the PM on schedule state will be set. Once a schedule event occurs, advance processing is cancelled. This can be used to quickly start a scheduled heating early or end an active heating schedule early.
This will advance to the next ON schedule time. For example, if the time is currently in a schedule period schedule then the next on schedule state will be set. Once a schedule event occurs, advance processing is cancelled. This can be used to quickly start a scheduled heating early.
This will advance to the next OFF schedule time. For example, if the time is currently in between schedules, then this will skip to the off of the next schedule. Once a schedule event occurs, advance processing is cancelled. This can be used to quickly end a scheduled heating early or skip the next schedule.
This will cancel the advance state and uses the current time to set the device to a state as determined by the schedules.
This will action an Advance if Advance currently inactive and vice-versa
This will action an Advance TO ON if Advance currently inactive and vice-versa
This will action an Advance TO OFF if Advance currently inactive and vice-versa
This will boost the temperature for a specified period of time. This facility is useful to just give a quick burst of heat to a TRV controlled radiator. There are two Boost modes: Delta T and Setpoint. For Delta T, specify the number of degrees above measured ambient to boost temperature by i.e. this will be the Heat Setpoint. For Setpoint this will be the desired Boost Heat Setpoint. Specify the number of minutes you wish the boost to be active for.
Cancels the boost and uses the current time to set the device to a state as determined by the schedules.
Turns boost on if currently inactive and vice-versa. Action settings are the same as for Boost action.
This will extend the the current heating schedule for a specified period of time.
Cancels the extend and uses the current time to set the device to a state as determined by the schedules.
Resets the schedules back to device defaults. This can be used to cancel the effect of the Action Update Schedule.
This Action lists out all the defined schedules for all TRV Controller devices. The plugin always uses the Dynamic schedule to control the required heating schedule. Most times, the Dynamic schedule will reflect the Running and Default schedules. However if one of the Advance / Boost / Extend actions is in progress, the Dynamic schedule will change to reflect the action. When the action ends, the Dynamic schedule gets reset to the Running schedule. The running schedule normally reflects the Default schedule but can be overridden by the Update Schedule command.
The list only shows defined schedules for a device or indicates if no schedules are defined.
An example list:
================================================================================
== TRV Controller Plugin - Heating Schedules ==
== ==
.
.
.
== Device: 'T02 - Dining Room - Thermostat Controller' ==
== Schedule Type: 'Default' ==
== Schedule 1: 07:00 - 08:00. Setpoint = 20.0 ==
== Schedule 3: 18:30 - 20:00. Setpoint = 22.0 ==
== Schedule Type: 'Running' ==
== Schedule 1: 07:00 - 08:00. Setpoint = 20.0 ==
== Schedule 3: 18:30 - 20:00. Setpoint = 22.0 ==
== Schedule Type: 'Dynamic' ==
== Schedule 1: 07:00 - 08:00. Setpoint = 20.0 ==
== Schedule 3: 18:30 - 20:00. Setpoint = 22.0 ==
.
.
.
== Device: 'T91 - Testing - Thermostat Controller' ==
== Schedule Type: 'Default' ==
== Schedule 1: 07:00 - 08:00. Setpoint = 21.0 ==
== Schedule 2: 16:00 - 17:00. Setpoint = 21.0 ==
== Schedule 3: 19:00 - 21:00. Setpoint = 22.0 ==
== Schedule Type: 'Running' ==
== Schedule 1: 07:00 - 08:00. Setpoint = 21.0 ==
== Schedule 2: 16:00 - 17:00. Setpoint = 21.0 ==
== Schedule 3: 19:00 - 21:00. Setpoint = 22.0 ==
== Schedule Type: 'Dynamic' ==
== Schedule 1: 07:00 - 08:00. Setpoint = 21.0 ==
== Schedule 2: 16:00 - 17:00. Setpoint = 21.0 ==
== Schedule 3: 19:00 - 21:00. Setpoint = 22.0 ==
== Device: 'T94 - Testing - Thermostat Controller' ==
== No schedules defined or enabled for device. ==
== ==
================================================================================
This Action lists out all the defined schedules for a specific TRV Controller devices. See the description for Show All Schedules for details of the output.
This is used for debugging and dumps the internal data store for a specific TRV Controller device to the Indigo Event log.
This will set the heat setpoint to the value specified by the setpointHeatOnDefault in the device's configuration.
This will set the heat setpoint to the value specified by the setpointHeatMinimum in the device's configuration.
This will toggle the device's state i.e. action a Thermostat Turn ON if off and Thermostat Turn OFF if on.
If Enable Standard CSV is enabled in the plugin config and if Standard [On State Change] is set in Device settings, then all states will be output to the CSV files (this is regradless of the value of State Change Mode in the Device setting.)
If Enable Standard CSV is enabled in the plugin config and if PostgreSQL [On Demand] is set in Device settings, then the CSV files will be recreated for all states.
THis modifies the deafult schedule and will remain in effect untill the plugin is restarted. See the description for Scheduling in Installation and Setup
The TRV Controller plugin's ID is 'com.autologplugin.indigoplugin.trvcontroller'.
Scripting example to follow
TRV Controller Plugin for Indigo 7 - Copyright © 2019 Autolog