edilkamin
TypeScript icon, indicating that this package has built-in type declarations

1.5.0 • Public • Published

Edilkamin.js

Tests CLI Tests codecov Documentation npm version

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

  • [x] AWS Amplify/ Cognito authentication
  • [x] unauthenticated endpoint call
  • [x] authenticated endpoint call
  • [ ] list stoves
  • [x] 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.

Readme

Keywords

none

Package Sidebar

Install

npm i edilkamin

Weekly Downloads

8

Version

1.5.0

License

MIT

Unpacked Size

68.9 kB

Total Files

31

Last publish

Collaborators

  • andre.miras