Electrolux to MQTT

Update

I decided to open source my project to allow others to contribute under the GNU GPL v3 license.

The newest docker image release under the open source version can be found on Docker Hub https://hub.docker.com/r/dannyyy/electrolux-mqtt.
Please make sure to use the version >= 2.0 or >= 2.0.1

The project can be found on GitHub: GitHub - dannyyy/electrolux_mqtt: Electrolux to MQTT

The Story

I bought recently one of the new Electrolux Comfort 600 Air Conditioner and was disappointed about the closed cloud-based ecosystem. The provided app from Electrolux is not bad, but doesn’t allow any integrations into my smart home.

Therefore, I wrote a MQTT integration to easily integrate the appliances into HA and any other smart home platform. Since I reverse-engineered the cloud APIs the integration is still bound to the Electrolux cloud. The benefit is, that the entire collection of appliances is supported, that is also supported by the Electrolux App.

Electrolux to MQTT on Docker Hub

Feel free to use my integration: https://hub.docker.com/r/dannyyy/electrolux-mqtt

If you face any issues with the integration or functionality, please provide feedback here. Providing a working user account that has the appliance registered would help greatly in this regard (please PM me, do not expose any sensitive information to the public).

I would really appreciate getting a coffee or two if you are happy with the integration. This allows me to further invest time into it and deliver new releases.
Buy Me A Coffee

Example

  climate:
    - name: <ENTITY NAME>
      device:
        identifiers:
          - '<APPLIANCEID>'
        manufacturer: 'Electrolux'
        model: '<YOUR MODEL>'
        name: '<YOUR NAME>'
        suggested_area: '<YOUR AREA>'

      availability_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/state'
      availability_template: '{{ value_json.connectionState }}'
      payload_available: 'connected'
      payload_not_available: 'disconnected'

      json_attributes_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/state'

      modes:
        - "auto"
        - "off"
        - "cool"
        - "heat"
        - "dry"
        - "fan_only"
      mode_command_topic: "smarthome/electrolux/appliances/<APPLIANCEID>/command"
      mode_command_template: '{ "mode":  "{{ "fanonly" if value == "fan_only" else value | upper }}" }'
      mode_state_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/state'
      mode_state_template: '{{ "fan_only" if value_json.mode == "fanonly" else value_json.mode | lower }}'

      precision: 1.0
      temperature_unit: 'C'
      initial: 22
      min_temp: 22
      max_temp: 25
      current_temperature_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/state'
      current_temperature_template: '{{ value_json.ambientTemperatureC }}'
      temperature_command_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/command'
      temperature_command_template: '{ "targetTemperatureC":  {{ value }} }'

      swing_modes:
        - "on"
        - "off"
      swing_mode_command_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/command'
      swing_mode_command_template: '{ "verticalSwing":  "{{ value | upper }}" }'
      swing_mode_state_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/state'
      swing_mode_state_template: '{{ value_json.verticalSwing }}'
      fan_modes:
        - "auto"
        - "high"
        - "medium"
        - "low"
      fan_mode_command_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/command'
      fan_mode_command_template: '{ "fanSpeedSetting":  "{{ "middle" if value =="medium" else value | upper }}" }'
      fan_mode_state_topic: 'smarthome/electrolux/appliances/<APPLIANCEID>/state'
      fan_mode_state_template: '{{ value_json.fanSpeedSetting }}'
1 Like

Hey

I’ve just started in the home assistant world and I’m still learning the basics.

Is it possible to get installation instructions step by step or a video? I also bought the air conditioner in question just recently and it would be nice to be able to add it to my Assistant system.

Hello @Basari

I’m not very sure how I can support you.

The setup with Docker or any other container service is well documented on Docker hub any fully independend of Home Assistant.

In addition you need a MQTT server. You can install any MQTT server you like. Here in the forum, you will find dufferent guides. But you can run any MQTT server on any platform. And add MQTT to your HA configuration.

And last but not least, the given HA config is all you need. Adjust the topics as you like. Simple copy & paste the entire code into your configuration file.

If you can give more details where I can help, I might be able to record a short sequence.

