Compare commits

..

4 Commits

19 changed files with 917 additions and 929 deletions

View File

@@ -1 +1 @@
2026.1.3
2025.12.3

View File

@@ -5304,6 +5304,146 @@
data:
datetime: '{% from ''time.jinja'' import set_datetime %} {{ set_datetime(0)
}}
- id: '1716580842614'
alias: Stairwell and Hallway Motion Lighting
description: ''
trigger:
- platform: state
entity_id:
- binary_sensor.stairwell_top_motion
to: 'on'
from: 'off'
id: top-detected
alias: Stairwell Top Detected
- platform: state
entity_id:
- binary_sensor.stairwell_bottom_motion
from: 'off'
to: 'on'
id: bottom-detected
alias: Stairwell Bottom Detected
- platform: state
entity_id:
- binary_sensor.stairwell_top_motion
from: 'on'
to: 'off'
id: top-clear
alias: Stairwell Top Clear
- platform: state
entity_id:
- binary_sensor.stairwell_bottom_motion
from: 'on'
to: 'off'
id: bottom-clear
alias: Stairwell Bottom Clear
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.stairwell_motion_timer
id: stairwell-timer
alias: Stairwell Timer Finished
- alias: Hallway Timer Finished
platform: event
event_type: timer.finished
event_data:
entity_id: timer.upstairs_hallway_motion_timer
id: hallway-timer
condition: []
action:
- variables:
hallway_scene: "{% set people_sleeping = is_state('input_boolean.emma_sleeping','on')
or is_state('input_boolean.kallen_sleeping','on') or is_state('input_boolean.master_bedroom_sleeping','on')
%} {% if is_state('input_boolean.night_mode','on') or people_sleeping == true
%}\n Nightlight\n{% else %}\n Adaptive\n{% endif %}\n"
hallway_action: "{% set people_sleeping = is_state('input_boolean.emma_sleeping','on')
or is_state('input_boolean.kallen_sleeping','on') or is_state('input_boolean.master_bedroom_sleeping','on')
%} {% if is_state('input_boolean.goodnight','on') %}\n off\n{% elif is_state('input_boolean.night_mode','on')
or people_sleeping == true or is_state('binary_sensor.early_night_mode','on')
%}\n on\n{% else %}\n off\n{% endif %}\n"
- choose:
- conditions:
- condition: trigger
id:
- top-detected
- condition: numeric_state
entity_id: sensor.stairwell_top_illuminance
below: input_number.upstairs_hallway_lux_threshold
alias: Stairwell Top Illuminance is below lux threshold
sequence: []
alias: Stairwell Top Detected
- conditions:
- condition: trigger
id:
- bottom-detected
- alias: Stairwell Bottom Illuminance is below lux threshold
condition: numeric_state
entity_id: sensor.stairwell_bottom_illuminance
below: input_number.stairwell_lux_threshold
sequence: []
alias: Stairwell Bottom Detected
- conditions:
- condition: trigger
id:
- top-clear
- alias: Lights are on
condition: or
conditions:
- condition: state
entity_id: light.hallway_overhead
state: 'on'
alias: Hallway Overhead
- alias: Stairwell LED Strip
condition: state
entity_id: light.stairwell_led_strip
state: 'on'
sequence:
- service: timer.start
metadata: {}
data:
duration: '{{ states(''input_number.upstairs_hallway_lights_off_delay'')
| int * 60 }}'
target:
entity_id: timer.upstairs_hallway_motion_timer
alias: Start upstairs hallway motion timer
alias: Stairwell Top Clear
- conditions:
- condition: trigger
id:
- bottom-clear
- alias: Lights are on
condition: or
conditions:
- condition: state
entity_id: light.hallway_overhead
state: 'on'
alias: Hallway Overhead
- alias: Stairwell LED Strip
condition: state
entity_id: light.stairwell_led_strip
state: 'on'
sequence:
- service: timer.start
metadata: {}
data:
duration: '{{ states(''input_number.stairwell_lights_off_delay'') | int
* 60 }}'
target:
entity_id: timer.stairwell_motion_timer
alias: Start stairwell motion timer
alias: Stairwell Bottom Clear
- conditions:
- condition: trigger
id:
- hallway-timer
sequence: []
alias: Hallway Timer Finished
- conditions:
- condition: trigger
id:
- stairwell-timer
sequence: []
alias: Stairwell Timer Finished
mode: restart
'
alias: Set time morning meds were taken
@@ -5354,96 +5494,72 @@
- id: '1722378602352'
alias: Tony Meds Cleanup
description: Handles the setting/clearing of medication configs for Tony
triggers:
- entity_id:
trigger:
- platform: state
entity_id:
- input_boolean.tony_morning_meds_reminder
from: 'on'
to: 'off'
id: morning-reminders-off
alias: Morning reminders off
trigger: state
- alias: Afternoon reminders off
platform: state
entity_id:
- input_boolean.tony_afternoon_meds_reminder
from: 'on'
to: 'off'
id: afternoon-reminders-off
trigger: state
- alias: Night reminders off
platform: state
entity_id:
- input_boolean.tony_night_meds_reminder
from: 'on'
to: 'off'
id: night-reminders-off
trigger: state
- event_type: ios.notification_action_fired
- platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TONY_MORNING_MEDS_TAKEN
id: morning-taken
alias: Morning taken iOS
trigger: event
- alias: Morning taken PC
event_type: hass_agent_notifications
event_data:
action: TONY_MORNING_MEDS_TAKEN
id: morning-taken
trigger: event
- alias: Afternoon taken iOS
alias: Morning taken
- alias: Afternoon taken
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TONY_AFTERNOON_MEDS_TAKEN
id: afternoon-taken
trigger: event
- alias: Afternoon taken PC
event_type: hass_agent_notifications
event_data:
action: TONY_AFTERNOON_MEDS_TAKEN
id: afternoon-taken
trigger: event
- alias: Night taken iOS
- alias: Night taken
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TONY_NIGHT_MEDS_TAKEN
id: night-taken
trigger: event
- alias: Morning skipped iOS
- alias: Morning skipped
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TONY_MORNING_MEDS_SKIPPED
id: morning-skipped
trigger: event
- alias: Morning skipped PC
event_type: hass_agent_notifications
event_data:
action: TONY_MORNING_MEDS_SKIPPED
id: morning-skipped
trigger: event
- alias: Afternoon skipped iOS
- alias: Afternoon skipped
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TONY_AFTERNOON_MEDS_SKIPPED
id: afternoon-skipped
trigger: event
- alias: Afternoon skipped PC
event_type: hass_agent_notifications
event_data:
action: TONY_AFTERNOON_MEDS_SKIPPED
id: afternoon-skipped
trigger: event
- alias: Night skipped iOS
- alias: Night skipped
platform: event
event_type: ios.notification_action_fired
event_data:
actionName: TONY_NIGHT_MEDS_SKIPPED
id: night-skipped
trigger: event
- entity_id:
- platform: state
entity_id:
- person.tony_stork
from: home
id: left
alias: Left
trigger: state
conditions: []
actions:
condition: []
action:
- alias: Routing
choose:
- conditions:
@@ -5452,19 +5568,19 @@
- morning-reminders-off
alias: Morning Reminders Off
sequence:
- metadata: {}
- service: counter.reset
metadata: {}
data: {}
target:
entity_id: counter.tony_morning_meds_reminder_count
alias: Reset morning reminder count
action: counter.reset
- data:
- service: script.text_notify
data:
type: alert
who: tony
message: clear_notification
tag: tony-morning-meds
alias: Clear morning notification
action: script.text_notify
- conditions:
- condition: trigger
id:
@@ -5472,18 +5588,18 @@
alias: Afternoon reminders off
sequence:
- alias: Reset afternoon reminder count
service: counter.reset
metadata: {}
data: {}
target:
entity_id: counter.tony_afternoon_meds_reminder_count
action: counter.reset
- data:
- service: script.text_notify
data:
type: alert
who: tony
message: clear_notification
tag: tony-afternoon-meds
alias: Clear afternoon notification
action: script.text_notify
- conditions:
- condition: trigger
id:
@@ -5491,90 +5607,90 @@
alias: Night reminders off
sequence:
- alias: Reset night reminder count
service: counter.reset
metadata: {}
data: {}
target:
entity_id: counter.tony_night_meds_reminder_count
action: counter.reset
- data:
- service: script.text_notify
data:
type: alert
who: tony
message: clear_notification
tag: tony-night-meds
alias: Clear night notification
action: script.text_notify
- conditions:
- alias: Morning taken
condition: trigger
- condition: trigger
id:
- morning-taken
alias: Morning taken
sequence:
- metadata: {}
- service: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.tony_morning_meds_taken
alias: Turn on morning meds taken
action: input_boolean.turn_on
- conditions:
- condition: trigger
id:
- afternoon-taken
alias: Afternoon taken
sequence:
- metadata: {}
- service: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.tony_afternoon_meds_taken
alias: Turn on afternoon meds taken
action: input_boolean.turn_on
- conditions:
- condition: trigger
id:
- night-taken
alias: Night taken
sequence:
- metadata: {}
- service: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.tony_night_meds_taken
alias: Turn on night meds taken
action: input_boolean.turn_on
- conditions:
- condition: trigger
id:
- morning-skipped
alias: Morning skipped
sequence:
- metadata: {}
- service: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.tony_morning_meds_reminder
alias: Deactivate morning reminders
action: input_boolean.turn_off
- conditions:
- condition: trigger
id:
- afternoon-skipped
alias: Afternoon skipped
sequence:
- metadata: {}
- service: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.tony_afternoon_meds_reminder
alias: Deactivate afternoon reminders
action: input_boolean.turn_off
- conditions:
- condition: trigger
id:
- night-skipped
alias: Night skipped
sequence:
- metadata: {}
- service: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.tony_night_meds_reminder
alias: Deactivate night reminders
action: input_boolean.turn_off
- conditions:
- condition: trigger
id:
@@ -5600,6 +5716,7 @@
alias: Night meds reminder active
then:
- alias: Send critical TTS notification
service: script.text_notify
metadata: {}
data:
type: critical
@@ -5607,7 +5724,6 @@
title: HEY DUMBASS
message: YOU FORGOT TO TAKE YOUR MEDS!!!!!
tag: tony-left-meds
action: script.text_notify
mode: queued
max: 10
- id: '1722386174249'

