Edilkamin pellet stove controlled with "the mind"

Did anyone tried to set the fans power level using the python script’s mqtt_command api ?

I have 2 fans in my stove. One for the stove which is set on auto, and one than heat another room, set to 1.
I can see the fan levels in device_info/nvm/parameters :

>>> ek = edilkamin.device_info(token, mac_address)
>>> for key,value in ek['nvm']['user_parameters'].items() :
...     if "fan" in key :
...             print(f"{key} : {value}")
...
fan_2_ventilation : 1
fan_1_ventilation : 6
fan_3_ventilation : 6

I tried the following request but no luck so far :

>>> edilkamin.mqtt_command(token, mac_address, {'name' : 'fan_2_ventilation', 'value' : 2})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/u205580/.local/lib/python3.10/site-packages/edilkamin/api.py", line 105, in mqtt_command
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://fxtj7xkgc6.execute-api.eu-central-1.amazonaws.com/prod/mqtt/command
>>>

I will also try tonight to match the various operational states to the text values on the remote (“starting”, “cleaning”, etc)

>>> ek['status']['state']
{'actual_power': 1, 'stove_state': 1, 'alarm_type': 0, 'sub_operational_phase': 0, 'operational_phase': 0}

I found some usefull mqtt commands for my use cases :

Set the fan 1 speed (between 1 to 6, 6 is for auto) :

payload = {"name" :"fan_1_speed", "value" : 1}
edilkamin.mqtt_command(token, mac_address, payload)

Set the fan 2 speed (between 0 to 6, 6 is for auto) :

payload = {"name" :"fan_2_speed", "value" : 1}
edilkamin.mqtt_command(token, mac_address, payload)

Activate the “relax mode” (silent mode, fans are off) :

payload = {"name" :"relax_mode", "value" : True}
edilkamin.mqtt_command(token, mac_address, payload)

HI, concerning the relax mode I’m a little bit confused. relax_mode doesn’t exist when doing edilkamin.device_info(token, mac_address) I only have is_relax_active under nvm\user_parameters

Can you guide me how did you find this value ?

Thanks

Actually there is a difference between the name of the mqtt command which should be sent and the result of nvm\user_parameters.

For exemple, “is_relax_active” and the command “relax_mode”,
“fan_1_ventilation” and the command “fan_1_speed”

I started from this article, that explains how to decompile the app

Then, in the folder ‘base\sources\com\edilkamin\stufe\network’, there should be a java file for each supported command. Somewhere in that files, there is a variable with the name of the mqtt command

1 Like

Great job!
I’m bad at programming. Is there a little tutorial to help me :slight_smile:
I have an edilkamin evo11 with the mind application on ios.
What can be done at the moment?
thank you

Hi, download this archive edilkamin.7z - Google Drive
Extract the folder into \config\custom_components
Open \config\custom_components\edilkamin\climate.py
Edit line 28 to match your stove mac address
You can go to your integration page and search for Edilkamin

1 Like

Hi @AndreMiras @Nuick, for information I’m working on the integration in order to add functions added into edikamin v1.2.0. As I have started learning python 2 weeks ago from scratch, I would be grateful if you could check that :slight_smile: No rush. Of course everyone is welcom to check that.

[entity.py] was improved
[switch.py] is a new file (I have more concerned about this file)

Happy Holidays!

Magnificent, thanks.
He works !!
I have the current temperature and the request with the on or off.
thanks

Pretty cool thanks

Hi everyone,

Great job @shisva !

I have also been working on my own implementation for the past few weeks. Not everything is working, but it is stable enough to share it I think. I am not a developper, it is my first time coding a HA custom component and my first time using github.

nghaye/ha-edilkamin (github.com)

I decided to now go without the bluetooth discovery but with dhcp discovery instead. It is not fully implemented for the moment, so we have the choice to add the wifi mac address manualy

It is what have been changed from @AndreMiras implementation :

Added functions

  • Manual entry for mac address and name when setup the integration
  • Main fan control
  • Auxiliary fan control (with a fan entity)
  • Auto/Manual mode
  • Stove operational mode
  • Display current power level
  • Coordinator for all data upgrades
  • Switch entity for silent mode, standby mode, chrono
  • Various sensor entities

