Hayward Omnilogic?

I just looked in HACS, and searched for “Hayward” and for “Omnilogic” and neither returns any results.
How do I find and install it?
Thanks!

@knwpsk You probably need to add the the custom repository. Try this…

On your HACS tab in HA, click the elipsis and then go to Custom repositories:

Then add the djtimca/haomnilogic repository with a category of Integration:

After that, you should be able to use the HACS search to find it. If you still don’t see it in the search or cannot add the repository, you might need to go to Settings > Devices & Services > HACS > Configure and temporarily remove the country code filter if you have one. This was an issue for me, but I think it is now resolved so you may not need this.

Anyone able to share some insights on how to send a set speed by calling the service via Node-Red. I’m able to select the service and the entity, but I haven’t been able to figure out how to structure the message properly based on the variable speed pumps page (Variable Speed Pumps · djtimca/haomnilogic Wiki · GitHub).

I don’t use node red, but this is my yaml automation. It looks pretty similar to your editor. Maybe the int conversion is causing the issue? Is your Pool Pump entity a switch entity in HA?

  # Set pool pump to 25%
  - service: omnilogic.set_pump_speed
    entity_id: switch.pool_pump
    data:
      speed: 25

Got it. For anyone that comes looking, to use the Node-Red Call Service module, setup should look like this:

The data field looks like this (for 25%):

{"entity_id": "switch.pool_pump", "speed": "25"}
1 Like

Hello all, wanted to leave a note here that the initial version of the LOCAL API integration for hayward pools is ready. I worked with @djtimca on the initial work to figure out the local API (as well as several other people, check out the credits section in the integration README). You can view the release announcement here: Hayward Pools LOCAL integration announcement!

2 Likes

So looking forward to trying this. Thank you.

Thank you both ! @djtimca has done a tremendous job clearing the path to things like this for Hayward.
Installed the integration and it worked right away without issue ! Really fast response! I look forward to hopefully seeing the PH and ORP sensors and controls added !

Hi everyone, I’m sorry if this is inappropriate but i’m brand new to HA and I’m having a bit of trouble getting this to work. I installed HACS and the Hayward OL integration but that’s about as far as I seem to be able to get. I’m unable to get the Light integration to show up and desperately need someone to hold my hand through setting it up. Also, I have a heater with my pool- is there anyone to integrate that, too?

Appreciate all the help!

Paul

Do you see Omnilogic on your main Intergration page? If not, you need to add it by clicking ‘+ Integration’. Then you need to login with your Hayward/Omnilogic credentials. Then all the entities should be available.

I see Omnilogic as a configured intergration via Settings > Devices & Services. I can’t seem to control my light or my heater. All that is listed is: Air Temp, Pool Water Temp, Pool Chlorinator, Pool Chlorinator Setting, Pool Filter Pump and Pool Filter Pump Speed.

Keep clicking through:
Settings > Devices & Services > OmniLogic Local > [x] Devices > Pool

I renamed my devices a while back, so they may be named slightly differently than yours. But you should have something like this:

I agree - amazing to see this converted to local control. Do you know if PH and ORP sensors/controls have been added yet? I’m moving into a new house soon with this system and would love to control it via HA.

Unfortunately, this is all I’m getting.

That’s not the HACS local integration. I think that’s the native HA integration which is no longer updated and is missing a bunch of functionality.

ah! i thank you for your patience! there’s definately a steep learning curve lol Thank you again!

I deleted the omnilogic add on, installed HACS and installed the omnilogic from there; it works beautifully. You are asked for your Hayward Omnilogic credentials, then your entire pool setup appears.

I am a noob to HA, and trying to catch up so that I can figure out how to change my pools blower motor and heater to be turned on for 1, 2 or 3 hours only (yes, this under this add on both my spa blower and heater can be turned on).

If anyone can help me with this, I’d appreciate it.

The local API features looks great. I am having trouble adding it. I am getting an unknown error.

IP was set as a static address. Verified thru windows:

In the setup entered that address and this is the result:

