Last active
November 23, 2022 15:12
-
-
Save VincenzoMaletta/04142b9d54c8235dea5d79f307e1724d to your computer and use it in GitHub Desktop.
Low humidity level detection & notification for miflora sensors
This file contains 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: Low humidity level detection & notification for miflora sensors | |
description: Regularly test all sensors with 'humidity' device-class for crossing | |
a certain humidity level threshold and if so execute an action. | |
domain: automation | |
input: | |
threshold: | |
name: Humidity warning level threshold | |
description: Humidity sensors below threshold are assumed to be low-humidity. | |
default: 20 | |
selector: | |
number: | |
min: 5.0 | |
max: 100.0 | |
unit_of_measurement: '%' | |
mode: slider | |
step: 5.0 | |
time: | |
name: Time to test on | |
description: Test is run at configured time | |
default: '10:00:00' | |
selector: | |
time: {} | |
day: | |
name: Weekday to test on | |
description: 'Test is run at configured time either everyday (0) or on a given | |
weekday (1: Monday ... 7: Sunday)' | |
default: 0 | |
selector: | |
number: | |
min: 0.0 | |
max: 7.0 | |
mode: slider | |
step: 1.0 | |
exclude: | |
name: Excluded Sensors | |
description: Humidity sensors (e.g. ambient sensors) to exclude from detection. Only | |
entities are supported, devices must be expanded! | |
default: | |
entity_id: [] | |
selector: | |
target: | |
entity: | |
device_class: humidity | |
actions: | |
name: Actions | |
description: Notifications or similar to be run. {{sensors}} is replaced with | |
the names of sensors being low on battery. | |
selector: | |
action: {} | |
source_url: https://gist.github.com/VincenzoMaletta/04142b9d54c8235dea5d79f307e1724d | |
variables: | |
day: !input 'day' | |
threshold: !input 'threshold' | |
exclude: !input 'exclude' | |
sensors: "{% set result = namespace(sensors=[]) %} {% for state in states.sensor\ | |
\ | selectattr('attributes.device_class', '==', 'humidity') %}\n {% if 0 <= state.state\ | |
\ | int(-1) < threshold | int and not state.entity_id in exclude.entity_id %}\n\ | |
\ {% set result.sensors = result.sensors + [state.name ~ ' (' ~ state.state\ | |
\ ~ ' %)'] %}\n {% endif %}\n{% endfor %} {{result.sensors|join(', ')}}" | |
trigger: | |
- platform: time | |
at: !input 'time' | |
condition: | |
- '{{ sensors != '''' and (day | int == 0 or day | int == now().isoweekday()) }}' | |
action: | |
- choose: [] | |
default: !input 'actions' | |
mode: single |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This blueprint is a fork from the terrific job of Sbyx (https://community.home-assistant.io/t/low-battery-level-detection-notification-for-all-battery-sensors/258664); I’ve only changed some minor details in order to detect and report the humidity level from my miflora sensors.
Please refer to the original blueprint for a full description of the functionalities implemented.
Thank you very much Sbyx for the excellent contribution, which I have successfully implemented in my HA installation and which prompted me to make this little customization, which I hope will be useful to others as well.