1.5.0 • Published 17 days ago
edilkamin v1.5.0
Edilkamin.js
This is a library for the Reverse Engineered "The Mind" Edilkamin API. The Mind offers an app/API to remote control the Edilkamin pellet stoves.
Install
Using npm:
npm install edilkamin
Using yarn:
yarn add edilkamin
Usage
Basic usage:
import { signIn, deviceInfo, setPowerOff } from "edilkamin";
const macAddress = "aabbccddeeff";
const token = signIn(username, password);
deviceInfo(token, macAddress).then(console.log);
setPowerOff(token, macAddress).then(console.log);
It's also possible to change the default backend URL:
import { signIn, configure } from "edilkamin";
const baseUrl = "https://my-proxy.com/";
const { deviceInfo, setPower } = configure(baseUrl);
deviceInfo(token, macAddress).then(console.log);
setPower(token, macAddress, 0).then(console.log);
CLI
The library includes a CLI tool that is useful for debugging.
yarn cli deviceInfo --mac $MAC --username $USERNAME --password $PASSWORD
Or with npx
once the library is installed:
npx edilkamin deviceInfo --mac $MAC --username $USERNAME --password $PASSWORD
Motivations
- providing an open source web alternative to the proprietary mobile app
- improving the interoperability (Nest, HomeAssistant...)
Roadmap
- AWS Amplify/ Cognito authentication
- unauthenticated endpoint call
- authenticated endpoint call
- ~list stoves~
- turn stove on/off
- set temperature
Limitations
It seems like there's no endpoint to list stoves associated to a user. The way the official app seem to work is by probing the stove via bluetooth. Then cache the stove MAC address to a local database for later use.