Netatmo Exporter

Prometheus exporter for Netatmo sensor data.
Alternatives To Netatmo Exporter
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ohmgraphite327
16 days ago12otherC#
Expose hardware sensor data to Graphite / InfluxDB / Prometheus / Postgres / Timescaledb
Sensorboard163
7 years agomitKiCad
Sensor board using ESP8266
Anotter Sensor Hub78
2 months agocern-ohl-s-2.0C++
Anotter OSHW environment sensor hub, focussed on Sensirion SEN055/SEN05x sensors, featuring a prometheus-exporter.
Promdapter66
9 months ago4mitC#
Prometheus CzAdapter
Hue_exporter56
4 years ago5March 24, 20191otherGo
A Prometheus exporter for Philips Hue (written in Go)
Tado Exporter49
19 hours ago12mitRust
A Prometheus exporter for tado smart heating solution
Weather Station43
4 years ago3October 12, 20195apache-2.0Go
A Prometheus exporter for 433 MHz temperature and humidity sensors
Netatmo Exporter33
5 months ago8December 05, 20227mitGo
Prometheus exporter for Netatmo sensor data.
Sensor Exporter29
4 years ago4mitGo
Prometheus exporter for sensor data like temperature and fan speed
Homeassistant Prometheus Query28
8 months ago4Python
Inspired from homeassitant Command line Sensor this sensor take values from Prometheus metrics using PromQL query
Alternatives To Netatmo Exporter
Select To Compare


Alternative Project Comparisons
Readme

netatmo-exporter

Simple prometheus exporter for getting sensor values NetAtmo sensors into prometheus.

Installation

Run docker container

The exporter is available as a Docker image both on DockerHub and GitHub:

The following tags are available:

  • x.y.z pointing to the release with that version
  • latest pointing to the most recent released version
  • master pointing to the latest build from the default branch

Build from source

Because this program uses the "Go Module" feature introduced in Go 1.11, you'll need at least that version of Go for building it.

If you have a working Go installation, getting the binary should be as simple as

git clone https://github.com/xperimental/netatmo-exporter
cd netatmo-exporter
make

If you want to build the exporter for a different OS or architecture, you can specify arguments to the Makefile:

# For 32-bit ARM on Linux
make GO_ARCH=arm
# For 64-bit ARM on Linux
make GO_ARCH=arm64

NetAtmo client credentials

This application tries to get data from the NetAtmo API. For that to work you will need to create an application in the NetAtmo developer console, so that you can get a Client ID and secret.

Usage

$ netatmo-exporter --help
Usage of netatmo-exporter:
  -a, --addr string                 Address to listen on. (default ":9210")
      --age-stale duration          Data age to consider as stale. Stale data does not create metrics anymore. (default 30m0s)
  -i, --client-id string            Client ID for NetAtmo app.
  -s, --client-secret string        Client secret for NetAtmo app.
      --log-level level             Sets the minimum level output through logging. (default info)
  -p, --password string             Password of NetAtmo account.
      --refresh-interval duration   Time interval used for internal caching of NetAtmo sensor data. (default 8m0s)
  -u, --username string             Username of NetAtmo account.

After starting the server will offer the metrics on the /metrics endpoint, which can be used as a target for prometheus.

Passing secrets

You can pass credentials either via command line arguments (see next section) or by populating the following environment variables:

  • NETATMO_EXPORTER_ADDR Address to listen on
  • NETATMO_CLIENT_ID Client ID for NetAtmo app
  • NETATMO_CLIENT_SECRET Client secret for NetAtmo app
  • NETATMO_CLIENT_USERNAME Username of NetAtmo account
  • NETATMO_CLIENT_PASSWORD Password of NetAtmo account

Cached data

The exporter has an in-memory cache for the data retrieved from the Netatmo API. The purpose of this is to decouple making requests to the Netatmo API from the scraping interval as the data from Netatmo does not update nearly as fast as the default scrape interval of Prometheus. Per the Netatmo documentation the sensor data is updated every ten minutes. The default "refresh interval" of the exporter is set a bit below this (8 minutes), but still much higher than the default Prometheus scrape interval (15 seconds).

You can still set a slower scrape interval for this exporter if you like:

scrape_configs:
  - job_name: 'netatmo'
    scrape_interval: 90s
    static_configs:
      - targets: ['localhost:9210']

Links

Popular Sensor Projects
Popular Prometheus Projects
Popular Hardware Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Go
Docker
Sensor
Prometheus
Home Automation
Prometheus Exporter