Announcement

Collapse
No announcement yet.

Is RCS TR40 RS-485 Supported using HS3 RCS Serial Plugin - Plugin now working!

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

    #76
    Did ya have to make it look so easy
    Attached Files
    Ubuntu on the Intel NUC ( 8i5BEK ), 32 G, 250G SSD, V4 Pro 😎

    Comment


      #77
      Originally posted by cbryan View Post
      HS3 RCS serial test up and running.

      The two downstairs stats and an upstairs ZCV4 zone controller are configured as follows:

      South Downstairs Thermostat (A1)
      North Downstairs Thermostat (A2)
      Upstairs Zone Controller (A3)

      There is no provision in the current HS3 RCS plugin to configure the wall display units (WDUs) behind A3 (in my case above) in the plugin. Ideally one could assign WDUs behind any zone controller configured as (An, Zn). In HS2 this was accomplished with drop down menus in the RCS configuration screen but could be as simple as just entering a value for both A and Z in the HS3 RCS configuration screen. (An,Z0) would always be the address of the zone controller itself which does return values under the serial protocol, including fan and mode status and the various damper positions (there was a "reverse damper status" check box to account for normally open or normally closed dampers). More on this below.


      Reads the first stat (A1) just fine, including outside temp from stat (remnant data that was originally sent from HS2 running before where the HS2 script reads temp sensor on the zone controller and writes it to the OT variable in the stat itself). The second stat (A2) and zone controller (A3) are not reading the data. (see HS3 Serial Beta screen capture)

      Additionally, in order to address any zone controller(s) the plugin will have to deal with the zones (Z1 through Z4 or Zx on 2 or 6 zone controllers) by adding the (A,Z) data format (see RCS ZCVx Screen from HS2 RCS configuration screen and RCS HS2 Devices) where A is set for each stat or zone controller and Z is set for each wall display unit behind the zone controller. (A,Z0) is always the controller itself followed by (A,Z1) through (A,Zn) where n=the number of zones (probably limited to 6 for the ZCV6).

      Hopefully this description is not confusing and makes sense.
      I really appreciate the information. I'm testing out a couple improvements that should at least get the second thermostat working properly, though it won't be right away... maybe in the next week or so. I may need some assistance from you on testing the zone controller when I get to that.

      Comment


        #78
        No hurry. Let me know if you need any other info.

        Comment


          #79
          Originally posted by dzee View Post
          Looking around my HS3 installation, I don't see anywhere in my plug-in where it says "RCS Serial Thermostats" and I haven't found documentation, so it seems a bit mysterious how it's working. How did you know to put "RCS Serial Thermostats" into the set RCS = hs.plugin("RCS Serial Thermostats") command to instantiate the plugin?
          Sorry I skipped over your question. At several points there were posts of the RCS Serial API on the HomeSeer website and in the forums. I have attached one of the more recent posts. Much of the API was undocumented and simply picked up through "osmosis" while debugging the HS2 plugin with RJ. I think this was the case for the need to "open" the plugin through the script "set RCS = hs.plugin("RCS Serial Thermostats")". The plugin was not very functional (especially with zone controllers) until the RJ rewrite.

          I am still looking for all of the API documents but haven't had much success as the files have passed through several local computers at this point.
          Attached Files

          Comment


            #80
            Who is using HS3 and has been able to write Outdoor Temperature to the RCS TR40 thermostat?

            I have a VB script sub cobbled together from what I can find in the forums. It's called every 10 minutes to update the thermostat's OT with the current XML outdoor temp from my Davis Weather Station via WUnderground.

            The logs show the right wxmltemp_1 value from the WeatherXML plugin, but the OT is not updating in my RCS Device list nor on the thermostat itself. I'm not getting an exception, so maybe I have the wrong parameters on the hs.PluginFunction call. I have no idea what any of these parameters are doing. "RCS Serial Thermostats" appears nowhere in my installation settings and it's undocumented as far as I can tell. I'm attaching a pic of my RCS device settings, and the script. Anyone have any ideas what I'm doing wrong?

            Thanks.

            Sub SetTemp(var)

            Dim errst
            Dim objRCS As Object

            Try
            Dim obj1 As Object
            Dim obj2 As Object
            obj1 = 1
            obj2 = hs.GetVar("wxmltemp_1")
            hs.writelog("Outside Temp","wxmltemp_1=" & obj2)

            objRCS = hs.PluginFunction("RCS Serial Thermostats", "RCS", "CmdSetOutsideTemp", {obj1,obj2})

            Catch ex As Exception
            hs.writelog("setOutsideTemp",ex.Message)
            Finally
            objRCS = Nothing
            End Try
            End Sub
            Attached Files

            Comment


              #81
              Originally posted by sdwinkelman View Post
              I haven't seen anything specifically for messages (just the approach you already noticed), though I'd like to do something a bit more useful than the way it is presently. I didn't have luck earlier with getting the replacement variables to work in that context either (one of my earlier rants). I am definitely wanting a better way to use them, since I used them extensively in HS2.

              I am planning on implementing something to address that- hopefully sooner rather than later.
              I have been diving into the sample plug-in code today, and it dawned on me that replacement variables should be replaced by HS3 BEFORE being passed to the plugin, because then all plug-ins will benefit. If, as a plugin developer, you try to access variables from other plug-ins from your plug-in, then you are at the mercy of whatever the other plug-in makers have exposed. HS is the only common denominator.

              It sure would be helpful if HomeSeer did these things:

              1) Support all Global Variables as replacement variables, replaced before passing to a plugin. This would help in a lot of situations.

              2) Support comparison of global variables with both fixed values or another device value or global variable. (e.g. If wxmltemp_1 [the outside temp] is less than 40 then set irrigation system OFF, or is thermostat cooling setpoint < outside temp, then Speak "Open windows. It's nice out!")

              3) Support the setting of global variables in the THEN statement.

              Comment


                #82
                Originally posted by dzee View Post
                Who is using HS3 and has been able to write Outdoor Temperature to the RCS TR40 thermostat?

                I have a VB script sub cobbled together from what I can find in the forums. It's called every 10 minutes to update the thermostat's OT with the current XML outdoor temp from my Davis Weather Station via WUnderground.

                The logs show the right wxmltemp_1 value from the WeatherXML plugin, but the OT is not updating in my RCS Device list nor on the thermostat itself. I'm not getting an exception, so maybe I have the wrong parameters on the hs.PluginFunction call. I have no idea what any of these parameters are doing. "RCS Serial Thermostats" appears nowhere in my installation settings and it's undocumented as far as I can tell. I'm attaching a pic of my RCS device settings, and the script. Anyone have any ideas what I'm doing wrong?

                Thanks.
                dzee,

                Are you using the latest version I had posted? The reason I'm asking is it already should pull the outside temp from weatherxml. The priority was to use the sensor first, then failing that use weatherxml if it's installed, and if not do nothing. What do your logs show going to/from the thermostat and is there any value showing in the Outside Temp on the thermostat?

                Comment


                  #83
                  Originally posted by dzee View Post
                  I have been diving into the sample plug-in code today, and it dawned on me that replacement variables should be replaced by HS3 BEFORE being passed to the plugin, because then all plug-ins will benefit. If, as a plugin developer, you try to access variables from other plug-ins from your plug-in, then you are at the mercy of whatever the other plug-in makers have exposed. HS is the only common denominator.

                  It sure would be helpful if HomeSeer did these things:

                  1) Support all Global Variables as replacement variables, replaced before passing to a plugin. This would help in a lot of situations.

                  2) Support comparison of global variables with both fixed values or another device value or global variable. (e.g. If wxmltemp_1 [the outside temp] is less than 40 then set irrigation system OFF, or is thermostat cooling setpoint < outside temp, then Speak "Open windows. It's nice out!")

                  3) Support the setting of global variables in the THEN statement.
                  Global variables are presently available as replacement variables, it's more that the RCS plug-in (somehow) didn't support their use. Normally, the usage would be
                  $$GLOBALVAR:(name):
                  or in a script,
                  hs.GetVar("name")

                  I'm assuming for items 2 & 3 you're meaning capabilities directly in the event builder, since they can presently be done in scripts. I agree that would be quite a powerful and welcome feature.

                  Comment


                    #84
                    It helps to have the right version

                    Originally posted by sdwinkelman View Post
                    dzee,

                    Are you using the latest version I had posted? The reason I'm asking is it already should pull the outside temp from weatherxml. The priority was to use the sensor first, then failing that use weatherxml if it's installed, and if not do nothing. What do your logs show going to/from the thermostat and is there any value showing in the Outside Temp on the thermostat?
                    I still have a hand-shaped red mark on my forehead from slapping it so hard. I moved my entire install from my primary desktop PC to a dedicated machine this weekend. When I reinstalled the plug-ins, I did it from the HS download site and I forgot to replace HSPI_RCSSerial.exe with the copy you had posted.

                    As soon as I restarted HS3 with the right executable, off it went. Thermostat is updated with temp form WeatherXML. THANK YOU for putting up with me.

                    My next exercise is to recreate the scripting I had on my StarGate that compared indoor/outdoor temps along with the alarm system's status so the system can remind us to open/close windows instead of using A/C or Heat.

                    Comment


                      #85
                      I've found some code on this site that appears to show the RCS Serial plug-in had a cmdSendCustom function that could send messages to the thermostat.

                      Code:
                      Dim objRCS As Object = hs.Plugin("RCSStat") 'also tried hs.Plugin("RCS Serial Thermostats") here = no luck
                      Dim err As Integer
                      Dim m As String 'message
                      err = objRCS.cmdSendCustom(1, "TM=" & """" & m & """")
                      This does not appear to work under HS3, and I have been unable to use replacement variables in the Event Builder RCSStat: Send Command

                      Is there a way to accomplish sending a TM to the RCS Stat with a built up string in a script, or replacement variables in the Event Builder text? Since it MUST be surrounded by quotes in the Event Builder, any variable I put there is taken literally.

                      Comment


                        #86
                        Originally posted by sdwinkelman View Post
                        Thanks for all the great suggestions and continued feedback!... please keep it coming.

                        My intention is to have this be compatible with as much equipment as I can and am structuring it to be very flexible. I am lacking detailed technical documentation on the zone controllers, so if anyone has copies (or finds links online) please let me know.

                        I'm posting one last revision for this week to see if resolves the outside temp issue gearyt observed (please let me know!)

                        Since I'm still getting up to speed on "plug-in basics", I probably won't be making any major changes just yet, but I will likely do additional tweaks as your feedback warrants it and per Uncle Michael's suggestion, I'll create a new thread going forward.

                        sdwinkelman,

                        Thanks for your support. When I change setpoints via the thermostat, it doesn't update in HS3. I have polling set for 60 sec. Should that be working?

                        Comment


                          #87
                          Are you using the executable I posted earlier?... it should work (at least that much). What equipment are you using?

                          Comment


                            #88
                            Hello, I'm new to this thread. I was directed to it by Steve as I had given up on getting my RCS thermostats to work with HS3 and posted a comment on bugzilla.

                            Anyway I tried your plugin and everything now works except for the display no being updated.

                            Thank you thank you for writing this, you have my gratitude!

                            I looked at the log after enabling debug and it seems that the correct values are coming back, like the temp setting or mode. They're just not being updated in the device view for some reason.

                            And now I just realized that Steve is who wrote the plugin, so double thanks for your comments in bugzilla

                            Comment


                              #89
                              Any update on working with zone controllers

                              Comment


                                #90
                                Okay I fired up the serial program to connect to the controller in a log everything I could log in I have attached those logs here.

                                I have also uploaded a zip file of the directory with all program stuff for communicating with the controllers

                                Edit: I think I found the installer.
                                Attached Files

                                Comment

                                Working...
                                X