ScheduleTstatZones

The Unofficial SmartThings Blog
Jump to: navigation, search


This smartapp is Y-R-keen-approved.png

Category: My Apps

Author:Yves Racine

ST Community handle: http://community.smartthings.com/users/yvesracine/activity

Company Link: http://www.ecomatiqhomes.com#!home/mainPage



You can now download the smartapp at my store:

http://www.ecomatiqhomes.com/store




Contents

Article(s) in the media

   http://medium.com/@KeenHome/smartthings-and-smart-vents-5a61234fa7a3#.19lf2bqz6


Summary

ScheduleTstatZones, the smartapp that enables heating/cooling zoned solutions at your home- can be coupled with smart vents (optional) for better temp settings control throughout your home


Prerequisites

 * An operational SmartThings hub fully configured (i.e. location set) 
 http://docs.smartthings.com/en/latest/publishing/index.html#ensure-proper-location
 * Some basic ST skills to create custom apps (see troubleshooting, item 1)
 * Main thermostat ( Z-wave, Zigbee, wi-fi): need to be connected to ST and corresponding DTH must follow all standard ST thermostat capabilities 
 * To leverage all the features (smart zoning, alternative cooling) of the smartapp when used with a Nest Thermsostat, you'd need to use MyNextTstat, refer to
   http://thingsthataresmart.wiki/index.php?title=My_Next_Tstat
 * Smart Vents (optional) such as Keen Home Smart Vents, Econet, Ecovent and the Flair Vents

N.B. For the Keen Home vents: I recommend to use the following DTHs (to avoid too much polling):

       https://github.com/yracine/keenhome.device-type (refer to the README for the installation steps and how to use the configure tile to avoid excessive polling).
       https://github.com/constjs/jcdevhandlers/tree/master/devicetypes/jscgs350/my-keen-home-smart-vent.src
    For the Flair vent, refer to 
    http://thingsthataresmart.wiki/index.php?title=My_Flair_Vent
 * ST Temperature Sensors in your rooms (optional) : for optimal cooling/heating setpoints and vents' adjustments 
   => Do not use the ones attached to the smart vents as the temp readings are affected by the airflow.
 * ST Motion sensors (optional): to detect if rooms are occupied
 * ST Contact sensors (optional) for opening/closing the vents when contacts are open/closed
 * Determine your shard, please consult this thread:
  https://community.smartthings.com/t/faq-how-to-find-out-what-shard-cloud-slice-ide-url-your-account-location-is-on/53923
  Or the SmartThings documentation here:
  http://docs.smartthings.com/en/latest/publishing/index.html#ensure-proper-location
 * If you want to use the average temp calculation built-in the smartapp (optional) for your ecobee thermostat, 
  you should deactivate the ecobee remote sensors' participation in any climate settings at ecobee as my smartapp will likely be in conflict 
  with the ecobee's remote sensor logic.
 * Be aware that the app has been designed to take over your ST thermostat and make automatic adjustments to your setpoints.        
   If you use other ST routines/smartapps (than my smartapps) to set your setpoints, they may be overridden at the next app cycle (every 5 minutes).

Supported Features

  • User friendly Dashboard and workflow pages for easier setup (i.e. Dashboard->GeneralSetup->RoomsSetup->ZonesSetup->SchedulesSetup-> NotificationSettings).
  • Support of all ST connected thermostats (zigbee, z-wave, wi-fi,etc.) including Nest, Honeywell Lyric, etc.
  • Flexible schedule definition: you can define up to 12 schedules for your zones (mornings, weekdays, evenings, nights, weekends, etc.)
  • Control of zone/room thermostats (eTRVs, portable heaters/coolers, mini/window splits) as slave thermostats: you can elect one thermostat as the master and the slave thermostats can be synched in terms of mode & setpoints.
  • Choice of temp calculation method (Average, Median, Minimum, Maximum, Heat/Min-Cool/Max) based on all room temp sensors inside the zone so that your heat/cool settings are adjusted at the main thermostat even if your rooms are far away. The average calculation is similar to the ecobee3's follow me feature with its remote sensors.
  • For each schedule, ST users can define the start & end times, the thermostat's heating/cooling setpoints (or climates for ecobee), the max temp adjustment based on the chosen calculation method (avg, median, min, max, etc.)
  • Here are some explanations on the setpoints adjustment based on the avg temp calculation method.
  You can always set the max temp adjustment in each Schedule to avoid too large temp adjustment (by default, it is set to 5F).                                        
  The parameter is called max_temp_adjustment and it overrides any calculation when the calculated temp adjustment is bigger than the max temp adjustment.  
  The setpoints adjustment is based on the following formula:
  Offset to be applied to setpoint = (avg Temp at your sensors) - (ambient temperature at your thermostat)
  Ex. offset = 72F (avg at your sensors) - 75F (temp at your thermostat)
  offset = -3
  new setpoint = scheduled baseline - offset
  new setpoint = 74 - (-3)
  new setpoint = 77
  • You can set your schedules to run only for some routines/ST hello modes (ex. 'Away', 'Home', 'Night', or your own customized ones )
  • For each schedule, you can assign the included zone(s) according to your own requirements (ex. Upstairs bedrooms, 1st level, basement, etc)
  • You can define up to 8 zones for your home which can include up to 16 rooms
  • For each room, you can indicate not only the vent switches (up to 5 per room) to be controlled, but also any ST temp sensor, ST motion sensor,ST contact sensor, room thermostat that can help you to better control the temp/vent settings inside the zoned rooms
  • For each room, the occupied threshold (in minutes) can be customized based on your own needs
  • Ability to set your smart thermostat to 'Away' or 'Present' based on all rooms' motion sensors
  • Ability to set the thermostat's fanMode ('on', 'auto', 'circulate') during a specific schedule
  • Ability to trigger the thermostat's fan based on some indoor temp differential. The temp differential can be customized for each schedule.
  • Ability to adjust your main thermostat's settings (every 5 minutes) based on an outdoor temp sensor (optional)
  => coolModeThreshold: set the thermostat to 'cool' mode according to a given outdoor temp threshold
  => heatModeThreshold: set the thermostat to 'heat' mode according to a given outdoor temp threshold
  => moreHeatThreshold: increase the heating setpoint according to a given outdoor temp threshold
  => moreCoolThreshold: increase the cooling setpoint according to a given outdoor temp threshold
  => moreFanThreshold:  set the thermostat's fanMode ('on', 'auto', 'circulate') according to a given outdoor temp threshold
  • Support of ecobee climate settings for temp&fan settings
  • Alternative cooling/air circulation features:
   => You can trigger some evaporative cooler/damper/fan switches based on an ideal humidity/temp internal table or some outdoor temp threshold. 
   => The switches can also be triggered based on some temp differential between your indoor temp sensors in the scheduled zone(s)


  • Virtual zones definition even if your actual home setup does not include vents
  • Option to control room thermostats for radiators, eTRV (hot water valves), radiant floors, fireplaces, electric baseboards, or others
  => You can set a temp delta for each zone based on the main thermostat's setpoints for colder/hotter rooms
  => You can automatically control the room/zone tstat's fan speed based on a given temp differential value in the scheduled zone(s).
  => You can automatically turn off the room/zone tstats that are not part of the running scheduled zones.
  • Automatic (proportional) adjustments of the vent settings so that your occupied rooms (based on motion detection) will get the most heating/cooling during a schedule run.
  => By default, the vents are adjusted if the main thermostat's Operating State is not 'Idle' (so your HVAC is either 'Heating' or 'Cooling' or the fan is running).  
  => If you want to adjust the vents more often, then there is an option in ScheduleSetup>VentSettings to adjust the vents at every cycle (every 5 minutes)
  => The smartapp has the option to open all vents when the thermostat's OperatingState is Fan Only (In SchedulesSetup>VentSettings).  
  => This last option can be enabled on a schedule to schedule basis when needed.
  • Note: This smartapp will adjust your vents (if any) based on the target thermostat setpoints for the scheduled zone(s).
  If you want to adjust the vents based on some room's ambient temperature thresholds, please look at ScheduleRoomTempControl instead.
   http://thingsthataresmart.wiki/index.php?title=ScheduleRoomTempControl
  • If you want to control your smart vents with this smartapp, the following safeguards have been implemented to avoid damaging your HVAC:
  => It checks each vent's temperature and makes sure that it's within the minimum and maximum range to provide safe operation.  
        If not within the safe temp range (between 45 and 130 degrees Farenheit), it will notify you & open all vents
  => It checks the ratio of closed vents/total connected vents and will ensure that the ratio is not higher than 50%
  => It ensures that there is a minimum open level (set to 10% by default and it's customizable) for any vents inside the zone(s) scheduled at a given time 


  • However, if the ST user wants to bypass the above safeguards, then he/she can do it by setting the bypassSafeguards flag to 'true' (1st setup page: General Setup, scroll down for more options)
  • Please take note of the following warning about the safeguards:
  => You may want to do some research in order to avoid closing too many vents in your home (based on your HVAC model).
  • The smartapp can be manually activated by pressing on its 'arrow' icon anytime (next to its name)
  • The smartapp can be temporarily deactivated (on hold) with a power (virtual or physical) switch (optional parameter)
  • The smartapp is compatible with the US and metric systems (Farenheit and Celsius)
  • Ability to use alternative cooling using a Damper, big Fan, evaporative cooler switch when needed
  • The smartapp can automatically switch to alternative cooling when it's efficient based on an outdoor sensor and a temperature/humidity values table or just based on an outdoor temp threshold (configurable option).
  • ConfigDisplayPage (see screenshots below in Look&Feel section)

The running schedule config page shows the running schedule(s) with all zones and room parameters which may affect the thermostat and/or smart vent settings.

You can also use the page to setLevel Overrides for your each of your smart vents in the zoned rooms.

  • 3 levels of vent settings

1) The smartapps can calculate the best level based on each room's temperature and motion detection.

