Skip to content

Node.JS library for controling Balboa spa devices via ControlMySpa API

License

Notifications You must be signed in to change notification settings

VVlasy/controlmyspajs

Repository files navigation

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 protected]", "password"); // uses celsius
// let spaFahrenheit = new ControlMySpa("[email protected]", "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
  • additional feature support can be added, I added all features my spa supported, although for me to add features from your spa I will need login credentials to sniff the API calls. Or you can sniff them yourself and send me the logs

About

Node.JS library for controling Balboa spa devices via ControlMySpa API

Resources

License

Stars

Watchers

Forks