Skip to content

AndreMiras/edilkamin.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Edilkamin.py

Tests Coverage Status PyPI version Build Docs Documentation Status

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

pip install edilkamin[ble]

Usage

Both async and sync are supported seamlessly, simply use the await keyword for the async version.

import edilkamin
token = edilkamin.sign_in(username, password)
mac_address = edilkamin.discover_devices()[0]
info = edilkamin.device_info(token, mac_address)
# or async via
# info = await edilkamin.device_info(token, mac_address)
edilkamin.set_power_off(token, mac_address)
# or async
# await edilkamin.set_power_off(token, mac_address)

For more advanced usage read the documentation.

API Endpoints

The library supports two backend endpoints:

New API (Default)

import edilkamin

# Uses new API endpoint by default
token = edilkamin.sign_in(username, password)
info = edilkamin.device_info(token, mac_address)
edilkamin.set_power_on(token, mac_address)

Legacy API

import edilkamin

# Use legacy AWS endpoint
token = edilkamin.sign_in(username, password, use_legacy_api=True)
info = edilkamin.device_info(token, mac_address, use_legacy_api=True)
edilkamin.set_power_on(token, mac_address, use_legacy_api=True)

For CLI, use the --legacy flag:

edilkamin info --username USERNAME --password PASSWORD --mac-address MAC --legacy

Command Line Interface

After installation, you can control your stove directly from the terminal:

# Discover nearby Edilkamin devices via Bluetooth
edilkamin discover

# Get device information
edilkamin info --username USERNAME --password PASSWORD --mac-address MAC

# Turn the stove on
edilkamin power-on --username USERNAME --password PASSWORD --mac-address MAC

# Turn the stove off
edilkamin power-off --username USERNAME --password PASSWORD --mac-address MAC

You can also run via Python module:

python -m edilkamin info --username USERNAME --password PASSWORD --mac-address MAC

Environment Variables

Instead of passing credentials on every command, set environment variables:

export EDILKAMIN_USERNAME="your_username"
export EDILKAMIN_PASSWORD="your_password"
export EDILKAMIN_MAC_ADDRESS="AA:BB:CC:DD:EE:FF"

# Then simply run:
edilkamin info
edilkamin power-on
edilkamin power-off

Command Options

Option Short Environment Variable Description
--username -u EDILKAMIN_USERNAME Account username
--password -p EDILKAMIN_PASSWORD Account password
--mac-address -m EDILKAMIN_MAC_ADDRESS Device MAC address
--legacy EDILKAMIN_USE_LEGACY_API Use legacy API (deprecated)

Use edilkamin --help or edilkamin <command> --help for more details.

Tests

make test

Motivations

  • providing an open source web alternative to the proprietary mobile app
  • improving the interoperability (Nest, HomeAssistant...)

About

Unofficial Edilkamin library

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors