Announcement

Collapse
No announcement yet.

Bug or Misunderstanding on My Part?

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

    #16
    Originally posted by IAmDotorg View Post
    The more you use HomeSeer, the more you'll realize its worst than that -- its learning a new language that uses words you're already familiar with, but the meanings are different, nouns and verbs are swapped, and all the vowels are missing.
    I think you're missing my point, but that's okay.

    I remember, long ago, I was teaching myself FORTRAN. (It was really long ago.) I was confused, even angry, to see a construct like: 'X = X + 1'
    It makes no sense. It defies logic. It can't possibly be true.

    Just as an assignment operator forces a change in mindset from using standard arithmetic operators, event logic is different from the flow of a script. You have two basic options.
    • You can adjust.
    • You can find a different solution.

    Of course, you are free to complain as well, but that only affects you. It doesn't actually change anything.

    While under limited circumstances, 'else' can work in events, it is inherently limited for reasons already detailed. The 'else' construct in event logic is a new event. And, yes, that makes flow difficult to follow. I agree, it's annoying, but the benefit is that you have almost complete freedom to define what 'else' happens. I think that outweighs the the negatives, but you are free to disagree.

    I routinely use scripts to handle complex logic in HS. I encourage you to explore that option.

    If there is a more functional alternative to HS available, this community would love to learn about it. So far, though, this is the best option I've found. It is extremely capable, and amazingly adaptable. Could it be more 'modern', more 'efficient' to use. Of course. Could the documentation be more complete and better written. Definitely! But HST is a very small company and the user base is tiny. Big investments seeking mass market appeal have so far produced almost nothing of interest to me, and seem more intent on mining personal data than in helping accomplish the tasks I think are interesting.

    There are few perfect solutions in life. Choose the ones that suit you best. Offer constructive suggestions for improving the ones that you find useful. Ignore the ones that you think are hopeless.
    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


      #17
      Originally posted by sirmeili View Post
      To me an else in homeseer events would not work. Events are evaluated a lot, so are you saying if the trigger is true, but the conditions are false, then the else fires? Or every time the trigger is false does the else fire? If it's the latter then you would have it constantly running the else. If it's the former, I think it would be confusing as hell to users

      Right now you have the option of creating an event and if you want an else you can just create another event that would act like an else.

      Of course you could just write scripts instead. Set it to run based on a trigger and do further evaluations in the script. For instance of you want to have an else for "when x changed and become y", you could change it to "when x changed" then in the script do your logic for if and else.

      Sent from my XT1585 using Tapatalk
      Well, the problem with else clauses is how HomeSeer treats the "if" clause. Its an easy mistake to make, but it causes unnecessary complication. (I built a similar event-based CASE tool in the early 2000s for another space, and we actually made the same mistake on the initial design until we started working through our use cases and realized it...) The issue is HomeSeer is conflating a trigger statement with a conditional statement, and is doing things behind the scenes (presumably) to make the latter work like the former.

      So in HS you say, for example "IF the time is 6:00pm THEN do something". That's a polling, rather than event or interrupt-driven way of looking at the construct. You have to keep checking if its 6:00pm... and you're right, in that case and ELSE statement doesn't make sense, because you'd be hitting it on every poll of the conditional. What the statement really is is "WHEN the time is 6:00pm, DO something" -- that establishes it syntactically as an event trigger. The difference doesn't matter if you have a single conditional, but only the most basic of scenarios use a single conditional.

      Take for example, you want to check at 6:00 pm, and if someone is home (via a virtual device, say), you want to turn on a light in the living room, but if they're not, you want to turn on the garage light for when they get home. (Yes, not the best example, but there's more multi-conditional cases than single-conditional, without a doubt.)

      The problem with the model HS uses is you now need to use two events -- IF the time is 6:00pm AND occupancy = true THEN turn on the living room light, and IF the time is 6:00pm AND occupancy = true THEN turn on the garage light.

      Not terrible, but a pain if you want to change the time to 6:30. Now you have to remember both.

      Where what you really want is an event trigger at 6:00pm -- WHEN the time is 6:00pm IF occupancy = true THEN turn on the living room light ELSE turn on the garage light. Now you're not polling and you have a single event.

      Now, I am guessing, given most of the HS IF conditionals are event triggers, its not actually polling... so those, as is, should support "then". Then its hacky, though -- sometimes you can support it, sometimes you can't. You really need, in a system like this, to separate your triggers logic from your action logic. That's how, just as an example, all workflow systems work -- you have a trigger to start a workflow, or to continue it from a wait state, and then the actual execution logic descendant from it.

      Take as an example, the thing that most recently was annoying me with it -- a single "Occupancy Status" virtual device, with values of Home, Away, and Vacation. The trigger for it to be in Home state was any one of three other virtual devices being set -- a Guest Mode device, and a virtual device triggered by IFTTT for the two of us when we're in the geofence. The device should be "Away" unless any one of those three is true, unless its in Vacation, in which case nothing changes. But exiting vacation, things need to get re-evaluated.

      With the way events work in HomeSeer, you have to do a big tangled mess of events to make it work because, while setting it to "Home" using "OR" conditionals is easy, turning it back to "Away" when they're all false isn't. You need a second event testing with AND and the values inverted. And then if you want the "Vacation" logic, you need to double them again. Worse, I originally wanted a fourth state -- Night -- and that doubled them all yet again. It just makes an unmanageable mess, where it'd be trivially done using a WHEN clause triggering on the change of any of the dependent devices, and a simple set of IF clauses.

      And, frankly, that's a pretty simple use case. You quickly explode into a system with hundreds of events, and virtual devices, just to work around the lack of the conditionals and triggers working properly. You see people on here saying they've got 500 devices and a thousand events -- I'd bet most of that is because of the need to play games to work around the limitations.

      While full workflow engines like Windows Workflow Foundation are probably overkill for most people using something like HomeSeer, something that isn't even as sophisticated as IFTTT isn't. What you need is something in the middle -- like MIT's Scratch or one of the other various systems out there for graphical programming. Or just tweak the execution model to separate trigger conditions from logic, and allow nested conditionals. Changing "IF" to "WHEN" and adding "IF/ELSE" as a conditional in the action clause would, alone, eliminate half of the shortcomings of the eventing system. Allowing a tested IF/ELSE within the action block of an IF/ELSE would probably get 80% of the remaining issues.

      Comment


        #18
        One would think with "smart technology" and "automation" products that a concept such as vacation or holidays is built in. Granted, calendars will always change and need to be updated, but the concept of holiday processing should definitely be included.

        Sure we can create a holiday processing module. But that defeats the point of smart technology or home automation software. Maybe all of this "software" is not that smart after all.... But that is the point... It is software and can be changed.
        HomeSeer 2, HomeSeer 3, Allonis myServer, Amazon Alexa Dots, ELK M1G, ISY 994i, HomeKit, BlueIris, and 6 "4k" Cameras using NVR, and integration between all of these systems. Home Automation since 1980.

        Comment


          #19
          From posts I've read by HS employees they seem to have a philosophical mindset to leave all the rules up to the customer and bake almost nothing into their software, simply giving us the tools to do what we want. I can see where they are coming from since lots of people have different ideas about exactly how things should work and few would be completely satisfied with the way baked in features work. Unfortunately that means DIY'ers are their only market segment. It is a bit daunting for a newbee starting the software for the first time with nothing more than a couple of example virtual devices and no example events.

          Comment


            #20
            Originally posted by Krumpy View Post
            One would think with "smart technology" and "automation" products that a concept such as vacation or holidays is built in. Granted, calendars will always change and need to be updated, but the concept of holiday processing should definitely be included.

            Sure we can create a holiday processing module. But that defeats the point of smart technology or home automation software. Maybe all of this "software" is not that smart after all.... But that is the point... It is software and can be changed.
            Vera added this in UI7. I didn't see any benefit to it. It is easier to just handle it myself then to be locked into how they think it should work.

            To me "smart" would mean learning, but I don't think we are close to a system that will learn my usage and adjust accordingly (without having to use the "cloud").

            Sent from my XT1585 using Tapatalk

            Comment


              #21
              Originally posted by Krumpy View Post
              One would think with "smart technology" and "automation" products that a concept such as vacation or holidays is built in.
              You may have hit on the key conceptual disagreement behind this and the many similar threads that appear here.

              I suspect that HST does not consider their product to be "smart" in the sense of a "smart" phone or a "smart" car. I think they see it as a tool with advanced capability. If they have a goal, I think it would be to remove the limits on the capabilities of HS rather than improving its performance for specific tasks.

              In that context, 'baking in' the capability to automate the control of a garage door or to categorize the occupancy designations of a household, look more like limitations - distractions, at best. I'm pretty sure it is a disagreement without a 'right' answer, so expect to see the topic come up again.
              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


                #22
                I have been doing home automation for over 30 years and recently going down the path of a professional installer. People ask me what home automation or smart technology is, and I have been looking into this in a more deeper fashion. I have come to the realization that all of this smart technology is still very unintelligent. More to come on this in a different thread.

                HomeSeer is a good product. At least with it we can tailor our environment. Many other products one can not do that. Just needs a few more tweaks... But, if you were to ask my wife, she probably would say that I need a few more tweaks myself.
                HomeSeer 2, HomeSeer 3, Allonis myServer, Amazon Alexa Dots, ELK M1G, ISY 994i, HomeKit, BlueIris, and 6 "4k" Cameras using NVR, and integration between all of these systems. Home Automation since 1980.

                Comment

                Working...
                X