VVlasy / controlmyspajs

Node.JS library for controling Balboa spa devices via ControlMySpa API
MIT License
0 stars 0 forks source link

ControlMySpaJs

A library to facilitate connection to ControlMySpa API by Balboa

Installation

npm i controlmyspajs

Examples:

const ControlMySpa = require('controlmyspajs');

let spa = new ControlMySpa("email@mail.mail", "password"); // uses celsius
// let spaFahrenheit = new ControlMySpa("email@mail.mail", "password", false);

spa.init().then((result) => {
    if (result) {
        console.log("Spa init success.");
        spa.waitForResult = true;
        console.log(spa.currentSpa);

        // available function calls

        spa.getSpa(); //refresh values for spa
        spa.toggleHeaterMode();
        spa.setTemp(38.5);
        spa.setTempRangeHigh();
        spa.setTempRangeLow();
        spa.setTime("24/01/2024/", "23:11", true) // true for 24H time format, false for 12 hour clock, default true
        spa.lockPanel();
        spa.unlockPanel();
        spa.setJetState(0, "OFF"); // "OFF"/"HIGH"
        spa.setBlowerState(0, "HIGH"); // "OFF"/"HIGH"
        spa.setLightState(0, "HIGH"); // "OFF"/"HIGH"

        spa.setFilterCycleIntervalSchedule(0, spa.scheduleFilterIntervalEnum.i9hours30minutes, "20:00");         
    } else {
        console.log("Spa init failed.");
    };
});

Supported features

- get spa status
- set temperature
- set temperature range
- set time
- toggle heater mode
- lock/unlock panel
- Control Jets, Blowers and Lights
- set filter cycle intervals