Hi @TAustin. first of all thanks for all your amazing work, your drivers really solve a lot of shortcomings with ST & have helped me simplify & remove lots of ‘hoops’ that I used to jump through in my setup…
I have a peculiar use case that I believe this vEdge driver can solve, but I’m unable to solve it on my own using Rules API or any similar method due to the API restrictions, I’m not sure if this can be solved in a driver or not… so here’s the case…
I have 4 Nest Thermostats in my house & they control 4 Zones (each Zone has at least 2 rooms/spaces, like Living Room + Kitchen in one zone), while the biggest zone has 4 different rooms & the thermostat is in the hallway.
My problem is that I have lots of Google home speakers around the house, and they are laid out in a way to match the rooms layout, so voice commands work as intended for all devices (lights, TVs, etc) except for the Thermostats… you see Google in all its ‘smartness’ can’t understand this concept and allow you to group rooms into Zones or specify which Thermostat to adjust when you talk to a speaker that doesn’t have a Thermostat into its room. For example the Thermostat in the Living room is for both the Living & Kitchen, when I give a command to the Speaker in the Living room, it’s immediately understand that it needs to apply that to the Living room nest. But when I do that in the Kitchen, it applies that command to all the thermostats in the house. All 4 of them !!! at a certain point Google used to reply back asking which AC/Thermostat I mean when there was none in the room, but it’s not doing that anymore… so the only way is to say to the Kitchen speaker ‘set the Living room thermostat to X degrees every single time’… that’s fine for me, but with my wife & kids, it’s a bit much to ask them to remember which thermostat is in which room etc etc… it’s stupid since Google, for each speaker, allows you to designate a TV & Speaker as the target for Audio/Video commands, so you can always say when I talk to the Kitchen speaker about playing a video, the target is always the Living room TV… they can do that for Audio/Video, but can’t be bothered to do the same for ACs !!
Anyway I’m tired of waiting for them to fix it, so I have an idea that I tried partially, but my setup is so clunky because of many limitations…
The idea is to create Virtual Thermostats using your Driver in each room that doesn’t have a physical one, and Sync that vThermostat to the main one in its zone… so when I talk to Google in the Kitchen, it will apply the command to the vThermostat in the Kitchen, which in turn will ‘sync’ the setting to the physical Nest in the Living room.
So here’s what I tried & where I failed & the limitations I hit
- Normal routines suck at this, there’s only =, >, < to compare temperatures, but can be used to sync ‘states/modes’
- Rules API can be used to sync temperatures using a ‘every 1 min’ loop, but it cannot access Nest as a target or source device due to Google limiting 3rd party API access through their integration. But I verified it works using a normal Temp sensor to set the Room Temp value in your thermostat & it works
- Either of the above still requires at least 2 Rules for syncing Ambient/Set temp, and God knows how many rules to sync State/Mode, etc… so not very efficient in terms of the Edge Rules/Routines limit count… (I have 165 devices connected to my ST Hub so being very careful with rules planning)
Sorry for the long description but here’s the $1M question - can your vEdge driver be evolved to have a setting to point at a target physical device & stay in sync with it?
BTW this could be super useful for other vEdge device types lie switches, etc as well, but the Thermostat is maybe the most complex to replicate with rules/routines that I think it will be the most efficient… something Like Smart Lighting App’s ‘mirror’ function for Lights/Switches but also two-way…