Zum Hauptinhalt springen

Edilkamin Smart-Home-Integration, kostenlos und Open Source

Edilkamin-Integration für Gladys Assistant

Edilkamin "The Mind" pellet stoves via the Edilkamin cloud: state, temperature, alarms.

Info

Die Dokumentation dieser Integration wird von ihrem Autor geschrieben und ist bisher nur auf Englisch verfügbar.

Unofficial integration, not affiliated with Edilkamin. It brings into Gladys the Edilkamin pellet stoves linked to the The Mind app (the "The Mind" Wi-Fi module), through the Edilkamin cloud, the one the app uses.

Warning: unofficial API, this integration has never been tested with a real stove or account. It was written from the edilkamin.py library and tested against a fake Edilkamin cloud only. Edilkamin may change its API at any time. Feedback is welcome.

What you get​

For each stove:

FeatureDetail
Lit (on)Read only: 1 on (or lighting), 0 off.
Light the stoveButton. Off by default (see Safety).
Turn the stove offButton. Always allowed.
Room temperatureIn °C, the probe of the stove.
SetpointIn °C, 12 to 30 by steps of 0.5. Changed only if you allow it.
Power levelA choice, P1 to P5 (manual power). Changed only if you allow it.
Fan 1 to 3The level of each fan (read only), as many as the stove has.
Pellets low1 when the pellet tank is in reserve.
Last alarmA text, e.g. "Alarm 7 (2026-10-17 21:04 UTC)", when the document of the stove holds an alarm log.

Scene trigger Edilkamin stove alarm: when a read shows more alarms in the log of the stove than the previous read. Variables: stove (the name of the stove) and code (the alarm code, empty when unknown). Never on the first read after a start.

The cloud gives the pellet level only as "in reserve"; the autonomy it reports is not published yet (its unit is to check on a real stove).

The badge of each stove shows "cloud", "unreachable" (with an orange dot) when that stove cannot be read (MAC address unknown or not in the account), and "unreachable" for all when the cloud does not answer or the account is stopped.

Installation​

  1. Your stoves must work in the The Mind app.
  2. Note the MAC address of each stove: The Mind app shows it, so does the label of the Wi-Fi module. The Edilkamin cloud gives no list of the stoves of an account: it has to be typed.
  3. In Gladys, install the Edilkamin integration, enter the user name (e-mail) and the password of The Mind app, and the MAC addresses separated by commas (A8:03:2A:12:34:56, A8:03:2A:65:43:21). Save.
  4. Add the stoves from the Discovery tab.

Safety​

A pellet stove is a flame appliance:

  • Turning off is always allowed, without an option, and always sent (on a stove already off, it changes nothing). It never waits behind another command of the same stove, but for a lighting already on its way, so it lands after it. It is also sent during a pause asked by Edilkamin, and renews an expired session by itself within its deadline.
  • A lighting waiting or in progress is cancelled when a turn off arrives meanwhile ("turn off asked meanwhile").
  • Lighting is off by default: turn on Allow lighting the stoves from Gladys to allow it. A scene or a dashboard can then light a flame in your home while nobody is there: check the stove, its glass and its surroundings first.
  • There is no switch: the "Lit" state is read only, and lighting and turning off are buttons. An "everything on" or "everything off" of a scene never touches the stove, and voice assistants can neither light it nor turn it off. HomeKit shows the setpoint as a thermostat stuck on "Heat"; Google Home and Alexa do not expose the setpoint.
  • The setpoint and the power level are off by default (Allow changing the setpoint and the power level from Gladys). They never send the lighting order; on a stove already running but on standby (flame out), a higher setpoint makes it start again, as in the app.
  • Before lighting, the setpoint and the power level, the integration reads the stove again from the cloud: the command is refused when that read fails or lacks the value. Turning off reads nothing: it has nothing to decide.
  • The commands of one stove run one at a time (but turning off).
  • A command that cannot be sent within 3.5 seconds of its arrival is refused: Gladys shows a failure after 5 seconds, and nothing must happen after that failure.
  • After a power command, a new lighting is refused ("still in progress") until a read shows the expected state, 60 seconds at most.
  • If Edilkamin does not answer a command in time, Gladys shows a failure, but the command may have gone through: check the state of the stove.