The right level is calculated based on the room's temp offset (differential) vs. the desired setpoint at your thermostat divided by the average temp offset for all rooms in your zone(s).

That way, the colder/hotter rooms will get more heating/cooling.

2) The vent settings can be overridden for all vents in the scheduled zone(s)/room(s) during a schedule run

Example: During the morning schedule, set all my vents to 100%.

3) Each vent's level can be overridden at the room level

Example: Set my bedroom's vents level to 60% and my living room vents level to 25% even if all my other smart vents are set to 100% at the schedule level.

  • Override setLevel Bypass at Schedule Level

For a specific Schedule, you can now bypass all vents's overrides set (ex. at night, bypass all overrides, and set all my zoned rooms' vents to 40%).

Look & Feel

Virtual Zones devices


MyVirtualZoneP0.png MyVirtualZoneP1.png

N.B. The fields are updated every 5 minutes (not real time)

The following UI tiles can be used for controlling the zone:

- The delta temp can be increased or decreased using the up and down arrows (vs. the setpoints set at your thermostat)

- The zone can be made 'active' or 'inactive' using the active tile

- All the vents in the zone can be open or closed manually by pressing the switch tile (on/off).


The other UI fields are read only:


- Thermostat mode and setpoint

- Status of all contacts in the zone (closed or open)

- Status of all motion sensors in the zone (motion or no motion)



Dashboard


STZ P1.jpgSTZ P2.jpg


General Setup


STZ General P1.jpgSTZ General P2.jpg


Rooms Setup

STZ RoomSetup.jpgSTZ RS P1.jpg STZ RS P2.jpgSTZ RS P3.jpg


Zones Setup


STZ ZoneSetup.jpgSTZ ZS P1.jpg

Schedules Setup


STZ ScheduleSetup.jpgSTZ SS P1.jpg STZ SS P2.jpgSTZ SS P3.jpg STZ SS P4.jpgSTZ SS P5.jpg


Running Schedule(s) Config


STZ Config P1.jpgSTZ Config P2.jpg STZ Config P3.jpgSTZ Config P4.jpg STZ Config P5.jpg


Notification


ESZWS Notification.jpg

Configuration

Here are some typical use cases. For your specific use cases, you may want to contact the author (there may be some consulting fees applied).

The following use cases can be executed with any ST connected thermostat models and any ST connected temperature, motion & contact sensors (provided that they follow the standard ST capabilities).


......................................................................................................................................

Use case #1: I have a single HVAC system with 1 main thermostat

......................................................................................................................................

I have a single HVAC system (with 1 main thermostat), several rooms, and I want to average out my setpoints at my main thermostat only when specific rooms are occupied during the day.

Let's say that you want to configure 3 main zones: Ground Floor, Basement, & Upstairs. And, that you want to have 3 different schedules: 'Home', 'Away', 'Sleep'.


  • a) First, you'd need to define your default settings at your thermostats (if your settings can be used within SmarThings, ex. ecobee).


 Example1: default 'Home': Beginning time: 5:30pm, End time: 11:30pm, Cool Temp: 75, Heat Temp: 72
 Example2: default 'Sleep': Beginning time: 11h30pm to 8h00am, Cool Temp: 70, Heat Temp: 70
 Example3: default 'Away': Beginning time: 8h00am, to 5h30pm, Cool Temp: 77, Heat Temp: 66


