My home uses an EcoBee Lite 3 running both a single stage AC compressor and an oil furnace. I know the gallons per hour burn rate of the furnace and if I can measure the time of the ecobee “calling for heat” function, calculating oil burn should be pretty straight forward. I’m not a developer though and trying to figure out how to extract the data from ecobee and their developer portal and API has been wrought with frustration as I only understand about 5% of what is presented. (IT by trade, but networks are my area.) Guessing the easiest way to get this would be to dump the API exported data in to a local DB (got plenty of hardware to support a small DB) and then extract and report on. It’s the authentication and extraction from Ecobee that I’m having trouble with.
My HA platform is a HA VM on a ESXi Hypervisor. Ecobee is integrated successfully, Hubitat is my source for zwave and zigbee radio’s.
Is “calling for heat” a state you see in HA? Then you should be able to use something like I use for my furnace.
Take this with a grain of salt because I’m a coding half-wit (and I got help getting this one to work correctly back in the day), but this is what I use to track when my boiler is “on” in a 24 hour period. It’s been working flawlessly for years now.
It could be just as simple as editing the entity and the state and the precision of the output. You should then have your daily number for your maths. (I put my out on a graphs card in lovelace showing 7 days so I can compare daily usage.)
# History Stats for Furnace
- platform: history_stats
name: FurnaceOnToday
entity_id: sensor.thermostat
state: 'heating'
type: time
start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
end: '{{ now() }}'
Calling for heat - Is a state (different syntax) in the ecobee API that reports in seconds the total run time for 5 minutes interval, it tracks this value in 5 min increments and stores 288 lines of this value per day (5*288=1440min=full day). This property is what im looking to poll - poll the previous day’s data at say 12:15a and run the math on it - total the seconds and apply the oil burn rate to it and see usage in gallons/day as well as have a reset to be able to able to monitor oil tank level after its filled.
Im sure its somewhere, but i guess what id like to know is how to look at the ecobee integration code, that i cant seem to find. Im guessing i could stumble my way through adding the curl/get request needed and populate custom tables with daily values. Any guesses on how to find the source/get under the hood for a specific integration? (Not a developer, but have a lifetime ago, written crappy code in a silo…)