sdwilsh / ha-zen32-exhaust-fan-blueprint Goto Github PK
View Code? Open in Web Editor NEWA blueprint to use a ZEN32 Scene Controller to control an exhaust fan.
License: MIT License
A blueprint to use a ZEN32 Scene Controller to control an exhaust fan.
License: MIT License
To reproduce:
Press the top left button, after a minute, press the big button to turn the fan off.
The fan turns off and the light goes back to blue on the big button, but the top left button's light remains on.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.github/workflows/test.yml
actions/checkout v3
actions/checkout v3
actions/setup-python v4
requirements.txt
black ==23.12.1
isort ==5.13.2
pre-commit ==3.6.0
pytest-homeassistant-custom-component ==0.13.31
yamllint ==1.33.0
.pre-commit-config.yaml
black 23.12.1
isort 5.13.2
yamllint 1.33.0
Earthfile
python 3.11
pre-commit 3.6.0
pyright 1.1.344
renovate/renovate 37
earthly.sh
earthly/earthly v0.7.23
A future improvement will be to control the lights on the scene controller. In order to manage that complexity, we'll want to have a concept of states, that we can trigger with events in the automation. A button press would then just send the event that corresponds to the right state, and then the state can manage the transitions.
Note: the automation would have to move to a restart
mode instead of the current queued
.
Name | Description | Actions |
---|---|---|
OFF |
off | Cancel the timer if active; turn off if on |
ON_NO_TIME |
on, with no set time | Cancel the timer if active; turn on if off |
ON_GT_45_MIN |
on, with time left > 45 minutes | After appropriate amount of time, transition to ON_GT_30_LTE_45_MIN ; turn on if off |
ON_GT_30_LTE_45_MIN |
on, with time left > 30 minutes, <= 45 minutes | After appropriate amount of time, transition to ON_GT_20_LTE_30_MIN ; turn on if off |
ON_GT_20_LTE_30_MIN |
on, with time left > 20 minutes, <= 30 minutes | After appropriate amount of time, transition to ON_GT_10_LTE_20_MIN ; turn on if off |
ON_GT_10_LTE_20_MIN |
on, with time left > 10 minutes, <= 20 minutes | After appropriate amount of time, transition to ON_LTE_10_MIN ; turn on if off |
ON_LTE_10_MIN |
on, with time left <= 10 minutes | After appropriate amount of time, transition to OFF ; turn on if off |
Trigger ID | Actions | New Go to State |
---|---|---|
zwave_scene_10m |
Set timer to 10 minutes | ON_LTE_10_MIN (handled by timer_active trigger) |
zwave_scene_20m |
Set timer to 20 minutes | ON_GT_10_LTE_20_MIN (handled by timer_active trigger) |
zwave_scene_30m |
Set timer to 30 minutes | ON_GT_20_LTE_30_MIN (handled by timer_active trigger) |
zwave_scene_45m |
Set timer to 45 minutes | ON_GT_30_LTE_45_MIN (handled by timer_active trigger) |
zwave_scene_60m |
Set timer to 60 minutes | ON_GT_45_MIN (handled by timer_active trigger) |
turned_off |
n/a | OFF |
timer_active |
n/a | Depends on time remaining |
timer_finished |
n/a | OFF |
Probably name will be ZEN32_EXHAUST_FAN_BLUEPRINT_STATE_CHANGE
. The event data will be:
Key | Description |
---|---|
scene_controller |
The scene_controller input for this blueprint |
fan_switch |
The fan_switch input for this blueprint |
fan_timer |
The fan_timer input for this blueprint |
new_state |
The new state to move into (see States above) |
All of these triggers will verify the event data for scene_controller
, fan_switch
, and fan_timer
match what we expect in order to support multiple scene controllers with this blueprint.
state_ON_LTE_10_MIN
state_ON_GT_10_LTE_20_MIN
state_ON_GT_20_LTE_30_MIN
state_ON_GT_30_LTE_45_MIN
state_ON_GT_45_MIN
state_OFF
If you press the bottom right button (45m) in a starting off state, and then let the clock tick down to 30m, the lights do not update. This is because the turn on event fires, canceling the previous delay time.
I have a ZEN32 added in Home Assistant and I am am able to control it remotely without any issues.
I am trying to use your ZEN32 bathroom fan timer blueprint, but the issue I run into is that the device doesn't show up in the dropdown menu labeled "Zooz ZEN32 Scene Controller". When I click the dropdown menu it states "No matching devices found".
Perhaps I am doing something wrong. Another possibility is that I'm using the z-wave 800 series version of the ZEN32. Perhaps the blueprint is setup to only identify the 700 series version.
Feature request from this comment.
This is a little tricky to pull off, but not impossible to do, so filing this to track for now. I would like to get testing setup before doing it to ensure things continue to work well.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.