FYI, the smartapp also allows the ST hello mode (location mode) association in the Schedules set up.



  • b) General Setup> On the 1st setup page of the smartapp, you need to specify the number of rooms, the number of zones (3), and the number of schedules (3) to be configured, and your main thermostat.


  • c) General Setup> As you want to adjust the thermostat's cooling & heating setpoints according to motion in your 'occupied' rooms, you'd need to set the following parameter to 'true':
   section("Enable temp adjustment based on indoor temp/motion sensor(s) [optional, default=false]") {
       "Enable temp adjustment based on avg temp collected at indoor sensor(s)?"
   }

  • d) Rooms Setup> just configure the different rooms in your house
  • e) For each room, when you want to use for average temp calculation, you'd need to indicate which temperature sensor to be used.
   section("Room ${indiceRoom}-TempSensor [optional]") {
       "Temp sensor for better temp adjustment", "capability.temperatureMeasurement"
   }

  • f) Rooms Setup> for each room, when you want to use for average temp calculation when occupied, you'd need to indicate which motion sensor to be used.


   section("Room ${indiceRoom}-MotionSensor [optional]") {
       "Motion sensor (if any) to detect if room is occupied", "capability.motionSensor"
   }

  • g) Rooms Setup> For each room where you want to check if it's occupied or not, you need to set the following flag parameter to 'true' and the number of minutes (past time window) used to determine whether the room is occupied or not.
   section("Room ${indiceRoom}-Do temp/vent adjustment when occupied room only [optional]") {
       "Will do temp/vent adjustement only when Occupied [default=false]"
   }
   section("Room ${indiceRoom}-Do temp/vent adjustment with this occupied's threshold [optional]") {
       "Threshold in minutes for motion detection [default=15 min]" 
   }


  • h) Zones Setup> You need to configure the 3 zones in your home: Ground Floor, Basement, and Upstairs and include the rooms in the proper zones that you want to control later with your schedules.


  • i) Schedules Setup> you'd need to configure at least 1 schedule ('Home') for your 'motion' settings when the zone is occupied

If you have a z-wave or zigbee thermsostats with no scheduling capabilities, then you need to first set up your generic 'schedules' with no motion settings (as indicated as example in a), and then, after the specific schedules for your 'motion' settings.

Schedules can override in the same time slots, but you need to configure (in schedules 1,2,3) the generic ones first (for no motions events), and then, the specific ones after (for motion events).

  • j) Schedules Setup> you configure the day of the week and start & end times, and your setpoints for each schedule.
   section("Schedule ${indiceSchedule}- Day & Time of the desired Heating/Cooling settings for the selected zone(s)") {
       "Which day of the week to trigger the zoned heating/cooling settings?",
                       metadata: [
                           values: [
                               All Week',
                               'Monday to Friday',
                               'Saturday & Sunday',
                                'Monday',
                                'Tuesday',
                                'Wednesday',
                                'Thursday',
                                'Friday',
                                'Saturday',
                                'Sunday'
       "Beginning time to trigger the zoned heating/cooling settings"
       "End time"
   }
   section("Schedule ${indiceSchedule}-Desired Cool Temp in the selected zone(s) [optional,when no program/climate available]") {
       "Cool Temp, default = 75°F/23°C" 
   }
   section("Schedule ${indiceSchedule}-Desired Heat Temp in the selected zone(s) [optional,when no program/climate available]") {
       "Heat Temp, default=72°F/21°C" 
   }


  • k) Notifications & Other Settings> On the last setup page, set the following input parameter to true (at least at the beginning) to get detailed notifications on what the smartapp does.

You can change this setting later when it's no longer needed.

   section("Detailed Notifications") {
       "Detailed Notifications?", metadata: [values: ["true", "false"]], 
   }


N.B. You can now choose the temp calculation method (Average, Median, Minimum, Maximum, Heat Min/Cool Max) in General Setup if you feel that the average temp calculation (by default) doesn't match your specific situation at your home.


......................................................................................................................................

Use case #2: I have a large house with many inter-linked zones

......................................................................................................................................


I have a large house with many built-in zones (and many zone/room thermostats), and I want to heat/cool only specific zones when they are occupied during the day.

In this use case, you need to elect one thermostat as the master for all your zones (otherwise, refer to the next use case).

Let's say that you want to configure 3 Nest thermostats, each linked to a different HVAC system: Ground Floor, Basement, & Upstairs.

And, that you want to trigger the right zone thermostat only when its associated rooms are occupied.


  • a) First, you'd need to define your default settings at your thermostats

Those settings will apply when there is no motion in your zones.

You can use the Nest or Honeywell portal to do so or the physical thermostat.

 Example1: default 'Home': Beginning time: 5:30pm, End time: 11:30pm, Cool Temp: 75, Heat Temp: 72
 Example2: default 'Sleep': Beginning time: 11h30pm to 8h00am, Cool Temp: 70, Heat Temp: 70
 Example3: default 'Away': Beginning time: 8h00am, to 5h30pm, Cool Temp: 77, Heat Temp: 66


Please note that if you are using a z-wave or zigbee thermostat as your main HVAC thermostat OR you want to control your vent settings (refer to use case no 4), then you'd need to create all your schedules within the smartapp (i.e. including the default settings as described above).

FYI, the smartapp also allows the ST hello mode (routine) association in the Schedules set up.

