Skip to content

CFenner/MMM-Netatmo

Repository files navigation

Validation Known Vulnerabilities code climate JavaScript Style Guide api All Contributors License

MMM-Netatmo

A module to integrate information from a Netatmo weather station into the MagicMirror.

Netatmo visualisation Netatmo visualisation

Usage

Prerequisites:

To use this module you need to have access to a Netatmo weather station.

Installation

Navigate into your MagicMirror's modules folder and clone the repository:

cd ~/MagicMirror/modules && git clone https://github.com/CFenner/MMM-Netatmo netatmo

⚠️ Note that the checkout folder is named netatmo and not MMM-Netatmo as the repository.

Navigate into the module folder and install missing dependencies:

cd netatmo && npm ci --production --ignore-scripts

Connection to Netatmo Service API

To be able to access your data, you need to have an Netatmo Application. Create your personal app in the Netatmo developer portal and you will get an APP_ID and an APP_SECRET which you will need to enter in your mirror configuration. On the same page, scroll to Token Generator and create a token with the read_station scope. During that process you will grant your previously created Netatmo app access to your Netatmo weather station. You will actually not need the access_token, but the refresh_token. This will also go into your mirror configuration.

Sample Data

If you don't have a Netatmo station yet, you can request a set of mock data by configuring mockData: true in the module configuration. In that case you don't need any user of app credentials.

Configuration

To run the module properly, you need to add the following data to your config.js file.

{
  module: 'netatmo',
  position: 'bottom_left', // the location where the module should be displayed
  header: 'Netatmo', // a header if you like one
  config: {
    clientId: '', // your app id
    clientSecret: '', // your app secret
    refresh_token: '', // your generated refresh token
  }
}

Config Options

The following properties can be configured:

Option Description Default Required
clientId The ID of your Netatmo application. yes
clientSecret The app secret of your Netatmo application. yes
refresh_token Generated refresh token for your Netatmo app and Netatmo instance. yes
refreshInterval How often does the content needs to be updated (minutes)? Data is updated by netatmo every 10 minutes 3 no
moduleOrder The rendering order of your weather modules, ommit a module to hide the output. Example: ["Kitchen","Kid's Bedroom","Garage","Garden"] Be aware that you need to use the module names that you set in the netatmo configuration. no
dataOrder The rendering order of the data types of a module, ommit a data type to hide the output. Example: ["Noise","Pressure","CO2","Humidity","Temperature","Rain"] no
design The design for the module appearance, could be classic or bubbles. classic no
horizontal Control the direction of the modules. true no
showBattery Control the appearance of the battery status. true no
showRadio Control the appearance of the radio perception. true no
showWiFi Control the appearance of the Wifi perception. true no
showTrend Control the appearance of the temperature and pressure trend. true no
showMeasurementIcon Control the appearance of the data entry icons (bubbles design only). true no
showStationName Control the appearance of the station name next to the module name. true no
showModuleNameOnTop Control the position of the module name. false no
fontClassModuleName Control font size class of the module name. xsmall no
fontClassPrimary Control font size class of the primary value (bubbles design only). large no
fontClassSecondary Control font size class of the secondary value (bubbles design only). xsmall no
fontClassMeasurement Control font size class of the data entries. xsmall no
thresholdCO2Average Control the threshold for the CO2 status when it should turn average (bubbles design only). 800 no
thresholdCO2Bad Control the threshold for the CO2 status when it should turn bad (bubbles design only). 1800 no
mockData Use a set of mock data instead of a real data from the Netatmo API. false no

Contributors ✨

Thanks goes to these wonderful people (emoji key):

kuutio-hub
kuutio-hub

🌍
zdeneksofr
zdeneksofr

🌍
Tom-Inge Larsen
Tom-Inge Larsen

🌍
jegerikke
jegerikke

🌍
gilmrt
gilmrt

🌍
cyber152
cyber152

📖
Laz2516
Laz2516

🌍
Otto Lote
Otto Lote

💻
cgillinger
cgillinger

🌍

This project follows the all-contributors specification. Contributions of any kind welcome!