An AppDaemon-based home automation system for Home Assistant, featuring garage control, lighting automation, door management, blind scheduling, water leak protection, and notification systems.
Apps live in appdaemon/apps/ and share a common library package in
appdaemon/apps/lib/. See DESIGN.md for the
full SOP on adding new automations and the library catalog.
| Module | Purpose |
|---|---|
lib.base |
BaseApp — common lifecycle, arg helpers, service accessors |
lib.notify |
Notifier — uniform keyword-only wrapper over global_notify |
lib.mqtt |
MQTTSwitch/MQTTLight/MQTTSensor/MQTTNumber — consolidated MQTT discovery |
lib.time_utils |
parse_time, is_time_between, seconds_until, parse_iso |
lib.lights |
restore_light_state — light state restoration helpers |
lib.linked_groups |
Shared entity-group selection and listener management |
lib.double_click |
Clock-injectable matching double-event detection |
Infrastructure: area_handler, global_notify, automation_manager,
simple_state_linker
Security: auto_lock, water_sensor_monitor
Automation: garage_automation, garage_notify_automation, door_light_automation,
blind_schedule, fan_auto_off
Utility: garage_utils, republic_services_schedule, all_lights,
linked_lights, linked_switches, double_click_area_control, entity_monitor
Notification: doorbell_notification, testbutton_notification,
meeting_indicator
- Automatic garage door control based on car presence (Android Auto + Bluetooth)
- Smart light control when entering/exiting
- Safety notifications for extended door opening
- Auto-close after 1 hour with pre-notifications at 30/50 minutes
- Remote lock management
- Global "all lights" virtual switch via MQTT
- Entity-level linked virtual lights with dynamic on/off, dimming, color, and effect capabilities
- Label-based linked virtual switches for synchronized simple switches
- Door-activated lighting (night-only with sun tracking)
- Group-based light state linking with grace-period debounce
- Meeting status indicator integration
- Automatic door locking with configurable delays
- MQTT-based enable/disable and timeout control
- Water leak detection with automatic main valve shutoff
- Critical alerts + TTS notifications
- Light-level threshold triggers
- Time-based schedules
- Per-blind overrides and group synchronization
- Configurable direction (up/down) with percentage positioning
- Centralized router (
global_notify) with iOS/Android/other device groups - Standard, critical, and TTS notification paths
- Configurable default group per deployment
- Daily schedule refresh from public API
- MQTT Discovery entities for trash/recycling pickup dates
- Push notifications at 9 AM the day before pickup
- AppDaemon 4.x
- Home Assistant
- MQTT Broker
- Mobile App Integration for notifications
- Copy
appdaemon/apps/to your AppDaemon apps directory - Configure
apps.yamlwith your entity IDs (seeapps.yaml.example) - Set
rs_addressinsecrets.yamlor createinput_text.rs_addressin HA pip install -r requirements.txt- Restart AppDaemon
- DESIGN.md — Architecture, SOP, library catalog
- OVERHAUL_PLAN.md — Refactor roadmap
- docs/ — Per-app documentation, including linked virtual lights, linked virtual switches, and double-click area control