Compare commits

...

13 Commits

Author SHA1 Message Date
github-actions[bot]
f017a9ea70 Update HA version badge to 2025.8.1 2025-08-18 13:25:39 +00:00
Carlo Costanzo
47d5359a40 Merge pull request #1528 from CCOSTAN:OpenAI_Prompting
Adjust speech templates for clarity and enhance powerwall automation conditions for better performance.
2025-08-18 09:25:20 -04:00
Carlo Costanzo
74e2042d57 Adjust speech templates for clarity and enhance powerwall automation conditions for better performance. 2025-08-18 09:23:20 -04:00
github-actions[bot]
d692d926dc Update HA version badge to 2025.8.0 2025-08-11 16:58:15 +00:00
Carlo Costanzo
edbb6aa608 Refactor weather briefing template to ensure proper float conversion for state values, enhancing accuracy in weather alerts and conditions. Update garage check condition for improved functionality. 2025-08-11 12:58:01 -04:00
github-actions[bot]
ee0c57ad6c Update HA version badge to 2025.8.0 2025-08-07 14:36:34 +00:00
Carlo Costanzo
7a45a6007b Remove 'Good Morning' and 'School Mode' input booleans, and delete associated automation files since the Kiddos are into College now. #EmptyNest Close #948 - Last day of School Countdown (#1526) 2025-08-07 10:36:15 -04:00
github-actions[bot]
bf202e770b Update HA version badge to 2025.7.4 2025-08-06 16:57:03 +00:00
Carlo Costanzo
a0a93dceec Update climate automation to adjust temperature threshold to 79 and add condition for guest mode, enhancing control over climate settings. 2025-08-06 12:56:43 -04:00
github-actions[bot]
7403198c25 Update HA version badge to 2025.7.4 2025-08-06 13:41:46 +00:00
Carlo Costanzo
e4c9dfb49a Update climate automation to set preset mode to 'none' instead of 'cool' for both downstairs and upstairs thermostats, enhancing control over climate settings. 2025-08-06 09:41:27 -04:00
github-actions[bot]
3ea720af36 Update HA version badge to 2025.7.4 2025-08-04 15:19:17 +00:00
Carlo Costanzo
cfbc7ee771 Add new automation for setting thermostats to eco mode when away and adjust recorder configuration to include Alexa event types. Refactor existing climate automation for improved clarity and functionality. 2025-08-04 11:18:55 -04:00
19 changed files with 140 additions and 215 deletions

View File

@@ -1 +1 @@
2025.7.4
2025.8.1

View File

@@ -33,7 +33,6 @@
#Turn it off!
action:
- service: script.garage_lights_off # C by GE Lights (https://amzn.to/30w3UWy)
- service: homeassistant.turn_off
data:

View File

@@ -1,28 +0,0 @@
###################################
# @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
## Start Up Section
## Video Explanation can be found here :
## https://www.vcloudinfo.com/2019/06/how-to-use-template-conditions-in-home-assistant.html
###################################
- alias: Check if it's summer vacation on startup.
id: 65f91ec6-b9ad-45de-9ffa-023598980019
trigger:
- platform: homeassistant
event: start
- platform: time_pattern
hours: '/12'
condition:
- condition: template
value_template: >
{% set month=states("sensor.date").split('-')[1] | int %}
{%- if month == 4 or month == 5 or month == 6 or month == 7 -%}
true
{%- endif -%}
action:
- service: input_boolean.turn_off
entity_id: input_boolean.school_mode

View File

@@ -40,31 +40,3 @@
- service: switch.turn_off
entity_id: switch.back_landscaping
# Set thermostats to eco mode when everyone is away
- alias: 'Set Thermostats to Eco When Away'
id: 1e2d3c4b-eco-thermostat-away
mode: single
trigger:
- platform: state
entity_id: group.family
to: 'not_home'
condition:
- condition: state
entity_id: group.family
state: 'not_home'
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: climate.set_preset_mode
data:
entity_id:
- climate.downstairs
- climate.upstairs
preset_mode: 'eco'
- service: script.notify_engine
data:
title: "Thermostat Eco Mode Triggered"
value1: "DEBUG: Everyone is gone and the Automation was triggered."
who: "carlo"

View File

@@ -60,8 +60,6 @@
- delay:
minutes: 30
- service: script.garage_lights_off # C by GE Lights (https://amzn.to/30w3UWy)
##############################################################
- alias: Shutdown Helper light
id: 124f95f6-78ca-4c22-9348-1f3a1da2d803

