Announcement

Collapse
No announcement yet.

Device layout to display properly in HS Mobile?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    rjh - any help on this? jseer ? It's been more than a month, and customers are waiting!

    Comment


      #32
      I 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.

      When you change a set point, is your plugin SetIO function called?

      Originally posted by alexbk66 View Post
      rjh - any help on this? jseer ? It's been more than a month, and customers are waiting!
      💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

      Comment


        #33
        Originally posted by rjh View Post
        I 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.
        Attached

        Originally posted by rjh View Post
        When you change a set point, is your plugin SetIO function called?
        Not sure what you mean? HS calls SetIOMulti which is used by my plugin to send the value to the thermostat.
        Attached Files

        Comment


          #34
          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


            #35
            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 Post
            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."
            💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

            Comment


              #36
              Ok, I see that you posted the HSD file, I will have a look at it.
              💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

              Comment


                #37
                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 Post
                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."
                💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                Comment


                  #38
                  Originally posted by rjh View Post
                  For 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
                  It is Heating_1 = 1 (How do you know I'm using your own subtype - this is just int isn't it?)

                  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,
                  }
                  So Device Type is 6 and device subtype is 1, is it correct?

                  Comment


                    #39
                    Click image for larger version  Name:	Screenshot_20191222-0200.png Views:	0 Size:	168.1 KB ID:	1352514
                    Originally posted by rjh View Post
                    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.
                    Why does it work for NeoHubRoot, but not NeoStatRoot?
                    What's the difference?






                    ...

                    Comment


                      #40
                      Originally posted by rjh View Post
                      since this sounds like a new plugin
                      It's not a new plugin - it's a problem reported recently for HSMobile only...

                      Comment


                        #41
                        Click image for larger version  Name:	Screenshot_20200107-150100.png Views:	0 Size:	152.0 KB ID:	1352535 Click image for larger version  Name:	Screenshot_20200107-150202.png Views:	0 Size:	133.9 KB ID:	1352536 Both SetPoint and state controls work from the ThermoStat details screens, but not from the main widget










                        Comment


                          #42
                          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


                            #43
                            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 Post
                            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.
                            💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

                            Comment


                              #44
                              Originally posted by rjh View Post
                              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:
                              Thank you Rich rjh .

                              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


                                #45
                                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
                                I looked at Z-Wave code too, what I couldn't work out, which is an important bit.

                                Code:
                                DT.Device_SubType = CI.ccs_Type
                                Code:
                                public byte ccs_Type
                                {
                                    get
                                    {
                                        return mvarSomeType;
                                    }
                                }

                                Comment

                                Working...
                                X