Well, to me there is a clear distinction. A trigger is a single occurrence which is only true for that moment. A condition can be true for a long time. If you bunch them all together as triggers, it’s not clear which ‘condition’ starts the meshbot. It would even suggest that using a condition as a trigger could lead to repeated retriggering of the meshbot.
The lack of this distinction has already played tricks on my mind while configuring meshbots.
There is some difference in meshbot representation in the mobile apps and in the Ezlogic. We are gradually adding missing pieces to the mobile apps and Ezlogic in order to have the same UX for meshbots operations.
would you please give some examples of what kind of improvements you would like to see?
Also: do you think a new user would “seek for a Condition” statement (that they are not aware of) when building triggers? (my point is: does the confusion exist because of our past learning?)
As an example, I want to trigger a light by a motion sensor, but only till 1 hour before sunrise (and 1 hour after sunset). Now, as a condition, I want to state '1 hour after sunset and 1 hour before sunrise).
Probably this will work. But as it’s stated under ‘trigger’, in my head the state '1 hour after sunset) will only be true for a single second. The combined state ‘1 hour after sunset AND 1 hour before sunrise’ can be true for a condition, but not a trigger, unless you’re living in Iceland during the winter
As I’ve only used reactor twice, circa 5 years ago, past learning would not apply to my case. I do have an IT background so I’m familiar with Boolean logic etc, which might influence how I think of meshbots.
so let me try to summarize here…there are 3 things you are looking at… (lets call them 3 different States of things…)
1-State of a Motion sensor (if there is a motion)
2-State of a time (one hour after sunset)
3-State of a time (one hour before sunrise)
Now, any of these 1, 2, 3 are interchanable…
eg: I can say my trigger is “one hour after sunset”…and put the rest by saying if there is a motion and one hour before sunrise…
Or
I can say: “One hour before sunrise”…if its “one hour after sunset” and " there is a motion"…
if you look at it, there is no technical differentiation of what could be called “condition” vs “Trigger”…
Trigger is a “state” (or collection of states using operators like and/or etc)…
Condition seems like a “subjective” determination of which “trigger” to call “condition”. There is no technical difference it seems to me, unless I am missing something?
Yes but folks shouldn’t be overly concerned about this. As the promise of meshbots becomes better understood/entrenched people will quickly realize the GUI interface via ezlogic.mios.com is a much better way to create and edit “scenes” than an iPhone/Android screen.
Thanks for spotting this one. We will add it into our next version hopefully.
“Selecting the house mode in which the meshbot should run” . You are right, That only exists in vera mobile app for now.
The only missing part is that we don’t have grouping in “ACTION” part. But it can be easily achieved with creating another meshbot with an empty TRIGGER part and having the group of actions there to run them together.
It think the implemented logic is pretty powerful and adequate, it’s more a matter of guiding the user through a logical process in the UI. Taking a complex and powerful backend and presenting this in an easy to comprehend UI for the average user is hard.
Some little words might help. In the trigger section, for Node Type ‘Date and Time’, Node ‘Special Time of The Day’, ‘Sunrise’, Value type might be better expressed as ‘At least before’ instead of ‘Before’, as the ‘At least’ wording will indicate to the user that the trigger will evaluate as ‘true’ for a long time.
Furthermore, in your example with the graphs explaining before / after sunset, I think there is still a gap in applying this correctly. From the graph it’s implied that the ‘After sunset’ is ‘True’ from sunset till midnight. ‘Before sunrise’ is true from midnight till sunrise.
This would mean that ‘after sunset’ and ‘before sunrise’ will never be true at the same time. Thus in a trigger or exception they should be part of an ‘OR’ group instead of an ‘AND’ group. Which is way to fuzzy for an average user…
A ‘Between’ operator for times would make sense here.
@jouked yes you are right, we are working on improving the wording there, it will be updated in the next version.
Also you are right about the OR operator selection and for that we will introduce another option “During Day” or “During Night” into the Date&Time triggers. Hopefully in 1-2 months. It’s in the queue.
@osman, It will be interesting to see how this manifests in Meshbots because that was a contributing issue that spawned the lengthy discussion about trigger conditions and global exceptions.
That said, a good User Interaction design never overloads different semantics under the same UI element - while the underlying engine may not need to differentiate the different trigger semantics, from a usability standpoint it is not intuitive at all. There is a big difference between a Software Engineer and a User Interaction Design Engineer - I’m more of an engineer and will admit that I stink at UI design hence I always used the best of the best User-Interaction Design engineers for our products. If you want EZLogic to compete with the big players in the Matter space, then it behooves you to consider this…
Now, you can have many different states/data/trigger/condition to cause the MeshBot to start…No matter what you call them, you can put them in the “Trigger section”…
Now lets talk about “After MeshBot” starts…
A MeshBot could be running for a “Period of time”… (its not always a quick thing…)…
What if there is a “Dynamic state/condition/Trigger” that you want to use as exclusion “during when MeshBot is running” …that is the “Exception”…in the Action section…