Announcement

Collapse
No announcement yet.

When will HS3 get new features, capabilities?

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

    When will HS3 get new features, capabilities?

    HS3 has minor version updates from time to time, but doesn't seem to get updates to the logic processing. The problem is there a lot of missing logic operators in the point/click interface, and no way to directly test for an event in script.

    Here are some operators that HS3 is missing that would reduce the need to make separate event blocks, simplifying code maintenance and debugging and make the code more readable:
    • IF <counter> LESS THAN (absolute values aren't a solution when testing for less than 0 or greater than 2, for example. It is poor practice to test for =-1 since code can jump to -2, -3, and beyond). Alternatively, a BETWEEN test.
    • ELSE (at least one)
    • a NOT option on the IF selector line
    • IF <globalvar>, including string comparison, or at least a way to test an IF condition in script, which could lead to a pure script development solution (skip the point/click entirely)
    • ability to enter a log entry without script


    I've been a developer for 25 years, and a HS3 user now for about 4 years, and it's frustrating how many times you have to mix virtual devices, globalvars, script, and several events just to handle a relatively simple condition.

    Anyone have other programming wish list items?
    Last edited by dzee; March 3, 2018, 01:52 PM.

    #2
    Just out of curiosity, how would this work
    • a NOT option on the IF selector line
    What Trigger would use that option?
    HS4 Pro, 4.2.19.16 Windows 10 pro, Supermicro LP Xeon

    Comment


      #3
      Originally posted by dzee View Post
      ...Anyone have other programming wish list items?
      • Ability to trigger on where device changes may have come from, ability to trigger if device x has been triggered from Alexa/HSTouch/WebUI etc (realise this may need some API changes perhaps)
      • Greater use of device types, current types of thermostat/media/security could be expanded, lighting, power control, sensors etc - useful in charting type plugins to automatically chart values
      • Closer integration with Alexa to control devices volume (if that's possible), trigger if alarm expires (I do this with IFTTT but I'm not a fan of it), get task/shopping list details etc
      • Greater use of global variables as detailed above, make them persist over restart, use them in HSTouch, triggers, conditions etc
      • Ability to step through an event for debugging so you can see a live time evaluation of values and the triggers/conditions being checked.

      Comment


        #4
        Being relatively proficient at writing a bit of code, I often find myself scripting more complex events because its a lot faster and more logical (for me at least).

        I know it can be done with 3rd party add-ons but I find it strange that there isn't a built in way to compare 2 device values.

        e.g. If Device A changes and its value > Device B etc...

        Paul..

        Comment


          #5
          Originally posted by rprade View Post
          Just out of curiosity, how would this workWhat Trigger would use that option?
          There are countless examples, but for one, there is no "less than" when testing counters, so:

          IF [COUNTER] NOT > 2 (meaning it's 2 or less) Absolute value does you no good if you're testing for range between a negative integer whose absolute value is less than the high positive range, and you cannot write every possible value <=2 as individual AND IF statements.

          In other areas, it simply makes the code more readable:

          IF [TIME TO DO SOMETHING]
          AND NOT [OTHER CONDITION]

          instead of
          IF [TIME TO DO SOMETHING]
          Run Script <check for other condition not existing as exception>

          The NOT construct exists in logic because it is not possible to address all possible logic conditions without it. Being able to write the actual trigger conditions in script where we have <>, <= would alleviate this entirely, but that is probably a bigger ask.
          Last edited by dzee; March 3, 2018, 02:59 PM.

          Comment


            #6
            Originally posted by sooty View Post
            Being relatively proficient at writing a bit of code, I often find myself scripting more complex events because its a lot faster and more logical (for me at least).

            I know it can be done with 3rd party add-ons but I find it strange that there isn't a built in way to compare 2 device values.

            e.g. If Device A changes and its value > Device B etc...

            Paul..
            Paul, This was a gripe of mine, too. The comparison of two devices is possible with EasyTrigger (thanks to someone else pointing that out to me), but it doesn't solve every problem. It's disappointing that HS3 never seems to improve the most fundamental value it provides: The initial test logic.

            Comment

            Working...
            X