Skip to content

nioc/netatmo-nodejs-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netatmo-nodejs-api

license: AGPLv3 GitHub release

Node.js API wrapper for Netatmo API.

Key features

  • Authentication with all Netatmo provided methods:
    • Authorization code grant type
    • Client credentials grant type
    • Refresh token
  • Security API (get homes, get events)
  • Weather API (get public data, get stations data, get measure)

Installation

npm install netatmo-nodejs-api

Usage

Basic example with refresh token and client credentials grant type

const { NetatmoClient, SCOPE_BASIC_CAMERA } = require('netatmo-nodejs-api') // you need to set your own information const clientId = '60...' const clientSecret = 'abc...' const username = 'user@domain' const password = 'pass' let refreshToken = '' let accessToken = '' let expiresInTimestamp = 0 try { // create client const client = new NetatmoClient(clientId, clientSecret, SCOPE_BASIC_CAMERA, { timeout: 1000 }) // authenticate if (!client.checkAndSetAccesToken(accessToken, expiresInTimestamp)) { if (refreshToken) { // use previous refresh token ({ accessToken, refreshToken, expiresInTimestamp } = await client.authenticateByRefreshToken(refreshToken)) } else { // use user credentials ({ accessToken, refreshToken, expiresInTimestamp } = await client.authenticateByClientCredentials(username, password)) } // you should store accessToken, refreshToken, expiresInTimestamp for further request } // get data const homes = await client.getHomes() } catch (error) { console.log(error) }

Versioning

netatmo-nodejs-api is maintained under the semantic versioning guidelines.

See the releases on this repository for changelog.

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details