Skip to content

ptz0n/node-verisure

Repository files navigation

node-verisure

GitHub Actions badge

A module for reading and changing status of Verisure devices.

Legal Disclaimer

This software is not affiliated with Verisure Holding AB and the developers take no legal responsibility for the functionality or security of your alarms and devices.

Installation

$ npm install verisure --save

Usage

const Verisure = require('verisure');

const verisure = new Verisure('my@email.com', 'mysecretpassword');

verisure.getToken()
  .then(() => verisure.getInstallations())
  .then((installations) => installations[0].client({
    operationName: 'Broadband',
    query: `query Broadband($giid: String!) {
      installation(giid: $giid) {
        broadband {
          testDate
          isBroadbandConnected
          __typename
        }
        __typename
      }
    }`,
  }))
  .then((broadband) => {
    console.log('BROADBAND:', broadband);
  })
  .catch((error) => {
    console.error(error);
  });

Multi-factor authentication

For users with MFA enabled, you need to invoke getToken twice. First without arguments, second with the one-time code.

const verisure = new Verisure(email, password);

await verisure.getToken();

console.log('One-time code sent.');

await verisure.getToken(code);

console.log(verisure.cookies);

Once you retrieve the cookies, these can be used to make authenticated requests.

const verisure = new Verisure('my@email.com', null, [
  'vid=myTopSecretToken',
  'vs-access=myAccessToken',
  'vs-refresh=myRefreshToken'
]);

const installations = await verisure.getInstallations();