View File

@@ -1,44 +0,0 @@
######################################################################
## Weekday Morning Routines for the Wife and Kiddos.
######################################################################
- alias: 'Good Morning Routine'
id: 1432bac8-311b-4618-8f8f-19dd848791b6
trigger:
- platform: state
entity_id: input_boolean.good_morning
to: 'on'
from: 'off'
- platform: state
entity_id:
- binary_sensor.sleepnumber_carlo_stacey_is_in_bed
to: 'off'
for: '00:05:00'
condition:
- condition: state
entity_id: group.family
state: home
- condition: state
entity_id: input_boolean.school_mode
state: 'on'
- condition: time
after: '05:30:00'
before: '08:00:00'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
action:
- service: light.turn_on
entity_id:
- light.s1
- light.s4
- service: switch.turn_on
entity_id: group.kitchen_accents
- service: input_boolean.turn_off
entity_id: input_boolean.good_morning

View File

@@ -3,11 +3,6 @@ guest_mode:
icon: mdi:account-alert
initial: off
school_mode:
name: School Mode
icon: mdi:school
initial: on
alert_mode:
name: Alert Mode
icon: mdi:alert-octagram

View File

@@ -2,11 +2,6 @@
good_night:
name: Good Night
initial: off
good_morning:
name: Good Morning
initial: off
meal_time:
name: Meal Time
initial: off

View File

@@ -29,29 +29,3 @@ script:
entity_id: media_player.paige_room
media_content_id: paigelighton
media_content_type: routine
garage_lights_off:
alias: 'ALL Garage Lights Off'
sequence:
- service: media_player.play_media
data:
entity_id: media_player.garage
media_content_id: 'turn off c life 3'
media_content_type: custom
- delay: "00:01:30"
- service: media_player.play_media
data:
entity_id: media_player.garage
media_content_id: 'turn off c sleep 1'
media_content_type: custom
- delay: "00:01:30"
- service: media_player.play_media
data:
entity_id: media_player.garage
media_content_id: 'turn off c sleep 2'
media_content_type: custom

View File

@@ -120,7 +120,7 @@ automation:
who: "Carlo"
group: "maintenance"
- alias: 'AC Status off Announcement'
- alias: 'AC Status Announcement'
id: 7812fdaf-a3f8-498b-8f07-28e977e528fe
trigger:
- platform: state
@@ -128,6 +128,11 @@ automation:
- climate.downstairs
- climate.upstairs
from: 'off'
- platform: state
entity_id:
- climate.downstairs
- climate.upstairs
to: 'off'
action:
- service: script.speech_engine
data:
@@ -179,4 +184,95 @@ automation:
data:
entity_id: climate.downstairs
temperature: 76
- alias: 'Set Downstairs Thermostat to 79 During Daylight'
id: set_downstairs_thermostat_79_daylight
mode: single
trigger:
- platform: state
entity_id: sun.sun
to: 'above_horizon'
- platform: numeric_state
entity_id: climate.downstairs
attribute: temperature
below: 79
condition:
- condition: state
entity_id: sun.sun
state: 'above_horizon'
- condition: template
value_template: "{{ state_attr('climate.downstairs', 'temperature') < 79 }}"
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: climate.set_temperature
data:
entity_id: climate.downstairs
temperature: 80
# Set thermostats to eco mode when everyone is away
- alias: 'Set Thermostats to Eco When Away'
id: 1e2d3c4b-eco-thermostat-away
mode: single
trigger:
- platform: state
entity_id: group.family
to: 'not_home'
condition:
- condition: state
entity_id: group.family
state: 'not_home'
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: climate.set_preset_mode
data:
entity_id:
- climate.downstairs
- climate.upstairs
preset_mode: 'eco'
# Automation: Set Thermostats Back to Cool Mode
- alias: 'Set Thermostats to Cool When Home'
id: 1e2d3c4b-cool-thermostat-home
mode: single
trigger:
- platform: state
entity_id: group.family
to: 'home'
- platform: state
entity_id: person.justin
to: 'home'
condition:
- condition: or
conditions:
- condition: state
entity_id: group.family
state: 'home'
- condition: state
entity_id: person.justin
state: 'home'
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- choose:
- conditions:
- condition: state
entity_id: group.family
state: 'home'
sequence:
- service: climate.set_preset_mode
data:
entity_id: climate.downstairs
preset_mode: 'none'
- conditions:
- condition: state
entity_id: person.justin
state: 'home'
sequence:
- service: climate.set_preset_mode
data:
entity_id: climate.upstairs
preset_mode: 'none'