View File

@@ -65,11 +65,11 @@ calendar:
rest_command:
todoist:
method: post
url: 'https://api.todoist.com/api/v1/{{ url }}'
url: 'https://api.todoist.com/sync/v9/{{ url }}'
payload: '{{ payload }}'
headers:
Authorization: !secret todoist_api_token
content_type: 'application/x-www-form-urlencoded'
content_type: 'application/x-www-form-urlencoded'
recorder:
db_url: !secret mariadb_url
@@ -119,11 +119,6 @@ recorder:
- sensor.*_rssi
- sensor.weatherflow_hub*
- sensor.internet_round_trip*
- sensor.*_monitor_type
- sensor.*_certificate_expiry
- sensor.*_monitored_url
- sensor.*_response_time
- sensor.adguard*
entities:
- sensor.avg_ping
- sensor.max_ping
@@ -285,12 +280,6 @@ influxdb:
- binary_sensor.asus_laptop*
- sensor.*ashland*
- sensor.*kasx*
- sensor.*_monitor_type
- sensor.*_certificate_expiry
- sensor.*_monitored_url
- sensor.*_response_time
- sensor.*_status
- sensor.adguard*
entities:
- media_player.living_room_tv
- media_player.basement_tv
@@ -463,12 +452,6 @@ prometheus:
- binary_sensor.asus_laptop*
- sensor.*ashland*
- sensor.*kasx*
- sensor.*_monitor_type
- sensor.*_certificate_expiry
- sensor.*_monitored_url
- sensor.*_response_time
- sensor.*_status
- sensor.adguard*
include_entities:
- media_player.living_room_tv
- media_player.basement_tv

View File

@@ -109,9 +109,4 @@
{% macro next_twitch_stream() %}
{{ custom_time('calendar.tony_s_twitch_schedule','week,day,hour') }}
{% endmacro %}
{% macro time_diff(sensor) %}
{% set diff = (as_timestamp(now()) - as_timestamp(states(sensor))) | int %}
{{ diff }}
{% endmacro %}

View File

@@ -6,7 +6,7 @@
{% set time = time|default('day') %}
{% if method in ['text','dashboard'] %}
{% if type in ['current','full'] %}
The current weather is {{ states('weather.iron_nerd_weather_station') | lower }}. It is {{ state_attr('weather.iron_nerd_weather_station','temperature') | round }} degrees outside and feels like {{ state_attr('weather.iron_nerd_weather_station','apparent_temperature') | round }} degrees.
The current weather is {{ states('weather.iron_nerd_weather_station') | lower }}. It is {{ state_attr('weather.iron_nerd_weather_station','temperature') | round }} degrees outside and feels like {{ states('sensor.home_temperature_feels_like') | round }} degrees.
{% endif %}
{% if type in ['forecast','full'] %}
{% if 14400 <= ct <= 61200 %}

View File

