Announcement

Collapse
No announcement yet.

Next Build?

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Next Build?

    Justin,

    Just wondered how things are coming with the next build? Any exciting news?
    Madcodger

    This would be a lot easier if I knew what I was doing...

    #2
    Ditto. Purchased this plugin on the "Buy version 2 now, get version 3 for same low price" marketing technique. Thanks.

    Joe

    Comment


      #3
      This week, meaning 12/23 or before.

      Comment


        #4
        Cool. Thanks.

        Good News. Will be able to try out over the holiday period.

        Thermostat control???
        Madcodger

        This would be a lot easier if I knew what I was doing...

        Comment


          #5
          Originally posted by Madcodger
          Thermostat control???
          Yep, for RCS X-10, RCS Serial and HAI. Frankly, supporting multiple plug-ins has been the hold-up... let me explain why.

          In WAPSeer 2 (and HS 1) there was a single universal way to talk to all thermostats, in the ControlThermostat API. This ensured that the code could address the basic functions of all thermostats supported by .THM scripts without needing additional work for each new piece of hardware.

          Honestly, I made a HUGE mistake, practically having the RCS X10 done (because it's the HW I have) before realizing this, but...

          Plug-ins are now the standard way to talk to thermostats, and unfortunately they're not standardized around a single API like ControlThermostat. Since HST contracted out their thermostat plug-ins, they were written by multiple authors who created multiple ways of doing things. For example, getting the number of thermostats attached to an RCS X10 plug-in means asking for its NThermostats variable, while on HAI its NumberThermostat instead. Setting the setpoint on RCS is a simple SetSetPoint(Therm#,Temp), but on HAI it means getting the Thermostats collection, getting the correct object and setting the correct setpoint (heat or cool) property.

          These differences mean that a LOT of extra code is required; 2-3 times more than WAPSeer 2 uses to get the same things done (and it uses a lot, too). I can't just ask how many thermostats a plug-in controls; I must first figure out what type of plug-in it is, and ask correctly depending on which one it is. This is true for every piece of information retrieved and set (SupportsCool, SupportsHold, CoolSetPoint, HeatSetPoint, SetPoint, CurrentTemp, FanMode, ThermMode, HoldMode, NumberOfThermostats, ThermostatName, etc).

          I have every intention of getting this out by Friday, for you guys to play around with on the holidays. I just want to make sure I'm not responsible for freezing your pipes or stir-frying your family

          Justin

          Comment


            #6
            Not a problem

            Justin,

            It's cool, and I appreciate your efforts. Pretty darn impressive, frankly. Thanks!

            WAPSeer 3 is working extremely well for me, so I am happy. Having Tstat control will be icing on the cake.

            And for what it's worth, Jim has had a heck of a time getting his X10 Tstat plugin to work well for everyone, despite Herculean efforts and more talent than I can imagine.

            I look forward to the new code, and I imagine that's true for many.

            Joe
            Madcodger

            This would be a lot easier if I knew what I was doing...

            Comment


              #7
              Originally posted by JustinGould
              Yep, for RCS X-10, RCS Serial and HAI. Frankly, supporting multiple plug-ins has been the hold-up... let me explain why.

              In WAPSeer 2 (and HS 1) there was a single universal way to talk to all thermostats, in the ControlThermostat API. This ensured that the code could address the basic functions of all thermostats supported by .THM scripts without needing additional work for each new piece of hardware.

              Honestly, I made a HUGE mistake, practically having the RCS X10 done (because it's the HW I have) before realizing this, but...

              Plug-ins are now the standard way to talk to thermostats, and unfortunately they're not standardized around a single API like ControlThermostat. Since HST contracted out their thermostat plug-ins, they were written by multiple authors who created multiple ways of doing things. For example, getting the number of thermostats attached to an RCS X10 plug-in means asking for its NThermostats variable, while on HAI its NumberThermostat instead. Setting the setpoint on RCS is a simple SetSetPoint(Therm#,Temp), but on HAI it means getting the Thermostats collection, getting the correct object and setting the correct setpoint (heat or cool) property.

              These differences mean that a LOT of extra code is required; 2-3 times more than WAPSeer 2 uses to get the same things done (and it uses a lot, too). I can't just ask how many thermostats a plug-in controls; I must first figure out what type of plug-in it is, and ask correctly depending on which one it is. This is true for every piece of information retrieved and set (SupportsCool, SupportsHold, CoolSetPoint, HeatSetPoint, SetPoint, CurrentTemp, FanMode, ThermMode, HoldMode, NumberOfThermostats, ThermostatName, etc).

              I have every intention of getting this out by Friday, for you guys to play around with on the holidays. I just want to make sure I'm not responsible for freezing your pipes or stir-frying your family

              Justin
              Justin,
              It makes you wonder why HST would drop a common api to allow an any-thing-goes approach doesn't it? It's probably to late to do the right thing now.
              💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products

              Comment


                #8
                It was very clear to me that a standard thermostat API was to be used and I made every attempt for the RCS X10 plug-in to follow it precisely from day one. Most thermostat plug-in developers were given a test script that would enumerate all thermostats regardless of the plug-in controlling them.

                Even if a thermostat plug-in started life without being commissioned by HST, I don't know why a developer couldn't quickly meet the API specifications:

                PHP Code:
                Public Function NThermostats() As Integer
                    NThermostats 
                NumberThermostat
                End 
                Function 
                If I missed something in the RCS X10 plug-in, let me know.
                Jim Doolittle

                My Twitter
                My Hardware & Software

                Comment


                  #9
                  Originally posted by Jim Doolittle
                  If I missed something in the RCS X10 plug-in, let me know.
                  The RCS X-10 plug-in is just fine and dandy, and RCS Serial uses the same exact calls for basic stuff (zone dampers and other one-offs won't be supported), so that's basically in the bank. Where I ran into trouble was when I got to HAI. Setting the heat setpoint to 72 degrees on HAI looks like this:
                  Code:
                  piObject = hs.Plugin("HAI RC Thermostat")
                  ThermsCollection = piObject.Thermostats
                  tStat = ThermsCollection.item(1)
                  tStat.HeatSetPoint = 72
                  Instead of with the RCS plug-ins, where it's just:
                  Code:
                  piObject = hs.Plugin("RCS X10 Thermostat")
                  piObject.SetHeatSetPoint(1,72)
                  As you can see, very different, but I have several long-time customers who I know run HAI gear, and I need to support them. The differences have required me to construct a wrapper class that figures out which plug-in I'm dealing with and how to get/set settings based on that. Yuck. HAI gear is more advanced, but there's no reason the basics can't be standardized.

                  Originally posted by Jim Doolittle
                  Most thermostat plug-in developers were given a test script that would enumerate all thermostats regardless of the plug-in controlling them.
                  Yes, the HAI plug-in does correctly set bit 4 in its capabilities flag, so I have no problem enumerating the plug-in. Going any deeper, however, exposes the differences.

                  Justin

                  Comment

                  Working...
                  X