haomnilogic-local icon indicating copy to clipboard operation
haomnilogic-local copied to clipboard

I've got Pentair GloBrite lights connected to my Omnilogic

Open mperklin opened this issue 10 months ago • 8 comments

You asked for people to post an issue if they have different/unsupported hardware and are willing to help you test it. Well, here I am.

My Pentair GloBrite lights are "switched" between 12 light settings: 5 "brilliant" fixed colours, and 7 "dazzling" light shows. (adjectives courtesy of Pentair marketing)

Let me know if there's data I can gather for you.

--MP

mperklin avatar Feb 06 '25 04:02 mperklin

I mostly meant Hayward equipment that wasn't yet supported by the integration... But let's start with the diagnostic data from the integration and I'll see what I can do.

cryptk avatar Feb 07 '25 03:02 cryptk

I've attached the diagnostic below. Parsing through it, my two lights are entries 8 and 15. 8 is the light in my pool and 15 is the light in my spa.

Curiously, the diagnostic data is kind of incorrect? As I mentioned above, my lights have 12 light settings (5 "brilliant" fixed colours, and 7 "dazzling" light shows). But the diagnostic data is returning Hayward ColorLogic enumeration values 1-16.

The correct enumeration values for these Pentairs are:

  1. Show_SAm
  2. Show_Party
  3. Show_Romance
  4. Show_Caribbean
  5. Show_American
  6. Show_California Sunset
  7. Show_Royal
  8. Fixed_Blue
  9. Fixed_Green
  10. Fixed_Red
  11. Fixed_White
  12. Fixed_Magenta
  13. (Hold. Saves the current colour effect during a colour light show)
  14. (Recall. Activates the last saved colour effect)

I don't know why the integration is showing ColorLogic enum values when these aren't ColorLogic lights. But I can confirm that with djtimca's cloud-based OmniLogic integration, these same ColorLogic enum values are reported by Hayward's API. It's possible/likely? my OmniLogic is somehow misconfigured.

What I do know is that with djtimca's integration, if I set the lights to ColorLogicShow.AFTERNOON_SKY (enum value 3) my lights display the Romance show (enum value 3). I've attached a photo of the OmniLogic app that shows the UI for choosing colours on these Pentair lights. Despite the API returning ColorLogic enum values (which are incorrect), the OmniLogic app's UI shows Pentair's light options.

Moving all the confusion aside for a moment, perhaps an easy path is: when your integration detected any kind of light other than Hayward's ColorLogic lights, if it just exposed a simple way to choose modes based on enum value that would be better than the current "don't show the light at all" behaviour.

I'd be happier setting my lights to "10" than not being able to set my lights at all.

Let me know if you need more data,

Image

config_entry-omnilogic_local-01JKCMG6BJ9PGDQ1BXH0J3N8SG.json

mperklin avatar Feb 07 '25 15:02 mperklin

This might end up being outside of the scope of the integration. I'll leave it open for now in case I change my mind, but my request for adding "unsupported lights" was intended as "Hayward lights, which I have documentation for, but aren't yet supported by the INTEGRATION". It's not really feasible for me to support every light from every manufacturer. I'll try and look at your diagnostic data at some point, but I'm almost certain that it will not include the list of what shows are available with your light. The reason that the same shows are always shown is because those are the hayward light shows, and they are actually coded into the API library that the integration uses. They are not returned by the controller at all. You have to already know what shows are available based on the model of light.

cryptk avatar Feb 19 '25 01:02 cryptk

That totally makes sense, cryptk. Trying to support every light from every manufacturer seems like a losing battle before it starts.

I'm wondering if there's an opportunity for another strategy that is more impactful for your integration. It seems that the Hayward show list does work on these Pentair lights; it's just the names/enum-value mappings are off.

I'm wondering whether it would be possible for your integration to expose some kind of end-user customizable array of "show names" to enumeration-value mappings that default to the Hayward show names. This setup would work as-is with Hayward lights, and it seems it would allow someone like me to rename the shows to match my light's.

Essentially... instead of needing to write custom code for every light from every manufacturer, you could edit your one/existing implementation to something that would work in many/all cases. At the moment, because my lights aren't Hayward lights, your integration does not expose any light options. It would be great if it exposed the Hayward show options because at least then I could control them with different/incorrect names.

Food for thought.

I only opened this issue because of (what I thought was) your request. You can definitely close this. Thanks again for the hard work you've done.

mperklin avatar Feb 19 '25 19:02 mperklin

So, technically, this is supported by Hayward, as you select "P-Color" as the light type (I have a Pentair Intellibrite 5G). That is how we get the Pentair light shows in the OmniLogic app. It would be nice to have the light show and color selections via OL local.

tecyah avatar Mar 26 '25 00:03 tecyah

So it looks like Hayward did add support for Pentair and Zodiac lights to their firmware. I think I have the data needed to get these supported. I'm working on a pretty large refactor of the underlying library which should make supporting the integration and adding features far easier in the future. I'll try and include support for these lights in that update.

I don't think I'll be able to support the Hold and Recall options (at least not yet) as I don't know how those work. They aren't included in the data that I have.

cryptk avatar Oct 28 '25 16:10 cryptk

And just to make sure I'm clear on this, there is no speed or brightness control for these lights right? Just a selection of shows?

cryptk avatar Oct 28 '25 16:10 cryptk

Fixed colors and Shows, countdown timer, that looks to be it according to my app

tecyah avatar Oct 28 '25 16:10 tecyah