N.B. I recommend to use your own thermostat's scheduling (available to some ecobee, Nest or Honeywell thermostat models) as much as possible as it is usually more reliable than the ST scheduling.


  • b) General Setup> On the 1st setup page, do not forget to set the following flag to 'true' (optional):
   section("Enable temp adjustment based on indoor temp/motion sensor(s) [optional, default=false]") {
       "Enable temp adjustment based on avg temp collected at indoor sensor(s)?"
   }


  • c) Rooms Setup> for each room, set the right zone thermostat and the room's motion sensor, along with the following input parameters:


   section("Room ${indiceRoom}-Thermostat [optional]") {
       "Zone or Room thermostat to be set", "capability.thermostat
   }
   section("Room ${indiceRoom}-MotionSensor [optional]") {
       "Motion sensor (if any) to detect if room is occupied", "capability.motionSensor", 
   }
   section("Room ${indiceRoom}-Do temp/vent adjustment when occupied room only [optional]") {
       "Will do temp/vent adjustement only when Occupied [default=false]"
   }
   section("Room ${indiceRoom}-Do temp/vent adjustment with this occupied's threshold [optional]") {
       "Threshold in minutes for motion detection [default=15 min]"
   }
  • d) Zones Setup> you need to configure the 3 zones in your home: Ground Floor, Basement, and Upstairs and include the rooms in the proper zones that you want to control later with your schedules.


  • e) Schedules Setup> you configure the start & end times, and your 'motion' setpoints for each schedule applicable ('Home' and others) based on your zones
   section("Schedule ${indiceSchedule}- Day & Time of the desired Heating/Cooling settings for the selected zone(
           title: "Which day of the week to trigger the zoned heating/cooling settings?",
                   multiple: false,
                       metadata: [
                           values: [
                               All Week',
                               'Monday to Friday',
                               'Saturday & Sunday',
                                'Monday',
                                'Tuesday',
                                'Wednesday',
                                'Thursday',
                                'Friday',
                                'Saturday',
                                'Sunday'
       "Beginning time to trigger the zoned heating/cooling settings",
       "End time",
   }
   section("Schedule ${indiceSchedule}-Desired Cool Temp in the selected zone(s) [optional,when no program/climate available]") {
       "Cool Temp, default = 75°F/23°C", 
   }
   section("Schedule ${indiceSchedule}-Desired Heat Temp in the selected zone(s) [optional,when no program/climate available]") {
       "Heat Temp, default=72°F/21°C", 
  }


  • f) Schedules Setup> If you just want to set your setpoints at your zone/room thermostat(s) and do not want to do any temp or vent adjustment in your zone(s), for each schedule, set the following parameter to 'true'.


  section("Schedule ${indiceSchedule}-Set Zone/Room Thermostats Only Indicator [optional]") {
      "Set room thermostats only [default=false,main & room thermostats setpoints are set]", metadata: [values: ["true", "false"]]
   }


  • g) Notifications & Other Settings> On the last page, set the following input parameter to true (at least at the beginning) to get detailed notifications on what the smartapp does.

You can change this setting later when it's no longer needed.

   section("Detailed Notifications") {
       "Detailed Notifications?", metadata: [values: ["true", "false"]] 
   }


Then, the smartapp will only set your zone/room thermostat(s) to the schedule's predefined setpoints when one of the rooms inside a zone is 'occupied'.

If you have different setpoints for each of your zone thermostats during the same time slots, you would then need to configure different combinations of zones/schedules (with their own predefined setpoints) for each thermostat.

N.B. In the smartapp, schedules can override each other, but you need to define the generic ones (or default ones) first, and then the specific ones for your 'motion' settings.*


......................................................................................................................................

Use case #3: I have a large house with many independent zones

......................................................................................................................................

I have a large house with many built-in zones (and many zone/room thermostats), and I would like to set and adjust my setpoints/vents independently in each zone


You'd need to follow the steps described in use case 1 and create several instances of the smartapp (one instance per zone thermostat). Each zone thermostat would be the main thermostat. You'd need to rename the smartapp at the last setup page.


......................................................................................................................................

Use case #4: I want to control my smart vents to create my physical zones using the smartapp

......................................................................................................................................

You then need to define all your schedules as indicated in the previous use cases (1 or 2 depending on your requirements), and set the following parameters.

  • a) General Setup> On the 1st setup page, do not forget to set the following flag to 'true':
    section("Vent Control settings [optional, default=false]") {
        "Set Vent Settings - Enable Vent Control?"
    }
  • b) Rooms Setup>VentSettings> for each room, set your smart vents by using the following parameters:
    section("Room ${indiceRoom}-Vents Setup [optional]")  {
         "Vent switch no ${j} in room", "capability.switch" 
     }           

By default, the smartapp sets the smart vents' level based on the ratio of the current temperature in a room compared to the target cool/heat setpoint divided by the average temp differential collected from all temp sensors in the scheduled zone(s). The vents' adjustment is also done only when your HVAC is running (according to thermostatOperatingState: cooling, heating, fan only) in order to save the vents' batteries.

The algorithm will then direct more airflow (heat/cool) to the zoned rooms that need it based on the target heating/cooling setpoints set in Schedules. Make sure to include all your zones in the corresponding Schedules. For any rooms that are not part of the scheduled zones, the vents will be closed to the minimum level set in General Setup according to your safeguards.


It will only take into account your occupied rooms if applicable.

If you want to override the smartapp's calculations, you can do it at 2 levels:

  • i) Schedules Setup> Vent Settings> At the Schedule level by using the following parameters:
   "Set all Vents in Zone(s) to a specific Level during the Schedule"
   "Bypass all vents overrides in zone(s) during the Schedule (default=false)?"
  • ii) Rooms Setup> At the room level, for each smart vent defined:
   "set vent no ${j}'s level in room [optional, range 0-100]"


Please take note of the safeguards in the Supported Features section above. As specified, the smartapp will never close all the vents inside a zone in order to avoid excessive airflow pressure inside your vents.

Also, if you have set up some zone/room thermostats as specified in the previous use case, make sure that the Set Zone/Room Thermostats Only Indicator is set to 'false'; otherwise no vent adjustments will be done as this flag means that the main thermostat should not be considered for any setpoints and vent adjustments.

c) Schedules Setup>Vent Settings> If you want to adjust the vents every 5 minutes during a schedule run, you'd need to set the following parameter to 'true' (by default, it is set to 'false'):

   section("Schedule ${indiceSchedule}-Adjust vent settings every 5 minutes [optional]") {
       "Adjust vent settings every 5 minutes (default=only when heating/cooling/fan running)?", 
   }


  • d) (Optional) GeneralSetup>If you want to introduce a delay in seconds before setting the vents when your HVAC is running (heating,cooling, fan only), then you can use the following input parameter in the GeneralSetup page:
   "Delay in seconds after HVAC is running (heating, cooling, fan only) for vent settings (10..120)?", type:"number",

......................................................................................................................................

Use case #5: I would like to bypass and fully close my vents or modify the safeguards

......................................................................................................................................


  • If you want to control your smart vents with this smartapp, the following safeguards have been implemented to avoid damaging your HVAC:
 => It checks each vent's temperature and makes sure that it's within the minimum and maximum range to provide safe operation.  
    If not within the safe temp range (between 45 and 130 degrees Fahrenheit), it will notify you & open all vents
 => It checks the ratio of closed vents/total connected vents and will ensure that the ratio is not higher than 50%
 => It ensures that there is a minimum open level (set to 10% by default and it's customizable) for any vents inside the zone(s) scheduled at a given time 
  • However, if the ST user wants to bypass the above safeguards, then he/she can do it by setting the bypassSafeguards flag to 'true' (1st setup page: General Setup, scroll down for more options).


  • a) General Setup> in the 1st setup page, just set the following input parameter to 'true':
   section("Bypass the safeguards [default=some safeguards are implemented to avoid closing them totally ]") {
       "Close the vents totally?", type:"bool",

As specified in the features section, the smartapp will (by default) partially close the vents to avoid damage to your HVAC. By setting the above parameter to 'true', the safeguards will not be implemented, and your vents will be fully closed.


  • b) General Setup>If you want to keep the safeguards, you can also modify the following safeguards to tailor them to your HVAC.
   "Safeguard's Minimum Vent Level in Zone",  description: "[default=10%]")
   "Safeguard's Minimum Vent Level Outside of the Zone",  description: "[default=25%]")
   "Safeguard's Maximum Vent Temp", description: "[default= 131F/55C]") 
   "Safeguard's Minimum Vent Temp", description: "[default= 45F/7C]")


