bmercier Posted October 1, 2017 Posted October 1, 2017 Hello everyone, ISY Portal Google Home now supports thermostats. Here's what you can do with it. Query thermostat: what is <device> set to what is <device> inside temperature what is <device> humidity (If your thermostat supports it) Change mode: Set <device> mode to <off|heat|cool|auto|on> Turn off <device> Turn on <device> Change temperature: Set <device> to <temp> Increase <device> by <tempDelta> Multiple thermostat commands: What is the inside temperature Set heating to <temp> Set cooling to <temp> Set the thermostat modes to <mode> WARNING: - Please note that increase/decrease temperature do now work well IMHO. As an example, if the thermostat is set to cool, and you ask Google to "increase <device> temperature", it may very well set your thermostat to heating. - If you increase/decrease temperature without specifying a delta, it may increase/decrease the setpoint more than you would like. Benoit 2 Quote
MWareman Posted October 1, 2017 Posted October 1, 2017 Awesome - Thank you Benoit! I've updated the Google Home supported commands wiki subpage to reflect the new commands... so they are easier to find by new users. You likely need to update the screenshots there as the Portal has evolved since the existing screen shots were taken. https://wiki.universal-devices.com/index.php?title=ISY_Portal_Google_Home_Integration Michael. 3 Quote
Phil Posted October 2, 2017 Posted October 2, 2017 This is great! Thanks Benoit! When I ask about the temperature, the response is in centigrade degrees. Can I configure it for fahrenheit somehow? Quote
James Peterson Posted October 2, 2017 Posted October 2, 2017 I keep getting an error when attempting to control our thermostat. I have verified it is in Google home control and have even unlinked and relinked the universal devices account. Any suggestions? Sent from my Nexus 5X using Tapatalk Quote
MWareman Posted October 2, 2017 Posted October 2, 2017 (edited) I’ve just noticed that asking what the thermostat is set to returns the currently sensed temperature rather than the set point. My set point is currently 74, but the stat is reading 75 right now. Asking Home returned 75 when I would expect the setpoint of 74, I would expect asking for the inside temperature to return 75 (in my case). Edited October 2, 2017 by MWareman Quote
stusviews Posted October 2, 2017 Posted October 2, 2017 That's not just correct, but as it should be IMO. "Alexa, what's the living room temperature?" returns the ambient living room temperature, not the set point, "Alexa, what is the living room set to?" correctly reports the set point. Quote
bmercier Posted October 2, 2017 Author Posted October 2, 2017 This is great! Thanks Benoit! When I ask about the temperature, the response is in centigrade degrees. Can I configure it for fahrenheit somehow? I unfortunately do not know. At the API level, everything is always handled in Celsius. Google must translate that to Fahrenheit, or keep it in Celsius, based on user preferences. Anyone knows how to change that? I could not find it. Awesome - Thank you Benoit! I've updated the Google Home supported commands wiki subpage to reflect the new commands... so they are easier to find by new users. You likely need to update the screenshots there as the Portal has evolved since the existing screen shots were taken. https://wiki.universal-devices.com/index.php?title=ISY_Portal_Google_Home_Integration Michael. Thanks Michael! 1 Quote
bmercier Posted October 2, 2017 Author Posted October 2, 2017 @stusview, MWareman FYI, at the API level, there is only one thermostat query, and it returns both the thermostat temperature, the mode and setpoints (2 if in auto). Google Home decides what it will speak. By experimentation, saying "Ok Google, what is <device> set to" can return either the thermostat inside temp, or the mode + setpoint. It seems to alternate between the 2. Quote
bmercier Posted October 3, 2017 Author Posted October 3, 2017 I keep getting an error when attempting to control our thermostat. I have verified it is in Google home control and have even unlinked and relinked the universal devices account. Any suggestions? Sent from my Nexus 5X using Tapatalk James, Can you try again? It should work better now. With the help of the device address on the screen shot, I was able to locate the error in the logs and make a fix. Thanks, Benoit. Quote
James Peterson Posted October 3, 2017 Posted October 3, 2017 James, Can you try again? It should work better now. With the help of the device address on the screen shot, I was able to locate the error in the logs and make a fix. Thanks, Benoit. A little better but still issues. Attached images. Appears to be a unit conversion issue. Sent from my Nexus 5X using Tapatalk Quote
bmercier Posted October 3, 2017 Author Posted October 3, 2017 James, Google Home thinks you want to work in Celsius. It reports the temp to you in Celsius When you request 72, it us understood as Celsius, and well.. 72 celsius is out of range. Now, I don't know how to change the user setting to Fahrenheit. You are a programmer, here's more info; API Doc: https://developers.google.com/actions/smarthome/thermostat-schema You can see at the API level that all temps are normalized to Celsius. This is the request ISY Portal received: { inputs: [{ intent: 'action.devices.EXECUTE', payload: { commands: [{ devices: [{ customData: { address: '11 93 4F 1', category: 'thermostat', type: '5.3.146.0', uuid: '00:21:b9:02:07:ff' }, id: '5835f0c62dc9c25a649e2e44' }], execution: [{ command: 'action.devices.commands.ThermostatTemperatureSetpoint', params: { thermostatTemperatureSetpoint: 72 } }] }] } }], requestId: '6932436822782406037' } It is not converted from F to C. This is why I think there is a configuration issue. Just to be sure, anyone else got it working in Fahrenheit? Benoit Quote
James Peterson Posted October 3, 2017 Posted October 3, 2017 James, Google Home thinks you want to work in Celsius. It reports the temp to you in Celsius When you request 72, it us understood as Celsius, and well.. 72 celsius is out of range. Now, I don't know how to change the user setting to Fahrenheit. You are a programmer, here's more info; API Doc: https://developers.google.com/actions/smarthome/thermostat-schema You can see at the API level that all temps are normalized to Celsius. This is the request ISY Portal received: { inputs: [{ intent: 'action.devices.EXECUTE', payload: { commands: [{ devices: [{ customData: { address: '11 93 4F 1', category: 'thermostat', type: '5.3.146.0', uuid: '00:21:b9:02:07:ff' }, id: '5835f0c62dc9c25a649e2e44' }], execution: [{ command: 'action.devices.commands.ThermostatTemperatureSetpoint', params: { thermostatTemperatureSetpoint: 72 } }] }] } }], requestId: '6932436822782406037' } It is not converted from F to C. This is why I think there is a configuration issue. Just to be sure, anyone else got it working in Fahrenheit? Benoit I made a small test to set the temp using celcius. It made my thermostat read error. Attached photos. You can see that I set my thermostat to a celcius degree and put in an error state. I think you may need to add a preferred unit option somewhere that the portal can read so that it can send the appropriate values back to the devices. Sent from my Nexus 5X using Tapatalk Quote
MWareman Posted October 3, 2017 Posted October 3, 2017 In the Home app, at the very bottom of the device settings it lists the country code the Home device is registered to. Mine says ‘US’ and appears to be working in Fahrenheit. I don’t know how to change it, but might be a point to look at... Quote
MWareman Posted October 3, 2017 Posted October 3, 2017 Hey, just found this out. Try saying ‘Hey Google, change temperature to Fahrenheit’ and see if that helps... Quote
bmercier Posted October 3, 2017 Author Posted October 3, 2017 James, I think you uncovered a new issue. ISY Portal is supposed to detect the UOM of the thermostat, but I think that in your case, it did not do it correctly. Let me look into that. Benoit Quote
James Peterson Posted October 3, 2017 Posted October 3, 2017 In the Home app, at the very bottom of the device settings it lists the country code the Home device is registered to. Mine says ‘US’ and appears to be working in Fahrenheit. I don’t know how to change it, but might be a point to look at... One issue also could be that I am not using a Google Home. I am attempting to use it through Google Assistant. Hey, just found this out. Try saying ‘Hey Google, change temperature to Fahrenheit’ and see if that helps... trying now. Quote
bmercier Posted October 3, 2017 Author Posted October 3, 2017 Hey, just found this out. Try saying ‘Hey Google, change temperature to Fahrenheit’ and see if that helps... Hi Michael, I tried that, but it did not help. It works for when you ask for weather information. But it does not seem to apply to the Google Assistant. Benoit Quote
James Peterson Posted October 3, 2017 Posted October 3, 2017 Hey, just found this out. Try saying ‘Hey Google, change temperature to Fahrenheit’ and see if that helps... Tried. No go. Sent from my Nexus 5X using Tapatalk Quote
Jimbo.Automates Posted October 3, 2017 Posted October 3, 2017 (edited) My Trane thermostats report in C but my CT100 report in F? For Google home and assistant. Edited October 3, 2017 by Jimbo Quote
bmercier Posted October 4, 2017 Author Posted October 4, 2017 Jimbo, Also please let me know what the addresses are for "family room thermostat", "master thermostat" and "outside thermostat". It's really odd! Benoit 1 Quote
James Peterson Posted October 4, 2017 Posted October 4, 2017 If it will help: here is my node dump of the thermostat: <nodeInfo> <node flag="128" nodeDefId="Thermostat"> <address>11 93 4F 1</address> <name>hvac - Main</name> <type>5.3.146.0</type> <enabled>true</enabled> <deviceClass>1</deviceClass> <wattage>1000</wattage> <dcPeriod>60</dcPeriod> <startDelay>0</startDelay> <endDelay>0</endDelay> <pnode>11 93 4F 1</pnode> <ELK_ID>A07</ELK_ID> <property id="ST" value="146" formatted="73.0°" uom="101"/> <property id="CLIMD" value="1" formatted="Heat" uom="98"/> <property id="CLISPC" value="152" formatted="76.0°" uom="101"/> <property id="CLISPH" value="143" formatted="71.5°" uom="101"/> <property id="CLIHUM" value="0" formatted="0%" uom="22"/> </node> <properties> <property id="CLIFS" value="7" formatted="On" uom="99"/> <property id="CLIHCS" value="0" formatted="Idle" uom="66"/> <property id="CLIHUM" value="0" formatted="0%" uom="22"/> <property id="CLIMD" value="1" formatted="Heat" uom="98"/> <property id="CLISPC" value="152" formatted="76.0°" uom="101"/> <property id="CLISPH" value="143" formatted="71.5°" uom="101"/> <property id="ST" value="146" formatted="73.0°" uom="101"/> </properties> </nodeInfo> Quote
bmercier Posted October 4, 2017 Author Posted October 4, 2017 James, Jimbo, After pulling my hair out, I finally resolved the mystery of C/F setting. We could not find it because there are none! The C/F setting is determined when you first enter the device in ISY Portal. Then, when you sync your devices (Unlink/Link), the C/F setting is passed along with the other device parameters. Based on that setting, GH will give you the setpoints or temperatures accordingly. Also, when you speak a setpoint, it has to be in that C/F setting. In other words, you have to talk in the same unit of measure as the thermostat. BUT, if you ever change your thermostat C/F setting, you will have to remove it from ISY Portal, add it again, then sync Google Home. For those who entered your device before it went live, you may have to do it again. I also found some bugs relater to the unit of measure that have been fixed. Please consider thermostat support in Google Home as beta code. Benoit. 2 Quote
James Peterson Posted October 4, 2017 Posted October 4, 2017 James, Jimbo, After pulling my hair out, I finally resolved the mystery of C/F setting. We could not find it because there are none! The C/F setting is determined when you first enter the device in ISY Portal. Then, when you sync your devices (Unlink/Link), the C/F setting is passed along with the other device parameters. Based on that setting, GH will give you the setpoints or temperatures accordingly. Also, when you speak a setpoint, it has to be in that C/F setting. In other words, you have to talk in the same unit of measure as the thermostat. BUT, if you ever change your thermostat C/F setting, you will have to remove it from ISY Portal, add it again, then sync Google Home. For those who entered your device before it went live, you may have to do it again. I also found some bugs relater to the unit of measure that have been fixed. Please consider thermostat support in Google Home as beta code. Benoit. w00t..w00t!!!! I removed the thermostat and re-added it. Failed. Then I unlinked and relinked the google home account and it seems to be working. CHEERS! Quote
Jimbo.Automates Posted October 4, 2017 Posted October 4, 2017 Sorry I didn't see the request for my node addresses, but good to hear it is figured out! Sent from my Nexus 6P using Tapatalk Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.