Track run state and time

I’m running OpenHAB 3.4.1, and have a Ecobee Premium smart thermostat setup using the Ecobee binding.

Ecobee reports the state of the HVAC system as a string, which can be one of a few values (e.g. “fan” or “auxheat1,fan”) or nothing at all if the system currently isn’t running.

I would like to track the runtime of each state, somewhat similar to what it does on Ecobee’s website (Seen below)

Is it possible to do anything remotely close to this? Even tracking hours per day for each state would be good. I’m just not even sure where to start with this.

If you’re using the default RRD4j persistence (which only logs numeric values and has a limited time frame), then the simplest solution would be to make a rule that sets a number item’s value based on the Ecobee’s state. MainUI will generate a graph based on that data.

Alternatively, look at InfluxDB persistence (which can log string values over long time periods), and use Graphana to build your custom chart. I don’t use that myself, but folks have done some pretty advanced stuff.

Oh, that’s good to know, thanks. I didn’t look that deep into RRD4j limitations. I’ll look into Influx and Graphana and see what I can do. This might’ve been the push in the right direction I needed!

For sure. You can probably find lots of help in the community.

Personally, I spend very little time on interfaces/reports (my goal is to automate as much as possible), but I appreciate when people do cool stuff with the data that comes out of OH.