hi @dannyyy

I also have this air conditioner, I’ve just started doing stuff with Home Assistant (previously I was tweaking in Homebridge). I’ve got my Home Assistant OS installed on Proxmox VM, so I actually don’t get it how can I use your integration which is a docker image.

U can run docker container on proxmox too. google is ur friend, “docker proxmox”

And thank for this integration. Need to try it when I have time. Dont really like the electrolux app. By looking at the config, it looks like it doesnt support external temperature/humidity sensor. Ive noticed that the exhauspipe gets so hot that it messes up its own sensor.

Hey man, thanks for your work!
There is any chance you can publish the docker image on linux/arm64?

Great work, unfortunately i have no possibility to run docker, is there any way for you to upload the code to github?

Sure, I give it a try this evening. I thought I published it already for multi platforms.

Initially my intension was to open source the integration. But I decided against it, because key material (PSK, …) is involved which I don’t like to make public. Also not sure about it from a legal perspective.
I could provide it in binary form if it helps. Let me know your CPU architecture.

1 Like

Hello!

I tried to set up this for the upcoming summer, but I’m getting the following error:

Unhandled exception. System.TypeInitializationException: The type initializer for '<Module>' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'YFO04rWeEs4pLPQ5FF8' threw an exception.
 ---> System.Exception: This assembly is protected by an unregistered version of Eziriz's ".NET Reactor"! This assembly won't further work.
   at b4K0AUWSNwHP87KAkLZ.CTLN8GWhTB8MwyuPqyT.cZlVC4YOy0()
   at UKeiZn6i45M7oAHY53c.Gf8Msj6U4UvUZ1eBhln.LtclRkcT50Ixpsj1QPW()
   at UKeiZn6i45M7oAHY53c.Gf8Msj6U4UvUZ1eBhln.Rw9AGE5CFu()
   at UKeiZn6i45M7oAHY53c.Gf8Msj6U4UvUZ1eBhln.YFO04rWeEs4pLPQ5FF8..cctor()
   --- End of inner exception stack trace ---
   at UKeiZn6i45M7oAHY53c.Gf8Msj6U4UvUZ1eBhln.YFO04rWeEs4pLPQ5FF8..ctor(Stream  )
   at UKeiZn6i45M7oAHY53c.Gf8Msj6U4UvUZ1eBhln.Rw9AGE5CFu()
   at .cctor()
   --- End of inner exception stack trace ---

I’m using dannyyy/danflash-electrolux:1.0.1 from docker hub.

Can you please check this?

I’m trying to run it on my Raspberry Pi, which is arm64. Thanks a lot!

Would it be possible to release this to HACS?

got the same error

I started working on my own integration that I plan to release shortly.

My integration doesn’t use MQTT, but directly communicates with Home Assistant and Electrolux OCP API.

I have the first version that works with my machine (Comfort 600), but still needs bit of cleanup and more testing.

Please let me know if you are interested in trying it out.

4 Likes

Hello! Yes, very much.

Yes please!
A fellow Finn who just bought their very own Comfort 600 from Verkkokauppa.com today.

Just let me know if there’s anything I can help you with. I’m not too proficient (done just a few smaller projects) with Python to be honest, but NodeJS and Docker (among other things) I know like the back of my hands.

I’d love it ! I tried to dive into the MQTT integration, but I’m def not avanced enough at the moment… a clean intergration would be game changer ! How are you doing on this project of yours ?

Dear Dannyyy,

As Crazyguy mentioned below the docker image doesnt work anymore.

Would it be possible to release the software as opensource in anyway or to give us some hints on how to get it running. Would be nice to be able to control the AC this summer.

Regards
Thomas

I decided to open source the project on GitHub: GitHub - dannyyy/electrolux_mqtt: Electrolux to MQTT

A new Docker image has been published under the name dannyyy/electrolux-mqtt:2.0 (currently 2.0.1 which includes a fix for the mentioned issues)

2 Likes

Thank you!!

Any chance on getting a Retain environment variable as well?
I’d like the AC’s state to be with retain true, so it wouldn’t need to wait for the first status update to fetch the state after restarting HA?