Status value collection
Guillem Morey 5 years ago in bOS Configurator / Themes • updated 5 years ago • 8
I have an issue with this property, if I use integer value it works correctelly, but if I use a double float just works "EqualorGreater" and "EqualorLess" but not "equal".
Customer support service by UserEcho
Never noticed. The double float values I use never have a perfect rounded value, so I have never tested with "Equals" but that is something that can be tested.
Will be glad to test that tomorrow in the evening.
Hello again Guillem,
I guess that you're right, I'm having the same result as you.
It looks like it might be a little bug.
I think that someone from Comfortclick team will soon take a look at it. Just keep this post updated.
Thanks Ricardo, In other hand could be a fine improvement add a function for ranges, because "Equal", "EqualOrLess" and "EqualOrGreater" are not enough, if is needed intermediate values is necessary make an "equal" for each value.
as Ricardo mentioned, our Float values do not have Equal values for floats because of the Float values them self, you could use EqualOrGreater as a workaround and play with that, I will put this Equal value into our programming plan and try to implement it in our next version of bOS.
Float values have "Equal" comparator, but don't works, in this case you can improve "Range Values" for fix it.
This is an screenshot that shows "Equal" comparator is implemented.
I do support Guillem suggestion.
There is no way to do range values with EqualOrGreater and EqualOrSmaller in float values, because they might overlap depending on the chosen values.
Let's say we would like to do a range filter EqualOrGreater than 20 and EqualOrSmaller than 30... it will assume every value below 30, like 10, 0, etc, because they are indeed smaller than 30. As EqualOrGreater will always assume every value even above 30.
So we can't use it as a range filter.
Proper Equal will be good. But a kind of range filter would be even better.
Guillem, I've tested a temporary workaround, but it's not that fancy, and I don't know if it fits your purpose:
- Create an integer, to use it as a kind of "pointer";
- Create a Task to set your range
- Use the incoming value in the Trigger of the task and use the AllowRetrigger
- Create a logic in the task
(eg. if incoming value >= 10 _ if incoming value <20 _ set pointer to constant 1)
(eg. if incoming value >= 20 _ if incoming value <30 _ set pointer to constant 2)
(eg. if incoming value >= 30 _ if incoming value <40 _ set pointer to constant 3)
- Use the "Pointer" in the visualization, and in the status collection use Equals 1... Equals 2... Equals 3...
I've tested and it works. But I know it's kind of boring...
thank you all for provided information and requests. We will implement and improve this feature in our bOS. Expect fixed and improved in our next version of bOS.
Thanks for great news, you are doing a great job, i would like colaborate with you to anhace this grat product.