Everlights Integration

Since the baked in Everlights integration does not support the v3 Everlights hardware/firmware, I’ve written an integration that works.

This is my first integration so i welcome any and all feedback. You can find the integration at GitHub - weswitt/everlights3.

What would be really nice is if the core team used this in place of the backed in code since it no longer works.

1 Like

Plans to add this to HACS?

This is amazing. Thank you so much! It works perfectly. I hope it gets added to HACS too.

Two bugs I’ve noticed after playing with it for a bit:

  1. The entities in HA can control the Everlights properly, but the entity on/off state doesn’t update in HA when the Everlights are turned on or off via the Everlights app.

  2. The UI always says my lights are on the first effect, even if they’re actually on a different one. Updating the effect via the UI works properly, but if I close the entity card and then reopen it the effect shown in the UI returns to the first item in the list (in my case, 4th of July).

thanks for the info.

  1. i think i know why this is happening and will try to fix it.

  2. this seems to be a bug in ha. i posted about it here in the forums but no one has responded. the problem is that ha is never calling the effect property on my integration so the current effect is not correct. not sure there is anything i can do about it.

@kylerw not sure about adding it to hacs. i looked at it and it looks like a major hassle. especially since a manual install is so quick & easy.

I just submitted a pull request to adjust the folder structure to make it compatible with HACS.

Thank you for doing this, I have been hoping someone would pick this up. :grinning:
I just tried to do an install of everlights3 on 2023.12.0. This is the first time I have installed the new integration. I am getting the following error. I have tried several times, many restarts. I have verified that I am using the correct IP address and that my everlights3 hub is online and responding to the app. When I go through the configuration wizard it just presents a blank box, I assumed all I am supposed to enter is the local IP of my hub, is that correct? That is what I am using.

tThis error originated from a custom integration.

Logger: custom_components.everlights3.light
Source: custom_components/everlights3/light.py:34
Integration: Everlights 3.0 (documentation)
First occurred: 10:13:37 AM (2 occurrences)
Last logged: 10:14:30 AM

invalid everlights hub ip address or hub is unavailable
Traceback (most recent call last):
  File "/config/custom_components/everlights3/light.py", line 34, in async_setup_entry
    sdata = get_v1.sync(client=client)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/everlights3/client/api/default/get_v1.py", line 76, in sync
    return sync_detailed(
           ^^^^^^^^^^^^^^
  File "/config/custom_components/everlights3/client/api/default/get_v1.py", line 60, in sync_detailed
    return _build_response(client=client, response=response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/everlights3/client/api/default/get_v1.py", line 37, in _build_response
    parsed=_parse_response(client=client, response=response),
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/everlights3/client/api/default/get_v1.py", line 23, in _parse_response
    response_200 = Status.from_dict(response.json())
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/everlights3/client/models/status.py", line 97, in from_dict
    zones_item = Zone.from_dict(zones_item_data)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/everlights3/client/models/zone.py", line 97, in from_dict
    last_active_date = d.pop("lastActiveDate")
                       ^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'lastActiveDate'
ype or paste code here

can you please post this as an issue on gihub?? looks like an easy fix.

Will do. Thanks.

I have been using this one:

It can be added through hacs and overall works ok.

That being said, I have not yet checked out the integration in this thread to see if there are any differences.

Maybe if someone has time to explore both, we could move this towards having one that’s perfect that can replace the old one as part of the core.

interesting, i did not know about that – thanks. it looks a very different implementation. for example, it does not expose the configured sequences as a light effect like mine does. my implementation lets you turn on the light for a specific named sequence.

1 Like

And I didn’t share it to step on your toes. Like I said, I haven’t had the opportunity to try yours yet.

Just wanted you to know the other existed in case there’s anything that would help yours.

I appreciate each of you for trying to help solve this!

Interesting, can you provide an example automation to do that? Is that possible? To turn-on and set the effect.

Also, I had to make a number of changes locally to get your integration to work for me, not complaining, just reporting. I opened an issue on github. I was just too excited to wait. I have no idea if what I changed was correct, but it is “working”. I had to change the name of some fields and remove one to get it to match the layout of what the API was returning, at least the version I am running.