Tado Exporter

A Prometheus exporter for tado smart heating solution
Alternatives To Tado Exporter
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Netdata63,241
4 hours ago320gpl-3.0C
Real-time performance monitoring, done right! https://www.netdata.cloud
Prometheus48,3835945 hours ago703September 12, 2022890apache-2.0Go
The Prometheus monitoring system and time series database.
Devops Exercises43,460
a day ago14otherPython
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions
Faas23,09398 days ago31April 12, 202131mitGo
OpenFaaS - Serverless Functions Made Simple
Devops Resources6,995
2 days ago13Groovy
DevOps resources - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP
Statping6,55624 months ago138December 18, 202054gpl-3.0Vue
Status Page for monitoring your websites and applications with beautiful graphs, analytics, and plugins. Run on any type of environment.
Sftpgo6,23714 days ago65September 17, 202219agpl-3.0Go
Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
Dockprom5,378
a month ago6mit
Docker hosts and containers monitoring with Prometheus, Grafana, cAdvisor, NodeExporter and AlertManager
Devops Roadmap4,207
3 months ago4apache-2.0
DevOps Roadmap for 2023. with learning resources
Prometheus3,944
a month ago5mit
A docker-compose stack for Prometheus monitoring
Alternatives To Tado Exporter
Select To Compare


Alternative Project Comparisons
Readme

Tado° Prometheus Exporter

Push on branch

This is a Prometheus exporter for tado° thermostatic handles.

Grafana dashboard

Prerequisites

In case you want to develop on this project, you will need:

If you just want to use it, you need nothing apart download and run the binary file in the next step.

Installation

Download binary

You can download the latest version of the binary built for your architecture here:

  • Architecture x86_64 [ Linux ]
  • Architecture arm [ Linux ]

Using Docker

The exporter is also available as a Docker image. You can run it using the following example and pass configuration environment variables:

$ docker run \
  -e '[email protected]' \
  -e 'EXPORTER_PASSWORD=your-password' \
  -p '9898:9898' \
  ekofr/tado-exporter:latest

From sources

Optionally, you can download and build it from the sources. You have to retrieve the project sources by using one of the following way:

$ git clone https://github.com/eko/tado-exporter

Then, just build the binary:

$ cargo build --release

Usage

In order to run the exporter, type the following command (arguments are optional):

$ export EXPORTER_TICKER=10
$ export EXPORTER_USERNAME="[email protected]"
$ export EXPORTER_PASSWORD="your-password"
$ ./tado-exporter
--- tado° exporter configuration ---
Ticker seconds: 10
Username: [email protected]
Password: your-password
Client secret: wZaRN7rpjn3FoNyF5IFuxg9uMzYJcvOoQ8QWiIqS3hfk6gLhVlG57j5YNoZL2Rtc
------------------------------------
[2020-02-29T08:56:19Z INFO  tado_exporter] starting tado° exporter on address: V4(0.0.0.0:9898)
[2020-02-29T08:56:19Z INFO  tado_exporter] waiting for the first tick in 10 seconds...
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Office...
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Kitchen...
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Living Room...
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::client] retrieving zone details for Room...
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Office -> setting temperature (celsius): 23
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Office -> setting temperature (fahrenheit): 73.4
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Office -> sensor temperature (celsius): 23.75
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Office -> sensor temperature (fahrenheit): 74.75
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Office -> sensor humidity: 40.1%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Office -> heating power: 38%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Kitchen -> setting temperature (celsius): 22
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Kitchen -> setting temperature (fahrenheit): 71.6
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Kitchen -> sensor temperature (celsius): 22.03
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Kitchen -> sensor temperature (fahrenheit): 71.65
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Kitchen -> sensor humidity: 42.7%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Kitchen -> heating power: 0%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Living Room -> setting temperature (celsius): 22
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Living Room -> setting temperature (fahrenheit): 71.6
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Living Room -> sensor temperature (celsius): 22.49
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Living Room -> sensor temperature (fahrenheit): 72.48
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Living Room -> sensor humidity: 42.2%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Living Room -> heating power: 0%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Room -> setting temperature (celsius): 20
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Room -> setting temperature (fahrenheit): 68
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Room -> sensor temperature (celsius): 21.42
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Room -> sensor temperature (fahrenheit): 70.56
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Room -> sensor humidity: 45.8%
[2020-02-29T08:56:30Z INFO  tado_exporter::tado::metrics] -> Room -> heating power: 0%
...

Once the exporter is running, you also have to update your prometheus.yml configuration to let it scrape the exporter:

scrape_configs:
  - job_name: 'tado'
    static_configs:
      - targets: ['localhost:9898']

Available environment variables

Environment variable name Description
EXPORTER_USERNAME Required. This represent your tado° account username/email
EXPORTER_PASSWORD Required. This represent your tado° account password
EXPORTER_CLIENT_SECRET Optional. This represent your tado° account client secret, using default value seems to work
EXPORTER_TICKER Optional (default: 10). This represent the number of seconds the exporter will look for new data
RUST_LOG Optional (default: info). This describes the log level (see https://docs.rs/env_logger/)

Available Prometheus metrics

Metric name Description
tado_activity_ac_power_value This represent the value (1.0 = ON, 0.0 = OFF) of ac power for every zone
tado_activity_heating_power_percentage This represent the % of heating power for every zone
tado_setting_temperature_value This represent the current temperature you asked/programmed in a zone
tado_sensor_temperature_value This represent the current temperature detected by sensor in a zone
tado_sensor_humidity_percentage This represent the current humidity % detected by sensor in a zone

Community welcome

Please feel free to contribute to this project in order to make it evolve. You're very welcome.

Popular Prometheus Projects
Popular Docker Projects
Popular Operations Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Docker
Rust
Sensor
Temperature
Prometheus
Grafana
Prometheus Exporter
Grafana Dashboard