Thanks, that's really cool.
Perhaps I could piggy back this thread for a somewhat similar use case I have:
I built a dog food scale using a SparkFun OpenScale and some off the shelf load cells attached to a wooden base I built. We have a dog food dispenser that allows the dogs to eat whenever they want: https://www.amazon.com/gp/product/B00IA5I97S/
I wrote a driver in Hubitat that uses telnet to access the weight (and temperature) of the food on the scale. Since it can hold 50 lbs of food, and we generally buy food in 40 lb bags: It makes sense to be notified to buy more food when it drops below about 15 lbs, and then get notified to add more food once it drops below 10 lbs.
Side note: Has anyone noticed there's no "weight" capability in the driver system? I guess no-one ever thought that someone would use a scale as part of a home automation system. I had to just expose the weight as a generic attribute.
What I've been trying to figure out is the most elegant way to achieve:
1.) When weight falls below 15 lbs: Send a Pushover notification that it's time to buy more dog food.
2.) When the weight falls below 10 lbs: Send a pushover notification that it's time to re-fill the dog food dispenser.
3.) Don't re-send either notification until the weight on the scale goes above 20 lbs to "reset" the scale notifications.
The challenge is that the scales reported weight can "drift" a bit up and down even when the weight stays constant. This is very similar to a thermostat problem when you might set the fan to come on at 72 but you don't want it to shut off at 72.1. Likewise on the scale it could drop to 14.9 causing a Pushover notification and then 30 minutes later go back up to 15.2 then an hour later fall back to 14.9 again and fire off the pushover notification once again.
I know I could do this in Rule Machine with several rules and a bunch of private booleans, but I was curious if something like WATO might offer a simpler solution?