Refine fridge and Tesla reminder packages

master
Carlo Costanzo 3 days ago
parent 19602868cc
commit 7a7875caa2

@ -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 %}

Loading…
Cancel
Save

Powered by TurnKey Linux.