......................................................................................................................................

Use case #6: I want to adjust my cooling and heating setpoints based on some outdoor temp thresholds

......................................................................................................................................

  • a) General Setup> In the 1st setup page, do not forget to set the following flag to 'true':
   section("Enable mode/temp adjustment based on outdoor temp sensor [optional, default=false]") {
       "Enable mode/temp adjustment based on outdoor sensor?"
   }
  • b) General Setup> In the 1st setup page, do not forget to set your outdoor weatherStation or temp sensor.
   section("Outdoor temp Sensor used for adjustment [optional]") {
      "outTempSensor", type:"capability.temperatureMeasurement"
   }


  • c) General Setup> for each schedule when the adjustement is required, you'd need to configure your different oudoor temp thresholds. Each threshold is optional, so you can choose or not to enter a value.
    section("Schedule ${indiceSchedule}-More Heat/Cool Threshold in the selected zone(s) based on outdoor temp Sensor [optional]") {
       "Outdoor temp's threshold for more heating", 
       "Outdoor temp's threshold for more cooling",
    }

......................................................................................................................................

Use case #7: I want to set/adjust my thermostat mode based on some outdoor temp threshold

......................................................................................................................................


  • a) General Setup> In the 1st setup page, do not forget to set the following flag to 'true':
   section("Enable mode/temp adjustment based on outdoor temp sensor [optional, default=false]") {
       "Enable mode/temp adjustment based on outdoor sensor?"
   }
  • b) General Setup> On the 1st setup page, do not forget to set your outdoor weatherStation or temp sensor.
   section("Outdoor temp Sensor used for adjustment [optional]") {
      "outTempSensor", type:"capability.temperatureMeasurement"
   }
  • c) Schedules Setup> for each schedule when the adjustment is required, you'd need to configure your different oudoor temp thresholds
   section("Schedule ${indiceSchedule}-Switch thermostat mode (auto/cool/heat) based on this outdoor temp range [optional]") {
       "Heat mode threshold", 
       "Cool mode threshold", 
    }

The thermostat's mode will then be switched from 'cool' to 'heat' and vice versa based on the outdoor temp sensor. If the outdoor temperature is between the 2 thresholds, then the thermostat mode will be set to 'auto'.


......................................................................................................................................

Use case #8: I want to set/adjust my fan mode during a schedule run

......................................................................................................................................

  • a) General Setup> On the 1st setup page, do not forget to set the following flag to 'true':
   section("Enable fan adjustment based on indoor/outdoor temp sensors [optional, default=false]") {
       "Enable fan adjustment set in schedules based on sensors?", type:"Boolean",
   }
  • b) Schedules Setup>Fan Settings, for each schedule when new fan settings are required, you'd need to configure your fan settings
   section("Schedule ${indiceSchedule}-Set Fan Mode [optional]") {
       "Set Fan Mode ['on', 'auto', 'circulate']", metadata: [values: ["on", "auto", "circulate"]], required: false
   }


  • c) Schedules Setup>Fan Settings> if you only want to override (not set systematically) the fan settings based on indoor/outdoor conditions, then you'd need to set the following parameter to 'true'. This setting is required if you want to use a temp differential in the zone(s) for triggering the HVAC fan as an example.


    "Override Fan Mode only when Outdoor Threshold or Indoor Temp differential is reached(default=false)", 


  • d) Schedules Setup>Fan Settings> The smartapp can override your fan settings based on indoor temp sensors: if your avg temp differential inside a zone is greater than the following parameter:


   "Max Temp Differential in the active zone(s) to trigger Fan mode above", 

The smartapp will then apply the fan settings override for the schedule.


......................................................................................................................................

Use case #9: I would like to set my main thermostat to 'Away' or 'Present' based on my motion sensors

......................................................................................................................................

This feature is supported only by ecobee, Nest, and some Honeywell thermostats.

N.B. Your ST thermostat's device handler must have implemented the 'away()' and 'present()' methods.

  • a) General Setup> On the 1st setup page, do not forget to set the following flag to 'true':
   section("Set your main thermostat to [Away,Present] based on all Room Motion Sensors [default=false] ") {
       "Set Main thermostat to [Away,Present]?"
   }

You should be all set! The smartapp will then send the 'Away' and 'Present' command to the thermostat depending on all motions sensors in my rooms setup (active or inactive states).


......................................................................................................................................

Use case #10: Control of zones/room thermostats

......................................................................................................................................

I would like to also synchronize my zone/room thermostats' mode and setpoints for my baseboard heaters, mini/window splits, portable heaters/coolers, fireplace, hot water valves, eTRVs, or any other temperature controlled devices (with thermostat capabilities) connected to ST according to my master's thermostat settings.

The master thermostat is then used to control all the zone/room thermostats which are considered as "slave" thermostats.


For window/mini splits, portable heaters/coolers, the recommended thermostat device is called My Flair HVAC Unit. You can also use the Remotec ZXT-120 or the Sensibo custom DTHs.

For the Flair HVAC Unit, refer to


  • a) Rooms Setup> for each room if applicable, do not forget to set your room thermostat:
   section("Room ${indiceRoom}-Thermostat [optional]") {
       "Zone or Room thermostat to be set", "capability.thermostat" 
   }


  • b) Schedules Setup> leave the following input parameter to 'false' (if you want to set your main thermostat and your room thermostats):
   section("Schedule ${indiceSchedule}-Set Zone/Room Thermostats Only Indicator [optional]") {
       "Set room thermostats only [default=false,main & room thermostats setpoints are set]", metadata: [values: ["true", "false"]]
   }

You're done with this use case configuration!


......................................................................................................................................

Use case #11: I would like to temporarily put the smartapp's processing on hold for a while.

......................................................................................................................................

  • a) General Setup>on the 1st setup page, set the following power switch:
   section("What do I use for the Master on/off switch to enable/disable smartapp processing? [optional]") {
       "powerSwitch", type:"capability.switch"
   }

If you want to use a virtual switch instead of a physical switch, you'd need to create an on/off button tile in the IDE.

- Hit create new device at the rigth top corner

- Populate the different fields (name, label, etc)

- Set the device type to On/Off button tile