View File

@@ -32,7 +32,7 @@ automation:
- service: script.speech_engine
data:
value1: "Attention! The fridge door has been open for more than 5 minutes. Please close the fridge door."
value1: "[Tell Household the Fridge Door is Open for more than 5 minutes]"
- delay: 00:30:00
- event: event_fridge_door_open

View File

@@ -269,7 +269,6 @@ automation:
DoorClosed: "The {{ trigger.entity_id.split('.')[1]|replace('_', ' ') }} is now {{ (trigger.to_state.state)|replace('_', ' ') }}."
call_garage_check: 1
- delay: "00:10:00"
- service: script.garage_lights_off
default:
- service: script.speech_engine
@@ -316,11 +315,11 @@ automation:
value1: >
"The wind speed is {{ states('sensor.pirateweather_wind_speed')|round}} miles per hour. For safety, please close the garage doors.
{% if is_state('cover.large_garage_door', 'open') -%}
The Large Garage Door is open
Large Garage Door: open
{% endif -%}
{% if is_state('cover.small_garage_door', 'open') -%}
{% if is_state('cover.large_garage_door', 'open') -%}and
{%- endif %} The small Garage Door is open.
{%- endif %} Small Garage Door: open.
{% endif %}"
##############################################################################
@@ -379,7 +378,7 @@ automation:
- service: script.speech_engine
data:
value1: "Check the garage doors. The Small garage is {{ states('cover.small_garage_door')}} and the large garage is {{ states('cover.large_garage_door')}} [Only mention the garage door that is open and remind us to close it for the night]"
value1: "Check the garage doors. The Small garage is {{ states('cover.small_garage_door')}} and the large garage is {{ states('cover.large_garage_door')}} [Always mention the specific garage door that is currently open and remind us to close it for the night]"
- alias: 'Garage Camera on Alexa Shows'
id: 4373df2a-77f2-4e19-be7c-46c7b27ca583
@@ -437,7 +436,6 @@ automation:
media_content_id: 'hide garage camera'
media_content_type: custom
- service: script.garage_lights_off
- alias: 'Garage Camera on Alexa Shows'
id: 4373df2a-77f2-4e19-be7c-46c7b27ca583
@@ -494,6 +492,5 @@ automation:
data:
media_content_id: 'hide garage camera'
media_content_type: custom
- service: script.garage_lights_off

View File

@@ -3,7 +3,6 @@
# @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
#-------------------------------------------
input_select:
log_level:
name: Log Level
@@ -34,4 +33,3 @@ automation:
- service: logger.set_level
data:
homeassistant.components: "{{ states.input_select.log_level.state }}"

View File

@@ -1,24 +0,0 @@
#-------------------------------------------
# @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# Minecraft related stuff
#-------------------------------------------
automation:
- alias: Someone on the MC server!
id: e7cc50d1-2374-4923-8e0c-2a59ff593cf8
trigger:
- platform: state
entity_id: sensor.minecraft_players_online
action:
- service: script.notify_engine
data:
value1: >
{% if states.sensor.minecraft_players_online.state|int > 0 %}
{{ states.sensor.minecraft_players_online.state }} player(s) connected to Minecraft server
{% else %}
All players disconnected from Minecraft server
{% endif %}
title: "Minecraft Server Status"
who: 'carlo'
group: 'information'

View File

@@ -38,7 +38,7 @@ automation:
trigger:
- platform: state
entity_id: binary_sensor.powerwall_grid_status
to: 'False'
to: 'off'
action:
- service: homeassistant.turn_off
@@ -102,7 +102,7 @@ automation:
trigger:
- platform: state
entity_id: binary_sensor.powerwall_grid_status
to: 'False'
to: 'off'
for:
minutes: 6
@@ -130,10 +130,10 @@ automation:
trigger:
- platform: state
entity_id: binary_sensor.powerwall_grid_status
from: 'False'
to: 'True'
from: 'off'
to: 'on'
for:
minutes: 5
minutes: 10
condition:
- condition: template
@@ -151,7 +151,7 @@ automation:
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: auto
hvac_mode: cool
- service: climate.set_hvac_mode
data:
entity_id: climate.upstairs

View File

