Zooz ZEN32 Control and Track all in one

This is a single blueprint to both trigger scenes and set the LED color on the Zooz ZEN32 Z-Wave scene controller.
Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.
Direct link on Github
Thanks to creators of Zen32 Scene Control and Led state this was based off. Also special thanks to @Blackymas for creating the insane NSPanel blueprint that I referenced a few times.

Edit: Latest 2024.6.x version requires Home Assistant 2024.6. Now has per button nighttime controls, entity override now ignores state attribute changes (recommended for covers or color lights). Added controller ZWave parameters to the blueprint to help with settings.

4 Likes

Your on_state# descriptions look to be incorrect

I’m planning on giving this a test later on today!

on_state0:
  name: On behavior for button 1
  description: Led state when target is off

Thanks, fixed the descriptions.

Do I need to update the original post… I set the blueprint to reference Github? Can I remove it and just put a link to Github?

1 Like

Any chance you can update the blueprint to support covers?
I am trying to use one of the buttons to control my motorized shades, and would love to simplify down to one automation instead of two to control and also update the button lights.
Cover entities have a state of open or close - which can be similar to the fan/light/switch on and off

Thanks!

Sure, give me a day or so.

@br0nd Can you test this URL: Zen32-HA-Blueprint/ZEN32-control-track.yaml at 857f81b4fa59fa0b4fbc001fc2c987d1995d51ea · rwalker777/Zen32-HA-Blueprint · GitHub

On blueprints tab, click import and paste the URL in there. Then click yes to overwrite it. I tested with a lock and it worked ok, you can test with anything else and let me know.

Very cool,

I’ll have to take a look at this. Right now I’m using another BP for the control which works very well, but for the lights I’ve had to use some helpers and automations to make them foolproof indicators of external things. I.e. alert statuses, etc.

Try the version I posted for br0nd, it adds support for lots of entity types for LED state tracking. If something is missing let me know.

1 Like

I downloaded that, it looks great! I can see a lot of use cases where it would be much easier to set up than my approach

I don’t think it will do exactly what I’ve got going currently on one of my switches. In this case I’ve got one LED indicating multiple stages of function. i.e. timer running (steady yellow light), and timer finished (blinking red light). This is the automation I’m using to control that LED.

alias: HT - Timer Light - Back Sconce SC
description: ""
trigger:
  - platform: state
    entity_id:
      - timer.hot_tub_timer
  - platform: state
    entity_id:
      - alert.hot_tub_timer_complete
condition: []
action:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: state
                state: active
                entity_id: timer.hot_tub_timer
        sequence:
          - service: select.select_option
            metadata: {}
            data:
              option: Yellow
            target:
              entity_id:
                - select.back_sconce_led_indicator_color_button_4
          - service: switch.turn_on
            target:
              entity_id:
                - switch.back_sconce_button_4_indication_binary
            data: {}
      - conditions:
          - condition: and
            conditions:
              - condition: state
                state: "on"
                entity_id: alert.hot_tub_timer_complete
        sequence:
          - service: select.select_option
            metadata: {}
            data:
              option: Red
            target:
              entity_id:
                - select.back_sconce_led_indicator_color_button_4
          - service: script.ht_tablet_popup
            metadata: {}
            data:
              right_button: Clear Notification
              content: <h1><center><b>Please Close the Hottub Cover</b></center></h1>
              dismissible: false
              service: script.turn_on
              entity_id: script.ht_clear_pop_up_from_tablet
              tts_message: >-
                Yo! Yo! X is a turkey Go close that hot tub cover fool! Dont
                let the heat out.
          - repeat:
              sequence:
                - service: switch.turn_on
                  target:
                    entity_id:
                      - switch.back_sconce_button_4_indication_binary
                  data: {}
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 1
                    milliseconds: 0
                - service: switch.turn_off
                  target:
                    entity_id:
                      - switch.back_sconce_button_4_indication_binary
                  data: {}
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 1
                    milliseconds: 0
              while:
                - condition: state
                  enabled: true
                  entity_id: alert.hot_tub_timer_complete
                  for:
                    hours: 0
                    minutes: 0
                    seconds: 0
                  state: "on"
      - conditions:
          - condition: state
            state: idle
            entity_id: timer.hot_tub_timer
        sequence:
          - service: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id:
                - switch.back_sconce_button_4_indication_binary