- Press the 'create' button at the bottom of the page

You can now use the switch to turn off/off the smartapp processing!


......................................................................................................................................

Use case #12: Control of some switches for alternative cooling/air circulation

......................................................................................................................................


I have some evaporative cooler/Fan/Damper Switch(es) and I would like to use them for alternative cooling or better air circulation when possible to reduce my energy bill.

  • a) General Setup> On the 1st setup page, set the following alternative switch(es):
   section("Efficient Use of evaporative cooler/Big Fan/Damper Switch for cooling/air circulation based on indoor/outdoor sensor readings [optional]") {
       "Evaporative Cooler/Big Fan Switch to be turned on/off?",type:"capability.switch"
   }


  • b) For alternative cooling only, in General Setup, you can also use the 2nd parameter above and set it to true if you want to only control your switch(es) based on an outdoor temp threshold. By default,an internal temp/humidity table is used for optimal efficiency.
       "For alternative cooling, use it only when outdoor temp is below coolModeThreshold in schedule [default=use of ideal         
           humidity/temp table]?",
  • c) Schedules Setup> set the following alternative flag to true for all schedules when you want the alternative cooling option to be used.
   section("Schedule ${indiceSchedule}-Use of Evaporative Cooler/Big Fan For alternative cooling based on outdoor sensor's temp and     
         humidity readings [optional]") {
       "Use of evaporative cooler/Big Fan?[default=false]"
   }   
  • d) For alternative cooling only, in Schedules Setup, the following parameter is set to false by default. For a given schedule, setting the parameter to true means that alternative cooling will be activated in conjunction with the thermostat's cooling mode
      "Alternative cooling in conjunction with cooling? [default=false]"

In order to be efficient, alternative cooling based on an evaporative cooler/Damper/Big Fan Switch(es) (connected to ST) must be within a calculated range of temperature & humidity values.

By default, the smartapp is able to determine the ideal conditions for alternative cooling based on a temperature/humidity table, and automatically switches to alternative cooling only when it's efficient.

If you just want to use an outdoor temp threshold (ex. for running your damp switch), use the lessCoolThreshold to set up your outdoor temp threshold. Below the value entered here, the damper switch will be actived (ex. 72F).''


    "Outdoor temp's threshold for less cooling"


  • e) For smart air circulation only, in GeneralSetup, if you want to trigger the fan or damper switch(es) based on the zoned temp differential set in Schedule for triggering the fan, set the following "switchToTurnOnWhenFanDiffFlag" flag to true:
    "Turn on switch(es) when indoor temp differential (set in Schedules) is too big in the zones?"
	

......................................................................................................................................

Use case #13: I want to adjust my vents/temp avg calculations based on some contact sensors.

......................................................................................................................................

  • a) General Setup> On the 1st setup page, set the following flags
    section("Enable Contact Sensors to be used for vent/temp adjustments [optional, default=false]") {
        "Enable vent adjustment set in schedules based on contact sensors?"
        "Enable temp adjustment set in schedules based on contact sensors?"
    }


  • b) Room Setup> you'd need to indicate the contact sensor(s) to be used in each room for better vent/temp adjustment
   section("Room ${indiceRoom}-ContactSensor [optional]") {
        "Contact sensor for better vent/temp adjustment", "capability.contactSensor"
   }


  • c) Rooms Setup> If you want to open your vent when the contact is open (inverted logic from the default which is to close the vent when

the contact is open), then set the following flag to 'true'.


      "Inverse temp/vent logic,contact open=>vent is open [default=false]"


That's it. You can enable/disable either the temp or the vent adjustment in General Setup when needed.


......................................................................................................................................

Use case #14: I want detailed logging/Notifications or I want to enable Ask Alexa Notifications

......................................................................................................................................

In order to set detailed logging/notifications, you'd need to do the following:

  • a) Notifications & Other Settings Setup> On the last setup page, set the following flag to true
   "Detailed Logging & Notifications?"
  • b) Set the filtering level (ERROR, WARNING, DEBUG, TRACE): the TRACE level is the more detailed tracing you can get.
   "Log filtering [Level 1=ERROR only,2=<Level 1+WARNING>,3=<2+INFO>,4=<3+DEBUG>,5=<4+TRACE>]?",required:false, metadata: [values: [1,2,3,4,5]]


  • c) To receive push notifications, answer 'Yes' to the following input parameter


   "Send a push notification?", metadata: [values: ["Yes", "No"]]


  • d) To receive the notifications configured above through Ask Alexa, set the following flag to true


   "Ask Alexa verbal Notifications?"


This way, you will get the same level of notifications (ERROR, WARNING, DEBUG,TRACE) verbally via the Ask Alexa smartapp.

N.B. The logs are available under the IDE at:

https://graph.api.smartthings.com/ide/logs (or whatever your shard is)

You can click at the top of the window on the smartapp name to filter the logs.

.................................................................................................................................

Use Case #15: I want to automatically control my zone/room tstats' fan speed based on the temp offset in the scheduled zone(s)

.................................................................................................................................


The room/zone tstats must support the fan speed modulation. Only few thermostat DTH implementations support the required commands to do so (ex. Flair HVAC units, Remotec ZXT-120 & Sensibo custom DTHs).


For more details about the fan settings available, please refer to use case #8 above. You'd need to set the room/zone thermsostats in each room and build your zones according to your scheduling needs.


  • a) General Setup> On the 1st setup page, set the following flag to true
    section("Enable fan adjustment at main thermostat based on indoor/outdoor temp sensors [optional, default=false]") {
        "Enable fan adjustment set in schedules based on sensors?"
    }
  • b) Schedules Setup>Fan Settings> for each schedule when new fan settings are required, you'd need to configure the max temp differential

in the zone to trigger the right fan speed in the rooms

   "Max Temp Differential in the active zone(s) to trigger Fan mode"


.................................................................................................................................

Use Case #16: I want to turn off my zone/room thermostats when they are not part of the running scheduled zone(s)

.................................................................................................................................


If you want to turn off all zone/room thermostats (tied to your TRVs, window/mini splits, portable heaters/coolers,etc) when they are outside of the scheduled zones or when the corresponding rooms are not occupied, then you'd need to follow the next steps.

  • a) General Setup> On the 1st setup page, set the following flag to true
     section("Room Thermostat Options for heaters/coolers/eTRVs [optional]") {
         "Turn off room tstats when outside scheduled zones(s)"
     }
  • b) And, then create your zones and schedules as indicated in use cases #1 and 2 above.

.................................................................................................................................

Use Case #17: I want to adjust the zone/room tstats' setpoints based on some zone's temp deltas

.................................................................................................................................


