chore: initial baseline before refactoring

Initial snapshot of Home Assistant config (HAOS 2026.4.4)
prior to dashboard restructuring and helper YAML migration.

Pre-commit cleanup applied:
- Removed blueprints/switch_manager/ (9.4 MB stale, component already gone)
- Removed .storage/switch_manager
- Removed home-assistant.log.{1,old,fault}
- Removed zigbee2mqtt/configuration_backup_v{1..4}.yaml
- Removed zigbee2mqtt/database.db.tmp.2024-09-27 (1.5y old)
- Created empty themes/ to satisfy configuration.yaml include

.gitignore uses allowlist strategy for .storage/ to keep
all tokens, keys, and PINs out of version control.
This commit is contained in:
2026-05-02 14:24:53 +02:00
commit 5f01411780
149 changed files with 47886 additions and 0 deletions
@@ -0,0 +1,67 @@
blueprint:
name: Report offline zigbee/zwave/battery/smart plug devices
description: Works with Smart Plugs, ZWave, Zigbee etc (Works with ZHA & Z2M)
domain: automation
input:
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: Battery sensors (e.g. smartphone) to exclude from detection. Only
entities are supported, devices must be expanded!
default:
entity_id: []
selector:
target:
entity:
- device_class:
- battery
- switch
actions:
name: Actions
description: Call your notification here. {{offline_devices}} will replaced
with the name of any offline devices
selector:
action: {}
source_url: https://gist.github.com/Tahutipai/971bf0e07e50ce6190e0dacd73262e2e
variables:
day: !input day
exclude: !input exclude
offline_devices: "{% set result = namespace(offline_devices=[]) %} {% for sensor
in states.sensor | selectattr('attributes.device_class', 'defined') | selectattr('attributes.device_class',
'==', 'battery') %}\n {% if \"unavailable\" in sensor | string and not sensor.entity_id
in exclude.entity_id %}\n {% set result.offline_devices = result.offline_devices
+ [device_attr(device_id(sensor.entity_id), \"name\")] %}\n {% endif %}\n{% endfor
%} {% for binary_sensor in states.binary_sensor | selectattr('attributes.device_class',
'defined') | selectattr('attributes.device_class', '==', 'battery') %}\n {% if
\"unavailable\" in binary_sensor | string and not binary_sensor.entity_id in exclude.entity_id
%}\n {% set result.offline_devices = result.offline_devices + [device_attr(device_id(binary_sensor.entity_id),
\"name\")] %}\n {% endif %}\n{% endfor %} {% for switch in states.switch | selectattr('state','eq','unavailable')
%}\n {% if switch.entity_id not in exclude.entity_id %}\n {% set result.offline_devices
= result.offline_devices + [device_attr(device_id(switch.entity_id), \"name\")]
%}\n {% endif %}\n{% endfor %} {{result.offline_devices|sort|unique|join('\\n')}}"
trigger:
- platform: time
at: !input time
condition:
- '{{ offline_devices != '''' and (day | int == 0 or day | int == now().isoweekday())
}}'
action:
- choose: []
default: !input actions
mode: single