I am trying to setup my google home to control the thermostats. Rich said my thermostats need to have the Control Use set and none of them are setup. You might want to add that to be setup correctly.
Announcement
Collapse
No announcement yet.
Thermostat Creation
Collapse
X
-
Originally posted by chrkov View PostI am trying to setup my google home to control the thermostats. Rich said my thermostats need to have the Control Use set and none of them are setup. You might want to add that to be setup correctly.
I've updated my HS version and made the changes to the plug-in, but now my plug-in isn't working correctly (or the HS upgrade isn't working) so I'll have to figure out what's going on there.
-
I hooked up IFTTT to try and test the thermostat controls. Looks like thermostat mode changing works, but the heat/cool setpoints don't (didn't).
Yet another undocumented requirement seems to be that set points need to have a range control for this to work. I had them set up as button up/down controls.
Version 3.0.0.49 adds range controls to the setpoints and that seems to work with IFTTT.
Just in case anyone else is having problems with thermostat configuration, here's what I've set up to make it all work.
Code:// thermostat root device dt.Device_API = DeviceTypeInfo_m.DeviceTypeInfo.eDeviceAPI.Thermostat; dt.Device_Type = (int)DeviceTypeInfo_m.DeviceTypeInfo.eDeviceType_Thermostat.Root; dv_root.set_Relationship(host, Enums.eRelationship.Parent_Root); dv_root.set_DeviceType_Set(host, dt); // thermostat operating mode (set mode) device dt.Device_API = DeviceTypeInfo_m.DeviceTypeInfo.eDeviceAPI.Thermostat; dt.Device_Type = (int)DeviceTypeInfo_m.DeviceTypeInfo.eDeviceType_Thermostat.Mode_Set; dv.set_Relationship(host, Enums.eRelationship.Child); // Set bi-directional relationship between this and the root device dv.AssociatedDevice_Add(host, dv_root.get_Ref(host)); dv_root.AssociatedDevice_Add(host, dv.get_Ref(host)); dv.set_DeviceType_Set(host, dt); // Create a VS pair containing a list of operating modes and add this to the device // I used a set of single value type VS Pairs rendered as a list box. Each // value is one of the thermostat modes. The critical bit is to set the // ControlUse property of each VS Pair to the corresponding enum value. // thermostat set point device (cool) dt.Device_API = DeviceTypeInfo_m.DeviceTypeInfo.eDeviceAPI.Thermostat; dt.Device_Type = (int)DeviceTypeInfo_m.DeviceTypeInfo.eDeviceType_Thermostat.Setpointt; dt.Device_SubType = (int)DeviceTypeInfo_m.DeviceTypeInfo.eDeviceSubType_Setpoint.Cooling_1; dt.Device_SubType_Description = "Cool Setpoint"; dv.set_Relationship(host, Enums.eRelationship.Child); // Set bi-directional relationship between this and the root device dv.AssociatedDevice_Add(host, dv_root.get_Ref(host)); dv_root.AssociatedDevice_Add(host, dv.get_Ref(host)); dv.set_DeviceType_Set(host, dt); // Add a VS Pair control that is a range type (textbox, dropdown, slider). // It's critical that the ControlUse property is properly set: // ePairControlUse._CoolSetPoint // ePairControlUse._HeatSetPoint // Configuring a heat setpoint is the same as cool above, but using the heat setpoint subtype.
Comment
-
The only issue I am having is when a thermostat is turned off. When a thermostat is off, then it says it cant communicate with it. Not sure that this is your issue though, I think it might be with HS because I can still control it and change it to heat or cool.
Will let you know what Rich says on it.
Comment
Comment