I am VERY open to better descriptive names for the feature(s)....
Better Laundry Monitor has, for a long time, only monitored the Power attribute from a Power Plug device. The Thresholds are:
how much power indicates a Cycle has started? --> "Start Cycle when power raises above (W)"
how much power indicates the Cycle has stopped? --> "Stop cycle when power drops below (W)"
Because most washers and dryers have some "interval of nothingness.. " where the power drops below the cycle stop value BUT only for a short time... for example, when a Washer is filling for a Rinse. Therefore, the App wants to know how many times this happens because the LAST time it happens means the entire cycle is done. --> "Stop after power has been below threshold for this many sequential reportings:" If you have one rinse, this value will need to be two. The first drop below the Stop Cycle power reading means the Rinse has started... and the washer will come on again, but the next time, the 2nd time, it's done.
But what happens if you're running a Spin Only cycle?? The power only drops ONCE.. you will NEVER get a Notification. Therefore I added --> "Maximum cycle time" so that no matter what, you'll get a Notification at that time. This value must be at least a tiny bit longer than the time for the maximum cycle you use.
In the last couple of weeks, I've been asked to add another device type to monitor. A vibration sensor, that reports as an Acceleration Attribute. It's binary, there's no number to match, it's either detecting vibration or it's not. Therefore the list of Thresholds must be different and App users must select between the old Power Meter method or the new Vibration method.
I merged in code that was written for Vibration and there are two values it needs. When you start a washer using a Vibration sensor, right away it vibrates a bit while the water starts to fill the tub, then there's a pause, Vibrations stop, and start again. Therefore --> "Time to fill the Tub" is used to indicate from the first vibration to the one after the pause is how many minutes?
Then the Vibration method wants to know the shortest time that a cycle can last.. any loss of vibration is ignored until that timer runs out.. the next time Vibration ends, that must mean the cycle is complete.
Again, just in case, there's the same --> "Maximum cycle time" to send a Notification if one hasn't already been sent.
Also, last week, it seems that a washer vs a dryer using Vibration, may be so different that another profile is needed. Two Vibration methods (profiles) and what to name them? The first one created uses a lot of Timer values.. so it's named "Timed Vibration Sensor"
The second Vibration profile actually is very very similar to the Power Meter method (profile) and the one word that stands out in it's method is Sequential... therefore, I named the third method "Sequential Vibration Sensor"
The "Sequential Vibration Sensor" profile wants to know how many start stops of Vibration occur in a single cycle. --> "Stop after no vibration for this many sequential reportings"
Just as important, if the count is wrong, when should a notification occur if one hasn't been sent already? --> "Maximum cycle time"
Now that you know what it' trying to do.. are there better names for any element?