@@ -89,3 +89,5 @@ exclude:
- switch.bear_stone
- switch.alarm_panel_1_screensaver
event_types:
- alexa_smart_home

View File

@@ -14,5 +14,4 @@ interior_off:
- switch.lr_amp
- group.tvs
- service: script.paige_lights_off # C by GE Lights (https://amzn.to/30w3UWy)
- service: script.garage_lights_off # C by GE Lights (https://amzn.to/30w3UWy)
# - service: script.noon_lights_off # Noon Home Smart Lights (https://amzn.to/3fOIPx6)

View File

@@ -18,7 +18,7 @@
>-
{%- macro dark_outside() -%}
The sun has set. I will turn on the outside lights.
[Because the sun has set, outside lights have been turned on]
{%- endmacro -%}
{%- macro garbage_day() -%}
@@ -26,7 +26,7 @@
{% if day_of_week in ['Wed', 'Sun'] %}
Today is garbage day.
{% if day_of_week == 'Wed' %}
Both Recycling and regular Garbage goes out.
Both Recycling and regular Garbage goes out.
{% endif %}
{% endif %}
{%- endmacro -%}
@@ -49,19 +49,19 @@
{{ friendly_name }}: {{ state }} {{ unit }}
{%- elif 'Precip' in friendly_name -%}
{{ friendly_name }}: {{ state }} {{ unit }}
{%- elif 'Wind Speed' in friendly_name and state | float > 15 -%}
{%- elif 'Wind Speed' in friendly_name and state | float(0) > 15 -%}
{{ friendly_name }}: {{ state }} {{ unit }}
{%- elif 'Cloud Coverage' in friendly_name and state | float > 75 -%}
{%- elif 'Cloud Coverage' in friendly_name and state | float(0) > 75 -%}
{{ friendly_name }}: {{ state }} {{ unit }}
{%- elif 'Humidity' in friendly_name and (state | float < 50 or state | float > 85) -%}
{%- elif 'Humidity' in friendly_name and (state | float(0) < 50 or state | float(0) > 85) -%}
{{ friendly_name }}: {{ state }} {{ unit }}
{%- elif 'Nearest Storm Distance' in friendly_name and state | float <= 10 -%}
{%- elif 'Nearest Storm Distance' in friendly_name and state | float(0) <= 10 -%}
{{ friendly_name }}: {{ state }} {{ unit }}
{%- endif -%}
{%- endif %}
{% endfor -%}
{%- if states('sensor.nws_alerts')|int > 0 -%}
{%- if states('sensor.nws_alerts') | int(0) > 0 -%}
{%- set alert_description = state_attr('sensor.nws_alerts', 'Alerts') %}
[Summarize the included weather alert and give overall details on any storms relevant to the residents of the home. Use the Situation Overview Section to best understand what is going on - Be sure to highlight any impacts to Seminole County or Tallahassee]
{{ alert_description }}
@@ -163,7 +163,7 @@
{%- macro uv() -%}
{% if states.sensor.pirateweather_uv_index.state|int(9999)>= 6 %}
Today's UV index is {{ states.sensor.pirateweather_uv_index.state }}.
UV index is {{ states.sensor.pirateweather_uv_index.state }}.
{%- for entity in states.sensor if 'pirateweather' in entity.entity_id %}
{%- set state = entity.state %}
{%- set unit = entity.attributes.unit_of_measurement if 'unit_of_measurement' in entity.attributes else '' %}
@@ -180,13 +180,13 @@
{%- endif -%}
{%- endif %}
{% endfor -%}
[Give helpful tip based on the current UV index and weather conditions]
[Give a helpful suggestion based on the current UV index or weather conditions]
{% endif %}
{%- endmacro -%}
{%- macro holiday() -%}
{% if states.sensor.holiday.state != '' %}
Today is {{ states.sensor.holiday.state }}. [Give an interesting fact or quote related to today]
Today is {{ states.sensor.holiday.state }}.
{% endif %}
{%- endmacro -%}
@@ -197,7 +197,7 @@
{%- elif states('sensor.fathers_countdown') | int(9999)< 20 -%}
and don't forget, there are {{ states.sensor.fathers_countdown.state }} days until Fathers day!
{%- elif states('sensor.easter_countdown') | int(9999)< 15 -%}
and don't forget, there are {{ states.sensor.easter_countdown.state }} days until Easter Sunday!
and don't forget, there are {{ states.sensor.easter_countdown.state }} colorful days until Easter Sunday!
{%- elif states('sensor.thanksgiving_day_countdown') | int(9999)< 10 and states('sensor.thanksgiving_day_countdown') | int(9999)> 0 -%}
and don't forget, there are {{ states.sensor.thanksgiving_day_countdown.state }} thankful days until Thanksgiving
{%- elif states('sensor.thanksgiving_day_countdown') | int(9999)< 1 -%}
@@ -220,12 +220,8 @@
{{state_attr('sensor.bear_stone_common_air_quality_index', 'description')}}
{% endmacro %}
{% macro inspirational_quote() %}
[Include an inspirational quote relevant to the day or situation at the end of the message"]
{% endmacro %}
{% macro fact_of_the_day() %}
[Include a relevant fact about something that happened in the past on this day at the end of the message]
[incorporate into the message a relevant fact about something that happened in the past on this day]
{% endmacro %}
{# a macro that removes all newline characters, empty spaces, and returns formatted text and replaces underscores with spaces #}
@@ -250,9 +246,9 @@
{% set day = current_date.strftime('%d') %}
{% set year = current_date.strftime('%Y') %}
{% set time = current_date.strftime('%I:%M %p') %}
Current date time: {{ month }} {{ day }}, {{ year }} {{ time }}
[Current date time: {{ month }} {{ day }}, {{ year }} {{ time }}]
Resident: Location
[Resident: Location:
- Carlo:
{%- if states('sensor.carlo_place') != 'unknown' %}
{{ states('sensor.carlo_place') }}
@@ -278,12 +274,10 @@
Away
{% endif -%}
{% if range(1, 100) | random <= 25 %}
and our cat Molly: Always home.
Cat Molly: Always home.
{% endif %}
Previous broadcast: "{{ state_attr('sensor.openai_response', 'response') }}"
[For each person, mention their location. If the same location update has already been broadcasted, do not repeat it.]
New Information:
]
[Sensor Data:
{% if call_no_announcement != 1 %}
{% if now().strftime('%H')|int(9999)< 12 and now().strftime('%H')|int(9999)> 6 %}
Good morning. [if there is only one person home, address them specifically]
@@ -332,7 +326,7 @@
{{ dark_outside() }}
{% endif %}
{% if call_garage_check == 999 or is_state('sun.sun', '9999') %}
{% if call_garage_check == 1 or is_state('sun.sun', 'below_horizon') %}
{{ garage_check() }}
{% endif %}
@@ -359,7 +353,9 @@
{% endif %}
{# call a Random fact about the house or inspiration quote #}
{{ ([moon, uv, holiday, days_until, outside_weather, outside_weather, inspirational_quote, fact_of_the_day]|random)() }}
{{ ([moon, uv, holiday, days_until, outside_weather, outside_weather, fact_of_the_day]|random)() }}
]
[Previous broadcast: "{{ state_attr('sensor.openai_response', 'response') }}" ]
{%- endmacro -%}
{{- cleanup(mother_of_all_macros()) -}}

View File

@@ -1,16 +1,16 @@
<svg width="61.5" height="20" viewBox="0 0 615 200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="2025.7.4">
<title>2025.7.4</title>
<linearGradient id="hpNis" x2="0" y2="100%">
<svg width="61.5" height="20" viewBox="0 0 615 200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="2025.8.1">
<title>2025.8.1</title>
<linearGradient id="iwraE" x2="0" y2="100%">
<stop offset="0" stop-opacity=".1" stop-color="#EEE"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="udMgF"><rect width="615" height="200" rx="30" fill="#FFF"/></mask>
<g mask="url(#udMgF)">
<mask id="IYWBb"><rect width="615" height="200" rx="30" fill="#FFF"/></mask>
<g mask="url(#IYWBb)">
<rect width="615" height="200" fill="#08C" x="0"/>
<rect width="615" height="200" fill="url(#hpNis)"/>
<rect width="615" height="200" fill="url(#iwraE)"/>
</g>
<g aria-hidden="true" fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="110">
<text x="65" y="148" textLength="500" fill="#000" opacity="0.25">2025.7.4</text>
<text x="55" y="138" textLength="500">2025.7.4</text>
<text x="65" y="148" textLength="500" fill="#000" opacity="0.25">2025.8.1</text>
<text x="55" y="138" textLength="500">2025.8.1</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 811 B

After

Width:  |  Height:  |  Size: 811 B