Turned windows firewall on the VM host off without any change (figured it could not hurt). If I enter a different address it shows failed to connect which is expected.

Anyone have ideas?

Not seeing a more substantive response, I’d start by checking the HA log (Settings → System → Logs) after the failure to see if you have any useful information there. In case you’re not aware, you can type “omnilogic” in the search box and then click on a log entry to potentially get more details.

Well the log shows showed failed to parse telemtry and then the details:

2024-01-23 20:43:01.040 ERROR (MainThread) [custom_components.omnilogic_local.config_flow] Unexpected exception: Failed to parse Telemetry: 15 validation errors for Telemetry
Chlorinator -> 0 -> @enable
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @speed
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @brightness
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @specialEffect
  field required (type=value_error.missing)
Filter -> 0 -> @reportedFilterSpeed
  field required (type=value_error.missing)
Filter -> 0 -> @power
  field required (type=value_error.missing)
Filter -> 0 -> @lastSpeed
  field required (type=value_error.missing)
Filter -> 1 -> @reportedFilterSpeed
  field required (type=value_error.missing)
Filter -> 1 -> @power
  field required (type=value_error.missing)
Filter -> 1 -> @lastSpeed
  field required (type=value_error.missing)
Relay -> 0 -> @whyOn
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @SolarSetPoint
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @Mode
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @SilentMode
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @whyHeaterIsOn
  field required (type=value_error.missing)
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/pyomnilogic_local/models/telemetry.py", line 237, in load_xml
    return Telemetry.parse_obj(data["STATUS"])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "pydantic/main.py", line 526, in pydantic.main.BaseModel.parse_obj
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 15 validation errors for Telemetry
Chlorinator -> 0 -> @enable
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @speed
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @brightness
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @specialEffect
  field required (type=value_error.missing)
Filter -> 0 -> @reportedFilterSpeed
  field required (type=value_error.missing)
Filter -> 0 -> @power
  field required (type=value_error.missing)
Filter -> 0 -> @lastSpeed
  field required (type=value_error.missing)
Filter -> 1 -> @reportedFilterSpeed
  field required (type=value_error.missing)
Filter -> 1 -> @power
  field required (type=value_error.missing)
Filter -> 1 -> @lastSpeed
  field required (type=value_error.missing)
Relay -> 0 -> @whyOn
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @SolarSetPoint
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @Mode
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @SilentMode
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @whyHeaterIsOn
  field required (type=value_error.missing)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/omnilogic_local/config_flow.py", line 105, in async_step_user
    await validate_input(self.hass, user_input)
  File "/config/custom_components/omnilogic_local/config_flow.py", line 51, in validate_input
    telemetry = await omni.async_get_telemetry()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyomnilogic_local/models/util.py", line 43, in wrapper
    return pydantic_type.load_xml(resp_body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyomnilogic_local/models/telemetry.py", line 239, in load_xml
    raise OmniParsingException(f"Failed to parse Telemetry: {exc}") from exc
pyomnilogic_local.exceptions.OmniParsingException: Failed to parse Telemetry: 15 validation errors for Telemetry
Chlorinator -> 0 -> @enable
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @speed
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @brightness
  field required (type=value_error.missing)
ColorLogic-Light -> 0 -> @specialEffect
  field required (type=value_error.missing)
Filter -> 0 -> @reportedFilterSpeed
  field required (type=value_error.missing)
Filter -> 0 -> @power
  field required (type=value_error.missing)
Filter -> 0 -> @lastSpeed
  field required (type=value_error.missing)
Filter -> 1 -> @reportedFilterSpeed
  field required (type=value_error.missing)
Filter -> 1 -> @power
  field required (type=value_error.missing)
Filter -> 1 -> @lastSpeed
  field required (type=value_error.missing)
Relay -> 0 -> @whyOn
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @SolarSetPoint
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @Mode
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @SilentMode
  field required (type=value_error.missing)
VirtualHeater -> 0 -> @whyHeaterIsOn
  field required (type=value_error.missing)