Not working / Issues

  • Manual power level (I haven’t found the right mqtt command yet)
  • DHCP discovery config flow

Feel free to try it !

Hi! Glad to see that, will check that.

Concerning the manual power, not sure if this is what you are looking for but I added it in v1.2.0 in edilkamin.py/api.py at cf59afd2e47354aded2a7e895454434e8bc7ab61 · shisva/edilkamin.py · GitHub

And looks like that :


def set_manual_power_level(
    token: str, mac_address: str, manual_power_level: int
) -> str:
    """
    Set manual power level value.
    Return response string e.g. "Command 0123456789abcdef executed successfully".
    """
    return mqtt_command(
        token, mac_address, {"name": "power_level", "value": manual_power_level}
    )

You definitely have a better skill in python than me :joy:

Great ! I didn’t see this method
I added the feature in the custom component (not tested yet)

I also added the airkare switch.

Hi lads,

I have since this summer a Edilkamin Lena Plus with also the mind app and remote. I have currently lot of experience with Domoticz on a raspberry pi… I switch on /off the stove with the domotic connection on the stoves pcb. In domoticz I have a minimum and max temp range for the livingroom and it works perfect. I did not trust the Bluetooth remote and standby function. When you’re not at home and if you can’t control the stove you could come in trouble…

but…

I would love to use and try the code you have made here… I am not a programmeur doing code stuff…

Can you please tell me how I get the code or this function in HA?

If you want to know more about the domotic contact just let me know

I might switch from domoticz to HA… I am finding out of it would work for me

Thanks

Ger

Hi All,

I’m trying to find out what the Mac-address is of my Slide-7 Up. I was expecting to find a IP-Adrdress in the Table of the DHCP server. I couldn’t find it in the table. All of the devices in my network are there, but not the stove. Is there a other way to find it?

Alex

Hello @shisva
I saw that you have placed a new version: p
Have you improved it?
Installation is still the same or it has changed.
Thank you

@GerAtDronten
Hi, I switch from Domoticz to HA and I’m so happy to have done this move that I’ll never come back to any other software.
If you want to try this, grab custom_components folder from GitHub - nghaye/ha-edilkamin and copy edilkamin folder into \\ha_ip_address/config/custom_components

Restart home assistant and go to integration page and search for edilkamin

@alexkoel
Mac address can be found in the mind app under “réglages” → “Software” → “MAC MQTT”
I can also find it under my ubiquiti management software

@Propheet
I switched to @Nuick integration that is working pretty well and I forked it in order to add DHCP discovery. I recommend you to grab it also : GitHub - nghaye/ha-edilkamin
No more need to add Mac address hard coded just follow the integration process

@Nuick
I’m trying to add DHCP discovery but as i’m learning python can I have your feedback on what I’ve done ? Thanks in advance. (ha-edilkamin/config_flow.py at c7cde1d838475a07137a2186ec89bac7b5768537 · shisva/ha-edilkamin · GitHub)
Edit : I’m not sure if line 99 in config_flow is correct, I see also this kind of code :

return self.async_show_form(step_id="discovery_confirm", description_placeholders=STEP_USER_DATA_SCHEMA
        )

@AndreMiras @Nuick
I updated edilkamin.py to 1.3.0 in order to integrate easy timer and chrono mode, will contact you soon under discord to have your feedback also. Then, Nuick’s integration can be update to add a new sensor to integrate easy timer.

Bonne année ! :slight_smile:

@shisva
Thanks never new it was so easy. After all It was also in my mac table of my router. I only thought it was belonging to a other device in my network. :grimacing:
Alex

Thank you @shisva for your help :slight_smile:
I deleted your folder in \config\custom_components and placed the ha-edilkamin-main file in \config\custom_components\edilkamin.
I can’t find it in add an integration I made a mistake somewhere ?
thank you

Remove old integration from integration page, replace files, restart HA and should be ok
Just to be sure, in \config\custom_components\edilkamin you should have all *.py files

@shisva After the mac-address ‘problem’ it’s working. I only see that the measured temperature is allways the same as the adjusted temperature. image
I always noticed that there is no regular update. Is this a parameter I can adjust somewhere?

Regards Alex