@@ -25,91 +25,91 @@ template:
state: "{{ states('input_datetime.kallen_fan') != states('input_datetime.kallen_bedtime') }}"
- name: Living Room Front Hot
unique_id: 8fd9db5e-7883-42f3-8918-e78d52c680c6
state: "{{ (states('sensor.living_room_front_temperature') | float) >= (states('input_number.living_room_hot_threshold') | float) }}"
state: "{{ states('sensor.living_room_front_temperature') | float >= 80 }}"
device_class: heat
- name: Living Room Front Cold
unique_id: 48494ec8-a63f-4244-b619-ff78c44f28e8
state: "{{ (states('sensor.living_room_front_temperature') | float) <= (states('input_number.living_room_cold_threshold') | float) }}"
state: "{{ states('sensor.living_room_front_temperature') | float <= 60 }}"
device_class: cold
- name: Downstairs Bathroom Hot
unique_id: b68adefa-e30e-4454-be21-2743af0f1674
state: "{{ (states('sensor.downstairs_bathroom_temperature') | float) >= (states('input_number.downstairs_bathroom_hot_threshold') | float) }}"
state: "{{ states('sensor.downstairs_bathroom_temperature') | float >= 80 }}"
device_class: heat
- name: Downstairs Bathroom Cold
unique_id: c477a45e-f11c-4af5-87aa-90f006b74ac5
state: "{{ (states('sensor.downstairs_bathroom_temperature') | float) <= (states('input_number.downstairs_bathroom_cold_threshold') | float) }}"
state: "{{ states('sensor.downstairs_bathroom_temperature') | float <= 55 }}"
device_class: cold
- name: Stairwell Bottom Hot
unique_id: ebd09e52-c31e-442e-8767-a8083b99c66c
state: "{{ (states('sensor.stairwell_bottom_temperature') | float) >= (states('input_number.stairwell_bottom_hot_threshold') | float) }}"
state: "{{ states('sensor.stairwell_bottom_temperature') | float >= 80 }}"
device_class: heat
- name: Stairwell Bottom Cold
unique_id: 3f8b5340-0fb4-489f-8df7-c2843316009f
state: "{{ (states('sensor.stairwell_bottom_temperature') | float) <= (states('input_number.stairwell_bottom_cold_threshold') | float) }}"
state: "{{ states('sensor.stairwell_bottom_temperature') | float <= 60 }}"
device_class: cold
- name: Upstairs Bathroom Hot
unique_id: 86394cea-9499-4595-85d1-2a026e8e2b27
state: "{{ (states('sensor.upstairs_bathroom_temperature') | float) >= (states('input_number.upstairs_bathroom_hot_threshold') | float) }}"
state: "{{ states('sensor.upstairs_bathroom_temperature') | float >= 80 }}"
device_class: heat
- name: Upstairs Bathroom Cold
unique_id: 5d720614-90f0-4e69-8086-8bc0f47a78eb
state: "{{ (states('sensor.upstairs_bathroom_temperature') | float) <= (states('input_number.upstairs_bathroom_cold_threshold') | float) }}"
state: "{{ states('sensor.upstairs_bathroom_temperature') | float <= 60 }}"
device_class: cold
- name: Emma Bedroom Hot
unique_id: b453e23a-f3c9-4fab-bf82-d08af05e8a94
state: "{{ (states('sensor.emma_bedroom_temperature') | float) >= (states('input_number.emma_bedroom_hot_threshold') | float) }}"
state: "{{ states('sensor.emma_bedroom_temperature') | float >= 75 }}"
device_class: heat
- name: Emma Bedroom Cold
unique_id: 41174b21-a46f-4deb-8dbc-61a356b33db1
state: "{{ (states('sensor.emma_bedroom_temperature') | float) <= (states('input_number.emma_bedroom_cold_threshold') | float) }}"
state: "{{ states('sensor.emma_bedroom_temperature') | float <= 60 }}"
device_class: cold
- name: Basement Studio Hot
unique_id: 2c5626e9-9a3f-43b0-9595-3a15c9434b0f
state: "{{ (states('sensor.basement_studio_temperature') | float) >= (states('input_number.basement_studio_hot_threshold') | float) }}"
state: "{{ states('sensor.basement_studio_temperature') | float >= 80 }}"
device_class: heat
- name: Basement Studio Cold
unique_id: 985f4f8c-2297-4d32-ace7-818534c5e4b5
state: "{{ (states('sensor.basement_studio_temperature') | float) <= (states('input_number.basement_studio_cold_threshold') | float) }}"
state: "{{ states('sensor.basement_studio_temperature') | float <= 60 }}"
device_class: cold
- name: Living Room Back Hot
unique_id: 9a2be430-9322-492b-a0c1-bb0f034979f5
state: "{{ (states('sensor.living_room_back_temperature') | float) >= (states('input_number.living_room_hot_threshold') | float) }}"
state: "{{ states('sensor.living_room_back_temperature') | float >= 80 }}"
device_class: heat
- name: Living Room Back Cold
unique_id: 524c2ad1-1f44-42c0-b06b-28a40d439832
state: "{{ (states('sensor.living_room_back_temperature') | float) <= (states('input_number.living_room_cold_threshold') | float) }}"
state: "{{ states('sensor.living_room_back_temperature') | float <= 60 }}"
device_class: cold
- name: Mud Room Hot
unique_id: 920fa45e-8c6e-4518-9aea-5141e15a4350
state: "{{ (states('sensor.mud_room_temperature') | float) >= (states('input_number.mud_room_hot_threshold') | float) }}"
state: "{{ states('sensor.mud_room_temperature') | float >= 80 }}"
device_class: heat
- name: Mud Room Cold
unique_id: 459998f5-7011-4e96-aa8a-076591a1b1ce
state: "{{ (states('sensor.mud_room_temperature') | float) <= (states('input_number.mud_room_cold_threshold') | float) }}"
state: "{{ states('sensor.mud_room_temperature') | float <= 60 }}"
device_class: cold
- name: Stairwell Top Hot
unique_id: 22d325db-e213-4d7b-81a8-a7ba3798e751
state: "{{ (states('sensor.stairwell_top_temperature') | float) >= (states('input_number.stairwell_top_hot_threshold') | float) }}"
state: "{{ states('sensor.stairwell_top_temperature') | float >= 80 }}"
device_class: heat
- name: Stairwell Top Cold
unique_id: 925bf2d5-cfa6-4508-98c4-b7ad185ddbc1
state: "{{ (states('sensor.stairwell_top_temperature') | float) <= (states('input_number.stairwell_top_cold_threshold') | float) }}"
state: "{{ states('sensor.stairwell_top_temperature') | float <= 60 }}"
device_class: cold
- name: Kallen Bedroom Hot
unique_id: e47ba60f-e9b2-48d4-899b-f16fdb146e75
state: "{{ (states('sensor.kallen_bedroom_temperature') | float) >= (states('input_number.kallen_bedroom_hot_threshold') | float) }}"
state: "{{ states('sensor.kallen_bedroom_temperature') | float >= 75 }}"
device_class: heat
- name: Kallen Bedroom Cold
unique_id: 69115462-c159-4f5b-b047-ff8a2600fa7d
state: "{{ (states('sensor.kallen_bedroom_temperature') | float) <= (states('input_number.kallen_bedroom_cold_threshold') | float) }}"
state: "{{ states('sensor.kallen_bedroom_temperature') | float <= 60 }}"
device_class: cold
- name: Master Bedroom Hot
unique_id: ca7c96e5-ea83-4698-a43c-16e09af6d6fd
state: "{{ (states('sensor.master_bedroom_temperature') | float) >= (states('input_number.master_bedroom_hot_threshold') | float) }}"
state: "{{ states('sensor.master_bedroom_temperature') | float >= 75 }}"
device_class: heat
- name: Master Bedroom Cold
unique_id: 1577cb2c-234d-41c8-a12e-5111a77df958
state: "{{ (states('sensor.master_bedroom_temperature') | float) <= (states('input_number.master_bedroom_cold_threshold') | float) }}"
state: "{{ states('sensor.master_bedroom_temperature') | float <= 60 }}"
device_class: cold
- sensor:
- name: "Master Bedroom Target Temp"
@@ -457,146 +457,6 @@ input_number:
step: 1
unit_of_measurement: °F
icon: mdi:thermometer
living_room_hot_threshold:
name: Living Room Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
living_room_cold_threshold:
name: Living Room Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
downstairs_bathroom_hot_threshold:
name: Downstairs Bathroom Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
downstairs_bathroom_cold_threshold:
name: Downstairs Bathroom Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
stairwell_bottom_hot_threshold:
name: Stairwell Bottom Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
stairwell_bottom_cold_threshold:
name: Stairwell Bottom Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
upstairs_bathroom_hot_threshold:
name: Upstairs Bathroom Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
upstairs_bathroom_cold_threshold:
name: Upstairs Bathroom Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
emma_bedroom_hot_threshold:
name: Emma Bedroom Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
emma_bedroom_cold_threshold:
name: Emma Bedroom Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
basement_studio_hot_threshold:
name: Basement Studio Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
basement_studio_cold_threshold:
name: Basement Studio Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
mud_room_hot_threshold:
name: Mud Room Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
mud_room_cold_threshold:
name: Mud Room Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
stairwell_top_hot_threshold:
name: Stairwell Top Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
stairwell_top_cold_threshold:
name: Stairwell Top Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
kallen_bedroom_hot_threshold:
name: Kallen Bedroom Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
kallen_bedroom_cold_threshold:
name: Kallen Bedroom Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
master_bedroom_hot_threshold:
name: Master Bedroom Hot Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-up
master_bedroom_cold_threshold:
name: Master Bedroom Cold Threshold
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer-chevron-down
climate:
- platform: generic_thermostat