I want to adjust the zone/room tstats' setpoints or the vent settings based on some zone's temp deltas vs. main tstat's scheduled setpoints (ex: -3F cooling delta temp applied against the tstat's cooling setpoint of 75F = 72F).

Make sure to include the right rooms in the zone(s) for the temp delta adjustments.


  • a) Zones Setup> set the following delta values for the zone
   section("Zone ${indiceZone}-Dynamic Cool Temp Adjustment for Vents/Zone Tstats based on the coolSP in Schedule - to make the zone cooler or warmer") {
       "Dynamic Cool Temp Adjustment for the zone [default = +/-0F or +/-0C]"
   }
   section("Zone ${indiceZone}-Dynamic Heat Temp Adjustment for Vents/Zone Tstats based on the heatSP in Schedule- to make the zone cooler or warmer") {
       "Dynamic Heat Temp Adjustment for the zone [default = +/-0F or +/-0C]"
   }
  • b) And, then create your schedules & associate your cooling/heating setpoints as indicated in uses cases #1 and 2.



.................................................................................................................................

Use Case #18: I want to average out my ST indoor sensors AND make manual overrides to my setpoints

.................................................................................................................................

By default, when the indoor temp adjustment flag is set to true, the smartapp overrides at every cycle (every 5 minutes) the thermostat' setpoints with a "hold" which compensates for the offset between your thermostat's temperature and your remote sensors.

Since v7.8 of ScheduleTstatZones, for the ecobee/Nest/zigbee or zwave thermosats, the smartapp will be able to detect a manual override and register the "hold" as the new setpoint baseline.

If some reasons (or for other types of thermostats than listed above), the smartapp does not register the manual override properly, do the following:

- Press the '>' icon next to the smartapp name under Automation/smartapps in the ST mobile app


.................................................................................................................................

Use Case #19: I want to manually control my zones using virtual Zone devices under ST

.................................................................................................................................

For more details on the installation steps, please refer to

https://github.com/yracine/device-type.myecobee/blob/master/smartapps/ScheduleTstatZones.md

To create new devices under ST, for each of your zones in ZonesSetup, do the following:

  • a) ZonesSetup> set the following flag to true
    section("Zone ${indiceZone}-Create a virtual device for controlling the zone?") {
        "Virtual Device for the zone?"
    }
  • b) Press "Next" in the smartapp's workflow till the final page and 'Done'. This will create the virtual zone(s) under Things in the ST mobile app

after about 1 minute.


After instantiation of the new devices, if you have difficulties to send commands to the smartapp using the virtual Zone(s), please refer to the troubleshooting section below.

http://thingsthataresmart.wiki/index.php?title=ScheduleTstatZones#issue_.2311:_I_cannot_control_my_zones_using_the_virtual_zones_created

Troubleshooting

If your issue is more related to My ecobee Device, then refer to

   http://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device


.................................................................................................................................

Issue #1: I don't know how to create a custom smartapp

.................................................................................................................................

See the explanations of a fellow community member here:

http://community.smartthings.com/t/faq-an-overview-of-using-custom-code-in-smartthings/16772

And, here are some basic explanations with screenshots.

  • a) Point your browser to you SmartThings IDE for your country (i.e. http://ide.smartthings.com or whatever your shard is) and Log In.

Loginscreen.jpg

  • b) Once you are logged in, find the My SmartApps link on the top of the page. Clicking My SmartApps will allow you to produce a new SmartApp.

MySmartApps.png

  • c) Find the button on this page labeled +New SmartApp and click it.

+NewSmartApp.png

  • d) Since you already have the code in your computer’s clipboard, find the tab along the top section called From Code. In the area provided, paste (typically CTRL+V) the code you copied from GitHub. Click Create in the bottom left corner of the page.

NewSmartAppCreate.png

  • e) This will bring up another page, with the code now formatted within the IDE. If the code was copied correctly, there are no other steps except to save and publish the code. In the upper right corner of the page, find and click Save. Now, click Publish (For Me), and you should receive a confirmation that the code has been published successfully.

SavePublish.png


.................................................................................................................................

Issue #2: I created the smartapp in the IDE, but I don't know where to execute it

.................................................................................................................................


For the initial setup, under the ST app, click on the Marketspace? item in the bottom menu, and then, on the smartapps link and finally, MyApps (last item in the list).

If you still do not see your smartapp, please make sure that you have published it in the IDE!


For any subsequent execution, under the ST mobile app, click on automations>smartapps in the bottom menu. The list of installed smartapps will then appear.

......................................................................................................................................

Issue #3: I've set up some schedules, but no schedule seems to be running or my vents are not adjusting as anticipated

......................................................................................................................................


Usually, if you have issues with the scheduling, it may be because you've inputted a ST hello (location) mode for your schedules where you should only rely on the date & time based scheduling. First, try removing the ST location mode(s) associated to the schedule to avoid any scheduling issues. The ST hello (location) scheduling is less reliable than the ecobee's scheduling by default as it's dependent on your ST routines (Good Morning, GoodBye, I'm back).

To review your scheduling, refer to the steps below.


  • a) Notifications & Other Settings> On the last page, set the following input parameter to true (at least at the beginning) to get detailed notifications on what the smartapp does.

You can change this setting later when it's no longer needed.

   section("Detailed Notifications") {
       "Detailed Notifications?", metadata: [values: ["true", "false"]]
   }
  • b) Schedules setup> make sure to set the right day of the week and start & end times for each schedule.
   section("Schedule ${indiceSchedule}- Day & Time of the desired Heating/Cooling settings for the selected zone(s)") {
           "Which day of the week to trigger the zoned heating/cooling settings?"
                       metadata: [
                           values: [
                               All Week',
                               'Monday to Friday',
                               'Saturday & Sunday',
                                'Monday',
                                'Tuesday',
                                'Wednesday',
                                'Thursday',
                                'Friday',
                                'Saturday',
                                'Sunday'
       "Beginning time to trigger the zoned heating/cooling settings",
       "End time",
   }
  • c) Schedules Setup> for each schedule, make sure that your ST hello mode is correctly associated to your schedule

You may not want to run your schedule for all routines, if so, make sure that the right ST hello mode is set.

   section("Schedule ${indiceSchedule}-Set for specific mode(s) [default=all]")  {
       "Choose Mode", options: enumModes
   }


  • d) Use live logging in the IDE to do some live debugging

Prior to enabling live logging, go to the smartapp's notification & other options page (last page), set detailedNotification to true and set the logging level to 5.

Go to https://graph.api.smartthings.com/ide/logs, and click on the smartapp at the top.

Look at the debugging trace to know why your schedule is not running or your vents are not adjusting, and correct the smartapp's parameters accordingly.


  • e) You may run the smartapp manually to test your schedules.

