Skip to content

Instantly share code, notes, and snippets.

@Didgeridrew
Didgeridrew / grocy_chore_via_auto_entities.yaml
Last active October 20, 2023 01:13
HA - Use Auto-Entities card for Grocy Chores and Tasks
type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: ''
subtitle: |
Chores & Tasks
- type: custom:auto-entities
card:
type: entities
title: Chores
@Didgeridrew
Didgeridrew / modifying_dictionaries.jinja
Created September 23, 2023 02:50
HA - Modifying Dictionaries
{%- set target = ['media_player.amanda_s_bedroom_dot','media_player.basement_dot',
'media_player.amanda_s_living_room_dot']%}
======================================
{% set ns = namespace( x = {}) %}
{%- for t in expand(target) %}
{%- set ns.x = dict(ns.x, **{t.entity_id: t.name}) %}
{%- endfor %}
{{ ns.x }}
@Didgeridrew
Didgeridrew / multical_event.yaml
Last active March 6, 2024 15:21
HA - A Trigger-based Template sensor extracting events from multiple calendars and sorting them by start
template:
- trigger:
- platform: calendar
event: start
entity_id: calendar.a
- platform: calendar
event: start
entity_id: calendar.b
- platform: calendar
event: end
@Didgeridrew
Didgeridrew / calendar_list_to_binary.yaml
Last active October 1, 2023 22:16
HA - Use Calendar list service to define binary sensor and populate attribute.
# Script
alias: Calendar 1-Day Agenda to Event
sequence:
- service: calendar.list_events
data:
duration:
hours: 24
minutes: 0
seconds: 0
target:
@Didgeridrew
Didgeridrew / alexa_alarm_offset_trigger.yaml
Created August 5, 2023 15:29
HA - Trigger based on Alexa alarm with offset
alias: Pre-Alexa alarm trigger template
description: ""
trigger:
- platform: template
value_template: >-
{% set alarm_time = states('sensor.amanda_s_living_room_dot_next_alarm') |
as_datetime %}
{% if alarm_time != None %}
@Didgeridrew
Didgeridrew / increasing_trigger_value.yaml
Created August 5, 2023 15:25
HA - increasing trigger value
alias: zTest increasing trigger value
description: ""
trigger:
- platform: state
entity_id:
- input_number.ztest_1
for:
milliseconds: 500
condition:
- condition: template
@Didgeridrew
Didgeridrew / numerals.jinja
Last active July 13, 2025 08:31
HA- Macro to convert text numbers to integers
{%- macro _int_parser(text) -%}
{%- set num_names = {
'zero': 0, 'one': 1, 'two': 2, 'three': 3,
'four': 4, 'five': 5, 'six': 6, 'seven': 7,
'eight': 8, 'nine': 9, 'ten': 10, 'eleven': 11,
'twelve': 12, 'thirteen': 13, 'fourteen': 14, 'fifteen': 15,
'sixteen': 16, 'seventeen': 17, 'eighteen': 18, 'nineteen': 19,
'twenty': 20, 'thirty': 30, 'forty': 40, 'fifty': 50,
'sixty': 60, 'seventy': 70, 'eighty': 80, 'ninety': 90} -%}
@Didgeridrew
Didgeridrew / max_temp_tr_sen.yaml
Last active August 2, 2023 17:36
HA - Max Temp trigger-based template sensor
# Option 1:
template:
- trigger:
- platform: state
entity_id: sensor.temp
not_to:
- unavailable
- unknown
- platform: time
at: "00:00:00"
@Didgeridrew
Didgeridrew / circulation_fan.yaml
Created June 13, 2023 01:59
HA - Using Central HVAC blower as circulation when temperature is within desired range
alias: HVAC - Circulation Fan - Set Times
sequence:
- service: input_datetime.set_datetime
data:
datetime: "{{ now() + timedelta(minutes=10) }}"
target:
entity_id: input_datetime.hvac_circ_fan_next_off
- service: input_datetime.set_datetime
data:
@Didgeridrew
Didgeridrew / trigger_on_modulo.yaml
Created April 21, 2023 03:22
HA - Trigger an automation every time a numeric entity's value hits a multiple i.e. 10, 20, 30, 40
alias: zTest Numeric State Mod trigger
description: ""
trigger:
- platform: numeric_state
entity_id: input_number.ztest_number
below: 1
value_template: "{{ state.state|int % 10 }}"
for: "00:00:05"
condition: null
action: