Last active
December 17, 2025 06:43
-
-
Save ConnorGriffin/36487b7a23622a26475684c5f4655ce6 to your computer and use it in GitHub Desktop.
HomeAssistant Blueprint: GE Double Tap's for Connor's Light Modes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blueprint: | |
| name: "ConnorGriffin's Light Switch Double Taps" | |
| description: > | |
| Supports GE/Jasco Basic CC (32) and UltraPro ZW3010 Central Scene (91). | |
| Double-tap UP toggles Max ↔ Auto. | |
| Double-tap DOWN toggles Min ↔ Auto. | |
| domain: automation | |
| input: | |
| device: | |
| name: Switch Device | |
| selector: | |
| device: | |
| filter: | |
| - integration: zwave_js | |
| light_mode_select: | |
| name: Light Mode Input Select | |
| selector: | |
| entity: | |
| domain: input_select | |
| mode: single | |
| max_exceeded: silent | |
| trigger: | |
| # ─── Basic CC (older GE/Jasco) ─── | |
| - platform: event | |
| event_type: zwave_js_value_notification | |
| event_data: | |
| device_id: !input device | |
| command_class: 32 | |
| # ─── Central Scene (UltraPro ZW3010) ─── | |
| - platform: event | |
| event_type: zwave_js_value_notification | |
| event_data: | |
| device_id: !input device | |
| command_class: 91 | |
| property: scene | |
| action: | |
| - variables: | |
| tap: >- | |
| {% set cc = trigger.event.data.command_class %} | |
| {% if cc == 32 %} | |
| {% if trigger.event.data.value_raw == 255 %} | |
| on | |
| {% elif trigger.event.data.value_raw == 0 %} | |
| off | |
| {% else %} | |
| ignore | |
| {% endif %} | |
| {% elif cc == 91 and trigger.event.data.value == 3 %} | |
| {% if trigger.event.data.property_key == '001' %} | |
| on | |
| {% elif trigger.event.data.property_key == '002' %} | |
| off | |
| {% else %} | |
| ignore | |
| {% endif %} | |
| {% else %} | |
| ignore | |
| {% endif %} | |
| - choose: | |
| # ───────────── Double-tap DOWN ───────────── | |
| - conditions: "{{ tap == 'off' }}" | |
| sequence: | |
| - choose: | |
| - conditions: | |
| - condition: state | |
| entity_id: !input light_mode_select | |
| state: "Min" | |
| sequence: | |
| - service: input_select.select_option | |
| target: | |
| entity_id: !input light_mode_select | |
| data: | |
| option: "Auto" | |
| default: | |
| - service: input_select.select_option | |
| target: | |
| entity_id: !input light_mode_select | |
| data: | |
| option: "Min" | |
| # ───────────── Double-tap UP ───────────── | |
| - conditions: "{{ tap == 'on' }}" | |
| sequence: | |
| - choose: | |
| - conditions: | |
| - condition: state | |
| entity_id: !input light_mode_select | |
| state: "Max" | |
| sequence: | |
| - service: input_select.select_option | |
| target: | |
| entity_id: !input light_mode_select | |
| data: | |
| option: "Auto" | |
| default: | |
| - service: input_select.select_option | |
| target: | |
| entity_id: !input light_mode_select | |
| data: | |
| option: "Max" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment