Socket
Socket
Sign inDemoInstall

netatmo-nodejs-api

Package Overview
Dependencies
2
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

netatmo-nodejs-api

Node.js API wrapper for Netatmo API.


Version published
Maintainers
1
Weekly downloads
6
decreased by-50%
Install size
468 kB

Weekly downloads

Readme

Source

netatmo-nodejs-api

license: AGPLv3 Build Status Coverage Status GitHub release npms.io (final) npm

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)
}

Authenticate wrapper (try access token, refresh token or client credentials)

You can use the authenticate method which wrap 3 authentication methods.

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
  ({ accessToken, refreshToken, expiresInTimestamp } = await client.authenticate(accessToken, refreshToken, expiresInTimestamp, 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

Keywords

FAQs

Last updated on 29 Jul 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc