AutomationDataset/Wonderlux-Labs/Wonderlux-Labs_automations....

1176 lines
32 KiB
YAML

- alias: Cube Voice - Scene Creator
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
from: idle
to: listening
actions:
- action: scene.create
data:
scene_id: cube_voice_restore
snapshot_entities:
- light.cube_light_top
- light.cube_inner
id: a7612198293a4638a9a4bfd867361f8e
- id: e3e94119c906442b87993accb955a681
alias: Cube Voice - Listening
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: listening
actions:
- action: awtrix.notification
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
text: LISTENING
duration: 10
rainbow: true
- action: light.turn_on
target:
entity_id: light.cube_light_top
data:
rgb_color:
- 10
- 250
- 10
effect: Happy Blinker
- id: bf933227de44481a82be0e6bc48781a9
alias: Cube Voice - Processing
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: processing
actions:
- action: light.turn_on
target:
entity_id: light.cube_light_top
data:
rgb_color:
- 10
- 50
- 250
effect: Mysterious
- id: 224bc31d91254e57ad8d93e8549be334
alias: Cube Voice - Speaking
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: processing
actions:
- action: light.turn_on
data:
effect: 'Music: Vibrate'
target:
entity_id: light.cube_voice_ring
- id: speakandrestore123948
alias: Cube Voice - Speaking and Restore
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: idle
id: restore
actions:
- action: scene.turn_on
target:
entity_id: scene.cube_voice_restore
- id: '1755313710558'
alias: Persona Switcher
description: ''
triggers:
- trigger: state
entity_id:
- input_select.current_persona
from: null
to: null
conditions: []
actions:
- choose:
- conditions:
- condition: state
entity_id: input_select.current_persona
state: jax
sequence:
- action: select.select_option
data:
option: JAX
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: buddy
sequence:
- action: select.select_option
data:
option: BUDDY
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: sparkle
sequence:
- action: select.select_option
data:
option: SPARKLE
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: zorp
sequence:
- action: select.select_option
data:
option: ZORP
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: neon
sequence:
- action: select.select_option
data:
option: NEON
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: crash
sequence:
- action: select.select_option
data:
option: CRASH
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: thecube
sequence:
- action: select.select_option
data:
option: THECUBE
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: mobius
sequence:
- action: select.select_option
data:
option: MOBIUS
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions:
- condition: state
entity_id: input_select.current_persona
state: NEON
sequence:
- action: select.select_option
data:
option: NEON
target:
entity_id:
- select.home_assistant_voice_09739d_assistant
- select.esp32_s3_box_3_52b3dc_assistant
- conditions: []
sequence: []
mode: single
- id: '1755332428238'
alias: Siren - Auto Off
description: Auto turn off siren after 20 seconds
triggers:
- trigger: state
entity_id:
- siren.small_siren
to: 'on'
for:
hours: 0
minutes: 0
seconds: 20
conditions: []
actions:
- action: siren.turn_off
metadata: {}
data: {}
target:
entity_id: siren.small_siren
mode: single
- id: '1755332428239'
alias: Fan - Auto Off
description: Auto turn off fan after 1 minute
triggers:
- trigger: state
entity_id:
- switch.fan_switch
to: 'on'
for:
hours: 0
minutes: 1
seconds: 0
conditions: []
actions:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.fan_switch
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.fan_cooldown
mode: single
- id: '1755332428240'
alias: Strobe - Auto Off
description: Auto turn off strobe after 30 seconds
triggers:
- trigger: state
entity_id:
- switch.strobe_switch
to: 'on'
for:
hours: 0
minutes: 0
seconds: 30
conditions: []
actions:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.strobe_switch
mode: single
- id: '1755332428241'
alias: Blacklight - Auto Off
description: Auto turn off blacklight after 30 seconds
triggers:
- trigger: state
entity_id:
- switch.blacklight_switch
to: 'on'
for:
hours: 0
minutes: 0
seconds: 30
conditions: []
actions:
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.blacklight_switch
mode: single
- id: '1755332428242'
alias: Fan Cooldown Clear
description: Clear fan cooldown after 1 hour
triggers:
- trigger: state
entity_id:
- input_boolean.fan_cooldown
to: 'on'
for:
hours: 1
minutes: 0
seconds: 0
conditions: []
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.fan_cooldown
mode: single
- id: '1755333596935'
alias: Health - Lights Red
description: ''
triggers:
- trigger: state
entity_id:
- sensor.backend_health_check
to: unavailable
for:
hours: 0
minutes: 0
seconds: 15
- trigger: state
entity_id:
- sensor.backend_health_check
to: unknown
for:
hours: 0
minutes: 0
seconds: 15
conditions: []
actions:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 99
- 0
- 0
flash: long
target:
entity_id: light.cube_voice_ring
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 86
- 0
- 0
effect: Breathe
target:
entity_id: light.cube_light_top
mode: single
- id: '1755333757049'
alias: Health Healthy
description: Health Healthy
triggers:
- trigger: state
entity_id:
- sensor.backend_health_check
to: healthy
for:
hours: 0
minutes: 0
seconds: 15
from: unavailable
conditions: []
actions:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 200
- 0
flash: long
target:
entity_id: light.cube_voice_ring
- action: light.turn_on
metadata: {}
data:
effect: twinkle
target:
entity_id: light.cube_light_top
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: light.turn_on
metadata: {}
data:
brightness_pct: 100
rgb_color:
- 116
- 0
- 100
target:
entity_id: light.cube_light_top
- delay:
hours: 0
minutes: 0
seconds: 30
milliseconds: 0
- action: light.turn_on
metadata: {}
data:
effect: none
target:
entity_id:
- light.cube_inner
- light.cube_light_top
mode: single
- id: cycle_persona_automation
alias: Current Persona GLITCH
description: hange current persona
triggers:
- trigger: state
entity_id:
- input_select.current_persona
conditions: []
actions:
- action: siren.turn_on
target:
entity_id: siren.small_siren
data: {}
- action: light.turn_on
metadata: {}
data:
brightness_pct: 100
effect: Acid
target:
entity_id: light.cube_light_top
- action: music_assistant.play_media
metadata: {}
data:
media_type: track
media_id: glitch cube theme song!
enqueue: replace
target:
entity_id: media_player.cube_jukebox
mode: single
- id: motion_auto_reset
alias: Motion Auto Reset
description: Automatically reset motion detection after 30 seconds
triggers:
- trigger: state
entity_id: input_boolean.motion_detected
to: 'on'
for:
seconds: 30
conditions: []
actions:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.motion_detected
mode: restart
- id: low_battery_alert
alias: Low Battery Alert
description: Alert when low battery is detected
triggers:
- trigger: state
entity_id: input_boolean.low_battery
to: 'on'
conditions: []
actions:
- action: light.turn_on
target:
entity_id: light.cube_voice_ring
data:
rgb_color:
- 255
- 0
- 0
flash: long
- action: persistent_notification.create
data:
title: Low Battery Warning
message: System battery is low. Consider finding power.
notification_id: low_battery_alert
mode: single
- id: cube_busy_visual
alias: Cube Busy Visual
description: Show visual indicator when cube is busy
triggers:
- trigger: state
entity_id: input_boolean.cube_busy
to: 'on'
- trigger: state
entity_id: input_boolean.cube_busy
to: 'off'
conditions: []
actions:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.cube_busy
state: 'on'
sequence:
- action: light.turn_on
data:
effect: Happy Blinker
brightness_pct: 50
target:
entity_id:
- light.cube_light_top
- conditions:
- condition: state
entity_id: input_boolean.cube_busy
state: 'off'
sequence:
- action: light.turn_on
data:
effect: '{{ state_attr("light.cube_light_top", "effect_list") | random }}'
target:
entity_id: light.cube_light_top
mode: restart
- id: awtrix_persona_change
alias: AWTRIX Persona Display
description: Show persona change on AWTRIX display
triggers:
- trigger: state
entity_id: input_select.current_persona
conditions: []
actions:
- service: mqtt.publish
data:
topic: awtrix/custom/persona
payload: "{\n \"text\": \"{{ states('input_select.current_persona').upper()\
\ }}\",\n \"icon\": {% if states('input_select.current_persona') == 'buddy'\
\ %}2022{% elif states('input_select.current_persona') == 'jax' %}7956{% elif\
\ states('input_select.current_persona') == 'lomi' %}7919{% elif states('input_select.current_persona')\
\ == 'zorp' %}7982{% else %}7786{% endif %},\n \"color\": {% if states('input_select.current_persona')\
\ == 'buddy' %}[0, 200, 255]{% elif states('input_select.current_persona')\
\ == 'jax' %}[255, 100, 0]{% elif states('input_select.current_persona') ==\
\ 'lomi' %}[255, 0, 200]{% elif states('input_select.current_persona') ==\
\ 'zorp' %}[100, 255, 0]{% else %}[255, 255, 255]{% endif %},\n \"duration\"\
: 8\n}\n"
mode: single
- id: awtrix_battery_alert
alias: AWTRIX Battery Alert
description: Show battery status on AWTRIX
triggers:
- trigger: state
entity_id: input_boolean.low_battery
conditions: []
actions:
- service: mqtt.publish
data:
topic: awtrix/custom/battery
payload: "{\n \"text\": \"{% if states('input_boolean.low_battery') == 'on'\
\ %}LOW BAT{% else %}BAT OK{% endif %}\",\n \"icon\": {% if states('input_boolean.low_battery')\
\ == 'on' %}184{% else %}183{% endif %},\n \"color\": {% if states('input_boolean.low_battery')\
\ == 'on' %}[255, 0, 0]{% else %}[0, 255, 0]{% endif %},\n \"effect\": \"\
{% if states('input_boolean.low_battery') == 'on' %}BlinkyRainbow{% endif\
\ %}\",\n \"duration\": 10\n}\n"
mode: single
- id: awtrix_motion_alert
alias: AWTRIX Motion Alert
description: Show motion detection on AWTRIX
triggers:
- trigger: state
entity_id: input_boolean.motion_detected
to: 'on'
conditions: []
actions:
- service: mqtt.publish
data:
topic: awtrix/custom/motion
payload: "{\n \"text\": \"MOTION\",\n \"icon\": 7876,\n \"color\": [255,\
\ 165, 0],\n \"effect\": \"ColorWipe\",\n \"duration\": 5\n}\n"
mode: single
- id: awtrix_health_status
alias: AWTRIX Health Status
description: Show system health on AWTRIX
triggers:
- trigger: state
entity_id: sensor.backend_health_check
conditions: []
actions:
- service: mqtt.publish
data:
topic: awtrix/custom/health
payload: "{\n \"text\": \"{{ trigger.to_state.state.upper() }}\",\n \"icon\"\
: {% if trigger.to_state.state == 'healthy' %}4687{% else %}4688{% endif %},\n\
\ \"color\": {% if trigger.to_state.state == 'healthy' %}[0, 255, 0]{% elif\
\ trigger.to_state.state == 'degraded' %}[255, 255, 0]{% else %}[255, 0, 0]{%\
\ endif %},\n \"duration\": 8\n}\n"
mode: single
- id: awtrix_conversation_counter
alias: AWTRIX Conversation Update
description: Show conversation count on AWTRIX
triggers:
- trigger: state
entity_id: counter.daily_conversations
conditions: []
actions:
- service: mqtt.publish
data:
topic: awtrix/custom/conversations
payload: "{\n \"text\": \"CHATS {{ states('counter.daily_conversations') }}\"\
,\n \"icon\": 7929,\n \"color\": [0, 255, 200],\n \"duration\": 6\n}\n"
mode: single
- id: '1755536429534'
alias: Speak Weather
description: ''
triggers:
- trigger: state
entity_id:
- sensor.world_state
attribute: weather_updated_at
for:
hours: 0
minutes: 0
seconds: 1
conditions:
- condition: state
entity_id: media_player.square_voice
state: idle
for:
hours: 0
minutes: 0
seconds: 30
actions:
- action: tts.cloud_say
metadata: {}
data:
cache: false
entity_id: media_player.square_voice
message: '{{ state_attr(''sensor.world_state'',''weather_conditions'') }}'
language: en-US
mode: single
- id: '1755758825522'
alias: LOW BATTERY ON
description: Trigger low battery mode when cube battery drops below 12.2V
triggers:
- trigger: numeric_state
entity_id:
- sensor.cube_battery_volts
below: 12.2
conditions: []
actions:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.low_battery_mode
mode: single
- id: '1755760732184'
alias: 'Awtrix: Now Playing'
description: ''
triggers:
- trigger: state
entity_id:
- media_player.cube_jukebox
to: playing
conditions: []
actions:
- action: awtrix.notification
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
text: 'Now playing: {{ state_attr(''media_player.cube_jukebox'', ''media_title'')
}} -- {{ state_attr(''media_player.cube_jukebox'', ''media_artist'') }}'
duration: 30
icon: '39264'
rainbow: false
pushIcon: '1'
repeat: -1
wakeup: true
mode: single
- id: '1755841067280'
alias: Analyze Camera
description: ''
triggers:
- trigger: state
entity_id:
- switch.camera_motion_alarm
to: 'on'
conditions: []
actions:
- action: script.main_cam_analyze_detail
metadata: {}
data: {}
mode: single
- id: '1755864373097'
alias: keylights
description: ''
triggers:
- trigger: time_pattern
minutes: /1
conditions: []
actions:
- action: light.turn_on
metadata: {}
data:
effect: '{{ state_attr("light.esphome_web_510674_key_rgb_matrix", "effect_list")
| random }}'
target:
entity_id: light.esphome_web_510674_key_rgb_matrix
mode: single
- id: '1755864517367'
alias: siren
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.esphome_web_510674_right_encoder_button
to: 'on'
conditions: []
actions:
- action: siren.turn_on
metadata: {}
data: {}
target:
entity_id: siren.small_siren
mode: single
- id: 123456781aaa92
alias: Cube Voice - Scene Creator
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
from: idle
to: listening
actions:
- action: scene.create
data:
scene_id: cube_voice_restore
snapshot_entities:
- light.cube_light_top
- light.cube_inner
- id: voicelistening123456
alias: Cube Voice - Listening
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: listening
actions:
- action: awtrix.notification
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
text: BUDDY is LiStEnING
duration: 10
rainbow: true
- action: light.turn_on
target:
entity_id: light.cube_light_top
data:
rgb_color:
- 10
- 10
- 200
- id: voiceprocessing1234
alias: Cube Voice - Processing
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: processing
actions:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.cube_busy
- id: speakandrestore123948
alias: Cube Voice - Speaking and Restore
triggers:
- trigger: state
entity_id: assist_satellite.square_voice
to: speaking
- trigger: state
entity_id: assist_satellite.square_voice
to: idle
id: restore
actions:
- choose:
- conditions:
- condition: trigger
id: restore
sequence:
- action: scene.turn_on
target:
entity_id: scene.cube_voice_restore
- action: input_boolean.turn_off
target:
entity_id: input_boolean.cube_busy
default:
- action: light.turn_on
target:
entity_id: light.cube_inner
data:
effect: 'Music: Vibrate'
- id: cube_proactive_motion_check
alias: 'Cube: Motion After Quiet Period'
trigger:
- platform: state
entity_id: binary_sensor.living_room_motion
to: 'on'
condition:
- condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(states.sensor.cube_last_conversation_time
| default(0))) > 1800 }}
'
action:
- service: rest_command.glitchcube_proactive
data:
trigger: motion_after_quiet
context: Motion detected in living room after {{ ((as_timestamp(now()) - as_timestamp(states.sensor.cube_last_conversation_time
| default(0))) / 60) | round }} minutes of quiet
- id: cube_proactive_arrival_checkin
alias: 'Cube: Arrival Check-in'
trigger:
- platform: state
entity_id: person.user
to: home
condition:
- condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(trigger.from_state.last_changed))
> 7200 }}
'
action:
- service: rest_command.glitchcube_proactive
data:
trigger: arrival_home
context: User just arrived home after being away for {{ ((as_timestamp(now())
- as_timestamp(trigger.from_state.last_changed)) / 3600) | round(1) }} hours
- id: cube_proactive_weather_alert
alias: 'Cube: Weather Change Alert'
trigger:
- platform: state
entity_id: weather.home
attribute: condition
condition:
- condition: template
value_template: "{{ trigger.to_state.attributes.condition in ['rainy', 'snowy',\
\ 'stormy', 'windy'] and \n trigger.from_state.attributes.condition not in\
\ ['rainy', 'snowy', 'stormy', 'windy'] }}\n"
action:
- service: rest_command.glitchcube_proactive
data:
trigger: weather_change
context: Weather changed from {{ trigger.from_state.attributes.condition }}
to {{ trigger.to_state.attributes.condition }}
- id: cube_proactive_evening_checkin
alias: 'Cube: Evening Check-in'
trigger:
- platform: time
at: '21:00:00'
condition:
- condition: state
entity_id: person.user
state: home
- condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(states.sensor.cube_last_conversation_time
| default(0))) > 3600 }}
'
action:
- service: rest_command.glitchcube_proactive
data:
trigger: evening_checkin
context: It's evening (9 PM) and user has been home without interaction for
{{ ((as_timestamp(now()) - as_timestamp(states.sensor.cube_last_conversation_time
| default(0))) / 60) | round }} minutes
- id: cube_proactive_morning_energy
alias: 'Cube: Morning Energy Report'
trigger:
- platform: time
at: 08:00:00
condition:
- condition: state
entity_id: person.user
state: home
- condition: state
entity_id: binary_sensor.workday_sensor
state: 'on'
action:
- service: rest_command.glitchcube_proactive
data:
trigger: morning_energy_report
context: 'Good morning! It''s a workday. Current energy usage: {{ states(''sensor.home_energy_consumption'')
}}kW. Weather: {{ states(''weather.home'') }}'
- id: cube_proactive_device_offline
alias: 'Cube: Important Device Offline'
trigger:
- platform: state
entity_id:
- binary_sensor.internet_connection
- binary_sensor.nas_online
- binary_sensor.security_system
to: 'off'
for: 00:05:00
action:
- service: rest_command.glitchcube_proactive
data:
trigger: device_offline_alert
context: Important device {{ trigger.entity_id }} has been offline for 5 minutes
- id: cube_proactive_loneliness_check
alias: 'Cube: Extended Isolation Check'
trigger:
- platform: time_pattern
hours: /4
condition:
- condition: state
entity_id: person.user
state: home
- condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(states.sensor.cube_last_conversation_time
| default(0))) > 14400 }}
'
- condition: time
after: 08:00:00
before: '22:00:00'
action:
- service: rest_command.glitchcube_proactive
data:
trigger: loneliness_check
context: User has been home for {{ ((as_timestamp(now()) - as_timestamp(states.sensor.cube_last_conversation_time
| default(0))) / 3600) | round(1) }} hours without interaction. Checking in
to see how they're doing
- id: cube_proactive_energy_spike
alias: 'Cube: High Energy Usage Alert'
trigger:
- platform: numeric_state
entity_id: sensor.home_energy_consumption
above: 5.0
for: 00:10:00
action:
- service: rest_command.glitchcube_proactive
data:
trigger: high_energy_usage
context: 'Energy consumption has been high ({{ states(''sensor.home_energy_consumption'')
}}kW) for 10 minutes. Current time: {{ now().strftime(''%H:%M'') }}'
- id: cube_proactive_security_event
alias: 'Cube: Security Event Response'
trigger:
- platform: state
entity_id: binary_sensor.front_door
to: 'on'
- platform: state
entity_id: binary_sensor.back_door
to: 'on'
condition:
- condition: or
conditions:
- condition: state
entity_id: person.user
state: not_home
- condition: time
after: '23:00:00'
before: 06:00:00
action:
- service: rest_command.glitchcube_proactive
data:
trigger: security_event
context: '{{ trigger.entity_id }} opened at {{ now().strftime(''%H:%M'') }}
when user status is {{ states(''person.user'') }}'
- id: awtrix_location_context
alias: AWTRIX Location Context
description: Shows current location with time context and coordinates
triggers:
- trigger: time_pattern
minutes: /5
- trigger: state
entity_id: input_text.current_location
- trigger: state
entity_id: sun.sun
conditions: []
actions:
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: location
text: 📍 {{ states('input_text.current_location') }} - {{ now().strftime('%I:%M
%p') }}
icon: 7786
color: '{% set hour = now().hour %}{% if hour < 6 %}#6464FF{% elif hour < 12
%}#FFC800{% elif hour < 17 %}#FF9600{% elif hour < 21 %}#FF6400{% else %}#C800FF{%
endif %}'
duration: 12
scrollSpeed: 85
textCase: 1
center: true
mode: single
- id: awtrix_weather_info
alias: AWTRIX Weather Info
description: Dynamic weather display with current conditions
triggers:
- trigger: time_pattern
minutes: /10
- trigger: state
entity_id: weather.playaweather
- trigger: state
entity_id: weather.pirateweather
conditions: []
actions:
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: weather
text: 🌤️ {{ state_attr('weather.playaweather', 'temperature') | int }}°F H{{
state_attr('weather.playaweather', 'humidity') }}% W{{ state_attr('weather.playaweather',
'wind_speed') | round(1) }}mph
icon: '{% set condition = states(''weather.playaweather'') %}{% if condition
== ''sunny'' %}a2282{% elif condition == ''clear-night'' %}a2283{% elif condition
== ''partlycloudy'' %}a2284{% elif condition == ''cloudy'' %}a2285{% elif
condition == ''rainy'' %}a2286{% elif condition == ''snowy'' %}a2287{% else
%}a2282{% endif %}'
color: '{% set temp = state_attr(''weather.playaweather'', ''temperature'')
| int %}{% if temp < 70 %}#0096FF{% elif temp < 80 %}#00FF64{% elif temp <
90 %}#FFFF00{% elif temp < 100 %}#FF9600{% else %}#FF0000{% endif %}'
duration: 15
scrollSpeed: 75
center: false
mode: single
- id: awtrix_glitch_cube_alert
alias: AWTRIX Glitch Cube Alert
description: Fun animated notification with HEY GLITCH CUBE message
triggers:
- trigger: time_pattern
minutes: /3
- trigger: state
entity_id: input_select.current_persona
- trigger: state
entity_id: counter.daily_conversations
conditions: []
actions:
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: hey_glitch
text: 🎉 HEY GLITCH CUBE! 🎉
icon: '{% set persona = states(''input_select.current_persona'') %}{% if persona
== ''buddy'' %}2022{% elif persona == ''jax'' %}7956{% elif persona == ''lomi''
%}7919{% elif persona == ''zorp'' %}7982{% else %}7786{% endif %}'
rainbow: true
effect: BlinkyRainbow
duration: 8
scrollSpeed: 100
center: false
mode: single
- id: awtrix_system_status
alias: AWTRIX System Status
description: Shows current persona and conversation count
triggers:
- trigger: state
entity_id: input_select.current_persona
- trigger: state
entity_id: counter.daily_conversations
- trigger: time_pattern
minutes: /15
conditions: []
actions:
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: status
text: 🤖 {{ states('input_select.current_persona').upper() }} - {{ states('counter.daily_conversations')
}} CHATS
icon: '{% set persona = states(''input_select.current_persona'') %}{% if persona
== ''buddy'' %}2022{% elif persona == ''jax'' %}7956{% elif persona == ''lomi''
%}7919{% elif persona == ''zorp'' %}7982{% else %}7786{% endif %}'
color: '{% set persona = states(''input_select.current_persona'') %}{% if persona
== ''buddy'' %}#00C8FF{% elif persona == ''jax'' %}#FF6400{% elif persona
== ''lomi'' %}#FF00C8{% elif persona == ''zorp'' %}#64FF00{% else %}#FFFFFF{%
endif %}'
duration: 15
scrollSpeed: 80
center: false
mode: single
- id: awtrix_manual_hey_glitch
alias: AWTRIX Manual Hey Glitch
description: Manually trigger HEY GLITCH CUBE alert via input button
triggers:
- trigger: state
entity_id: input_button.cycle_persona
conditions: []
actions:
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: hey_glitch
text: 🚨 HEY GLITCH CUBE! 🚨 PERSONA SWITCH!
icon: 7982
rainbow: true
effect: BlinkyRainbow
duration: 10
scrollSpeed: 120
center: false
mode: single
- id: awtrix_clear_apps
alias: AWTRIX Clear All Apps
description: Clear all custom AWTRIX apps when maintenance mode enabled
triggers:
- trigger: state
entity_id: input_boolean.maintenance_mode
to: 'on'
conditions: []
actions:
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: location
text: ''
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: weather
text: ''
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: hey_glitch
text: ''
- service: awtrix.custom_app
data:
device: ac07cb1bceee39dce3af75aa6c6d784c
app: status
text: ''
mode: single
- id: cube_proactive_bored
alias: 'Cube: Proactive Boredom Check'
trigger:
- platform: state
entity_id: binary_sensor.living_room_motion
to: 'on'
condition:
- condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(states.conversation.last_conversation_time
| default(0))) > 1200 }}
'
action:
- service: assist_satellite.start_conversation
target:
entity_id: assist_satellite.square_voice
data:
start_message: '[PROACTIVE] motion_detected_with_boredom: Motion in living room,
no conversation for {{ ((as_timestamp(now()) - as_timestamp(states.conversation.last_conversation_time
| default(0))) / 60) | round }} minutes'
extra_system_prompt: You detected motion after a period of inactivity. Be engaging
and offer to help with activities or entertainment.
- id: cube_proactive_lonely
alias: 'Cube: Proactive Loneliness'
trigger:
- platform: time_pattern
minutes: /30
condition:
- condition: state
entity_id: person.user
state: home
- condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(states.conversation.last_conversation_time
| default(0))) > 3600 }}
'
action:
- service: assist_satellite.start_conversation
target:
entity_id: assist_satellite.square_voice
data:
start_message: '[PROACTIVE] loneliness_check: User is home but no interaction
for {{ ((as_timestamp(now()) - as_timestamp(states.conversation.last_conversation_time
| default(0))) / 60) | round }} minutes, feeling a bit lonely'
extra_system_prompt: You haven't talked to the user in a while and want to check
in. Be friendly and offer companionship or suggest activities.
- id: cube_proactive_weather_alert
alias: 'Cube: Proactive Weather Alert'
trigger:
- platform: state
entity_id: weather.home
attribute: condition
to: rainy
action:
- service: assist_satellite.start_conversation
target:
entity_id: assist_satellite.square_voice
data:
start_message: '[PROACTIVE] weather_change_alert: Weather changed to {{ states(''weather.home'')
}}, might want to let you know about potential impacts'
extra_system_prompt: The weather has changed and you want to inform the user
about potential impacts or suggestions related to the new weather conditions.