View File

@@ -34,9 +34,9 @@ template:
{{ states(sensor) | float }}
apparent_temperature_template: >
{% set apparent_temps = [
states.sensor.pirateweather_apparent_temperature,
states.sensor.home_temperature_feels_like,
states.sensor.home_tempest_feels_like,
states.sensor.home_temperature_feels_like,
states.sensor.pirateweather_apparent_temperature,
states.sensor.stratton_ave_apparent_temperature
] %}
{% set sensor = apparent_temps | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
@@ -148,9 +148,9 @@ template:
{{ states(sensor) | float }}
apparent_temperature_template: >
{% set apparent_temps = [
states.sensor.pirateweather_apparent_temperature,
states.sensor.home_temperature_feels_like,
states.sensor.home_tempest_feels_like,
states.sensor.home_temperature_feels_like,
states.sensor.pirateweather_apparent_temperature,
states.sensor.stratton_ave_apparent_temperature
] %}
{% set sensor = apparent_temps | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}

View File

@@ -0,0 +1,306 @@
mqtt:
sensor:
- name: "Tina Desktop - GPU Temperature"
unique_id: a6a45c56-3a73-46e4-b91c-4f97ba6f53b2
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/temperatures/gpu_core"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - CPU Temperature"
unique_id: ef715bde-0407-4873-b1e6-a9ef6505d054
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/cpu/temperatures/core_(tctl/tdie)"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Storage C Temperature"
unique_id: b8b4497b-659a-48d1-a13c-6eed0af69b51
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/storages/ct1000p1ssd8/temperatue"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Storage D Temperature"
unique_id: 6e9900a3-15fa-4d1b-93c1-567d10e1fe68
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/storages/san-disk_ssd_plus_240gb/temperatue"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Memory Usage"
unique_id: 8523c69f-9e11-44e6-91b1-9c87401f6fd4
state_topic: "iotlink/workgroup/xia_desktop/monitor/stats/memory/load/memory"
unit_of_measurement: '%'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia_desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Virtual Memory Usage"
unique_id: 7e1c0e3f-1306-4290-a0c1-c4ddd362b601
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/memory/load/virtual_memory"
unit_of_measurement: '%'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU Core Load"
unique_id: 307a1daf-0a36-4c92-a3a2-2d95762cad8c
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/load/gpu_core"
unit_of_measurement: '%'
icon: mdi:speedometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU VRAM Usage"
unique_id: 2b05dac9-99e5-47ee-86b0-fa9d4536fbe3
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/load/gpu_memory"
unit_of_measurement: '%'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU Video Engine Load"
unique_id: 029fa90b-26ba-45ea-93fd-d7d899f71e78
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/load/gpu_video_engine"
unit_of_measurement: '%'
icon: mdi:speedometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU Memory Controller Load"
unique_id: 26069885-0f51-453b-807d-c9cb0130dc05
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/load/gpu_memory_controller"
unit_of_measurement: '%'
icon: mdi:speedometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU Memory Total"
unique_id: 65393be1-797c-48d3-9287-e2f168acc2b5
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/data/gpu_memory_total"
unit_of_measurement: 'MB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU Memory Free"
unique_id: 88276fd1-02d2-4d4a-986e-f4f981761376
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/data/gpu_memory_free"
unit_of_measurement: 'MB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - GPU Memory Used"
unique_id: 68436f32-782e-4e8a-85eb-2aa26bb2f877
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/gpu_nvidia/data/gpu_memory_used"
unit_of_measurement: 'MB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Memory Used (GB)"
unique_id: f90defec-616f-4a09-9308-daf85e02b338
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/memory/data/memory_used"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Memory Available (GB)"
unique_id: 25d240a0-efe4-4269-bf79-2775354cdbb9
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/memory/data/memory_available"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Virtual Memory Used (GB)"
unique_id: be7d4104-b3f1-4244-89fe-29b720753481
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/memory/data/virtual_memory_used"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tina Desktop - Virtual Memory Available (GB)"
unique_id: 2f91de98-338c-4d21-b164-1d1970a4d220
state_topic: "iotlink/workgroup/xia-desktop/monitor/stats/memory/data/virtual_memory_available"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/xia-desktop/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
script:
tina_desktop_wake:
# To enable see https://www.home-assistant.io/components/wake_on_lan/
alias: "Tina Desktop - Wake"
sequence:
- service: wake_on_lan.send_magic_packet
data:
mac: "B4:2E:99:A8:CF:88"
tina_desktop_shutdown:
alias: "Tina Desktop - Shutdown"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/shutdown"
payload: ""
tina_desktop_suspend:
alias: "Tina Desktop - Suspend"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/suspend"
payload: ""
tina_desktop_hibernate:
alias: "Tina Desktop - Hibernate"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/hibernate"
payload: ""
tina_desktop_reboot:
alias: "Tina Desktop - Reboot"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/reboot"
payload: ""
tina_desktop_lock:
alias: "Tina Desktop - Lock"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/lock"
payload: ""
tina_desktop_logoff:
alias: "Tina Desktop - Logoff"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/logoff"
payload: ""
tina_desktop_vol_mute:
alias: "Tina Desktop - Toggle Mute"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/volume/mute"
payload: ""
tina_desktop_vol_max:
alias: "Tina Desktop - Vol Max"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/volume/set"
payload: "100"
tina_desktop_displays_on:
alias: "Tina Desktop - Displays ON"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/displays/on"
payload: ""
tina_desktop_displays_off:
alias: "Tina Desktop - Displays OFF"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/displays/off"
payload: ""
tina_desktop_refresh:
alias: "Tina Desktop - Refresh"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/refresh"
payload: ""
- service: button.press
target:
entity_id:
- button.xia_desktop_hassagent_user_refresh
- button.xia_desktop_hassagent_satellite_refresh
tina_desktop_notify:
alias: "Tina Desktop - Notify"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/notify"
payload: '{ "title": "My Notification Title", "message": "This is an example of notification using IOT Link", "launchParams": "toast://open/https://iotlink.gitlab.io" }'
tina_desktop_run_chrome:
alias: "Tina Desktop - Run Chrome"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/run"
payload: '{ "command": "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "args": "https://iotlink.gitlab.io", "path": "C:\\Program Files (x86)\\Google\\Chrome\\Application", "user": "", "visible": true, "fallback": true }'

View File

@@ -0,0 +1,328 @@
mqtt:
sensor:
- name: "Tony Desktop - GPU Temperature"
unique_id: 8c91e08e-2b30-4700-b012-54722b931c8c
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/temperatures/gpu_core"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - CPU Temperature"
unique_id: 8d27e4d8-1986-4ed5-af48-6f88a8740c3c
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/cpu/temperatures/core_(tctl/tdie)"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Storage C Temperature"
unique_id: 26822d74-0fa9-46b7-865c-74a29baf8735
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/storages/wd_black_sn770_2tb/temperatue"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Storage S Temperature"
unique_id: cbaca0c0-6dcd-4e4c-b5ae-90b0a8d7a25b
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/storages/san-disk_sd8sb8u512g1002/temperatue"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Storage V Temperature"
unique_id: 6b425eb2-25f3-486c-818a-eb92c3e8fadf
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/storages/wdc__wdbnce0010pnc/temperatue"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Storage E Temperature"
unique_id: 723c308f-535f-4624-8e46-d7e4f344079c
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/storages/ct1000p1ssd8/temperatue"
unit_of_measurement: 'C'
icon: mdi:thermometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Memory Usage"
unique_id: f380ab55-7cde-4b8c-922f-ff113cdbff77
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/memory/load/memory"
unit_of_measurement: '%'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Virtual Memory Usage"
unique_id: b2ddd600-7963-4f47-9d1d-7f74a7cdc6fa
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/memory/load/virtual_memory"
unit_of_measurement: '%'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU Core Load"
unique_id: 6ead9e42-2ef0-440f-8e36-cc5f5f5c3776
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/load/gpu_core"
unit_of_measurement: '%'
icon: mdi:speedometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU VRAM Usage"
unique_id: 7fa952df-8a8d-44de-9393-d01ae648625e
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/load/gpu_memory"
unit_of_measurement: '%'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU Video Engine Load"
unique_id: 01de9b74-f28d-4443-893c-6d0179fa831f
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/load/gpu_video_engine"
unit_of_measurement: '%'
icon: mdi:speedometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU Memory Controller Load"
unique_id: 96b6511b-95bf-4baf-a305-9b6f14dadde7
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/load/gpu_memory_controller"
unit_of_measurement: '%'
icon: mdi:speedometer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU Memory Total"
unique_id: 8ec11ad0-e184-4f0d-886f-62e9eaf57bd4
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/data/gpu_memory_total"
unit_of_measurement: 'MB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU Memory Free"
unique_id: 3854f3e3-ec12-4226-b768-4fe25b41dda9
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/data/gpu_memory_free"
unit_of_measurement: 'MB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - GPU Memory Used"
unique_id: 4c75e640-76ee-41f3-91ee-1406f275b7ac
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/gpu_nvidia/data/gpu_memory_used"
unit_of_measurement: 'MB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Memory Used (GB)"
unique_id: 90123c89-2edc-4adc-840b-3704e7bd8b56
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/memory/data/memory_used"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Memory Available (GB)"
unique_id: ef727165-0da8-47f5-a51e-dcdd2cabda60
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/memory/data/memory_available"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Virtual Memory Used (GB)"
unique_id: 0e7dfe10-fe77-430b-8bc1-022e663b83d3
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/memory/data/virtual_memory_used"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
- name: "Tony Desktop - Virtual Memory Available (GB)"
unique_id: 3b812f43-7c03-4898-b407-b9edd558aec1
state_topic: "iotlink/workgroup/tony-asus/monitor/stats/memory/data/virtual_memory_available"
unit_of_measurement: 'GB'
icon: mdi:memory
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/tony-asus/lwt"
payload_available: "ON"
payload_not_available: "OFF"
qos: 1
script:
tony_desktop_wake:
# To enable see https://www.home-assistant.io/components/wake_on_lan/
alias: "Tony Desktop - Wake"
sequence:
- service: wake_on_lan.send_magic_packet
data:
mac: "18:C0:4D:82:00:95"
tony_desktop_shutdown:
alias: "Tony Desktop - Shutdown"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/shutdown"
payload: ""
tony_desktop_suspend:
alias: "Tony Desktop - Suspend"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/suspend"
payload: ""
tony_desktop_hibernate:
alias: "Tony Desktop - Hibernate"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/hibernate"
payload: ""
tony_desktop_reboot:
alias: "Tony Desktop - Reboot"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/reboot"
payload: ""
tony_desktop_lock:
alias: "Tony Desktop - Lock"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/lock"
payload: ""
tony_desktop_logoff:
alias: "Tony Desktop - Logoff"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/logoff"
payload: ""
tony_desktop_vol_mute:
alias: "Tony Desktop - Toggle Mute"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/volume/mute"
payload: ""
tony_desktop_vol_max:
alias: "Tony Desktop - Vol Max"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/volume/set"
payload: "100"
tony_desktop_displays_on:
alias: "Tony Desktop - Displays ON"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/displays/on"
payload: ""
tony_desktop_displays_off:
alias: "Tony Desktop - Displays OFF"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/displays/off"
payload: ""
tony_desktop_refresh:
alias: "Tony Desktop - Refresh"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/refresh"
payload: ""
- service: button.press
target:
entity_id:
- button.tony_asus_hassagent_user_refresh
- button.tony_asus_hassagent_satellite_refresh
tony_desktop_notify:
alias: "Tony Desktop - Notify"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/notify"
payload: '{ "title": "My Notification Title", "message": "This is an example of notification using IOT Link", "launchParams": "toast://open/https://iotlink.gitlab.io" }'
tony_desktop_run_chrome:
alias: "Tony Desktop - Run Chrome"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/run"
payload: '{ "command": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", "args": "https://iotlink.gitlab.io", "path": "C:\\Program Files\\Google\\Chrome\\Application", "user": "", "visible": true, "fallback": true }'

View File

@@ -90,33 +90,17 @@ input_datetime:
sensor:
- platform: rest
name: Kallen Tasks
unique_id: 77045665-9222-4a6b-851f-6d9b50110107
method: GET
resource: 'https://api.todoist.com/api/v1/projects/2285969005/full'
headers:
Authorization: !secret todoist_api_token
Accept: application/json
value_template: '{{ value_json.project.id }}'
json_attributes:
- project
- tasks
- sections
scan_interval: 60
- platform: rest
name: Kallen Tasks Comments
unique_id: ae3178ad-439a-49f7-8c56-2fa866afaba5
method: GET
resource: 'https://api.todoist.com/api/v1/comments'
resource: 'https://api.todoist.com/sync/v9/projects/get_data'
params:
project_id: 2285969005
headers:
Authorization: !secret todoist_api_token
Accept: application/json
value_template: '{{ value_json.results | length }}'
value_template: '{{value_json[''project''][''id'']}}'
json_attributes:
- results
scan_interval: 60
- project
- items
scan_interval: 30
automation:
- id: 94b57d79-efe0-4f34-b5e3-baeaa5eea9f4

View File

@@ -47,6 +47,12 @@ input_boolean:
sunset_lights_triggered:
name: Sunset Lights Triggered
icon: mdi:weather-sunset
upstairs_hallway_motion_lighting:
name: Upstairs Hallway Motion Lighting
icon: mdi:motion-sensor
stairwell_motion_lighting:
name: Stairwell Motion Lighting
icon: mdi:motion-sensor
input_number:
upstairs_bathroom_motion_off_delay:

View File

@@ -79,9 +79,6 @@ input_boolean:
tv_notifications:
name: TV Notifications
icon: mdi:message
pc_notifications:
name: PC Notifications
icon: mdi:desktop-classic
input_select:
select_phones:
@@ -106,19 +103,6 @@ input_select:
- All
initial: None
icon: mdi:television-play
select_pcs:
name: Select PCs
options:
- None
- Tony
- Tina
- Kallen
- Parents
- Nerds
- Not Tony
- All
initial: None
icon: mdi:desktop-classic
text_notification_priority_level:
name: Notification Priority Level
options:
@@ -368,27 +352,6 @@ notify:
services:
- service: alexa_media_living_room_echo_dot
- service: alexa_media_basement_echo_dot
- name: pc_parents
platform: group
services:
- service: tony_asus
- service: xia_desktop
- name: pc_nerds
platform: group
services:
- service: tony_asus
- service: kallen_desktop
- name: pc_all
platform: group
services:
- service: tony_asus
- service: xia_desktop
- service: kallen_desktop
- name: pc_not_tony
platform: group
services:
- service: xia_desktop
- service: kallen_desktop
script:
volume_reset:
@@ -842,131 +805,6 @@ script:
message: '{{ message }}'
data: '{{ data|default("{}") }}'
pc_notify:
alias: 'PC Notify'
description: 'Use this to send popup text notifications to PCs in the house via HASS.Agent'
mode: queued
max: 20
fields:
who:
name: 'Who'
description: 'Which PC to send the notification to'
example: 'tony_pc, tina_pc, kallen_pc, all_pcs'
required: true
selector:
select:
options:
- tony
- tina
- kallen
- parents
- nerds
- not_tony
- all
title:
name: 'Title'
description: 'The title of the notification'
example: 'Greetings'
required: true
selector:
text:
message:
name: 'Message'
description: 'The body of the notification'
example: 'I am notifying you that this is a notification'
required: true
selector:
text:
multiline: true
actions:
name: 'Actions'
description: 'A list of actions for the notification'
required: false
selector:
object:
sequence:
- variables:
mod_who: >
{% set tony_notify = is_state('sensor.tony_asus_usernotification','AcceptsNotifications') %}
{% set tina_notify = is_state('sensor.xia_desktop_usernotification','AcceptsNotifications') %}
{% set kallen_notify = is_state('sensor.kallen_desktop_usernotification','AcceptsNotifications') %}
{% if who == 'tony' and not tony_notify %}
none
{% elif who == 'tina' and not tina_notify %}
none
{% elif who == 'kallen' and not kallen_notify %}
none
{% elif who == 'parents' %}
{% if tony_notify and not tina_notify %}
tony
{% elif not tony_notify and tina_notify %}
tina
{% elif not tony_notify and not tina_notify %}
none
{% else %}
parents
{% endif %}
{% elif who == 'nerds' %}
{% if tony_notify and not kallen_notify %}
tony
{% elif not tony_notify and kallen_notify %}
kallen
{% elif not tony_notify and not kallen_notify %}
none
{% else %}
nerds
{% endif %}
{% elif who == 'all' %}
{% if tony_notify %}
{% if tina_notify and not kallen_notify %}
parents
{% elif kallen_notify and not tina_notify %}
nerds
{% elif not tina_notify and not kallen_notify %}
tony
{% else %}
all
{% endif %}
{% elif tina_notify %}
{% if kallen_notify %}
not_tony
{% else %}
tina
{% endif %}
{% elif kallen_notify %}
kallen
{% else %}
none
{% endif %}
{% else %}
{{ who }}
{% endif %}
- if:
- condition: template
value_template: "{{ mod_who != 'none' and is_state('input_boolean.pc_notifications','on') }}"
then:
- service: >
{% if mod_who == 'tony' %}
notify.tony_asus
{% elif mod_who == 'tina' %}
notify.xia_desktop
{% elif mod_who == 'kallen' %}
notify.kallen_desktop
{% elif mod_who == 'parents' %}
notify.pc_parents
{% elif mod_who == 'nerds' %}
notify.pc_nerds
{% elif mod_who == 'not_tony' %}
notify.pc_not_tony
{% elif mod_who == 'all' %}
notify.pc_all
{% endif %}
data:
title: '{{ title }}'
message: '{{ message }}'
data:
actions: '{{ actions|default("{}") }}'
text_alert_image:
alias: 'Text Alert Image'
sequence:

View File

@@ -92,14 +92,10 @@ template:
power_usage: "{{ states('sensor.basement_server_power') | int }}W"
- name: Tony Desktop Idle
unique_id: f0ace986-a874-4fb0-ad29-8f3ebf95d8cc
state: >
{% from 'time.jinja' import time_diff %}
{{ (time_diff('sensor.tony_asus_last_active') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}
state: "{{ (states('sensor.tony_asus_system_idle_time') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}"
- name: Tina Desktop Idle
unique_id: 1933c638-c94b-468e-bb7a-c1c5b36c3651
state: >
{% from 'time.jinja' import time_diff %}
{{ (time_diff('sensor.xia_desktop_last_active') | int) > (states('input_number.first_floor_computers_idle_time') | int * 60) }}
state: "{{ (states('sensor.xia_desktop_system_idle_time') | int) > (states('input_number.first_floor_computers_idle_time') | int * 60) }}"
- name: Kallen Desktop Idle
unique_id: 680c6ae3-2ed2-451e-858b-2aee688af461
state: "{{ (states('sensor.kallen_desktop_system_idle_time') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}"

View File

@@ -1,176 +0,0 @@
template:
sensor:
- name: Xia Desktop - Memory Used
unique_id: 9890f64e-d530-4824-97f7-0d459acaa97f
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.xia_desktop_memory_used_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_memory_used_gb') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Memory Available
unique_id: bca791c1-deac-4054-bf06-a25cdb72871a
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.xia_desktop_memory_available_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_memory_available_gb') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Virtual Memory Used
unique_id: dea6cc3d-f4d8-436c-8638-6070bb6c178a
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.xia_desktop_virtual_memory_used_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_virtual_memory_used_gb') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Virtual Memory Available
unique_id: 5d6ed1a7-9af9-440f-bd75-feac8998c536
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.xia_desktop_virtual_memory_available_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_virtual_memory_available_gb') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Storage C Available Free Space
unique_id: 8b23c84e-f3ba-4ddd-ac77-6c7a84851f0f
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.xia_desktop_storage_c','AvailableSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_storage_c') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Storage C Used Space
unique_id: 3de6e5e8-4fbd-49d9-8761-925415ad46ed
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.xia_desktop_storage_c','UsedSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_storage_c') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Storage D Available Free Space
unique_id: d38bb654-8981-44d6-b07b-e270c2a3903c
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.xia_desktop_storage_d','AvailableSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_storage_d') not in ['unknown', 'unavailable'] }}
- name: Xia Desktop - Storage D Used Space
unique_id: bfbd5783-78ac-410b-8b41-e000c1b06283
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.xia_desktop_storage_d','UsedSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.xia_desktop_storage_d') not in ['unknown', 'unavailable'] }}
script:
tina_desktop_wake:
# To enable see https://www.home-assistant.io/components/wake_on_lan/
alias: "Tina Desktop - Wake"
sequence:
- service: wake_on_lan.send_magic_packet
data:
mac: "B4:2E:99:A8:CF:88"
tina_desktop_suspend:
alias: "Tina Desktop - Suspend"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/suspend"
payload: ""
tina_desktop_hibernate:
alias: "Tina Desktop - Hibernate"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/hibernate"
payload: ""
tina_desktop_lock:
alias: "Tina Desktop - Lock"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/lock"
payload: ""
tina_desktop_logoff:
alias: "Tina Desktop - Logoff"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/logoff"
payload: ""
tina_desktop_vol_mute:
alias: "Tina Desktop - Toggle Mute"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/volume/mute"
payload: ""
tina_desktop_vol_max:
alias: "Tina Desktop - Vol Max"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/volume/set"
payload: "100"
tina_desktop_displays_on:
alias: "Tina Desktop - Displays ON"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/displays/on"
payload: ""
tina_desktop_displays_off:
alias: "Tina Desktop - Displays OFF"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/displays/off"
payload: ""
tina_desktop_refresh:
alias: "Tina Desktop - Refresh"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/refresh"
payload: ""
- service: button.press
target:
entity_id:
- button.xia_desktop_hassagent_user_refresh
- button.xia_desktop_hassagent_satellite_refresh
tina_desktop_notify:
alias: "Tina Desktop - Notify"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/notify"
payload: '{ "title": "My Notification Title", "message": "This is an example of notification using IOT Link", "launchParams": "toast://open/https://iotlink.gitlab.io" }'
tina_desktop_run_chrome:
alias: "Tina Desktop - Run Chrome"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/xia-desktop/commands/run"
payload: '{ "command": "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "args": "https://iotlink.gitlab.io", "path": "C:\\Program Files (x86)\\Google\\Chrome\\Application", "user": "", "visible": true, "fallback": true }'

View File

@@ -189,32 +189,17 @@ input_select:
sensor:
- platform: rest
name: Home Tech
unique_id: 83f76f0c-d49c-407f-ad99-57d5896dac93
method: GET
resource: 'https://api.todoist.com/api/v1/projects/2285967948/full'
headers:
Authorization: !secret todoist_api_token
value_template: '{{ value_json.project.id }}'
json_attributes:
- project
- tasks
- sections
scan_interval: 60
- platform: rest
name: Home Tech Comments
unique_id: 93e6b1c1-8e92-423f-ad56-369e9bb86820
method: GET
resource: 'https://api.todoist.com/api/v1/comments'
resource: 'https://api.todoist.com/sync/v9/projects/get_data'
params:
project_id: 2285967948
headers:
Authorization: !secret todoist_api_token
Accept: application/json
value_template: '{{ value_json.results | length }}'
value_template: '{{value_json[''project''][''id'']}}'
json_attributes:
- results
scan_interval: 60
- project
- items
scan_interval: 30
# template:
# - binary_sensor:

View File

@@ -1,212 +0,0 @@
template:
sensor:
- name: Tony Asus - Memory Used
unique_id: 5264e038-c3c2-4638-9b4e-6c4e8ba0501d
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.tony_asus_memory_used_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_memory_used_gb') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Memory Available
unique_id: 46577cdb-5f23-413d-8b2c-8f0bc0be71d1
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.tony_asus_memory_available_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_memory_available_gb') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Virtual Memory Used
unique_id: 1499ad78-5f13-43e5-a1e0-c321cf35c059
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.tony_asus_virtual_memory_used_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_virtual_memory_used_gb') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Virtual Memory Available
unique_id: e7646bce-56fb-426f-afce-3671c1624169
unit_of_measurement: 'MB'
icon: mdi:memory
state: >
{% set sensor_gb = states('sensor.tony_asus_virtual_memory_available_gb') | float %}
{{ (sensor_gb * 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_virtual_memory_available_gb') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage C Available Free Space
unique_id: 873f0624-705d-455e-ac5c-63320b42d90d
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_c','AvailableSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_c') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage C Used Space
unique_id: 772cf000-1be5-403c-aa69-c6c4250094e2
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_c','UsedSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_c') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage E Available Free Space
unique_id: 106839c5-9913-4f47-860d-fdef7e4cdd9c
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_e','AvailableSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_e') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage E Used Space
unique_id: e3e2fe47-809c-4763-afa8-7664515da051
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_e','UsedSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_e') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage S Available Free Space
unique_id: 5e16e11e-c4c8-4267-8ae8-58e67e95ac77
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_s','AvailableSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_s') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage S Used Space
unique_id: 01a4d7f2-ef09-4a20-a4d5-594546651e7d
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_s','UsedSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_s') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage V Available Free Space
unique_id: e5868a4e-628b-44fe-a35e-3ff4a7eceef8
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_v','AvailableSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_v') not in ['unknown', 'unavailable'] }}
- name: Tony Asus - Storage V Used Space
unique_id: 1ee34dac-0ff3-4920-b1db-79830595096b
unit_of_measurement: 'GB'
icon: mdi:harddisk
state: >
{% set sensor_mb = state_attr('sensor.tony_asus_storage_v','UsedSpaceMB') | int %}
{{ (sensor_mb / 1024) | round(0) | int }}
availability: >
{{ states('sensor.tony_asus_storage_v') not in ['unknown', 'unavailable'] }}
script:
tony_desktop_wake:
# To enable see https://www.home-assistant.io/components/wake_on_lan/
alias: "Tony Desktop - Wake"
sequence:
- service: wake_on_lan.send_magic_packet
data:
mac: "18:C0:4D:82:00:95"
tony_desktop_suspend:
alias: "Tony Desktop - Suspend"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/suspend"
payload: ""
tony_desktop_hibernate:
alias: "Tony Desktop - Hibernate"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/hibernate"
payload: ""
tony_desktop_lock:
alias: "Tony Desktop - Lock"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/lock"
payload: ""
tony_desktop_logoff:
alias: "Tony Desktop - Logoff"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/logoff"
payload: ""
tony_desktop_vol_mute:
alias: "Tony Desktop - Toggle Mute"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/volume/mute"
payload: ""
tony_desktop_vol_max:
alias: "Tony Desktop - Vol Max"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/volume/set"
payload: "100"
tony_desktop_displays_on:
alias: "Tony Desktop - Displays ON"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/displays/on"
payload: ""
tony_desktop_displays_off:
alias: "Tony Desktop - Displays OFF"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/displays/off"
payload: ""
tony_desktop_refresh:
alias: "Tony Desktop - Refresh"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/refresh"
payload: ""
- service: button.press
target:
entity_id:
- button.tony_asus_hassagent_user_refresh
- button.tony_asus_hassagent_satellite_refresh
tony_desktop_notify:
alias: "Tony Desktop - Notify"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/notify"
payload: '{ "title": "My Notification Title", "message": "This is an example of notification using IOT Link", "launchParams": "toast://open/https://iotlink.gitlab.io" }'
tony_desktop_run_chrome:
alias: "Tony Desktop - Run Chrome"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/run"
payload: '{ "command": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", "args": "https://iotlink.gitlab.io", "path": "C:\\Program Files\\Google\\Chrome\\Application", "user": "", "visible": true, "fallback": true }'

View File

@@ -47,6 +47,7 @@ ## HACS Components
- [PyScript](https://github.com/custom-components/pyscript)
- [Hass Animated Scenes](https://github.com/chazzu/hass-animated-scenes)
- [Jokes](https://github.com/LaggAt/ha-jokes)
- [Uptime Kuma](https://github.com/meichthys/uptime_kuma)
- [Jellyfin](https://github.com/koying/jellyfin_ha)
- [Sonoff LAN](https://github.com/AlexxIT/SonoffLAN)
- [Powercalc](https://github.com/bramstroker/homeassistant-powercalc)
@@ -57,7 +58,6 @@ ## HACS Components
- [Union Pacific Big Boy Tracker](https://github.com/jheizer/up_4014_tracker)
- [WeatherFlow Forecast](https://github.com/briis/weatherflow_forecast)
- [NWS SPC Outlook](https://github.com/sedward5/nws_spc_outlook)
- [Music Assistant Queue Actions](https://github.com/droans/mass_queue)
</details>
@@ -114,7 +114,6 @@ ## HACS Lovelace Cards
- [Versatile Thermostat UI Card](https://github.com/jmcollin78/versatile-thermostat-ui-card)
- [Gauge Card Pro](https://github.com/benjamin-dcs/gauge-card-pro)
- [AdGuard Card](https://github.com/homeassistant-extras/adguard-card)
- [Music Assistant Player Card](https://github.com/droans/mass-player-card)
</details>

View File

@@ -108,12 +108,27 @@ global_on:
max_brightness:
sequence:
- alias: Turn off Adaptive Lighting and Motion Lighting
data: {}
target:
label_id:
- adaptive_lighting
- motion_lighting
action: switch.turn_off
parallel:
- service: automation.turn_off
metadata: {}
data:
stop_actions: true
target:
label_id: motion_lighting
alias: Automations
- alias: Switches
service: switch.turn_off
data: {}
target:
label_id:
- adaptive_lighting
- motion_lighting
- service: input_boolean.turn_off
metadata: {}
data: {}
target:
label_id: motion_lighting
alias: Input Booleans
- delay:
hours: 0
minutes: 0
@@ -463,12 +478,26 @@ max_brightness_cleanup:
target:
entity_id: input_select.basement_studio_scenes
alias: Set basement lights to adaptive
- service: switch.turn_on
metadata: {}
data: {}
target:
label_id: motion_lighting
alias: Turn on motion lighting
- alias: Turn on motion lighting
parallel:
- service: input_boolean.turn_on
metadata: {}
data: {}
target:
label_id: motion_lighting
alias: Input Booleans
- service: switch.turn_on
metadata: {}
data: {}
target:
label_id: motion_lighting
alias: Switches
- service: automation.turn_on
metadata: {}
data: {}
target:
label_id: motion_lighting
alias: Automations
mode: single
icon: mdi:broom
cleanup_crash:
@@ -1785,18 +1814,6 @@ tony_morning_meds:
- action: TONY_MORNING_MEDS_SKIPPED
title: Skip
action: script.text_notify
- alias: Send PC notification
action: script.pc_notify
metadata: {}
data:
who: tony
title: Morning Meds
message: '{{ response.data.notification_text }}'
actions:
- action: TONY_MORNING_MEDS_TAKEN
title: Taken
- action: TONY_MORNING_MEDS_SKIPPED
title: Skip
- alias: Send TTS if reminders > 2 and Tony is home
if:
- alias: When reminders > 2 and Tony is home
@@ -1838,18 +1855,6 @@ tony_morning_meds:
title: Skip
message: You need to take your morning meds
action: script.text_notify
- alias: Send PC notification
action: script.pc_notify
metadata: {}
data:
who: tony
title: Morning Meds
message: You need to take your morning meds
actions:
- action: TONY_MORNING_MEDS_TAKEN
title: Taken
- action: TONY_MORNING_MEDS_SKIPPED
title: Skip
- alias: Send TTS if reminders > 2 and Tony is home
if:
- alias: When reminders > 2 and Tony is home
@@ -2137,18 +2142,6 @@ tony_afternoon_meds:
- action: TONY_AFTERNOON_MEDS_SKIPPED
title: Skip
action: script.text_notify
- action: script.pc_notify
metadata: {}
data:
who: tony
title: Afternoon Meds
message: '{{ response.data.notification_text }}'
actions:
- action: TONY_AFTERNOON_MEDS_TAKEN
title: Taken
- action: TONY_AFTERNOON_MEDS_SKIPPED
title: Skip
alias: Send PC notification
- alias: Send TTS if reminders > 2 and Tony is home
if:
- alias: When reminders > 2 and Tony is home
@@ -2190,18 +2183,6 @@ tony_afternoon_meds:
title: Skip
message: You need to take your afternoon meds
action: script.text_notify
- alias: Send PC notification
action: script.pc_notify
metadata: {}
data:
who: tony
title: Afternoon Meds
message: You need to take your afternoon meds
actions:
- action: TONY_AFTERNOON_MEDS_TAKEN
title: Taken
- action: TONY_AFTERNOON_MEDS_SKIPPED
title: Skip
- alias: Send TTS if reminders > 2 and Tony is home
if:
- alias: When reminders > 2 and Tony is home

View File

@@ -450,19 +450,18 @@
unit_of_measurement: ''
icon: mdi:close-network-outline
state: >
{% set uptimekuma = states.sensor |
selectattr('entity_id','in',integration_entities('192.168.1.111')) |
selectattr('state','eq','down') |
{% set uptimekuma = states.binary_sensor |
selectattr('entity_id','in',integration_entities('uptime_kuma')) |
selectattr('state','eq','off') |
map(attribute='attributes.friendly_name') |
list %}
{{ uptimekuma | count | int }}
attributes:
services: >
{% set uptimekuma = states.sensor |
selectattr('entity_id','in',integration_entities('192.168.1.111')) |
selectattr('state','eq','down') |
{% set uptimekuma = states.binary_sensor |
selectattr('entity_id','in',integration_entities('uptime_kuma')) |
selectattr('state','eq','off') |
map(attribute='attributes.friendly_name') |
map('regex_replace', ' Status$', '') |
list %}
{{ uptimekuma | join(', ') }}
- name: Media Server Viewer Health