Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add support for Aeotec ZWA021 TRV (Eurotronics Spirit Z clones) #1048

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

alucryd
Copy link

@alucryd alucryd commented Aug 28, 2023

Motivation:

The Eurotronics Spirit Z series of Z-Wave TRVs can accept temperature from an external sensor instead of the included one, or accept manual valve positions via a hidden mode dubbed "Manufacturer Specific". Clones include the Aeotec ZWA021 which I'm targeting here, and the Donexon Varmo TZ eco, which I just received and will be testing later.

This is a good starting point for a zwave_js adapter.

Changes:

  • Added a zwave_js adapter
  • Added a WZA021 device fix
  • Started implementing direct valve control

Related issue (check one):

Checklist (check one):

  • I did not change any code (e.g. documentation changes)
  • The code change is tested and works locally.

Test-Hardware list (for code changes)

HA Version: 2023.8.4
Zigbee2MQTT Version: N/A
TRV Hardware: Aeotec ZWA021

New device mappings

  • I avoided any changes to other device mappings
  • There are no changes in climate.py

@alucryd
Copy link
Author

alucryd commented Aug 28, 2023

Highly WIP, it seems the direct valve control is not implemented yet despite the various set_valve functions being present. Right now the adapter loads fine and picks up the device quirks for the hidden mode, however override_set_hvac_mode is never called when I change modes using the UI card. Since I can't get remote debug to work and debugging with logs is extremely annoying, I need help figuring why that is.

@KartoffelToby
Copy link
Owner

Hey @alucryd thanks for your work, how can i help you to finish this PR?

@alucryd
Copy link
Author

alucryd commented Sep 11, 2023

@KartoffelToby If you have any tip to make remote debugging work with VSCode, that would be awesome. I can't get the debugpy HA integration to work. I can connect a debugging session to my HA instance, but VSCode never stops on any breakpoint, I tried a local VSCode and even the VSCode server add-on in HAOS, I am sure the code is identical and breakpoints are recognized since they are not greyed out, but they don't do anything. The debugpy HA developer suggested using setting justMyCode to false in the VSCode debug configuration, but that didn't help.

@KartoffelToby
Copy link
Owner

@alucryd i'm also not happy with the current dev Setup, so far, i start the vscode dev Container and then start Up hass with a little custom config that adds dummy sensors and trvs. And set the logging to debug for bt:

logger:
  default: warning
  logs:
    custom_components.better_thermostat: debug

Like hass -c .haconfig then you can see all the logs from in the console Output.

Hope this will help

@KartoffelToby
Copy link
Owner

PR #1058 shoud fix your problem :)

@fisch55
Copy link

fisch55 commented Oct 27, 2023

Hello all,

Any news here yet regarding zwave? Also have the Spirits....
Currently it does not seem to work with BT yet, right?

@xpavli44
Copy link

same issue here :(

@alucryd
Copy link
Author

alucryd commented Oct 30, 2023

Sorry about the lack of reply, turns out working 2 jobs and taking care of a newborn is eating all my free time xD
I settled on using the valve opening percentage to control my heat pump for now, it's working quite well as long as I apply an offset of about -2 degrees Celsius to my target temperature. Optionally you could feed the valves the temperature of an ideally placed temp sensor and do the same without using an offset (as that option is officially supported, unlike directly setting the valve position which isn't exposed by default).

I'd love to continue working on supporting these in BT, but the lack of a usable debug environment doesn't encourage me in the least, running a local instance with a dummy TRV is not exactly feasible, I need to interact with a real Zwave TRV. I'll give remote debug another try when I find some time, but for now I have other priorities.

@KartoffelToby
Copy link
Owner

@alucryd if you resolve the merge confict i'll merge it :) thanks for your support so far

Copy link
Owner

@KartoffelToby KartoffelToby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add Lint fix.

also we have the problem that HACS wants too add "zwave_js" to the dependencies, so dont know if this will work if a user of BT dont have or use zwave_js. Must be testet.

@KartoffelToby
Copy link
Owner

Search for some users with zwave js to checkout this PR, and also some without zwavejs

@KartoffelToby KartoffelToby marked this pull request as draft November 3, 2024 22:50
@KartoffelToby KartoffelToby added this to the 1.7.0 milestone Nov 3, 2024
@bueeler
Copy link
Contributor

bueeler commented Nov 4, 2024

also we have the problem that HACS wants too add "zwave_js" to the dependencies, so dont know if this will work if a user of BT dont have or use zwave_js. Must be testet.

Even for users having zwave_js there is possibility to use different model than "WZA021" with different features.
As a minimum it should be checked, if model supports certain feature within getInfo() function.
E.g. I am using "MT02650" through zwave_js. While it can support offset, it cannot support valve setting.

@fisch55
Copy link

fisch55 commented Nov 6, 2024

Useing zwaveJS… how can i test the 1.7.0?

@KartoffelToby
Copy link
Owner

@fisch55 on Friday i'll Release the beta of 1.7.0 you can Install it via hacs in the BT Beta Channel or Checkout this PR and copy the files to your ha

@KartoffelToby KartoffelToby marked this pull request as ready for review November 8, 2024 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for zwave
5 participants