Evonic Fires - Custom Integration

Hey All,

Probably quite a niche integration, however, if you have an Evonic Fire in your home, then you’ll know that they have an E-Smart App that either uses their cloud API, or local connection to the fire.

I did some digging around, and found that the app simply loads in HTML pages from the webserver running on the device, which then communicates locally using WebSockets.

I’ve created a Custom Integration for Home Assistant, which creates a wrapper around the WebSocket connection to get your device control into HA.

I only have an Evonic Linnea, so that’s the only device I have been able to test this on, so if you have an Evonic Fire, please leave me some feedback on what works or doesn’t so we can investigate.

Right now it supports the following features:
Supports the following features:

  • Power On/Off
  • Feature Lighting On/Off
  • Lighting Effects
  • Heater On/Off
  • Heater Target Temperature
  • Current Ambient Temperature

It’s worth mentioning that this is my first Home Assistant Integration, as well as my first Python project, so if my code is a bit ropey, please bear with me. I only started learning Python a couple of weeks ago. I used WLED as a base line for this, so you may notice some similarities in the code :laughing:

Saving for future use

Thank you for making this! I love it.

Sadly, it seems when switching off the fireplace, the tracked state goes back to “On” (even though it’s off) unless I go back into the mobile app.

I’m also using a Linnea, and the IP is assigned, so I can’t figure out why this might be happening. Any ideas?

Again, thanks for your contribution!

Can confirm all features working with an Evonic e1250. Thanks

I’m pretty sure this happens when it cant send the request to the fire. I might need to figure out how to change this to polling instead. If you keep the WS open for too long, it just seems to die, but i dont know if thats the fire or my code :confused:

1 Like

Hey, new to home assistant so sorry if this is a silly question, however getting an error " Repository greghesp/hacs-evonic not found" when trying to install?

Any ideas how to solve?

Ive been getting this too whilst testing, no idea why.

You can add it in manually though. Just click the 3 dots in HACs (top right) and add custom repository. Then just put in the repo url

EDIT: Fixed

Are you able to consistently replicate this, and are you on the latest firmware for the fireplace?

I’ve not had this issue recently, so wondering if they fixed something in the fires firmware.

Essentially, I think what is happening is that the websocket connection stops responding. I’ve tried logging everything out, but it never seems to actually kill the connection to the fireplace from what I can tell, so I can only assume it’s the fireplace firmware :confused:

Sadly it appears to still happen.

  • Successfully turn on Fire Lighting
  • Wait 10-20 seconds
  • Attempt to turn off Fire Lighting
  • Appears as off in HASS but Fire Lighting is actually still on
  • Attempting to turn on Fire Lighting then begins to fail in HASS

BUT

  • If I “Reload” the integration, the correct states are now synced in HASS
  • Until I turn off/on a state, then it becomes desynced until I reload the integration again

Could this be port related? (Any ideas what ports the fireplace uses?) Thanks for your help!

Is this with a Linnea?

It operates on port 81 as a websocket connection.

Don’t suppose you’re also trying to use the Evonic app or website at the same time? Shouldn’t matter, but trying to rule out

All working great with an e1030. Nice job!

this is working well with my fire (unsure of the model), thank you. I have two questions after setting it up:

  • To turn on the heater in the fire I first have to turn on the lights. Is this a limitation of how Evonics fireplaces are set up, or can it be overcome (my automations have failed so far!) Edit: This is an Evonics limit, but the heater entity can be programmatically enabled and disabled with Spook: https://spook.frenck.dev/ - setting up an automation to couple it with the fires lights means the enabled/disabled state in HA matches the state in the fire itself.

  • The light card for the fire allows me to select the effect/colors used. Is it possible to expose this element to the rest of the system? (context: HomeKit Bridge only sees an/off toggle)

Thank you

Due to the way HA works, you can’t do something else before executing an action. Since the fire needs to be on before you can set the temperature, you will always need to ensure that it’s on first.

There also isn’t really an on/off for the fire themselves, as it’s actually just the lighting, hence why lighting is what you would consider the on/off switch.

As for the effects, I suspect there’s a way to handle this in Homekit. HA exposes effects as a toggle like it’s currently implemented, I’m not sure how this should work in Homekit