Announcement

Collapse
No announcement yet.

cannot set heating temperature in imperihome

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

  • cannot set heating temperature in imperihome

    spud, fuzzysb, hi to you both

    When I control the devices via the homeseer web portal everything seems to work at this point
    - the room temperature is displayed correctly
    - the mode is displayed correctly
    - the mode can be changed to "heat" and "off - the set point is displayed correctly
    - the set point can be changed with the interval set in the configuration page.

    in the imperihome I can select the thermostats (ImperiHome-->Config-->Thermostats)

    then on the Imperihome app on my android device I add a widget of the TADO Thermostats and I can:
    - the room temperature is displayed correctly
    - the mode is displayed correctly
    - the mode can be changed to "heat" and "off
    - the set point is displayed correctly

    BUT I can NOT
    - change the set point using the imperihome widget of the thermostat. (the + and - in the screen shot below)





    Other actions done in the imperihome app are being registered in the logs of homeseer, but the 'increase/decrease set point' isn't.
    Aug-28 14:00:21 Device Control Device: Tado Living room Schedule Mode to Revert to Tado Schedule (1000) by/from: CAPI Control Handler
    Aug-28 14:00:04 Device Control Device: Tado Living room Operating Mode to Off (0) by/from: CAPI Control Handler
    Regards,
    Steve

  • #2
    Hi, thanks for bringing this to my attention, I have just checked and can confirm that i can reproduce. I am looking at the possible cause, it may well be that i have made a mistake with the classification of the setpoint device, i will check, but spud if you can provide any further insigh as to what the imperihome plugin is specifically looking for that would also be much appreciated.

    Comment


    • #3
      the imperihome plugin is looking for a device with a type set to DeviceTypeInfo_m.DeviceTypeInfo.eDeviceType_Thermostat.Setpo int
      this part seems correct since it is successfully displayed in IH app
      then the plugin looks for a range of values attached to this device which needs to be a control, this is probably what is missing here?

      that being said the IH plugin should report some errors in the logs if it can't find such a range. So set the log level to Trace to get more information.

      Comment


      • #4
        Hi, thank you for the quick responses. I can only see an error related to the network. I've added a log in annex. During this logging I did a rebuild of the IH database and tried to change the set point in the IH app.
        Attached Files

        Comment


        • #5
          I don't get anything in my logs when its set to Trace,

          all i see when clicking the + or - is the following, but i'm pretty sure these are unrelated to me pressing the button as when i don't press anything they also appear.


          Aug-28 16:04:40 TRACE ISSServer Request: /issapi/devices
          Aug-28 16:04:41 TRACE ISSServer Request: /issapi/devices
          Aug-28 16:04:46 TRACE ISSServer Request: /issapi/devices
          Aug-28 16:04:46 TRACE ISSServer Request: /issapi/devices
          Aug-28 16:04:51 TRACE ISSServer Request: /issapi/devices
          Aug-28 16:04:52 TRACE ISSServer Request: /issapi/devices
          Aug-28 16:04:57 TRACE ISSServer Request: /issapi/devices

          I can confirm that the device type is set to DeviceTypeInfo_m.DeviceTypeInfo.eDeviceType_Thermostat.Setpo int and dependant on the setpoint being either a heating or cooling setpoint device the SubType is set to DeviceTypeInfo_m.DeviceTypeInfo.eDeviceSubType_Setpoint.Heat ing_1 or DeviceTypeInfo_m.DeviceTypeInfo.eDeviceSubType_Setpoint.Cool ing_1.

          the range is set on the device. here is a screengrab of the device i have been using for testing.

          Attached Files

          Comment


          • #6
            spud , any thoughts?

            does the "Control Use" needs to be set?

            Comment


            • #7
              "Control Use" does not need to be set

              I think I found the problem, the minimum and maximum values for setpoint are set to 40 and 100 by the IH plugin because it thinks the temperatures are in fahrenheit.
              To decide if the unit are C or F, the plugin gets the scale text (get_ScaleText) of the device, but this plugin seems to not use this feature.

              fuzzysb, could you try to change the setpoint device so that it uses a scale:

              Code:
              pair.RangeStatusSuffix = " °" + VSVGPairs.VSPair.ScaleReplace;
              pair.HasScale = true;
              and then when you set the value of the device:

              Code:
              dev.set_ScaleText(hs, useCelsius ? "C" : "F");

              Comment


              • #8
                spud thanks for the heads up. Unfortunately I am away for the weekend, however I will tackle this and test early next week.

                Sent from my SM-G950F using Tapatalk

                Comment


                • #9
                  spud I tried this and it did not work, I initially had issues with I have the scaletext set correctly, here is a screengrab of my debug and you can see the devices ScaleText is set. I still have a trace set on your plugin and there is nothing in the trace. how do you change the setpoint if you don't use the control use values?.

                  however looking at the get_Scaletext even if the device doesn't have the scaletext set, then it will retrieve the mvarScaleText from the HS3 instance.

                  i have decompiled the imperihome exe and have looked at the code for setting the setpoint and have recreated a portion of the logic for and i have the all the types and subtypes correct and i am stepping into the code points at the correct point when looping through the associated devices and i am correctly getting stepping into the DeviceType 6 section for the setpoint. I however i cant reproduce the ISS thermostat functions. all i can think from looking at the code is that is causes an exception when reading/setting the ISS thermostat device. this whole block of code doesn't log anything if it hits an exception.

                  I think the issue here is that we can't do an active debug sessions between our respective code. I can if it helps give you access to my tado account for running through an active debug if that helps? just DM me.

                  Attached Files

                  Comment


                  • #10
                    Originally posted by fuzzysb View Post
                    spud I tried this and it did not work, I initially had issues with I have the scaletext set correctly, here is a screengrab of my debug and you can see the devices ScaleText is set. I still have a trace set on your plugin and there is nothing in the trace. how do you change the setpoint if you don't use the control use values?.

                    however looking at the get_Scaletext even if the device doesn't have the scaletext set, then it will retrieve the mvarScaleText from the HS3 instance.

                    i have decompiled the imperihome exe and have looked at the code for setting the setpoint and have recreated a portion of the logic for and i have the all the types and subtypes correct and i am stepping into the code points at the correct point when looping through the associated devices and i am correctly getting stepping into the DeviceType 6 section for the setpoint. I however i cant reproduce the ISS thermostat functions. all i can think from looking at the code is that is causes an exception when reading/setting the ISS thermostat device. this whole block of code doesn't log anything if it hits an exception.

                    I think the issue here is that we can't do an active debug sessions between our respective code. I can if it helps give you access to my tado account for running through an active debug if that helps? just DM me.
                    In the ImperiHome config page do you see your thermostats in the thermostats tab?
                    Do you still have only the following if you set the log level to Trace?

                    Code:
                    Aug-28 16:04:40 TRACE ISSServer Request: /issapi/devices
                    Aug-28 16:04:41 TRACE ISSServer Request: /issapi/devices
                    Aug-28 16:04:46 TRACE ISSServer Request: /issapi/devices
                    Aug-28 16:04:46 TRACE ISSServer Request: /issapi/devices
                    If so that's not ok, and it's a different problem because TeTTiweTTi had meaningfull responses in the logs he posted.

                    Comment


                    • #11
                      ok to confirm, i do have thermostats listed in the imperihome config as you can see in the attached screenshot. i configure imperihome to log trace level to a file. I have a number of different entries in the log that relate to all my different devices as shown below

                      Code:
                      Sep-27 09:04:14 DEBUG Device 2854 value changed from 22.5 to 22.4
                      Sep-27 09:04:14 DEBUG ISSCache: Device Living Room Heating Root Device (ref=2849) added or updated
                      Sep-27 09:04:14 DEBUG Device 2855 value changed from 57.6 to 57.9
                      Sep-27 09:04:15 DEBUG Device 832 value changed from 13.025 to 13.05
                      Sep-27 09:04:15 DEBUG Device 833 value changed from 13.0991666666667 to 13.0933333333333
                      Sep-27 09:04:15 DEBUG Device 834 value changed from 13.2664115557865 to 13.2657518335643
                      Sep-27 09:04:17 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:04:18 TRACE ISSServer Request: /issapi/devices

                      below is the complete sum of my log within the timeframe of my log when selecting the + in the Imperihome app, i do see the lines where it states it's added or updated the ISS device when i start the Tado Plugin and i wait for the Tado startup to complete updating all devices before i select the + symbol and i press the + symbol 3 times and the device i am testing against is Living Room Heating.

                      I pressed the button 3 times immediately after the Sep-27 09:13:19 entry.

                      and i didn't see anything trigger in correlation.

                      Code:
                      Sep-27 09:13:02 DEBUG Device 821 value changed from 1.1 to 1
                      Sep-27 09:13:02 DEBUG Device 826 value changed from 6.58333333333333 to 6.57833333333333
                      Sep-27 09:13:02 DEBUG Device 827 value changed from 7.08993827160495 to 7.0898688271605
                      Sep-27 09:13:03 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:04 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:05 DEBUG Device 9 value changed from 0 to -1
                      Sep-27 09:13:05 DEBUG ISSCache: Device Conservatory Spot 1 (ref=9) added or updated
                      Sep-27 09:13:08 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:09 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:14 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:15 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:15 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:19 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:20 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:20 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:24 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:25 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:25 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:29 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:30 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:31 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:35 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:36 DEBUG Device 2676 value changed from 1305 to 1310
                      Sep-27 09:13:36 DEBUG ISSCache: Sensor Current Usage (W) (id=1) added or updated
                      Sep-27 09:13:36 DEBUG Device 2677 value changed from 1.3 to 1.31
                      Sep-27 09:13:36 DEBUG Device 2679 value changed from 1.52 to 1.53
                      Sep-27 09:13:36 DEBUG Device 2680 value changed from 13.36 to 13.38
                      Sep-27 09:13:36 DEBUG Device 2955 value changed from 216.11 to 216.13
                      Sep-27 09:13:36 DEBUG Device 2956 value changed from 1238.21 to 1238.24
                      Sep-27 09:13:36 DEBUG Device 2957 value changed from 13969 to 13969.02
                      Sep-27 09:13:36 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:36 TRACE ISSServer Request: /issapi/devices
                      Sep-27 09:13:40 TRACE ISSServer Request: /issapi/devices

                      Attached Files

                      Comment


                      • #12
                        according to your logs the plugin does not send any response to the IH app, so you should not even see the thermostats in the IH app.

                        Does a simple On/Off device works from the IH app?

                        From the config page, could you disable all but one thermostat, and disable everything else in the other tabs?

                        Comment


                        • #13
                          Originally posted by spud View Post

                          If so that's not ok, and it's a different problem because TeTTiweTTi had meaningfull responses in the logs he posted.
                          spud , can you explain, because I don't see any log entry when I try to change a set point. To me the command is not getting to homeseer.
                          I can see a log entry when I'm changing the heating mode though.

                          I've just tested setting a setpoint with the homeseer app and it is working here

                          Code:
                           
                          Oct-17 21:23:53 Device Control Device: Tado Living room Heat SetPoint to 23 °@S@ (23) by/from: CAPI Control Handler
                          Last edited by TeTTiweTTi; October 17th, 2018, 02:30 PM.

                          Comment


                          • #14
                            Originally posted by TeTTiweTTi View Post

                            spud , can you explain, because I don't see any log entry when I try to change a set point. To me the command is not getting to homeseer.
                            I can see a log entry when I'm changing the heating mode though.
                            You are not seeing a log entry when you try to change a setpoint because IH thinks the setpoint is in Fahrenheit, so the min and max values are 40 and 100, and since the new setpoint value is not in this range the app does not send the command to the plugin. Except for this command your logs show correct request/response.

                            I think fuzzysb has another problem because his logs never show any "ISSServer Response" log entry at all.

                            Comment


                            • #15
                              Why does imperihome plugin think the set point is in Fahrenheit? The scale and all settings for the device are set to Celsius. From my standpoint I can't see why your plugin is seeing this as Fahrenheit.

                              Sent from my SM-G950F using Tapatalk

                              Comment

                              Working...
                              X