additional esphome devices and fixes
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
################################################################################
|
||||
# Quiet Time Package
|
||||
################################################################################
|
||||
#
|
||||
# TITLE:
|
||||
# Quiet Time
|
||||
#
|
||||
# VERSIONS:
|
||||
# V1.2 2026-05-21
|
||||
# - Added MQTT publishing when input_boolean.quiet_time changes.
|
||||
# - Publishes quiet_time state to viewroad-status/homeassistant/quiet-time.
|
||||
#
|
||||
# V1.1 2026-05-21
|
||||
# - Reduced daily reset check frequency from every minute to every 30 minutes.
|
||||
# - Reduced reset dropdown options to 00:30 through 10:00 only.
|
||||
#
|
||||
# V1.0 2026-05-21
|
||||
# - Initial package.
|
||||
# - Adds input_boolean.quiet_time.
|
||||
# - Adds input_select.quiet_time_daily_reset.
|
||||
# - Adds daily automation to turn quiet_time OFF at the selected reset time.
|
||||
#
|
||||
# OPERATION NOTES:
|
||||
# - input_boolean.quiet_time is the master quiet time toggle.
|
||||
# - Other packages can check input_boolean.quiet_time before sending
|
||||
# announcements, notifications, TTS messages, or similar.
|
||||
# - input_select.quiet_time_daily_reset selects the daily time that quiet_time
|
||||
# will automatically be turned OFF.
|
||||
# - Default reset time is 07:00.
|
||||
# - The quiet_time state is published to MQTT whenever it changes.
|
||||
#
|
||||
# MQTT STATUS:
|
||||
# - Topic:
|
||||
# viewroad-status/homeassistant/quiet-time
|
||||
# - Payload:
|
||||
# on
|
||||
# off
|
||||
#
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# INPUT BOOLEAN
|
||||
################################################################################
|
||||
|
||||
input_boolean:
|
||||
quiet_time:
|
||||
name: Quiet Time
|
||||
icon: mdi:bell-off
|
||||
|
||||
################################################################################
|
||||
# INPUT SELECT
|
||||
################################################################################
|
||||
|
||||
input_select:
|
||||
quiet_time_daily_reset:
|
||||
name: Quiet time daily reset
|
||||
icon: mdi:clock-end
|
||||
options:
|
||||
- "00:30"
|
||||
- "01:00"
|
||||
- "01:30"
|
||||
- "02:00"
|
||||
- "02:30"
|
||||
- "03:00"
|
||||
- "03:30"
|
||||
- "04:00"
|
||||
- "04:30"
|
||||
- "05:00"
|
||||
- "05:30"
|
||||
- "06:00"
|
||||
- "06:30"
|
||||
- "07:00"
|
||||
- "07:30"
|
||||
- "08:00"
|
||||
- "08:30"
|
||||
- "09:00"
|
||||
- "09:30"
|
||||
- "10:00"
|
||||
initial: "07:00"
|
||||
|
||||
################################################################################
|
||||
# AUTOMATIONS
|
||||
################################################################################
|
||||
|
||||
automation:
|
||||
- id: quiet_time_daily_reset_turn_off
|
||||
alias: "Quiet Time - Daily Reset Off"
|
||||
description: "Turns Quiet Time off once per day at the selected reset time."
|
||||
mode: single
|
||||
|
||||
triggers:
|
||||
- trigger: time_pattern
|
||||
minutes: "/30"
|
||||
seconds: "0"
|
||||
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.quiet_time
|
||||
state: "on"
|
||||
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{ states('input_select.quiet_time_daily_reset') == now().strftime('%H:%M') }}
|
||||
|
||||
actions:
|
||||
- action: input_boolean.turn_off
|
||||
target:
|
||||
entity_id: input_boolean.quiet_time
|
||||
|
||||
- id: quiet_time_settings_to_mqtt
|
||||
alias: "Publish quiet time value to MQTT"
|
||||
description: "Publishes the Quiet Time boolean state to MQTT whenever it changes."
|
||||
mode: single
|
||||
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id: input_boolean.quiet_time
|
||||
|
||||
actions:
|
||||
- action: mqtt.publish
|
||||
data:
|
||||
topic: viewroad-status/homeassistant/quiet-time
|
||||
payload: "{{ trigger.to_state.state }}"
|
||||
Reference in New Issue
Block a user