1.0.3 • Published 4 years ago

salus-it600 v1.0.3

Weekly downloads
2
License
ISC
Repository
github
Last release
4 years ago

Client for Salus iT600

A JavaScript package to communicate with Salus internet connected thermostats.

Installation

npm install salus-it600

Usage

Salus authentication requires a username and password. This is exchanged for a short-lived security token. There is no way to refesh the tokens, so unfortunately we need to keep the username and password in memory.

All request methods are promise-based.

const Salus = require("salus-it600");
const salus = new Salus({ username: "example@email.com", password: "secret" });

salus.devices().then(console.log);

Limitations

This library is provided "as-is" with limited testing. Currently only thermostats connected to under-floor heating, using Celsius (i.e. not Fahrenheit) have been tested.

Salus iT600 is also marketed by John Guest, in the UK, as JG Aura.

Methods

devices

List all thermostats associated with the account.

await salus.devices();

Return

[{
    id: 'a0b1',
    name: 'Given Room Name',
    current: 18,
    target: 21,
    mode: 'AUTO_HIGH',
    heating: true
}, ... ]

setTarget

Set the target temperature for a thermostat. Requires the id of the thermostat to modify, from devices.

await salus.setTarget({ id: "a0b1", temperature: 18 });

The return value from the API is always 0, even if the command is unsuccessful.

setMode

Sets the operating mode for the thermostat. Requires the id of the thermostat to modify, from devices.

await salus.setMode({ id: "a0b1", mode: "PARTY" });

The return value from the API is always 0, even if the command is unsuccessful.

Modes

Thermostats can be set to the following modes:

  • AUTO_HIGH
  • AUTO_MEDIUM
  • AUTO_LOW
  • HIGH
  • MEDIUM
  • LOW
  • PARTY
  • AWAY
  • FROST

Thermostats will be in one of the above modes, or return one of these additional modes:

  • OFFLINE
  • ON
  • UNDEFINED