Password, tokens and privacy​

  • The password is kept by Gladys in its database, never shown again, and sent only to Edilkamin, to its AWS Cognito sign-in service to be exact, as an SRP proof: the password itself never travels.
  • The sign-in gives tokens: the token (about one hour) is renewed with the refresh token, without the password; the integration does not sign in again at each read. The tokens are kept in the /data volume of the integration so a restart does not sign in again. On the Gladys host, that volume is the folder <Gladys base folder>/external-integrations/<selector>: readable by root and uid 1000 (the user of the container), not in the Gladys backups, deleted when the integration is uninstalled. The refresh token gives control of the stoves while it is valid, without the password: protect that host. The user name and the password are never written there; another user name drops the tokens.
  • Nothing reaches the logs: no password, token, user name, nor whole MAC address (only its last 4 characters).
  • Everything goes over HTTPS to cognito-idp.eu-central-1.amazonaws.com (the sign-in) and the-mind-api.edilkamin.com (the stoves).

Refresh​

The stoves are read every 60 seconds by default (60 to 900), one request per stove, plus three reads within the minute after a command.

Errors​

  • Password refused (or account not confirmed, reset required): the integration stops; one new try after 1 h, 6 h, then every 24 h, or at once when you save the configuration or click Test the connection.
  • Verification code, or any other sign-in step (but a new password): not handled. The integration stops and never signs in again by itself (each sign-in could send a code); click Test the connection, or change the user name or the password.
  • Session refused right after a new sign-in: new try after 1 h, 6 h, then every 24 h.
  • Edilkamin asks to slow down (429, or too many sign-ins): a pause of at least 1 minute (Retry-After when given, 6 h at most), for every path but turning off, kept across restarts.
  • HTTP 403 on every stove: a 30-minute pause (with one stove only, check its MAC address). A 403, a 404, a 5xx or a timeout on one stove only marks that stove ("unreachable" badge); the others are still read.
  • Edilkamin unreachable (no stove answered): new try after 1, 2, 5, 10, then every 15 minutes, never faster than the refresh interval.

Limits​

  • Never tested with a real stove: the shape of the answers comes from edilkamin.py; the alarm log, the setpoint range and the fan levels are to check.
  • The MAC addresses have to be typed (10 stoves at most): the Bluetooth discovery of edilkamin.py is not possible in the container.
  • The chrono, relax, standby, Airkare modes and the easy timer are not handled.
  • The old ("legacy") Edilkamin API is not used.

Credits​

  • edilkamin.py by Andre Miras (MIT): the cloud API, the sign-in and the stove document are ported to JavaScript.
  • pycognito (Apache-2.0): the SRP computation.
  • See THIRD_PARTY_NOTICES.md.

Edilkamin and The Mind are trademarks of Edilkamin; this project is not affiliated with Edilkamin.

Konfigurationseinstellungen​

Diese Einstellungen fragt Edilkamin in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Your Edilkamin accountsectionNeinBrings the Edilkamin pellet stoves of your "The Mind" account into Gladys: on or off, room temperature, setpoint, power level, fans, pellets in reserve, last alarm, and a scene trigger on a new alarm. Read every minute through the Edilkamin cloud. Enter the user name and the password of The Mind app and the MAC address of each stove, save, then add the stoves from the Discovery tab. Turning a stove off from Gladys is always allowed; lighting it, and changing its setpoint or power level, stay off until you allow them below. Unofficial API, never tested with a real stove or account. Not affiliated with Edilkamin.
Edilkamin user name (e-mail)stringJaThe one you sign in to The Mind app with.
Edilkamin passwordsecretJaKept by Gladys in its database, never shown again, used only to sign in to Edilkamin (AWS Cognito SRP: the password itself is never sent).
MAC addresses of the stovesstringJaThe MAC address of the Wi-Fi module of each stove, as The Mind app shows it, separated by commas (10 stoves at most). The cloud gives no list of the stoves of an account.
Allow lighting the stoves from GladysbooleanNeinOff by default: Gladys can turn a stove off, never light it. On, the "Light the stove" button, a scene or a dashboard can light a flame in your home while nobody is there: check the stove, its glass and its surroundings first.
Allow changing the setpoint and the power level from GladysbooleanNeinOff by default: the setpoint and the power level are shown, not changed. They never send the lighting order; on a stove already running but on standby (flame out), a higher setpoint makes it start again, as in the app.
Refresh interval (s)numberNeinSeconds between two reads of the stoves (60 to 900).
Language of the feature namesselectNeinUsed for the feature names of the stoves added from now on, and for the last alarm.

So installierst du Edilkamin in Gladys​

  1. Öffne in Gladys Integrationen: Edilkamin erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/lm1lc3n7/gladys-edilkamin:0.1.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/LM1LC3N7/gladys-edilkamin.

Edilkamin benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Edilkamin ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von LM1LC3N7 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