Announcement

Collapse
No announcement yet.

trigger off operating status in HS3

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

    trigger off operating status in HS3

    I am using the RCS Serial plug-in with HS2 and it does not have a way to trigger off the current operating status. It lists the options as 'true' and 'false' which does not make sense.

    Does this work in the HS3 version of the plug-in? I am not referring to the mode (heat, cool, auto, off), but to the operating status (1st stage cooling, 2nd stage cooling, 1st stage heating, 2nd stage heating, off).

    #2
    Is anybody actually using the HS3 version of this plug-in? Does it even exist?

    Comment


      #3
      I can tell you it is in the HS3 plug-in list at version 3.0.0.12, but I am not using it.

      Comment


        #4
        Originally posted by Mountainman View Post
        I am using the RCS Serial plug-in with HS2 and it does not have a way to trigger off the current operating status. It lists the options as 'true' and 'false' which does not make sense.
        I may not understand your question, but in my setup I get this screen to use operating mode as a trigger.
        Attached Files
        Mike____________________________________________________________ __________________
        HS3 Pro Edition 3.0.0.548, NUC i3

        HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

        Comment


          #5
          I didn't really give enough detail. Yes, I do see the option you get in your screenshot, but I don't want to trigger off a change in the operating mode.

          I want to set the trigger to a 'condition' trigger and not an 'RCS Serial Thermostats Trigger'. Once the trigger is configured to 'condition', I add a condition type of 'RCS Serial Thermostats Mode Operating Is'. That presents an option for the 'mode(operating) is' and the two choices are 'true' and 'false'. It seems like this should present choices '1st stage cooling', '2nd stage cooling', '1st stage heating', et.

          In the end I want the condition to be that the operating mode is '1st stage cooling' and another condition from another device (door is open for xxx minutes).

          Comment


            #6
            Originally posted by Mountainman View Post
            I want to set the trigger to a 'condition' trigger and not an 'RCS Serial Thermostats Trigger'.
            Ahh. I didn't understand. I think you will need to use the Poll function of the plug-in to do what you want. I have a script that runs about once a minute that queries the thermostat for set points, set mode, temperature readings, and operating mode, which I use to populate some virtual devices. I then use those devices to test conditions, like current operating mode.

            Another way to do it would be to use an event to track changes in operating mode and set a device to match the mode every time the mode changes. (I haven't tried that, but it seems like it should work.)

            Code:
            Sub Main(parm as object)
            
            
                Dim strMode As String
            
                If hs.DeviceTime("T3") < 10 Then Exit Sub
            
                Dim objRCS As Object =  hs.Plugin("RCS Serial Thermostats")
            
                hs.SetDeviceValue("T60", CInt(objRCS.GetTemp(1,2)))    'Outside Temp
                hs.SetDeviceString("T60", CStr(hs.DeviceValue("T60")))
            
                hs.SetDeviceValue("T61", CInt(objRCS.GetTemp(1,1)))    'Living Temp
                hs.SetDeviceString("T61", CStr(hs.DeviceValue("T61")))
            
                hs.SetDeviceValue("T62", CInt(objRCS.GetTemp(2,1)))    'Sleeping Temp
                hs.SetDeviceString("T62", CStr(hs.DeviceValue("T62")))
            
                hs.SetDeviceValue("T58", CInt(objRCS.GetHeatSet(1,1)) + 2)    'Fan Set Point
                hs.SetDeviceString("T58", CStr(hs.DeviceValue("T58")))
            
                hs.SetDeviceValue("T63", objRCS.GetCurrentMode(1,1))    'Living Mode
                            Select Case hs.DeviceValue("T63")
                                Case 0
                                    strMode = "Off"
                                Case 1
                                    strMode = "Heat"
                                Case 2
                                    strMode = "Cool"
                                Case 3
                                    strMode = "Auto"
                                Case 4
                                    strMode = "EMHT"
                                Case Else
                                    strMode = "???"
                            End Select
                hs.SetDeviceString("T63", strMode)
                            If hs.DeviceValue("T63") = 0 Then
                    hs.SetDeviceStatus("T63", 3)
                            Else
                    hs.SetDeviceStatus("T63", 2)
                            End If        
            
                hs.SetDeviceValue("T64", objRCS.GetCurrentMode(2,1))    'Sleeping Mode
                            Select Case hs.DeviceValue("T64")
                                Case 0
                                    strMode = "Off"
                                Case 1
                                    strMode = "Heat"
                                Case 2
                                    strMode = "Cool"
                                Case 3
                                    strMode = "Auto"
                                Case 4
                                    strMode = "EMHT"
                                Case Else
                                    strMode = "???"
                            End Select
                hs.SetDeviceString("T64", strMode)
                            If hs.DeviceValue("T64") = 0 Then
                    hs.SetDeviceStatus("T64", 3)
                            Else
                    hs.SetDeviceStatus("T64", 2)
                            End If        
            
                hs.SetDeviceValue("T65", objRCS.GetFanMode(1,1))    'Fan Mode
                            If hs.DeviceValue("T65") = 0 Then
                    hs.SetDeviceString("T65", "Auto (Off)")
                    hs.SetDeviceStatus("T65", 3)
                            Else
                    hs.SetDeviceString("T65", "On")
                    hs.SetDeviceStatus("T65", 2)
                            End If        
            
                hs.SetDeviceValue("T66", objRCS.GetModeSet(1,1))    'Living Mode Set
                            Select Case hs.DeviceValue("T66")
                                Case 0
                                    strMode = "Off"
                                Case 1
                                    strMode = "Heat"
                                Case 2
                                    strMode = "Cool"
                                Case 3
                                    strMode = "Auto"
                                Case 4
                                    strMode = "EMHT"
                                Case Else
                                    strMode = "???"
                            End Select
                hs.SetDeviceString("T66", strMode)
            
                objRCS = Nothing
            
            End Sub
            PS. I don't know if this applies to HS3. This is what I'm doing in HS2.
            Mike____________________________________________________________ __________________
            HS3 Pro Edition 3.0.0.548, NUC i3

            HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

            Comment


              #7
              Thanks for the script. I tried your second idea of creating an event to track the operating state. It seems like this should work except the plug-in will not allow triggering off 'idle'. All of the other states are listed. Possibly you would have to detect that each state is 'off' to deduce that everything is off (1st stage cooling is off, 2nd stage cooling is off, 1st stage heating is off, and 3rd stage heating is off). The plug-in shouldn't make it this hard...

              Running a script every minute seems like the thing to do to get around this. It looks like your script expects the return values from GetCurrentMode to be the same set as the return values from GetModeSet. It seems like GetCurrentMode would return a value for '1st stage cooling' and another value for '2nd stage cooling'. I need to read the API for this. When I get a chance I will give this a try.

              Comment


                #8
                The script has been working well for my needs for some time. I'm afraid it's been long enough now that I do not remember how I determined the return values, though. Please post what you learn. I'm curious if you find a way to retrieve stage information. The plug-in appears to be aware of it because it is posted on the thermostat device string. I suppose you could parse the device string if you can't find a better way.
                Mike____________________________________________________________ __________________
                HS3 Pro Edition 3.0.0.548, NUC i3

                HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

                Comment


                  #9
                  I dug up an API that was posted to the board years ago and found the script functions to get the current operating status. I then created a script to retrieve the status.

                  This one returns the general operating status (idle, first stage heat, second stage heat, first stage cooling, etc):

                  GetOperatingRCS

                  This one returns the operating status of the fan (off or on):

                  GetCurrentFan

                  The script is updating devices every 30 seconds so now I can trigger off the current status using these devices. See attached code snippets. My equipment doesn't do 'third stage heating' so I omitted that from the case in the script.
                  Attached Files

                  Comment


                    #10
                    Good find. Thanks for sharing.
                    Can you post the entire API?
                    Mike____________________________________________________________ __________________
                    HS3 Pro Edition 3.0.0.548, NUC i3

                    HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

                    Comment


                      #11
                      The API is attached.
                      Attached Files

                      Comment


                        #12
                        Thanks.

                        I have one dated July 24, 2006, that is almost the same, but the 'Get' functions end at 'GetOperating'. I wonder why?
                        Mike____________________________________________________________ __________________
                        HS3 Pro Edition 3.0.0.548, NUC i3

                        HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

                        Comment


                          #13
                          It's because they were never documented. I added to that document (and made it readable) with information I got directly from Rich.

                          Comment


                            #14
                            Originally posted by Mountainman View Post
                            It's because they were never documented. I added to that document (and made it readable) with information I got directly from Rich.
                            Cowabunga! (Am I dating myself? )

                            I continue to be amazed - but no longer surprised - by the unpredictable and seemingly pointless gaps in HS documentation. Thanks again for filling this one.
                            Mike____________________________________________________________ __________________
                            HS3 Pro Edition 3.0.0.548, NUC i3

                            HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

                            Comment

                            Working...
                            X