134 lines
2.8 KiB
YAML
134 lines
2.8 KiB
YAML
esphome:
|
|
name: uptime-heart
|
|
friendly_name: uptime-heart
|
|
|
|
esp32:
|
|
board: esp32dev
|
|
framework:
|
|
type: esp-idf
|
|
|
|
# Enable logging
|
|
logger:
|
|
|
|
# Enable Home Assistant API
|
|
api:
|
|
encryption:
|
|
key: "YOUR_ENCRYPTION_KEY_HERE"
|
|
|
|
web_server:
|
|
port: 80
|
|
|
|
ota:
|
|
- platform: esphome
|
|
password: "YOUR_OTA_PASSWORD_HERE"
|
|
|
|
wifi:
|
|
ssid: !secret wifi_ssid
|
|
password: !secret wifi_password
|
|
|
|
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
|
ap:
|
|
ssid: "Uptime-Heart Fallback Hotspot"
|
|
password: "fallback_password"
|
|
|
|
captive_portal:
|
|
|
|
# Time component for scheduling
|
|
time:
|
|
- platform: sntp
|
|
id: sntp_time
|
|
|
|
output:
|
|
- platform: ledc
|
|
pin: GPIO17
|
|
id: output_red
|
|
- platform: ledc
|
|
pin: GPIO18
|
|
id: output_green
|
|
|
|
light:
|
|
- platform: monochromatic
|
|
name: "Rote LED"
|
|
output: output_red
|
|
id: led_red
|
|
restore_mode: ALWAYS_OFF
|
|
on_turn_on:
|
|
- light.turn_off: led_green
|
|
effects:
|
|
- strobe:
|
|
name: "Fast Heartbeat"
|
|
colors:
|
|
- state: true
|
|
brightness: 100%
|
|
duration: 200ms
|
|
- state: false
|
|
duration: 200ms
|
|
- strobe:
|
|
name: "Slow Pulse"
|
|
colors:
|
|
- state: true
|
|
brightness: 100%
|
|
duration: 1s
|
|
- state: false
|
|
duration: 1s
|
|
|
|
- platform: monochromatic
|
|
name: "Grüne LED"
|
|
output: output_green
|
|
id: led_green
|
|
restore_mode: ALWAYS_OFF
|
|
on_turn_on:
|
|
- light.turn_off: led_red
|
|
effects:
|
|
- pulse:
|
|
name: "Breathing"
|
|
transition_length: 1s
|
|
update_interval: 1s
|
|
min_brightness: 30%
|
|
max_brightness: 100%
|
|
|
|
# Switches for Home Assistant control
|
|
switch:
|
|
- platform: template
|
|
name: "Monitoring Enabled"
|
|
id: monitoring_enabled
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
optimistic: true
|
|
icon: "mdi:monitor-eye"
|
|
|
|
- platform: template
|
|
name: "Force Red LED"
|
|
id: force_red
|
|
restore_mode: RESTORE_DEFAULT_OFF
|
|
optimistic: true
|
|
icon: "mdi:alert-circle"
|
|
turn_on_action:
|
|
- switch.turn_off: force_green
|
|
- light.turn_off: led_green
|
|
- light.turn_on: led_red
|
|
turn_off_action:
|
|
- light.turn_off: led_red
|
|
|
|
- platform: template
|
|
name: "Force Green LED"
|
|
id: force_green
|
|
restore_mode: RESTORE_DEFAULT_OFF
|
|
optimistic: true
|
|
icon: "mdi:check-circle"
|
|
turn_on_action:
|
|
- switch.turn_off: force_red
|
|
- light.turn_off: led_red
|
|
- light.turn_on: led_green
|
|
turn_off_action:
|
|
- light.turn_off: led_green
|
|
|
|
- platform: template
|
|
name: "Quiet Hours Active"
|
|
id: quiet_hours
|
|
restore_mode: RESTORE_DEFAULT_OFF
|
|
optimistic: true
|
|
icon: "mdi:sleep"
|
|
turn_on_action:
|
|
- light.turn_off: led_red
|
|
- light.turn_off: led_green
|