domalab / ha-actronair-neo

ActronAir Neo integration for Home Assistant
Apache License 2.0
2 stars 0 forks source link

Feature: Allow setting temperature for individual zones #6

Open mattcompiles opened 1 month ago

mattcompiles commented 1 month ago

Hey, I just installed this on my new Actron and it's working great, nice job. 🍻

I was looking to control the individual zone temperatures separately but I don't think that's currently supported? I'm new to Home Assistant so correct me if I'm wrong but couldn't you model the zones as climates rather than switches? That way they could have target temperatures and such?

domalab commented 1 month ago

@mattcompiles Good to know its working for you.

I built the integration based on my Neo System at home where I have the Zone Temp/Humidity sensors in each room.

Do you have these Actron Neo Zone controller modules in every room?

Screenshot 2024-10-02 at 4 21 59 pm

mattcompiles commented 1 month ago

Ahh mine are different, they don't have controls on them, they're just sensors. image

They do show up in Home assistant though, it's just they show up as switches and can only been enabled or disabled. I don't see a way to set the temperature for an individual zone, which I can do via Neo Connect.

domalab commented 1 month ago

The Actron Neo Sense controller?

This is what I have in every room but from Neo App I can only toggle zones on / off.

Heating / Cooling is controlled as usual.

Screenshot 2024-10-02 at 4 43 17 pm

Do you have the option to control the temps individually for each zone from the app?

Eg. Downstairs 18 degrees, Upstairs 21 degrees, Bedroom 23 degrees, etc?

The Home Assistant integration zone toggles follows what I have in the app

mattcompiles commented 1 month ago

Ohh interesting. Yeah I can control the zones individually. Here's a screen shot of the neo connect app.

Screenshot_20241002-170410.png

domalab commented 1 month ago

Thanks for sharing that. I'll have to look into how to add this.

I could add it as an option during integration setup so that it detects the zones and setup as individual zone controllers.

domalab commented 1 month ago

@mattcompiles I have played around with the individual zones as climate entities. Will you be able to test once I have uploaded the code to dev branch?

Also, with the current version can you please send me a debug log file? Just enable it on the integration and reload it so that it dumps the Actron Neo Cloud API info to a log file. If you can send it to me, it will help to understand what your zone controllers are doing.

mattcompiles commented 1 month ago

Hey @domalab

Yeah I can test for sure.

I'll try get you a log file tomorrow.

domalab commented 1 month ago

@mattcompiles I have uploaded the latest code for testing to the Dev branch.

https://github.com/domalab/ha-actronair-neo

To test it

  1. Copy the actronair_neo folder into your custom_components directory.
  2. Restart Home Assistant.

You should see option to Enable Individual Zone Control during integration setup.

Screenshot 2024-10-22 at 11 36 03 am

And also see an option after initial setup to Enable Individual Zone Control

Screenshot 2024-10-22 at 11 37 22 am

Please let me know if it works.

mattcompiles commented 1 month ago

Hey @domalab

I gave this a quick go tonight. The new climate entities definitely appeared and they could be enabled/disabled individually. However, the temperature couldn't be set on them, it wasn't giving the option to set at all. I've actually noticed this occurs on the global climate entity as well but only when the system is set to auto. However changing mode didn't fix it for the zone climate entities.

I've also attached a filtered log file for anything coming from the integration. This was generated after updating to the new version though, hope that helps. home-assistant_2024-10-22T11-45-50.884Z.log

domalab commented 1 month ago

@mattcompiles Thanks for the log file. It helped a lot to compare my system with yours. I discovered that your system zone controllers have this

"RemoteZoneInfo": [
  {
    "TemperatureSetpoint_Cool_oC": 19.0,
    "TemperatureSetpoint_Heat_oC": 19.0,
    "NV_VAV": true,  // Variable Air Volume
    "NV_ITC": true,  // Individual Temperature Control
    "NV_ITD": true   // Individual Temperature Display
  }
]

While mine just shows this

"NV_VAV": false,  // No Variable Air Volume
"NV_ITC": false,  // No Individual Temperature Control  
"NV_ITD": false   // No Individual Temperature Display

I have made some updates to the integration to detect the zone controller types. I have also combined the humidity sensor into the temperature sensor. Humidity is now an attribute of the temp sensor.

Lastly, there's also now a diagnostic option in the integration which makes it easier to troubleshoot the integration.

Can you please test at your earliest convenience and send me log files?

  1. Copy the actronair_neo folder into your custom_components directory.
  2. Restart Home Assistant.
mattcompiles commented 1 month ago

Hey Mate, I tested again and got the same result and couldn't change the temperature of the zones individually. It looks like this for reference.

image

Here's the log file. home-assistant_2024-10-23T11-43-09.691Z.log

domalab commented 1 month ago

@mattcompiles Thanks for the updated logs.

Just checking, when you tested the new code,

  1. Did you delete the pycache directory in the integration directory? If not, delete it to clear any traces of the integration.
  2. Try to clear your browser history and cache for home assistant just to make sure old entities are not cached.
  3. Remove the integration and re-add it.
mattcompiles commented 1 month ago

Hey @domalab

I tried doing all of the above and restarting home assistant but it was the same result. The climate controls for the specific zones can't be edited like the global one can.

domalab commented 1 month ago

@mattcompiles Thanks for checking. Can you please send me the diagnostic log file.

On the integration there's a button called "Download Diagnostics" that generates a json log file.

Screenshot 2024-10-24 at 4 56 15 pm

mattcompiles commented 1 month ago

@domalab Here you go mate. config_entry-actronair_neo-01JAYGGCC7HBAF14542KAV8JEV.json

domalab commented 1 month ago

@mattcompiles Thanks for doing testing and providing log files. I'm sure we are getting closer to getting it to work.

Its the ActronZoneClimate class in climate.py I need to play around with to properly detect individual zone controllers with the capability to adjust temperature and modes.

Once we get it to work I think I'll look into a way for the integration to automatically detect the zone controllers if installed and capability. No need to configure it then via UI.

domalab commented 1 month ago

@mattcompiles I made a change to the climate file. Zone Climate entities will now be created under entities of the device instead of individual devices.

When I tested it I could only turn zone on/off when selecting mode due to my system not supporting individual zone control but the updated code recognised the zone controller capability.

I'm hoping it works correctly for your system.🤞

mattcompiles commented 1 month ago

Hey @domalab I updated to the latest this morning but stlll got the same result. I removed the integration before testing as well. The old devices were removed in favour of entities, however I couldn't set the temp for any of them besides the main one. Here's the diagnostics and log file.

home-assistant_actronair_neo_2024-10-28T00-06-00.652Z.log config_entry-actronair_neo-01JB86WVN379T7P9YZ9N2YFX96.json

domalab commented 1 month ago

@mattcompiles thank you for this info. While I'm spending time to find a solution.

Have a look at this ActronAir Integration that supports both Que and Neo models. You need to have MQTT installed to use this integration.

https://github.com/MikeJMcGuire/hass-actronque