Great idea!
There’s two answers, really.
1: Sometimes the long way around is just more fun. We have a penchant for creating Rube Goldberg IoT machinery if it’s for our own use (for clients we are much more pragmatic :-). But there’s a real reason, too:
2: We actually explored this originally, but discounted it given a few issues with this approach:
- When you make coffees back to back, there isn’t a clear point inbetween in which to decide a new coffee is being made, so it gets harder to count them. Measuring time won’t work either since there’s a variety of drinks with different timings.
- Cleaning cycles are quite regular on this machine and will throw off the data (it uses the thermoblock heater for this as well).
Now we’re thinking though: these issues might be solvable by instead of looking for increases, by classifying the power consumption level over time using signal analysis. This will be a non-exact science: when it’s hotter in the office, the thermoblock will use less energy. If the beans are older the grinder will use more energy. Etc. Intuitively, simple heuristics will fall short, but machine learning might be the way to go here. We can train a neural network (specifically an RNN) to classify the ongoing signal, possibly very reliably. Only problem then is it’ll be a bit of a bore to collect a large dataset. Regardless the idea of doing this is fun. So thanks for your idea!
PS other approaches tried or considered:
- Put a microphone next to the machine, have an algorithm recognize the sound of the grinder (worked pretty well actually)
- Glue flexible touch buttons to the actual buttons and simple count presses :-) (but we felt that was cheating)
Curious to hear any other ideas :-)