mode: restart

This is one of the automation from my other ZEN32. It indicates whether or not the bed heater is running on a timer (yellow), or manually (red).

description: ""
trigger:
  - platform: state
    entity_id:
      - switch.smart_switch_1912193841860525188048e1e914241b_outlet
condition: []
action:
  - choose:
      - conditions:
          - condition: and
            conditions:
              - condition: state
                state: "on"
                entity_id: switch.smart_switch_1912193841860525188048e1e914241b_outlet
              - condition: state
                state: "off"
                entity_id: input_boolean.redacted_s_bed_heater_timer
        sequence:
          - service: select.select_option
            metadata: {}
            data:
              option: Red
            target:
              entity_id: >-
                select.master_bedroom_scene_controller_led_indicator_color_button_4
          - service: switch.turn_on
            target:
              entity_id: >-
                switch.master_bedroom_scene_controller_button_4_indication_binary
            data: {}
      - conditions:
          - condition: and
            conditions:
              - condition: state
                state: "on"
                entity_id: switch.smart_switch_1912193841860525188048e1e914241b_outlet
              - condition: state
                state: "on"
                entity_id: input_boolean.redacted_s_bed_heater_timer
        sequence:
          - service: select.select_option
            metadata: {}
            data:
              option: Yellow
            target:
              entity_id: >-
                select.master_bedroom_scene_controller_led_indicator_color_button_4
          - service: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: >-
                switch.master_bedroom_scene_controller_button_4_indication_binary
      - conditions:
          - condition: state
            state: "off"
            entity_id: switch.smart_switch_1912193841860525188048e1e914241b_outlet
        sequence:
          - service: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: >-
                switch.master_bedroom_scene_controller_button_4_indication_binary
mode: restart

You are tracking state for different entities for the same button LED… this would be difficult to add to the blueprint.

That’s correct, and I imagine so. I’ve only just begun to barely be able to read a blueprint, and I’m always impressed by someone like yourself who can write one.

It would be great if these can track status of covers. Like garage doors. I would want every zen32 in my house to indicate status of the garage doors.

You should be able to do it with helpers and automations like I did for my got tub timer.

The last update I made added support for covers. Does yours report something other than opened/opening and closed/closing? Show me some log entries for the device you want to track.

1 Like

I saw that a couple of posts above, that covers were included under domains. Maybe I need to update my copy of the blueprint?

It’s a standard linear Gdo-z model, so probably my mistake.

Thank you!

Thank you!

Strange - after I re-imported, one of my scene controllers refuses to work with the blueprint. None of the automations on that controller will fire.

There’s nothing in the trace of the blueprint, as it’s not even triggering. The log on the scene controller shows it was fired.

Incidentally, that is an older device, a Zen32 (not an 800).

I even tried creating a new automation, but that didn’t seem to work either.

Thoughts?

Edit - even a Zen32 800 is not triggering the automations via blueprint (works fine for the older automation I had with a bunch of “choose” options).

Can you look in your System > Logs and see if you are getting an error?

I was going crazy - and thought maybe it’s an HA update or a Z-wave JS update that was also around that time, so I reverted my instance back to a week ago. I’m currently on 2024.4.2 of the blueprint, it and everything is peachy.

The minute I reimport the blueprint, some of the Zen32 switch’s do not work with it. Even if I create a whole new automation.

I’ll keep digging, in case it’s a problem specific to me.

EDIT:
Another note - I noticed that the 2024.4.5 - there are changes around line 1058 to how the event is triggered. Could that be it?

That was to make it more efficient. Saw no change in functionality. Can you post some logs when you push buttons? Do the LEDs track state and just the button push doesn’t trigger?

Thanks again - unfortunately, I rolled back to the previous version. I have guests coming to stay for a couple of weeks, so won’t be messing with this for now. However, when time permits, I’ll re-import and send logs.

Thank you!