Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andremiras/edilkamin.js
Unofficial Edilkamin library
https://github.com/andremiras/edilkamin.js
edilkamin stove
Last synced: 18 days ago
JSON representation
Unofficial Edilkamin library
- Host: GitHub
- URL: https://github.com/andremiras/edilkamin.js
- Owner: AndreMiras
- License: mit
- Created: 2022-02-21T22:43:34.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-21T16:49:59.000Z (about 2 years ago)
- Last Synced: 2024-10-03T11:32:48.779Z (about 1 month ago)
- Topics: edilkamin, stove
- Language: TypeScript
- Homepage: https://andremiras.github.io/edilkamin.js
- Size: 709 KB
- Stars: 9
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Edilkamin.js
[![Tests](https://github.com/AndreMiras/edilkamin.js/workflows/Tests/badge.svg)](https://github.com/AndreMiras/edilkamin.js/actions/workflows/tests.yml)
[![Documentation](https://github.com/AndreMiras/edilkamin.js/workflows/Documentation/badge.svg)](https://github.com/AndreMiras/edilkamin.js/actions/workflows/documentation.yml)
[![npm version](https://badge.fury.io/js/edilkamin.svg)](https://badge.fury.io/js/edilkamin)This is a library for the [Reverse Engineered](docs/ReverseEngineering.md) "The Mind" Edilkamin API.
The Mind offers an app/API to remote control the Edilkamin pellet stoves.## Install
Using npm:
```sh
npm install edilkamin
```Using yarn:
```sh
yarn add edilkamin
```## Usage
Basic usage:
```js
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:
```js
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);
```## Motivations
- providing an open source web alternative
to the [proprietary mobile app](https://play.google.com/store/apps/details?id=com.edilkamin.stufe)
- 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.