{"id":19204212,"url":"https://github.com/tedpearson/ecobeemetrics","last_synced_at":"2025-04-10T13:06:47.349Z","repository":{"id":57546550,"uuid":"299506033","full_name":"tedpearson/ecobeemetrics","owner":"tedpearson","description":"Write ecobee thermostat and sensor information regularly to VictoriaMetrics or influxdb for graphing with Grafana.","archived":false,"fork":false,"pushed_at":"2025-03-17T11:31:25.000Z","size":1913,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T11:45:42.785Z","etag":null,"topics":["dashboard","ecobee","grafana","influxdb","smarthome"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tedpearson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-29T04:40:49.000Z","updated_at":"2025-03-03T18:18:00.000Z","dependencies_parsed_at":"2024-02-24T06:22:57.822Z","dependency_job_id":"16450180-b6bd-44e5-ab92-1ee82f75d599","html_url":"https://github.com/tedpearson/ecobeemetrics","commit_stats":{"total_commits":22,"total_committers":3,"mean_commits":7.333333333333333,"dds":"0.31818181818181823","last_synced_commit":"fde6826870ea2181a473112e721ddaabb935ffab"},"previous_names":["tedpearson/ecobee2influx"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedpearson%2Fecobeemetrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedpearson%2Fecobeemetrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedpearson%2Fecobeemetrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tedpearson%2Fecobeemetrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tedpearson","download_url":"https://codeload.github.com/tedpearson/ecobeemetrics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248223828,"owners_count":21068069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","ecobee","grafana","influxdb","smarthome"],"created_at":"2024-11-09T13:06:38.048Z","updated_at":"2025-04-10T13:06:47.323Z","avatar_url":"https://github.com/tedpearson.png","language":"Go","readme":"# ecobeemetrics\n\nThis project queries the ecobee api using the lovely github.com/rspier/go-ecobee package,\ninserting into VictoriaMetrics or InfluxDB.\n\nI use it to power a grafana dashboard monitoring my home.\n\n## Setup\n\n1. [Become a developer](https://www.ecobee.com/en-us/developers/), if you have not already.\n2. Create an Ecobee API Application ID (API key) by going to the\n   [consumer portal](https://www.ecobee.com/consumerportal/index.html),\n   clicking the \"Developer\" option in the menu, and clicking the \"Create New\" button.\n   Use the `ecobee PIN` authorization method.\n3. Get the example application and location configs:\n\n   curl https://raw.githubusercontent.com/tedpearson/ecobeemetrics/master/ecobeemetrics.example.yaml \u003e ecobeemetrics.yaml\n\n4. Modify the configs with your own values for:\n   - influxdb/victoriametrics connection\n   - measurement names for metrics from the sensors and the thermostat\n   - your thermostat id (serial number)\n     - You can find it on the About page of the\n        [Ecobee portal](https://www.ecobee.com/consumerportal/index.html).\n   - your app id (api key)\n     - You can find it on the Developer page of the Ecobee portal after having created your application.\n   - a location to keep your auth information\n   - a cron schedule for how often to poll ecobee's api\n5. Run `ecobeemetrics --getpin --config ecobeemetrics.yaml`. Assuming your config is correct, you will get this output:\n\n   Ecobee PIN: XXXX-XXXX\n   Ecobee code: xxxxxxxxxxxxxxxxxxxx\n\n6. Go to the Ecobee portal \u003e My Apps and click \"Add Application\". Enter the PIN from the previous\n   step and click Validate.\n7. Run `ecobeemetrics --savetoken ecobee_code_here --config ecobeemetrics.yaml` with the Ecobee code from above.\n8. You are all set and can now run Ecobeemetrics via `ecobeemetrics --config ecobeemetrics.yaml`.\n\n## Exported Metrics\n\n- thermostat (measurement name):\n  - name (label)\n  - cooling_setpoint\n  - heating_setpoint\n  - program (string field, doesn't work in victoriametrics)\n  - equpiment_status (string field, doesn't work in victoriametrics)\n  - heat_1\n  - heat_2\n  - heat_3\n  - cool_1\n  - cool_2\n  - aux_heat_1\n  - aux_heat_2\n  - aux_heat_3\n  - fan\n  - idle\n- sensor (measurement name) (includes sensor data from thermostat as well as remote sensors):\n  - name (label)\n  - temperature\n  - occupancy\n  - humidity\n\n## Dashboard\n\nMy personal dashboard includes the ecobee metrics intermixed with data from my Ambient Weather station.\nI'm [including the config](dashboard.json) and some screenshots (below) to give an idea of what's possible.\n\nNote that this dashboard uses a VictoriaMetrics data source.\n\nFeel free to check out my other projects that help populate this dashboard:\n  - [ambientweatherexporter](https://github.com/tedpearson/ambientweatherexporter),\n    for exporting weather from Ambient Weather stations to influx/Victoriametrics\n  - [electric-usage-downloader](https://github.com/tedpearson/electric-usage-downloader),\n    for downloading electric usage from my local utility, NOVEC, and exporting to\n    influx/VictoriaMetrics.\n\n\nPanels on the below dashboard that are populated by Ecobeemetrics:\n- Singlestats:\n  - Inside Temperature\n  - Inside Humidity\n- Motion \u0026 Status\n- Temperature (also has ambient weather station data)\n- Runtime panels (also has ambient weather station data)\n- Humidity (also has ambient weather station data)\n- Setpoints \n\n![dashboard](dashboard.png)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftedpearson%2Fecobeemetrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftedpearson%2Fecobeemetrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftedpearson%2Fecobeemetrics/lists"}