Announcement
Collapse
No announcement yet.
Device layout to display properly in HS Mobile?
Collapse
X
-
Originally posted by rjh View PostI don't know what the issue, how about you send me your HSD file with a thermostat configured and I will take a look at the device config.
Originally posted by rjh View PostWhen you change a set point, is your plugin SetIO function called?Attached Files
Comment
-
rjh I have two problems (see post #29)
One problem is - in HSMobile the thermostat root device states are not displayed (i.e. Standby, Normal, etc.) and there's no controls to set the state. But for the plugin root device it works as expected.
And another problem is the error "Cannot control thermostat. There is a problem with the set-point control configuration."
Comment
-
So its working ok in the HS web UI, but not in HSMobile? If you send me your HSD file with a thermostat configured I might be able to find the issue.
Originally posted by alexbk66 View Postrjh I have two problems (see post #29)
One problem is - in HSMobile the thermostat root device states are not displayed (i.e. Standby, Normal, etc.) and there's no controls to set the state. But for the plugin root device it works as expected.
And another problem is the error "Cannot control thermostat. There is a problem with the set-point control configuration."
Comment
-
For your thermostat setpoint device set the subtype to: Heating_1
Public Enum eDeviceSubType_Setpoint
Invalid = 0
Heating_1 = 1
Cooling_1 = 2
Furnace = 7
Dry_Air = 8
Moist_Air = 9
Auto_Changeover = 10
Energy_Save_Heat = 11
Energy_Save_Cool = 12
Away_Heating = 13
End Enum
It looks like you are using your own subtype for that, but we already have one defined that you must use.
I currently see:
Thermostat API, Type: Thermostat Setpoint, SubType: NeoStat Set Temperature
For your modes, move them to a child device. Root devices with controls will be problematic and is not allowed in HS4. And since this sounds like a new plugin, it will work better in HS4 if the modes are on a child device.
Originally posted by alexbk66 View Postrjh I have two problems (see post #29)
One problem is - in HSMobile the thermostat root device states are not displayed (i.e. Standby, Normal, etc.) and there's no controls to set the state. But for the plugin root device it works as expected.
And another problem is the error "Cannot control thermostat. There is a problem with the set-point control configuration."
Comment
-
Originally posted by rjh View PostFor your thermostat setpoint device set the subtype to: Heating_1
It looks like you are using your own subtype for that, but we already have one defined that you must use.
I currently see:
Thermostat API, Type: Thermostat Setpoint, SubType: NeoStat Set Temperature
Code:bool created = Create($"NeoStatSetTemp-{zone}", force: false, type: "akHeatmiserNEO Setpoint", Device_API: eDeviceAPI.Thermostat, Device_Type: (int)eDeviceType_Thermostat.Setpoint, Device_SubType: (int)DeviceSubtype.stat_setpoint, // eDeviceSubType_Setpoint.Heating_1 Device_SubType_Description: "NeoStat Set Temperature" ); public enum DeviceSubtype { hub_root = 0, hub_heatmode = 1, stat_root = 2, stat_setpoint = eDeviceSubType_Setpoint.Heating_1, stat_temperature = eDeviceSubType_Temperature.Temperature, stat_floortemp = eDeviceSubType_Temperature.Other_Temperature, stat_holdtemp = eDeviceSubType_Setpoint.Away_Heating, stat_standbytemp = eDeviceSubType_Setpoint.Away_Heating, stat_mode = 5, stat_batt = 7, stat_battery = 10, stat_plug = 11, }
Comment
-
Originally posted by rjh View PostFor your modes, move them to a child device. Root devices with controls will be problematic and is not allowed in HS4. And since this sounds like a new plugin, it will work better in HS4 if the modes are on a child device.
What's the difference?
...
Comment
-
rjh - any help on this? jseer ? It's been more than a month, and customers are waiting!
What do I tell my users? That HST can't sort this out? It's clearly a problem in your HSMobile code, you should be able to find what's causing the error in your own code?
If not - please provide the source code to me. But this it just ridiculous.
Comment
-
I just don't have time right now to analyze what is going on, I HAVE to get HS4 out the door. I am sorry I don't have a quick answers for you but I am trying to help the best I can. If you can run the sample plugin and see if that works ok it has a thermostat implementation in it. If that works, you can base your plugin off those devices.
Also, did you try moving all your controls to child devices? I strongly suggest that you do that as it will not work going forward if you have any controls on root devices. Maybe that will get it going.
Your device types look correct for the set point I guess its just your description that is coming through in the UI, which is not going to be an issue.
I looked at the Z-Wave plugin and pulled the code that creates the device types for the child devices. I don't see anything different here from what you are doing, but just in case, this is what we do:
Code:Case Types.COMMAND_CLASS_THERMOSTAT_FAN_MODE DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Fan_Mode_Set DT.Device_SubType = 0 DT.Device_SubType_Description = "Fan Mode" Case Types.COMMAND_CLASS_THERMOSTAT_FAN_STATE DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Fan_Status DT.Device_SubType = 0 DT.Device_SubType_Description = "Fan Status" Case Types.COMMAND_CLASS_THERMOSTAT_MODE DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Mode_Set DT.Device_SubType = 0 DT.Device_SubType_Description = "Mode" Case Types.COMMAND_CLASS_THERMOSTAT_OPERATING_STATE DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Operating_State DT.Device_SubType = 0 DT.Device_SubType_Description = "Operating State" Case Types.COMMAND_CLASS_THERMOSTAT_SETBACK DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Setback DT.Device_SubType = 0 DT.Device_SubType_Description = "Setback" Case Types.COMMAND_CLASS_THERMOSTAT_SETPOINT DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Setpoint DT.Device_SubType = CI.ccs_Type Dim m As ZW_Thermostat_Setpoint_Set_Type = CI.ccs_Type Dim s As String = m.ToString s = Replace(s, "_", " ") If s.ToLower.StartsWith("v") Then s = s.Substring(3) End If DT.Device_SubType_Description = s
Originally posted by alexbk66 View Postrjh - any help on this? jseer ? It's been more than a month, and customers are waiting!
What do I tell my users? That HST can't sort this out? It's clearly a problem in your HSMobile code, you should be able to find what's causing the error in your own code?
If not - please provide the source code to me. But this it just ridiculous.
Comment
-
Originally posted by rjh View PostI just don't have time right now to analyze what is going on, I HAVE to get HS4 out the door. I am sorry I don't have a quick answers for you but I am trying to help the best I can. If you can run the sample plugin and see if that works ok it has a thermostat implementation in it. If that works, you can base your plugin off those devices.
Also, did you try moving all your controls to child devices? I strongly suggest that you do that as it will not work going forward if you have any controls on root devices. Maybe that will get it going.
Your device types look correct for the set point I guess its just your description that is coming through in the UI, which is not going to be an issue.
I looked at the Z-Wave plugin and pulled the code that creates the device types for the child devices. I don't see anything different here from what you are doing, but just in case, this is what we do:
What "Sample Plugin" do you mean?
Regarding the error I'm getting "Cannot control thermostat. There is a problem with the set-point control configuration." - Can you please check in your code when it's displayed? May be this will give some clue. But I don't think it's related to "moving all your controls to child devices" in any way.
Comment
-
Originally posted by rjh View Post
I looked at the Z-Wave plugin and pulled the code that creates the device types for the child devices. I don't see anything different here from what you are doing, but just in case, this is what we do:
Code:Case Types.COMMAND_CLASS_THERMOSTAT_SETPOINT DT.Device_API = DeviceTypeInfo.eDeviceAPI.Thermostat DT.Device_Type = DeviceTypeInfo.eDeviceType_Thermostat.Setpoint DT.Device_SubType = CI.ccs_Type Dim m As ZW_Thermostat_Setpoint_Set_Type = CI.ccs_Type Dim s As String = m.ToString s = Replace(s, "_", " ") If s.ToLower.StartsWith("v") Then s = s.Substring(3) End If DT.Device_SubType_Description = s
Code:DT.Device_SubType = CI.ccs_Type
Code:public byte ccs_Type { get { return mvarSomeType; } }
Comment
Comment