diff --git a/.gitignore b/.gitignore index 8b8b60e..b90bb6c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ netatmo-exporter +run.sh diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..cdcf550 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 Robert Jacob + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a320370 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# netatmo-exporter + +Simple [prometheus](https://prometheus.io) exporter for getting sensor values [NetAtmo](https://www.netatmo.com) sensors into prometheus. + +## Installation + +If you have a working Go installation, getting the binary should be as simple as + +```bash +go get github.com/xperimental/netatmo-exporter +``` + +There is also a `build-arm.sh` script if you want to run the exporter on an ARMv7 device. + +## 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](https://dev.netatmo.com/dev/myaccount), 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 ":8080") + -i, --client-id string Client ID for NetAtmo app. + -s, --client-secret string Client secret for NetAtmo app. + -p, --password string Password of NetAtmo account. + -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. + +The exporter will query the Netatmo API every time it is scraped by prometheus. It does not make sense to scrape the Netatmo API with a small interval as the sensors only update their data every few minutes, so don't forget to set a slower scrape interval for this exporter: + +```yml +scrape_configs: + - job_name: 'netatmo' + scrape_interval: 90s + static_configs: + - targets: ['localhost:8080'] +``` + +**Note:** The exporter currently uses port 8080 as a default as it does not have an "assigned exporter port" yet. Look at the [prometheus Wiki](https://github.com/prometheus/prometheus/wiki/Default-port-allocations) for any updates.