[DRIVER] Zooz ZAC36 Titan Water Valve Actuator

Zooz ZAC36 Titan Water Valve Actuator driver with the goal of exposing all (useful) advanced features and settings.

If you are using this driver PLEASE like :heart: this post
:handshake: Support my work by clicking the Info & Purchase affiliate link below to buy!

Current Version: v1.0.2

:white_check_mark: Supported Products:


:ballot_box_with_check: Features List:

  • Supports all features of updated firmware versions
  • Proper handling of open/close and on/off commands in line with Zooz docs
  • All useful looking paramaters are supported.
    (There are a whole bunch of association settings not included)
  • Events include battery level and power source when using optional battery pack
  • Temperature reported in C/F based on your hub settings
  • Settings default to F but can be changed to C, working on having defaults convert
HOW TO FORCE RE-CALIBRATION:
  • Tap button once to turn OFF the valve
  • Hold button for 5 beeps, then let go
  • Immediately do 5 separate taps (5 more beeps)
  • Device should enter calibration mode


:lady_beetle: Reporting Issues :beetle:
Please use GitHub to report any issues so each one can have its own conversation and tracking. Please provide as much info as you can including model, firmware and the "configVals" data string. Issues · jtp10181/Hubitat · GitHub


Must PRESS CONFIGURE BUTTON and check all your parameters after changing to this driver.

:eight_spoked_asterisk: Find on Hubitat Package Manager (HPM):
Package Name: :small_blue_diamond: Zooz ZAC36 Titan Valve Actuator :small_blue_diamond:
HPM Install Docs: HPM Documentation

:eight_spoked_asterisk: OR Manual Download from GitHub
Direct Import URL: [zooz-zac36-valve-actuator]
Full Repository Link: Hubitat/Drivers/zooz at main · jtp10181/Hubitat · GitHub

:beer: :coffee: Donations: ---->>>> PayPal.Me <<<<---- :money_with_wings: Never required, always appreciated!
:handshake: Support me by purchasing at TheSmartestHouse.com through my affiliate link!

8 Likes

So going to drop this here in another post. What do you all think about the reversed on/off reporting? Should I keep it how I have it, or just force it to always report on=open and off=closed? Could also just default the parameter to the normal setting instead of reversed which might be less confusing at first installation.

My thinking with the way it is now, is the 'switch' value always matches what the valve is sending the hub, and also any potential associations. The 'valve' open/close will always be correct.

2 Likes

I will give this a try. Thank you for this!!

1 Like

Happy to report that your driver is working as expected. Switch is "off" while valve is on the "open" position. It fixed whatever issue I had yesterday. Is it possible to add a trigger to re-calibrate? Awesome work!

I was planning to ask that question to Zooz, I have not figured out how to do that yet either. It just gives me red angry flashes if I try to do again by holding the button for 2 beeps.

UPDATE: @carlkengseng I just added the recalibration instructions to my top post. Tested it myself, it is easier than it sounds (as long as you can count to 5 :wink: )

2 Likes

Thank you!! This will save me a lot time not to factory reset and pair again. They should add this to their troubleshooting section.

1 Like

Thanks for the driver! I have a quick question from reading through the driver source. Does "heatAlarmLow" correspond to the freeze alarm?

Yes it should be, although I have not tested it. In the zwave spec it is called "Underheat detected"

2 Likes

Jeff - thanks for this driver - it's awesome!

