mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2026-06-09 03:44:44 +00:00
Refine fridge and Tesla reminder packages
This commit is contained in:
@@ -40,7 +40,7 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this
|
||||
| --- | --- | --- |
|
||||
| [alarm.yaml](alarm.yaml) | NodeMCU-powered perimeter monitoring with arm/disarm helpers and rich notifications. | `binary_sensor.mcu*_gpio*`, `group.family`, notify + siren scripts |
|
||||
| [alexa_media_player.yaml](alexa_media_player.yaml) | Alexa Media helper sensors including stable bedroom wake-alarm wrappers for Carlo and Stacey plus a combined next-wake view. | `sensor.last_alexa`, `sensor.bedroom_next_wake_alarm`, `sensor.bedroom_next_wake_alarm_source`, `binary_sensor.bedroom_next_wake_alarm_active` |
|
||||
| [fridge.yaml](fridge.yaml) | SmartThinQ fridge monitoring with a confirmed-open door helper so short status-refresh pulses do not trigger alerts or speech. | `binary_sensor.refrigerator_door_open`, `binary_sensor.refrigerator_door_confirmed_open`, `script.notify_engine`, `script.speech_engine` |
|
||||
| [fridge.yaml](fridge.yaml) | SmartThinQ fridge monitoring with 5-minute door-open alerts plus fridge/freezer status announcements. | `binary_sensor.refrigerator_door_open`, `script.notify_engine`, `script.speech_engine` |
|
||||
| [garadget.yaml](garadget.yaml) | MQTT-based garage door control plus arrival helpers, entry prompts, wind checks, nighttime reminders, and camera context. | `cover.large_garage_door`, `cover.small_garage_door`, `group.garage_doors`, `sensor.garadget_reflection` |
|
||||
| [august.yaml](august.yaml) | Front-door August smart lock with Alexa Show camera pop-up when unlocked. | `lock.front_door`, media_player actions for front doorbell camera |
|
||||
| [holiday.yaml](holiday.yaml) | REST-driven US holiday + flag sensors that color scenes and exterior lighting. | `sensor.holiday`, `sensor.flag`, JSON feed at `config/json_data/holidays.json` |
|
||||
@@ -65,7 +65,7 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this
|
||||
| [maintenance_log.yaml](maintenance_log.yaml) | Joanna maintenance webhook ingest for water softener salt with idempotent event handling, Activity feed logging, and recorder-backed helper history for long-term graphing. | `automation.maintenance_log_joanna_webhook_ingest`, `input_number.water_softener_salt_total_added_lb`, `counter.water_softener_salt_event_count`, `sensor.water_softener_salt_days_since_last_add` |
|
||||
| [kiosk_tablet.yaml](kiosk_tablet.yaml) | Keeps the bedroom Fully Kiosk Fire tablet pinned to the dedicated kiosk dashboard when the page or foreground app drifts. | `sensor.alarm_panel_1_current_page`, `sensor.alarm_panel_1_foreground_app`, `button.alarm_panel_1_bring_to_foreground`, `button.alarm_panel_1_load_start_url` |
|
||||
| [powerwall.yaml](powerwall.yaml) | Track Tesla Powerwall grid status, push live outage tracking to mobile targets, and shed loads automatically when off-grid (alerts include Activity feed + Repairs). | `binary_sensor.powerwall_grid_status`, `sensor.powerwall_*`, `script.notify_live_activity`, `repairs.create` |
|
||||
| [tesla_model_y.yaml](tesla_model_y.yaml) | Remind the garage and parents to plug in the Model Y after the large garage door closes with a low battery, charging still off, and both parents home, with an 8 PM repeat loop for recent garage arrivals. | `sensor.spaceship_battery_level`, `switch.spaceship_charge`, `person.carlo`, `person.stacey`, `cover.large_garage_door`, `input_datetime.tesla_model_y_last_garage_close`, `notify.alexa_media_garage`, `script.notify_engine` |
|
||||
| [tesla_model_y.yaml](tesla_model_y.yaml) | Remind the garage and parents to plug in the Model Y after the large garage door closes with a low battery, charging still off, both parents home, and a 24-hour mobile snooze available from the push reminder. | `sensor.spaceship_battery_level`, `switch.spaceship_charge`, `person.carlo`, `person.stacey`, `cover.large_garage_door`, `input_datetime.tesla_model_y_last_garage_close`, `input_datetime.tesla_model_y_plug_in_snooze_until`, `notify.alexa_media_garage`, `script.notify_engine_two_button` |
|
||||
| [vacuum.yaml](vacuum.yaml) | Dreame vacuum orchestration with room tracking, push alerts, Activity feed, Repairs issues on errors, and Alexa one-off room-clean switches. | `input_select.l10s_vacuum_phase`, `sensor.l10s_vacuum_error`, `repairs.create` |
|
||||
| [hass_agent_homepc.yaml](hass_agent_homepc.yaml) | Mirrors PC lock/unlock state to the office lamp and wakes `CARLO-HOMEPC` on workday morning bed exits. | `sensor.carlo_homepc_carlo_homepc_sessionstate`, `button.carlo_home`, `switch.office_lamp_switch` |
|
||||
| [sleepiq.yaml](sleepiq.yaml) | Sleep Number presence/snore automations; Overview Health consumes direct SleepIQ integration entities for scores, vitals, pressure, and bed controls. | `group.bed`, `binary_sensor.sleepnumber_carlo_carlo_is_in_bed`, `binary_sensor.sleepnumber_carlo_stacey_is_in_bed`, `sensor.sleepnumber_carlo_carlo_sleep_score`, `sensor.sleepnumber_carlo_stacey_sleep_score`, `number.sleepnumber_carlo_carlo_firmness`, `select.sleepnumber_carlo_foundation_preset_right` |
|
||||
|
||||
@@ -29,7 +29,7 @@ automation:
|
||||
above: 60
|
||||
|
||||
- condition: state
|
||||
entity_id: binary_sensor.refrigerator_door_confirmed_open
|
||||
entity_id: binary_sensor.refrigerator_door_open
|
||||
state: 'on'
|
||||
|
||||
action:
|
||||
@@ -39,8 +39,8 @@ automation:
|
||||
value1: >
|
||||
{% if trigger.platform == 'numeric_state' %}
|
||||
The Blink camera temperature sensor has detected {{ states('sensor.blink_blink1_temperature') }} degrees for over 20 minutes.
|
||||
{% elif is_state('binary_sensor.refrigerator_door_confirmed_open', 'on') %}
|
||||
The SmartThinQ fridge door sensor is still confirmed open, and the Blink camera temperature is {{ states('sensor.blink_blink1_temperature') }} degrees.
|
||||
{% elif is_state('binary_sensor.refrigerator_door_open', 'on') %}
|
||||
The SmartThinQ fridge door sensor is still open, and the Blink camera temperature is {{ states('sensor.blink_blink1_temperature') }} degrees.
|
||||
{% else %}
|
||||
The fridge is still hot after the previous alert. The fridge temperature is {{ states('sensor.blink_blink1_temperature') }} degrees.
|
||||
{% endif %}
|
||||
@@ -49,7 +49,7 @@ automation:
|
||||
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
value1: "Please check the fridge. The Blink camera temperature is {{ states('sensor.blink_blink1_temperature') }} degrees. {% if is_state('binary_sensor.refrigerator_door_confirmed_open', 'on') %}The SmartThinQ fridge door sensor is confirmed open.{% endif %}"
|
||||
value1: "Please check the fridge. The Blink camera temperature is {{ states('sensor.blink_blink1_temperature') }} degrees. {% if is_state('binary_sensor.refrigerator_door_open', 'on') %}The SmartThinQ fridge door sensor is open.{% endif %}"
|
||||
no_fridge: 1
|
||||
|
||||
- delay: 00:30:00
|
||||
|
||||
@@ -4,46 +4,33 @@
|
||||
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
||||
# -------------------------------------------------------------------
|
||||
# LG Fridge - SmartThinQ appliance monitoring - Fridge/freezer sensors via ThinQ integration. https://amzn.to/3lOYTCv.
|
||||
# Debounces SmartThinQ door-open telemetry before fridge alerts and speech use it.
|
||||
# Centralizes the LG Fridge - SmartThinQ appliance monitoring package configuration and helpers.
|
||||
# -------------------------------------------------------------------
|
||||
# Notes: SmartThinQ can briefly report the door open during appliance status refreshes; alerts use the confirmed helper below.
|
||||
# Notes: Door-open alerts now trigger directly from the SmartThinQ door sensor after 5 minutes instead of using a debounced helper entity.
|
||||
######################################################################
|
||||
template:
|
||||
- binary_sensor:
|
||||
- name: "Refrigerator door confirmed open"
|
||||
unique_id: refrigerator_door_confirmed_open
|
||||
device_class: door
|
||||
availability: "{{ states('binary_sensor.refrigerator_door_open') not in ['unknown', 'unavailable', 'none', ''] }}"
|
||||
state: "{{ is_state('binary_sensor.refrigerator_door_open', 'on') }}"
|
||||
delay_on:
|
||||
minutes: 10
|
||||
delay_off:
|
||||
seconds: 30
|
||||
attributes:
|
||||
raw_sensor: binary_sensor.refrigerator_door_open
|
||||
raw_state: "{{ states('binary_sensor.refrigerator_door_open') }}"
|
||||
|
||||
automation:
|
||||
- alias: 'Fridge Door Open'
|
||||
id: 2346efcd-e8a8-4e86-b5b6-43eBl1nkFr1dge95D00r0pen
|
||||
mode: single
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.refrigerator_door_confirmed_open
|
||||
entity_id: binary_sensor.refrigerator_door_open
|
||||
to: 'on'
|
||||
for:
|
||||
minutes: 5
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.refrigerator_door_confirmed_open
|
||||
entity_id: binary_sensor.refrigerator_door_open
|
||||
state: 'on'
|
||||
action:
|
||||
- service: script.notify_engine
|
||||
data:
|
||||
title: 'Fridge Door Open'
|
||||
value1: >
|
||||
The SmartThinQ fridge door sensor has been confirmed open for more than 10 minutes. Please check and close the fridge door to avoid temperature issues.
|
||||
The fridge door has been open for more than 5 minutes. Please check and close the fridge door to avoid temperature issues.
|
||||
who: 'family'
|
||||
group: 'information'
|
||||
|
||||
- service: script.speech_engine
|
||||
data:
|
||||
value1: "[Tell Household the Fridge Door is Open for more than 10 minutes]"
|
||||
value1: "[Tell Household the Fridge Door is Open for more than 5 minutes]"
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
# Notes: The nightly parents reminder starts at 8 PM or after a post-8 PM
|
||||
# garage close, then loops every 30 minutes via a custom event while the
|
||||
# latest garage-arrival signal is recent and the car still is not charging.
|
||||
# Notes: Parents push reminders include a 24-hour snooze action.
|
||||
# Notes: Plug-in reminders only fire when both `person.carlo` and
|
||||
# `person.stacey` are home.
|
||||
# Video: https://youtu.be/wFO0H5zgnzk
|
||||
@@ -25,6 +26,10 @@ input_datetime:
|
||||
name: Tesla Model Y Last Garage Close
|
||||
has_date: true
|
||||
has_time: true
|
||||
tesla_model_y_plug_in_snooze_until:
|
||||
name: Tesla Model Y Plug In Snooze Until
|
||||
has_date: true
|
||||
has_time: true
|
||||
|
||||
automation:
|
||||
- alias: "Tesla Model Y - Plug In Reminder"
|
||||
@@ -37,6 +42,9 @@ automation:
|
||||
- platform: event
|
||||
event_type: event_tesla_model_y_nightly_loop
|
||||
id: loop
|
||||
- platform: time
|
||||
at: input_datetime.tesla_model_y_plug_in_snooze_until
|
||||
id: snooze_expired
|
||||
- platform: state
|
||||
entity_id: cover.large_garage_door
|
||||
from: 'open'
|
||||
@@ -74,6 +82,10 @@ automation:
|
||||
- condition: state
|
||||
entity_id: switch.spaceship_charge
|
||||
state: 'off'
|
||||
- condition: template
|
||||
value_template: >-
|
||||
{% set snooze_until = as_timestamp(states('input_datetime.tesla_model_y_plug_in_snooze_until'), 0) %}
|
||||
{{ snooze_until <= as_timestamp(now()) }}
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
@@ -102,7 +114,7 @@ automation:
|
||||
- condition: time
|
||||
after: '20:00:00'
|
||||
before: '05:00:00'
|
||||
- service: script.notify_engine
|
||||
- service: script.notify_engine_two_button
|
||||
data:
|
||||
title: "Tesla Plug In Reminder"
|
||||
value1: >-
|
||||
@@ -112,6 +124,9 @@ automation:
|
||||
{{ states('sensor.spaceship_battery_level') | float(0) | round(0) }} percent.
|
||||
who: 'parents'
|
||||
group: 'Tesla_Model_Y'
|
||||
title1: "Snooze 24h"
|
||||
action1: "SNOOZE_TESLA_PLUG_IN_24H"
|
||||
icon1: "sfsymbols:clock"
|
||||
- service: script.send_to_logbook
|
||||
data:
|
||||
topic: "TESLA"
|
||||
@@ -119,3 +134,24 @@ automation:
|
||||
Nightly plug-in reminder sent because the Model Y recently came in through the garage below 50 percent and is not charging.
|
||||
- delay: '00:30:00'
|
||||
- event: event_tesla_model_y_nightly_loop
|
||||
|
||||
- alias: "Tesla Model Y - Plug In Reminder Snooze"
|
||||
id: 5b7b9b93-1f12-4c5e-9bc4-95c8cb1a104f
|
||||
mode: queued
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: mobile_app_notification_action
|
||||
event_data:
|
||||
action: SNOOZE_TESLA_PLUG_IN_24H
|
||||
variables:
|
||||
snooze_until: "{{ (now() + timedelta(hours=24)).strftime('%Y-%m-%d %H:%M:%S') }}"
|
||||
action:
|
||||
- service: input_datetime.set_datetime
|
||||
target:
|
||||
entity_id: input_datetime.tesla_model_y_plug_in_snooze_until
|
||||
data:
|
||||
datetime: "{{ snooze_until }}"
|
||||
- service: script.send_to_logbook
|
||||
data:
|
||||
topic: "TESLA"
|
||||
message: "Tesla plug-in reminders snoozed for 24 hours (until {{ snooze_until }})."
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
{% if freezer not in ['unknown', 'unavailable', 'none', ''] and fridge not in ['unknown', 'unavailable', 'none', ''] %}
|
||||
The freezer temperature is {{ freezer }} degrees and the fridge temperature is {{ fridge }} degrees.
|
||||
{% endif %}
|
||||
{% if is_state('binary_sensor.refrigerator_door_confirmed_open', 'on') %}The fridge door is confirmed open.{% endif %}
|
||||
{% if is_state('binary_sensor.refrigerator_door_open', 'on') %}The fridge door is currently open.{% endif %}
|
||||
{%- endmacro -%}
|
||||
|
||||
{%- macro window_check() -%}
|
||||
@@ -297,7 +297,7 @@
|
||||
{% set blink_temp = states('sensor.blink_blink1_temperature') | float(none) %}
|
||||
{% set freezer_temp = states('sensor.refrigerator_freezer_temp') | float(none) %}
|
||||
{% set fridge_temp = states('sensor.refrigerator_fridge_temp') | float(none) %}
|
||||
{% if ((blink_temp is not none and blink_temp > 55) or (freezer_temp is not none and freezer_temp > 5) or (fridge_temp is not none and fridge_temp > 50) or is_state('binary_sensor.refrigerator_door_confirmed_open', 'on')) and no_fridge != 1 %}
|
||||
{% if ((blink_temp is not none and blink_temp > 55) or (freezer_temp is not none and freezer_temp > 5) or (fridge_temp is not none and fridge_temp > 50) or is_state('binary_sensor.refrigerator_door_open', 'on')) and no_fridge != 1 %}
|
||||
{{ fridge() }}
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user