{"id":16398239,"url":"https://github.com/bradjc/ecobee-influxdb","last_synced_at":"2025-02-23T09:26:00.671Z","repository":{"id":145687228,"uuid":"469184696","full_name":"bradjc/ecobee-influxdb","owner":"bradjc","description":"Ecobee to InfluxDB v1.","archived":false,"fork":false,"pushed_at":"2022-03-16T03:10:38.000Z","size":76,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T20:14:16.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bradjc.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":"2022-03-12T19:48:11.000Z","updated_at":"2022-03-12T19:55:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"6ea8386d-e373-4862-a74a-0ddb0a7982ea","html_url":"https://github.com/bradjc/ecobee-influxdb","commit_stats":{"total_commits":27,"total_committers":5,"mean_commits":5.4,"dds":0.5555555555555556,"last_synced_commit":"0a046a1715adba4b6faff1a11f23cbe5f80bf438"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradjc%2Fecobee-influxdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradjc%2Fecobee-influxdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradjc%2Fecobee-influxdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradjc%2Fecobee-influxdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradjc","download_url":"https://codeload.github.com/bradjc/ecobee-influxdb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240295053,"owners_count":19778824,"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":[],"created_at":"2024-10-11T05:12:11.420Z","updated_at":"2025-02-23T09:26:00.637Z","avatar_url":"https://github.com/bradjc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ecobee -\u003e InfluxDB 1.x Connector\n\nPulls historical data from Ecobee and pushes to an Influx 1.x database.\n\n## Changes from ecobee_influx_connector\n\nThis is heavily inspired by https://github.com/cdzombak/ecobee_influx_connector.\n\nThe major differences are:\n\n- It pushes to InfluxDB 1.x database rather than InfluxDB 2.\n- It pulls historical data rather than current (last 5 minute) data.\n- It supports multiple thermostats.\n\n## Getting Started\n\n1. Enable the developer dashboard on your Ecobee account at\n   https://www.ecobee.com/developers/ by logging in with your normal ecobee\n   credentials.\n2. Go to https://www.ecobee.com/consumerportal/index.html, navigate to Developer\n   in the right-hand menu, and create an App. Call it whatever you want. Use PIN\n   authentication.\n3. Create a working directory on your machine for this tool to store your ecobee\n   credentials in.\n3. Create a JSON config file based on the example containing the API key from\n   the ecobee app and the path to your working directory.\n4. Run `ecobee_influx_connector -list-thermostats` at an interactive terminal;\n   it'll provide a PIN.\n5. Go to https://www.ecobee.com/consumerportal/index.html, navigate to My Apps\n   in the right-hand menu, and click Add Application.\n6. Paste the PIN there and authorize the app.\n7. Return to the `ecobee_influx_connector` CLI and hit Enter.\n\nYou should then be presented with a list of thermostats in your Ecobee account,\nalong with their IDs.\n\n## Configure\n\nConfiguration is specified in a JSON file. Create a file (based on the template\n`config.example.json` stored in this repository) and customize it with your\nEcobee API key, thermostat ID, and Influx server. Note, you may use a comma\nseparated list of thermostats (no spaces).\n\nUse the `write_*` config fields to tell the connector which pieces of equipment\nyou use.\n\nThe `work_dir` is where client credentials and (yet to be implemented)\nlast-written watermarks are stored.\n\n\n## Build\n\n```shell\ngo build -o ./ecobee_influx_connector .\n```\n\nTo cross-compile for eg. Linux/amd64:\n\n```shell\nenv GOOS=linux GOARCH=amd64 go build -o ./ecobee_influx_connector .\n```\n\n## Install \u0026 Run via systemd on Linux\n\n1. Build the `ecobee_influx_connector` binary per the Build instructions above.\n2. Copy it to `/usr/local/bin` or your preferred location.\n3. Create a work directory for the connector. (I put this at `$HOME/.ecobee_influx_connector`.)\n4. Run `chmod 700 $YOUR_NEW_WORK_DIR`. (For my work directory, I ran `chmod 700 $HOME/.ecobee_influx_connector`.)\n5. Create a configuration JSON file, per the Configure instructions above. (I put this at `$HOME/.ecobee_influx_connector/config.json`.)\n6. Customize [`ecobee-influx-connector.service`](https://raw.githubusercontent.com/cdzombak/ecobee_influx_connector/main/ecobee-influx-connector.service) with your user/group name and the path to your config file.\n7. Copy that customized `ecobee-influx-connector.service` to `/etc/systemd/system`.\n8. Run `chown root:root /etc/systemd/system/ecobee-influx-connector.service`.\n9. Run `systemctl daemon-reload \u0026\u0026 systemctl enable ecobee-influx-connector.service \u0026\u0026 systemctl start ecobee-influx-connector.service`.\n10. Check the service's status with `systemctl status ecobee-influx-connector.service`.\n\n## License\n\nApache 2; see `LICENSE` in this repository.\n\n## Author\n\n- Brad Campbell.\n- [Chris Dzombak](https://www.dzombak.com) (GitHub [@cdzombak](https://github.com/cdzombak)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradjc%2Fecobee-influxdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradjc%2Fecobee-influxdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradjc%2Fecobee-influxdb/lists"}