I finally got around to installing my Titan, and I put the 1.14 firmware on it (according to Zooz, that's still the latest). The full Parameter report (using Basic ZW Tool driver) was pretty crazy -- LOTS of unused (I think!) parameters in there!

But a couple mis-matches between original Zooz documention (based on 1.10?) and the 1.14 param report jumped out at me (and there are likely more)... As far as I can tell, original params 61 and 62 are now 97 and 98 respectively (those are the ones related to auto-test).

Man, I wish Zooz would do a better job keeping the change logs and parameter configuration documentation updated - it's so crazy-making trying to figure out what's current and accurate.

Ha, if we could combine Aeotec's transparency & currency with posting firmware and documentation with Zooz's attractive prices and nice products, we'd be on to something! :sunglasses:

Thanks again!

61 and 62 in HEX = 97 and 98 in decimal (base 10). For some strange reason somewhere Zooz decided to reference those two in hex, but every other parameter they reference in decimal numbers. So in my driver they are shown in decimal format along with all the others. I have a few emails going back and forth with them on that. So the driver should be setting the correct parameters.

I do have full docs on all the parameters they gave me to help make the driver but a lot of them are related to associations and other odd settings, complicated, and I felt was not really worth implementing. I should just add a generic command to set parameters so it is easy to change other ones if needed.

If there is another setting in the public docs you think would be useful I can always add it as well. The ones I put on here were just what I decided would be most useful to average users.

1 Like

Awesome - I should've had more faith that you were already totally on top of this!

I agree that this device seems to have more than usual odd-ball association tentacles and other head-scratchers, so I vote to keep your driver & docs more relatable to the average user. This thing is indeed strange under the hood on numerous levels.

Thanks for the background info - it's very helpful! I at least feel better to know I'm not the only one who said "WTF??" once I saw that parameter report!

Having a problem with this valve. Firmware 1.10. When the actuation is initiated to close the valve, it reports closed. Then once it is closed, it reports open again. I can see this in the device settings. Then when I click close from the device settings, it will report closed again until the valve is fully open when it reports open again. So it seems that while it is actuating, it reports closed and when it stops, it reports open again. This happens with the built-in driver and this custom driver.

Mine is on firmware 1.14, sometimes I end up with test versions though, and not sure what was changed. I wrote this driver on the original firmware, and I never saw this problem. What is your parameter 17 set to? "Inverse Switch Report". Also on this driver make sure Supervision is OFF, it was never fully implemented to handle the "working" status.

Also turn on debug logging on this driver and then post a screenshot of what you get in the logs.

1 Like

Parameter 17 is set to Enabled [default]

dev:6962022-06-26 05:34:00.093 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 05:34:00.070 pm infoTitan Valve Actuator ZAC36: valve set to open
dev:6962022-06-26 05:34:00.052 pm infoTitan Valve Actuator ZAC36: switch set to off
dev:6962022-06-26 05:33:51.104 pm infoTitan Valve Actuator ZAC36: valve set to closed
dev:6962022-06-26 05:33:51.068 pm infoTitan Valve Actuator ZAC36: switch set to on
dev:6962022-06-26 05:33:50.734 pm debugTitan Valve Actuator ZAC36: open...
dev:6962022-06-26 05:33:33.121 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 05:33:33.109 pm infoTitan Valve Actuator ZAC36: valve set to open
dev:6962022-06-26 05:33:33.083 pm infoTitan Valve Actuator ZAC36: switch set to off
dev:6962022-06-26 05:33:23.647 pm infoTitan Valve Actuator ZAC36: valve set to closed
dev:6962022-06-26 05:33:23.612 pm infoTitan Valve Actuator ZAC36: switch set to on
dev:6962022-06-26 05:33:23.254 pm debugTitan Valve Actuator ZAC36: close...

I tested mine and it does report twice, once when you initiate a change and again when its done. It reports closed initially for me both times, but when done it reports the correct status. Are you sure it is actually closing? Do you have it attached to the valve? Running it without being attached can give odd results. Have you tried to recalibrate it? Also with this driver, have you run the Configure after switching drivers?

It is attached to the valve and is opening and closing.

When I first set it up, I had to recalibrate it. Then for some reason, it began reporting in reverse or the open/close commands did the opposite action (honestly, I can’t remember exactly what was happening). This led me to manually reverse the open/close reporting by holding down the zwave button for 4 beeps then pressing 3 times (this instruction was from their website). Then the open/close commands did the expected actuation. I don’t know if the reporting was ever correct or not in Hubitat.

I’ve requested firmware 1.14 from Zooz.

This is what possibly messed up the reporting. You manually changed a parameter on the device but the driver does not know about that change. Have you run a configure using this driver? This would force all the settings back to what you have selected. Could probably do the same on the built in driver. I think that might fix it. If open/close commands are doing the opposite you may need to recalibrate it again, make sure you start in the OFF position before initiating the calibration.

Yes, I have done the manual configure several times:

dev:6962022-06-26 06:57:51.723 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 06:57:51.711 pm infoTitan Valve Actuator ZAC36: valve set to open
dev:6962022-06-26 06:57:51.689 pm infoTitan Valve Actuator ZAC36: switch set to off
dev:6962022-06-26 06:57:42.290 pm infoTitan Valve Actuator ZAC36: valve set to closed
dev:6962022-06-26 06:57:42.250 pm infoTitan Valve Actuator ZAC36: switch set to on
dev:6962022-06-26 06:57:41.896 pm debugTitan Valve Actuator ZAC36: close...
dev:6962022-06-26 06:57:37.443 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 06:57:37.429 pm infoTitan Valve Actuator ZAC36: valve set to open
dev:6962022-06-26 06:57:37.411 pm infoTitan Valve Actuator ZAC36: switch set to off
dev:6962022-06-26 06:57:28.508 pm infoTitan Valve Actuator ZAC36: valve set to closed
dev:6962022-06-26 06:57:28.475 pm infoTitan Valve Actuator ZAC36: switch set to on
dev:6962022-06-26 06:57:28.125 pm debugTitan Valve Actuator ZAC36: open...
dev:6962022-06-26 06:57:20.028 pm debugTitan Valve Actuator ZAC36: inverseReport (#17) = 1
dev:6962022-06-26 06:57:19.582 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 06:57:19.568 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 06:57:19.550 pm debugTitan Valve Actuator ZAC36: switch set to off [NOT CHANGED]
dev:6962022-06-26 06:57:19.174 pm debugTitan Valve Actuator ZAC36: testFrequency (#98) = 14
dev:6962022-06-26 06:57:18.372 pm debugTitan Valve Actuator ZAC36: testMode (#97) = 3
dev:6962022-06-26 06:57:17.571 pm debugTitan Valve Actuator ZAC36: keylockProtection (#67) = 0
dev:6962022-06-26 06:57:16.768 pm debugTitan Valve Actuator ZAC36: ledBrightness (#66) = 80
dev:6962022-06-26 06:57:15.964 pm debugTitan Valve Actuator ZAC36: soundAlarm (#65) = 1
dev:6962022-06-26 06:57:15.162 pm debugTitan Valve Actuator ZAC36: leakControl (#51) = 1
dev:6962022-06-26 06:57:14.366 pm debugTitan Valve Actuator ZAC36: freezeControl (#42) = 1
dev:6962022-06-26 06:57:13.560 pm debugTitan Valve Actuator ZAC36: freezeCancel (#41) = [1, 1] 1°F
dev:6962022-06-26 06:57:12.755 pm debugTitan Valve Actuator ZAC36: freezeAlarm (#40) = [1, 32] 32°F
dev:6962022-06-26 06:57:11.954 pm debugTitan Valve Actuator ZAC36: overheatCancel (#37) = [1, 86] 86°F
dev:6962022-06-26 06:57:11.152 pm debugTitan Valve Actuator ZAC36: overheatAlarm (#36) = [1, 104] 104°F
dev:6962022-06-26 06:57:10.354 pm debugTitan Valve Actuator ZAC36: tempOffset (#35) = [1, 0] 0°F
dev:6962022-06-26 06:57:09.561 pm debugTitan Valve Actuator ZAC36: tempThreshold (#34) = [1, 4] 4°F
dev:6962022-06-26 06:57:08.743 pm debugTitan Valve Actuator ZAC36: Group 5 Association: []
dev:6962022-06-26 06:57:08.341 pm debugTitan Valve Actuator ZAC36: Group 4 Association: []
dev:6962022-06-26 06:57:07.939 pm debugTitan Valve Actuator ZAC36: Group 3 Association: []
dev:6962022-06-26 06:57:07.538 pm debugTitan Valve Actuator ZAC36: Group 2 Association: []
dev:6962022-06-26 06:57:07.138 pm debugTitan Valve Actuator ZAC36: Lifeline Association: [1]
dev:6962022-06-26 06:57:06.314 pm debugTitan Valve Actuator ZAC36: Received Version Report - Model: ZAC36 | Firmware: 1.10
dev:6962022-06-26 06:57:06.236 pm warnClearing state variables and data...
dev:6962022-06-26 06:57:06.232 pm debugTitan Valve Actuator ZAC36: Changing inverseReport (#17) from 1 to 1
dev:6962022-06-26 06:57:06.203 pm debugTitan Valve Actuator ZAC36: Changing testFrequency (#98) from 14 to 14
dev:6962022-06-26 06:57:06.173 pm debugTitan Valve Actuator ZAC36: Changing testMode (#97) from 3 to 3
dev:6962022-06-26 06:57:06.143 pm debugTitan Valve Actuator ZAC36: Changing keylockProtection (#67) from 0 to 0
dev:6962022-06-26 06:57:06.111 pm debugTitan Valve Actuator ZAC36: Changing ledBrightness (#66) from 80 to 80
dev:6962022-06-26 06:57:06.079 pm debugTitan Valve Actuator ZAC36: Changing soundAlarm (#65) from 1 to 1
dev:6962022-06-26 06:57:06.046 pm debugTitan Valve Actuator ZAC36: Changing leakControl (#51) from 1 to 1
dev:6962022-06-26 06:57:06.014 pm debugTitan Valve Actuator ZAC36: Changing freezeControl (#42) from 1 to 1
dev:6962022-06-26 06:57:05.980 pm debugTitan Valve Actuator ZAC36: Changing freezeCancel (#41) from 1 to 1
dev:6962022-06-26 06:57:05.946 pm debugTitan Valve Actuator ZAC36: Changing freezeAlarm (#40) from 32 to 32
dev:6962022-06-26 06:57:05.912 pm debugTitan Valve Actuator ZAC36: Changing overheatCancel (#37) from 86 to 86
dev:6962022-06-26 06:57:05.876 pm debugTitan Valve Actuator ZAC36: Changing overheatAlarm (#36) from 104 to 104
dev:6962022-06-26 06:57:05.845 pm debugTitan Valve Actuator ZAC36: Changing tempOffset (#35) from 0 to 0
dev:6962022-06-26 06:57:05.795 pm debugTitan Valve Actuator ZAC36: Changing tempThreshold (#34) from 4 to 4
dev:6962022-06-26 06:57:05.737 pm debugTitan Valve Actuator ZAC36: executeConfigureCmds...
dev:6962022-06-26 06:57:03.768 pm debugTitan Valve Actuator ZAC36: water set to dry [NOT CHANGED]
dev:6962022-06-26 06:57:03.361 pm debugTitan Valve Actuator ZAC36: temperatureAlarm set to normal [NOT CHANGED]
dev:6962022-06-26 06:57:02.958 pm debugTitan Valve Actuator ZAC36: temperature set to 90.0F [NOT CHANGED]
dev:6962022-06-26 06:57:02.190 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-26 06:57:02.160 pm debugTitan Valve Actuator ZAC36: switch set to off [NOT CHANGED]
dev:6962022-06-26 06:57:01.756 pm debugTitan Valve Actuator ZAC36: Received Version Report - Model: ZAC36 | Firmware: 1.10
dev:6962022-06-26 06:56:59.671 pm debugTitan Valve Actuator ZAC36: Enabling Full Re-Sync
dev:6962022-06-26 06:56:59.246 pm warnconfigure...

My next thought is potentially excluding it, factory resetting it, recalibrating it, and including it again.

I was able to update the firmware to 1.14 using the C7. I did not have to exclude and reinclude. I just sent a "Configure" and it updated all the parameters. I think it's fixed!

dev:6962022-06-29 09:32:56.145 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-29 09:32:56.125 pm infoTitan Valve Actuator ZAC36: valve set to open
dev:6962022-06-29 09:32:56.108 pm infoTitan Valve Actuator ZAC36: switch set to off
dev:6962022-06-29 09:32:47.719 pm debugTitan Valve Actuator ZAC36: valve set to closed [NOT CHANGED]
dev:6962022-06-29 09:32:47.686 pm debugTitan Valve Actuator ZAC36: switch set to on [NOT CHANGED]
dev:6962022-06-29 09:32:47.325 pm debugTitan Valve Actuator ZAC36: open...
dev:6962022-06-29 09:32:38.554 pm debugTitan Valve Actuator ZAC36: valve set to closed [NOT CHANGED]
dev:6962022-06-29 09:32:38.546 pm debugTitan Valve Actuator ZAC36: valve set to closed [NOT CHANGED]
dev:6962022-06-29 09:32:38.520 pm debugTitan Valve Actuator ZAC36: switch set to on [NOT CHANGED]
dev:6962022-06-29 09:32:29.756 pm infoTitan Valve Actuator ZAC36: valve set to closed
dev:6962022-06-29 09:32:29.713 pm infoTitan Valve Actuator ZAC36: switch set to on
dev:6962022-06-29 09:32:29.336 pm debugTitan Valve Actuator ZAC36: close...
dev:6962022-06-29 09:32:09.505 pm debugTitan Valve Actuator ZAC36: inverseReport (#17) = 1
dev:6962022-06-29 09:32:09.104 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-29 09:32:09.088 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-29 09:32:09.069 pm debugTitan Valve Actuator ZAC36: switch set to off [NOT CHANGED]
dev:6962022-06-29 09:32:08.704 pm debugTitan Valve Actuator ZAC36: testFrequency (#98) = 14
dev:6962022-06-29 09:32:07.900 pm debugTitan Valve Actuator ZAC36: testMode (#97) = 3
dev:6962022-06-29 09:32:07.097 pm debugTitan Valve Actuator ZAC36: keylockProtection (#67) = 0
dev:6962022-06-29 09:32:06.296 pm debugTitan Valve Actuator ZAC36: ledBrightness (#66) = 80
dev:6962022-06-29 09:32:05.494 pm debugTitan Valve Actuator ZAC36: soundAlarm (#65) = 1
dev:6962022-06-29 09:32:04.693 pm debugTitan Valve Actuator ZAC36: leakControl (#51) = 1
dev:6962022-06-29 09:32:03.890 pm debugTitan Valve Actuator ZAC36: freezeControl (#42) = 1
dev:6962022-06-29 09:32:03.092 pm debugTitan Valve Actuator ZAC36: freezeCancel (#41) = [1, 36] 36°F
dev:6962022-06-29 09:32:02.289 pm debugTitan Valve Actuator ZAC36: freezeAlarm (#40) = [1, 32] 32°F
dev:6962022-06-29 09:32:01.484 pm debugTitan Valve Actuator ZAC36: overheatCancel (#37) = [1, 86] 86°F
dev:6962022-06-29 09:32:00.682 pm debugTitan Valve Actuator ZAC36: overheatAlarm (#36) = [1, 104] 104°F
dev:6962022-06-29 09:31:59.879 pm debugTitan Valve Actuator ZAC36: tempOffset (#35) = [1, 0] 0°F
dev:6962022-06-29 09:31:59.079 pm debugTitan Valve Actuator ZAC36: tempThreshold (#34) = [1, 4] 4°F
dev:6962022-06-29 09:31:58.277 pm debugTitan Valve Actuator ZAC36: Group 5 Association: []
dev:6962022-06-29 09:31:57.871 pm debugTitan Valve Actuator ZAC36: Group 4 Association: []
dev:6962022-06-29 09:31:57.472 pm debugTitan Valve Actuator ZAC36: Group 3 Association: []
dev:6962022-06-29 09:31:57.070 pm debugTitan Valve Actuator ZAC36: Group 2 Association: []
dev:6962022-06-29 09:31:56.667 pm debugTitan Valve Actuator ZAC36: Lifeline Association: [1]
dev:6962022-06-29 09:31:55.839 pm debugTitan Valve Actuator ZAC36: Received Version Report - Model: ZAC36 | Firmware: 1.14
dev:6962022-06-29 09:31:55.744 pm warnClearing state variables and data...
dev:6962022-06-29 09:31:55.732 pm debugTitan Valve Actuator ZAC36: Changing inverseReport (#17) from 1 to 1
dev:6962022-06-29 09:31:55.701 pm debugTitan Valve Actuator ZAC36: Changing testFrequency (#98) from 14 to 14
dev:6962022-06-29 09:31:55.670 pm debugTitan Valve Actuator ZAC36: Changing testMode (#97) from 3 to 3
dev:6962022-06-29 09:31:55.639 pm debugTitan Valve Actuator ZAC36: Changing keylockProtection (#67) from 0 to 0
dev:6962022-06-29 09:31:55.607 pm debugTitan Valve Actuator ZAC36: Changing ledBrightness (#66) from 80 to 80
dev:6962022-06-29 09:31:55.574 pm debugTitan Valve Actuator ZAC36: Changing soundAlarm (#65) from 1 to 1
dev:6962022-06-29 09:31:55.538 pm debugTitan Valve Actuator ZAC36: Changing leakControl (#51) from 1 to 1
dev:6962022-06-29 09:31:55.506 pm debugTitan Valve Actuator ZAC36: Changing freezeControl (#42) from 1 to 1
dev:6962022-06-29 09:31:55.473 pm debugTitan Valve Actuator ZAC36: Changing freezeCancel (#41) from 36 to 36
dev:6962022-06-29 09:31:55.442 pm debugTitan Valve Actuator ZAC36: Changing freezeAlarm (#40) from 32 to 32
dev:6962022-06-29 09:31:55.410 pm debugTitan Valve Actuator ZAC36: Changing overheatCancel (#37) from 86 to 86
dev:6962022-06-29 09:31:55.376 pm debugTitan Valve Actuator ZAC36: Changing overheatAlarm (#36) from 104 to 104
dev:6962022-06-29 09:31:55.344 pm debugTitan Valve Actuator ZAC36: Changing tempOffset (#35) from 0 to 0
dev:6962022-06-29 09:31:55.307 pm debugTitan Valve Actuator ZAC36: Changing tempThreshold (#34) from 4 to 4
dev:6962022-06-29 09:31:55.238 pm debugTitan Valve Actuator ZAC36: executeConfigureCmds...
dev:6962022-06-29 09:31:53.218 pm debugTitan Valve Actuator ZAC36: water set to dry [NOT CHANGED]
dev:6962022-06-29 09:31:52.895 pm debugTitan Valve Actuator ZAC36: temperatureAlarm set to normal [NOT CHANGED]
dev:6962022-06-29 09:31:52.418 pm debugTitan Valve Actuator ZAC36: temperature set to 88.0F [NOT CHANGED]
dev:6962022-06-29 09:31:51.649 pm debugTitan Valve Actuator ZAC36: valve set to open [NOT CHANGED]
dev:6962022-06-29 09:31:51.609 pm debugTitan Valve Actuator ZAC36: switch set to off [NOT CHANGED]
dev:6962022-06-29 09:31:51.211 pm debugTitan Valve Actuator ZAC36: Received Version Report - Model: ZAC36 | Firmware: 1.14
dev:6962022-06-29 09:31:49.116 pm debugTitan Valve Actuator ZAC36: Enabling Full Re-Sync
dev:6962022-06-29 09:31:48.624 pm warnconfigure...