{"id":17948827,"url":"https://github.com/eko/tado-exporter","last_synced_at":"2025-04-06T18:14:13.652Z","repository":{"id":37849202,"uuid":"242543313","full_name":"eko/tado-exporter","owner":"eko","description":"A Prometheus exporter for tado smart heating solution","archived":false,"fork":false,"pushed_at":"2025-03-29T14:39:07.000Z","size":1033,"stargazers_count":67,"open_issues_count":12,"forks_count":22,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-30T17:09:19.225Z","etag":null,"topics":["docker","grafana","grafana-dashboard","hacktoberfest","prometheus","prometheus-exporter","tado"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/eko.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-02-23T15:39:24.000Z","updated_at":"2025-03-29T14:39:06.000Z","dependencies_parsed_at":"2024-01-11T10:04:30.958Z","dependency_job_id":"cf038b74-b629-4b26-b0e8-e0c0987a7cec","html_url":"https://github.com/eko/tado-exporter","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Ftado-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Ftado-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Ftado-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eko%2Ftado-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eko","download_url":"https://codeload.github.com/eko/tado-exporter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247526762,"owners_count":20953143,"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":["docker","grafana","grafana-dashboard","hacktoberfest","prometheus","prometheus-exporter","tado"],"created_at":"2024-10-29T09:10:13.650Z","updated_at":"2025-04-06T18:14:13.621Z","avatar_url":"https://github.com/eko.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tado° Prometheus Exporter\n\n[![Push on branch](https://github.com/eko/tado-exporter/actions/workflows/master.yml/badge.svg)](https://github.com/eko/tado-exporter/actions/workflows/master.yml)\n\nThis is a Prometheus exporter for [tado°](https://www.tado.com/) thermostatic handles.\n\n![Grafana dashboard](https://raw.githubusercontent.com/eko/tado-exporter/master/misc/screenshot.jpg)\n\n## Prerequisites\n\nIn case you want to develop on this project, you will need:\n\n* [Rust](https://www.rust-lang.org/)\n\nIf you just want to use it, you need nothing apart download and run the binary file in the next step.\n\n## Installation\n\n### Download binary\n\nYou can download the latest version of the binary built for your architecture here:\n\n* Architecture **x86_64** [\n    [Linux](https://github.com/eko/tado-exporter/releases/latest/download/tado-exporter-v0.0.3-x86_64-unknown-linux-gnu.tar.gz)\n]\n* Architecture **arm** [\n    [Linux](https://github.com/eko/tado-exporter/releases/latest/download/tado-exporter-v0.0.3-arm-unknown-linux-gnueabihf.tar.gz)\n]\n\n### Using Docker\n\nThe exporter is also available as a [Docker image](https://hub.docker.com/r/ekofr/tado-exporter).\nYou can run it using the following example and pass configuration environment variables:\n\n```\n$ docker run \\\n  -e 'EXPORTER_USERNAME=your-username@acme.tld' \\\n  -e 'EXPORTER_PASSWORD=your-password' \\\n  -p '9898:9898' \\\n  ekofr/tado-exporter:latest\n```\n\n### From sources\n\nOptionally, you can download and build it from the sources. You have to retrieve the project sources by using one of the following way:\n```bash\n$ git clone https://github.com/eko/tado-exporter\n```\n\nThen, just build the binary:\n\n```\n$ cargo build --release\n```\n\n## Usage\n\nIn order to run the exporter, type the following command (arguments are optional):\n\n```bash\n$ export EXPORTER_TICKER=10\n$ export EXPORTER_USERNAME=\"my-username@acme.tld\"\n$ export EXPORTER_PASSWORD=\"your-password\"\n$ ./tado-exporter\n--- tado° exporter configuration ---\nTicker seconds: 10\nUsername: my-username@acme.tld\nPassword: your-password\nClient secret: wZaRN7rpjn3FoNyF5IFuxg9uMzYJcvOoQ8QWiIqS3hfk6gLhVlG57j5YNoZL2Rtc\n------------------------------------\n[2020-02-29T08:56:19Z INFO  tado_exporter] starting tado° exporter on address: V4(0.0.0.0:9898)\n[2020-02-29T08:56:19Z INFO  tado_exporter] waiting for the first tick in 10 seconds...\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Office...\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Kitchen...\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Living Room...\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Room...\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Office -\u003e setting temperature (celsius): 23\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Office -\u003e setting temperature (fahrenheit): 73.4\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Office -\u003e sensor temperature (celsius): 23.75\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Office -\u003e sensor temperature (fahrenheit): 74.75\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Office -\u003e sensor humidity: 40.1%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Office -\u003e heating power: 38%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Kitchen -\u003e setting temperature (celsius): 22\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Kitchen -\u003e setting temperature (fahrenheit): 71.6\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Kitchen -\u003e sensor temperature (celsius): 22.03\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Kitchen -\u003e sensor temperature (fahrenheit): 71.65\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Kitchen -\u003e sensor humidity: 42.7%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Kitchen -\u003e heating power: 0%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Living Room -\u003e setting temperature (celsius): 22\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Living Room -\u003e setting temperature (fahrenheit): 71.6\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Living Room -\u003e sensor temperature (celsius): 22.49\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Living Room -\u003e sensor temperature (fahrenheit): 72.48\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Living Room -\u003e sensor humidity: 42.2%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Living Room -\u003e heating power: 0%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Room -\u003e setting temperature (celsius): 20\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Room -\u003e setting temperature (fahrenheit): 68\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Room -\u003e sensor temperature (celsius): 21.42\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Room -\u003e sensor temperature (fahrenheit): 70.56\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Room -\u003e sensor humidity: 45.8%\n[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -\u003e Room -\u003e heating power: 0%\n...\n```\n\nOnce the exporter is running, you also have to update your `prometheus.yml` configuration to let it scrape the exporter:\n\n```yaml\nscrape_configs:\n  - job_name: 'tado'\n    static_configs:\n      - targets: ['localhost:9898']\n```\n\n## Available environment variables\n\n| Environment variable name    | Description                                                                                |\n|:----------------------------:|--------------------------------------------------------------------------------------------|\n| EXPORTER_USERNAME      | Required. This represent your tado° account username/email                                       |\n| EXPORTER_PASSWORD      | Required. This represent your tado° account password                                             |\n| EXPORTER_CLIENT_SECRET | Optional. This represent your tado° account client secret, using default value seems to work     |\n| EXPORTER_TICKER        | Optional (default: 10). This represent the number of seconds the exporter will look for new data |\n| RUST_LOG               | Optional (default: info). This describes the log level (see https://docs.rs/env_logger/)         |\n\n## Available Prometheus metrics\n\n| Metric name                  | Description                                                                                |\n|:----------------------------:|--------------------------------------------------------------------------------------------|\n| tado_activity_ac_power_value           | This represent the value (1.0 = ON, 0.0 = OFF) of ac power for every zone        |\n| tado_activity_heating_power_percentage | This represent the % of heating power for every zone                             |\n| tado_setting_temperature_value         | This represent the current temperature you asked/programmed in a zone            |\n| tado_sensor_temperature_value          | This represent the current temperature detected by sensor in a zone              |\n| tado_sensor_humidity_percentage        | This represent the current humidity % detected by sensor in a zone               |\n\n## Community welcome\n\nPlease feel free to contribute to this project in order to make it evolve. You're very welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feko%2Ftado-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feko%2Ftado-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feko%2Ftado-exporter/lists"}