Click on the arrow icon on the smartapp in order to run it manually. You can check in the logs as indicated above to debug your scheduling issue.

You also can view all the detailed notifications sent to you in the IDE, by clicking on your location's notifications at:

https://graph.api.smartthings.com/location/list

By doing so, you will understand the smartapp's logic a little bit better and adjust your schedules' setup accordingly.

N.B. By default, the smartapp will adjust the vents only if the main thermostat's Operating State is not 'Idle' (so your HVAC is either 'Heating' or 'Cooling' or the fan is running)

Refer to use case 4 for your vent settings:

http://thingsthataresmart.wiki/index.php?title=EcobeeSetZoneWithSchedule#Use_Case_.234:_I_want_to_control_my_smart_vents_and_create_physical_zones_using_the_smartapp .................................................................................................................................

Issue #4: I've set up some schedules, but my schedules override each other and I don't have the right setpoints

.................................................................................................................................

In the smartapp, schedules can override each other, but you may want to define the generic ones (or default ones) first (schedules 1,2,3 for instance when house is not occupied), and then, the specific ones after (ex. schedules 4,5,6 when house is occupied) to set the right setpoints. You can use the ST hello (location) mode (ex.Home, Night, Away) to distinguish the generic ones from the more specialized ones (ex. 4h-6h pm evenings vs. 4h-6h pm evenings when Away).

Please follow the steps specified in 3) above in order to see the detailed logic followed by the smartapp.

N.B. If you have only 1 single thermostat at your home, the smartapp cannot maintain different setpoints for each of your rooms. It will average out the temps collected at different temp sensors throughout your home, and adjust your heat/cool setpoints based on the temp differential between all temp sensors (i.e. just like the ecobee3's follow me feature).

.................................................................................................................................

Issue #5: java.lang.NullPointerException: Cannot get property 'X' on null object

.................................................................................................................................


Just update your smartapp by going through all the smartapp setup pages by pressing 'Next' till 'Done'.

The smartapp was recently modified to include some defensive code to ensure that the smartapp is rescheduled. This is intended to alleviate some of the ST scheduling issue as discussed in these threads:


http://community.smartthings.com/t/scheduler-and-polling-quits-after-some-minutes-hours-or-days/16997

http://community.smartthings.com/t/schedule-not-working/3895

http://community.smartthings.com/t/is-it-me-or-schedules-not-firing-this-evening/10176


.................................................................................................................................

Issue #6: java.util.concurrent.TimeoutException

.................................................................................................................................

ST has introduced some generic rate limiting rules for all smartapps and device handlers. For cloud-to-cloud integration, these rate limiting constraints are sometimes too low, and this exception can be raised from time to time.

There are some threads about it in the ST community forum:

http://community.smartthings.com/t/rate-limiting-too-restrictive-max-execution-time-exceptions/17985

http://community.smartthings.com/t/execution-times-increasing/19979

http://community.smartthings.com/t/unschedule-api-execution-time-too-long/11232

Note: If you enable the detailedNotification flag in the last page (Notification and other options), please be aware that you may need to press the 'Done' button at least twice as sometimes ST will raise the rate limiting error when pressing 'Done'.

.................................................................................................................................

Issue #7: I want to upgrade the code but I don't know how

.................................................................................................................................


Most of the time (unless specified otherwise), you just need to copy and paste the smartapp's new code into the IDE at:


https://graph.api.smartthings.com/ide/apps

Click on the smartapp that you want to update

Paste the code into the code window (and make sure to copy all the lines)

And save & publish.


P.S. Any upgrades (when required) will be sent to you via emails with a zip file attached.


.................................................................................................................................

Issue #8: I'm seeing some null values in room or zone or schedule names

.................................................................................................................................


Do not use the "back button" on your phone/tablet to navigate inside the smartapp as this can create room/zone/schedule with null values. Use the links within the app to navigate from one page to the next (or back).

If you have null values, you can either:

  • a) Click on the room(s) and/or the zone(s) and/or the schedules with null values and populate their fields properly
  • b) Change the number of rooms/zones/schedules to reflect the true number of rooms/zones/schedules. Let's say you have 5 rooms and the last one is null, then just change the number of rooms to be 4.

.................................................................................................................................

issue #9: My new Ask Alexa's Message Queues are not showing up in the smartapp

.................................................................................................................................


You'd need to execute the ScheduleTstatZones smartapp under Automation/Smartapps in the ST mobile app by doing "Next" till "Done" to subscribe to the new AskAlexaMQHandler. The new handler will then be able to process any Queue refresh value from Ask Alexa.


You can then go to the AskAlexa smartapp, and make any queue changes... The updated queue values will be then sent to the smartapp.


.................................................................................................................................

issue #10: My virtual zone just created is not populated with values

.................................................................................................................................


Please note that the virtual zone devices are only populated with values when the corresponding zones are scheduled in the smartapp. They must be also be active. Make sure that your zones are active under ZonesSetup.

It can take few minutes for the active zones to be populated.


.................................................................................................................................

issue #11: I cannot control my zones using the virtual zones created

.................................................................................................................................


If the virtual zones are not responsive to any commands (i.e., set target temp delta, make the zone active/inactive, switch to turn on/off vents in the zone) issued from the new virtual Zone device(s),

  • a) Go back to ecobeeSetZoneWithSchedule under Automation/Smartapps in the ST mobile app and go through the workflow again (rooms->zones->schedules->Notifications)
  • b) Press 'Next' till the final page and then 'Done'. This will ensure to register the event handlers in the smartapp to be able to 'listen' to commands coming from the virtual Zone Device(s).


.................................................................................................................................

issue #12: My virtual zone just created is not populated with values

.................................................................................................................................


Please note that the virtual zone devices are only populated with values when the corresponding zones are scheduled in the smartapp. They must also be active. Make sure that your zones are active under ZonesSetup.

It can take few minutes for the active zones to be populated.

.................................................................................................................................

issue #13: I cannot delete my virtual Zones

.................................................................................................................................


Like any ST devices, you'd need first to unselect (remove) any virtual zones from all smartapps and routines to be able to delete them.

a) To know which smartapps are using the virtual zones, go to

https://graph.api.smartthings.com/device/list

or click on the smartapps tab on the device itself under the ST mobile app.

b) Click on any virtual zone devices.

And note all smartapps under the list "In Use By".

c) Unselect the virtual zones from the smartapps in b.

d) Go to the ecobeeSetZoneWithSchedule smartapp, and set the following flag to 'false' in ZonesSetup:


    section("Zone ${indiceZone}-Create a virtual device for controlling the zone?") {
        "Virtual Device for the zone?"
    }


e) Press 'Next' till the last page and press 'Done'.