All Projects → eko → tado-exporter

eko / tado-exporter

Licence: MIT license
A Prometheus exporter for tado smart heating solution

Programming Languages

rust
11053 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to tado-exporter

Pihole Exporter
A Prometheus exporter for PI-Hole's Raspberry PI ad blocker
Stars: ✭ 352 (+1000%)
Mutual labels:  grafana, prometheus-exporter, grafana-dashboard
Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-9.37%)
Mutual labels:  grafana, prometheus-exporter, grafana-dashboard
kafka-consumer-lag-monitoring
Client tool that exports the consumer lag of Kafka consumer groups to Prometheus or your terminal
Stars: ✭ 45 (+40.63%)
Mutual labels:  grafana, prometheus-exporter, grafana-dashboard
gitana
Gitana is a lightweight dashboard sync
Stars: ✭ 61 (+90.63%)
Mutual labels:  grafana, grafana-dashboard
victoriametrics-ru-links
Список постов и видеозаписей об VictoriaMetrics на русском языке
Stars: ✭ 1 (-96.87%)
Mutual labels:  grafana, grafana-dashboard
Grafana Dashboards
Grafana Dashboards
Stars: ✭ 228 (+612.5%)
Mutual labels:  grafana, grafana-dashboard
Legend
Legend builds and publishes Grafana dashboards for your services with prefilled metrics and alerts for your services.
Stars: ✭ 149 (+365.63%)
Mutual labels:  grafana, grafana-dashboard
unpoller
Application: Collect ALL UniFi Controller, Site, Device & Client Data - Export to InfluxDB or Prometheus
Stars: ✭ 1,613 (+4940.63%)
Mutual labels:  prometheus-exporter, grafana-dashboard
enviroplus exporter
Prometheus exporter for enviroplus module by Pimoroni
Stars: ✭ 70 (+118.75%)
Mutual labels:  grafana, prometheus-exporter
aerospike exporter
A prometheus exporter for collecting aerospike metrics
Stars: ✭ 13 (-59.37%)
Mutual labels:  prometheus-exporter, grafana-dashboard
idrac snmp-grafana
SNMP Based Dashboard to Monitor Dell Hosts via iDRAC
Stars: ✭ 88 (+175%)
Mutual labels:  grafana, grafana-dashboard
Aliyun Exporter
Prometheus exporter for Alibaba Cloud Monitor
Stars: ✭ 210 (+556.25%)
Mutual labels:  grafana, prometheus-exporter
Dark
(grafana) Dashboards As Resources in Kubernetes
Stars: ✭ 190 (+493.75%)
Mutual labels:  grafana, grafana-dashboard
Pagerbeauty
📟✨ PagerDuty on-call widget for monitoring dashboard. Datadog and Grafana compatible
Stars: ✭ 250 (+681.25%)
Mutual labels:  grafana, grafana-dashboard
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+6106.25%)
Mutual labels:  grafana, grafana-dashboard
netdata-influx
Netdata ➡️ InfluxDB metrics exporter & Grafana dashboard
Stars: ✭ 29 (-9.37%)
Mutual labels:  grafana, grafana-dashboard
yearn-exporter
Realtime and historical Yearn metrics
Stars: ✭ 80 (+150%)
Mutual labels:  grafana, grafana-dashboard
burrow-kafka-dashboard
Kubernetes Kafka Overview, Burrow consumer lag stats, Kafka disk usage
Stars: ✭ 37 (+15.63%)
Mutual labels:  grafana, grafana-dashboard
Pi Hole Influx
A python daemon to send Pi-Hole stats for Grafana to InfluxDB
Stars: ✭ 126 (+293.75%)
Mutual labels:  grafana, grafana-dashboard
Grafana Influx Dashboard
Grafana InfluxDB scripted dashboard
Stars: ✭ 130 (+306.25%)
Mutual labels:  grafana, grafana-dashboard

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].