Data analytics, pattern recognition


I was wondering if anyone did any analysis or pattern recognition with the data persisted by OH. For example, we can extract some meaning from the energy meter, even do some predictions or realtime alerts. I’m planning to start digging on time series statistics but thought it might be a good idea to ask before. I was thinking on things like finding electrical fingerprint for appliances to monitor individual power usage or out of range readings that could imply an alarm, like opening the door at 4am when that usually never happens.


I’m also interested in this area.

My scenario is as follows:
I have a automatic bread-making machine. It is located in a room where the audible beep from the machine saying ‘your bread is ready’, is hard to hear.
So today we program the machine for immediate start (runtime exact 4 hours) or delayed start (endtime as programmed, > 4 hours, let’s assume 8 hours top in this example) AND we take the timer from the oven (which is loud and can be heard all over the place) with the same expected endtime, here 4 hours, or 8 hours.

I have a Z-wave device connected on the machine, so I possess the data of the machine it’s power consumption.
In the ‘immediate start’-scenario, taking 4 hours (± 2 minutes approx.) it looks a bit like this (very simplified)
0-30 minutes: no power consumption
30-45: power consumption 50-75 W
45-60: no power consumption
60-70: power consumption 50-75 W
70-180: no power consumption
180-240: spikes of 500 W responsible for heating the oven and keeping it on temperature.

You could say: monitor falling edges from above 500W, but since those are pulses, how can I know which one is really the last one? I assume the room temperature where the machine is located will influence the power the machine needs to bake the bread at the needed temperature.
You could say: monitor the first rising edge and add 3.5 hours. But again, how perfect can this one-liner be?

I’m pretty sure a data-analyst would be able to give me a function to describe 95% of all my cycles of bread-making to be accurate to 1, 2 or maybe even 5 minutes.
I’m looking into that erea.

Because, if we can do that for this bread-making cycle, which seems to be pretty identical time over time (noise eliminated), we could also do that for the washing machine: have a computer analyse the data and identify the kind of program it is running, and so alert me via openhab when there is a great certainty the last drying-cycle had ended.
And for the dishwashing machine.
And all those machines with programs, which will look all more or less the same about each run’s power consumption…
and spare me the extra effort of programming the loud buzzer of the oven to notify me when X, Y or Z is ready.

I just restarted digging into this matter, hoping to find interested people to share ideas, experience…

On my todo list as next for the coming days: checking if amongst others the ARIMA algorithm (scikit learn) can be of any help.