Compare commits
11 Commits
sports-not
...
2025.12.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
877d339a90
|
|||
|
e222337fa1
|
|||
|
2721bd6659
|
|||
|
f264412639
|
|||
|
6cddca76f7
|
|||
|
f57c41868e
|
|||
|
d091cadacf
|
|||
|
92adc64d72
|
|||
|
259757a537
|
|||
|
d0d8d0477f
|
|||
|
ac6f7978be
|
@@ -1 +1 @@
|
||||
2025.12.3
|
||||
2025.12.4
|
||||
118
automations.yaml
118
automations.yaml
@@ -5354,72 +5354,96 @@
|
||||
- id: '1722378602352'
|
||||
alias: Tony Meds Cleanup
|
||||
description: Handles the setting/clearing of medication configs for Tony
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
triggers:
|
||||
- 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
|
||||
- platform: event
|
||||
event_type: ios.notification_action_fired
|
||||
trigger: state
|
||||
- event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: TONY_MORNING_MEDS_TAKEN
|
||||
id: morning-taken
|
||||
alias: Morning taken
|
||||
- alias: Afternoon taken
|
||||
platform: event
|
||||
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
|
||||
event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: TONY_AFTERNOON_MEDS_TAKEN
|
||||
id: afternoon-taken
|
||||
- alias: Night taken
|
||||
platform: event
|
||||
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
|
||||
event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: TONY_NIGHT_MEDS_TAKEN
|
||||
id: night-taken
|
||||
- alias: Morning skipped
|
||||
platform: event
|
||||
trigger: event
|
||||
- alias: Morning skipped iOS
|
||||
event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: TONY_MORNING_MEDS_SKIPPED
|
||||
id: morning-skipped
|
||||
- alias: Afternoon skipped
|
||||
platform: event
|
||||
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
|
||||
event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: TONY_AFTERNOON_MEDS_SKIPPED
|
||||
id: afternoon-skipped
|
||||
- alias: Night skipped
|
||||
platform: event
|
||||
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
|
||||
event_type: ios.notification_action_fired
|
||||
event_data:
|
||||
actionName: TONY_NIGHT_MEDS_SKIPPED
|
||||
id: night-skipped
|
||||
- platform: state
|
||||
entity_id:
|
||||
trigger: event
|
||||
- entity_id:
|
||||
- person.tony_stork
|
||||
from: home
|
||||
id: left
|
||||
alias: Left
|
||||
condition: []
|
||||
action:
|
||||
trigger: state
|
||||
conditions: []
|
||||
actions:
|
||||
- alias: Routing
|
||||
choose:
|
||||
- conditions:
|
||||
@@ -5428,19 +5452,19 @@
|
||||
- morning-reminders-off
|
||||
alias: Morning Reminders Off
|
||||
sequence:
|
||||
- service: counter.reset
|
||||
metadata: {}
|
||||
- metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: counter.tony_morning_meds_reminder_count
|
||||
alias: Reset morning reminder count
|
||||
- service: script.text_notify
|
||||
data:
|
||||
action: counter.reset
|
||||
- data:
|
||||
type: alert
|
||||
who: tony
|
||||
message: clear_notification
|
||||
tag: tony-morning-meds
|
||||
alias: Clear morning notification
|
||||
action: script.text_notify
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id:
|
||||
@@ -5448,18 +5472,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
|
||||
- service: script.text_notify
|
||||
data:
|
||||
action: counter.reset
|
||||
- data:
|
||||
type: alert
|
||||
who: tony
|
||||
message: clear_notification
|
||||
tag: tony-afternoon-meds
|
||||
alias: Clear afternoon notification
|
||||
action: script.text_notify
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id:
|
||||
@@ -5467,90 +5491,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
|
||||
- service: script.text_notify
|
||||
data:
|
||||
action: counter.reset
|
||||
- data:
|
||||
type: alert
|
||||
who: tony
|
||||
message: clear_notification
|
||||
tag: tony-night-meds
|
||||
alias: Clear night notification
|
||||
action: script.text_notify
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
- alias: Morning taken
|
||||
condition: trigger
|
||||
id:
|
||||
- morning-taken
|
||||
alias: Morning taken
|
||||
sequence:
|
||||
- service: input_boolean.turn_on
|
||||
metadata: {}
|
||||
- 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:
|
||||
- service: input_boolean.turn_on
|
||||
metadata: {}
|
||||
- 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:
|
||||
- service: input_boolean.turn_on
|
||||
metadata: {}
|
||||
- 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:
|
||||
- service: input_boolean.turn_off
|
||||
metadata: {}
|
||||
- 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:
|
||||
- service: input_boolean.turn_off
|
||||
metadata: {}
|
||||
- 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:
|
||||
- service: input_boolean.turn_off
|
||||
metadata: {}
|
||||
- metadata: {}
|
||||
data: {}
|
||||
target:
|
||||
entity_id: input_boolean.tony_night_meds_reminder
|
||||
alias: Deactivate night reminders
|
||||
action: input_boolean.turn_off
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id:
|
||||
@@ -5576,7 +5600,6 @@
|
||||
alias: Night meds reminder active
|
||||
then:
|
||||
- alias: Send critical TTS notification
|
||||
service: script.text_notify
|
||||
metadata: {}
|
||||
data:
|
||||
type: critical
|
||||
@@ -5584,6 +5607,7 @@
|
||||
title: HEY DUMBASS
|
||||
message: YOU FORGOT TO TAKE YOUR MEDS!!!!!
|
||||
tag: tony-left-meds
|
||||
action: script.text_notify
|
||||
mode: queued
|
||||
max: 10
|
||||
- id: '1722386174249'
|
||||
|
||||
@@ -65,11 +65,11 @@ calendar:
|
||||
rest_command:
|
||||
todoist:
|
||||
method: post
|
||||
url: 'https://api.todoist.com/sync/v9/{{ url }}'
|
||||
url: 'https://api.todoist.com/api/v1/{{ 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,6 +119,11 @@ 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
|
||||
@@ -280,6 +285,12 @@ 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
|
||||
@@ -452,6 +463,12 @@ 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
|
||||
|
||||
@@ -109,4 +109,9 @@
|
||||
|
||||
{% 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 %}
|
||||
@@ -1,328 +0,0 @@
|
||||
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 }'
|
||||
@@ -90,17 +90,33 @@ input_datetime:
|
||||
sensor:
|
||||
- platform: rest
|
||||
name: Kallen Tasks
|
||||
unique_id: 77045665-9222-4a6b-851f-6d9b50110107
|
||||
method: GET
|
||||
resource: 'https://api.todoist.com/sync/v9/projects/get_data'
|
||||
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'
|
||||
params:
|
||||
project_id: 2285969005
|
||||
headers:
|
||||
Authorization: !secret todoist_api_token
|
||||
value_template: '{{value_json[''project''][''id'']}}'
|
||||
Accept: application/json
|
||||
value_template: '{{ value_json.results | length }}'
|
||||
json_attributes:
|
||||
- project
|
||||
- items
|
||||
scan_interval: 30
|
||||
- results
|
||||
scan_interval: 60
|
||||
|
||||
automation:
|
||||
- id: 94b57d79-efe0-4f34-b5e3-baeaa5eea9f4
|
||||
|
||||
@@ -79,6 +79,9 @@ input_boolean:
|
||||
tv_notifications:
|
||||
name: TV Notifications
|
||||
icon: mdi:message
|
||||
pc_notifications:
|
||||
name: PC Notifications
|
||||
icon: mdi:desktop-classic
|
||||
|
||||
input_select:
|
||||
select_phones:
|
||||
@@ -103,6 +106,19 @@ 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:
|
||||
@@ -352,6 +368,27 @@ notify:
|
||||
services:
|
||||
- service: alexa_media_living_room_echo_dot
|
||||
- service: alexa_media_basement_echo_dot
|
||||
- name: pc_parents
|
||||
platform: group
|
||||
services:
|
||||
- service: notify.tony_asus
|
||||
- service: notify.xia_desktop
|
||||
- name: pc_nerds
|
||||
platform: group
|
||||
services:
|
||||
- service: notify.tony_asus
|
||||
- service: notify.kallen_desktop
|
||||
- name: pc_all
|
||||
platform: group
|
||||
services:
|
||||
- service: notify.tony_asus
|
||||
- service: notify.xia_desktop
|
||||
- service: notify.kallen_desktop
|
||||
- name: pc_not_tony
|
||||
platform: group
|
||||
services:
|
||||
- service: notify.xia_desktop
|
||||
- service: notify.kallen_desktop
|
||||
|
||||
script:
|
||||
volume_reset:
|
||||
@@ -805,6 +842,131 @@ 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:
|
||||
|
||||
@@ -92,7 +92,9 @@ template:
|
||||
power_usage: "{{ states('sensor.basement_server_power') | int }}W"
|
||||
- name: Tony Desktop Idle
|
||||
unique_id: f0ace986-a874-4fb0-ad29-8f3ebf95d8cc
|
||||
state: "{{ (states('sensor.tony_asus_system_idle_time') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}"
|
||||
state: >
|
||||
{% from 'time.jinja' import time_diff %}
|
||||
{{ (time_diff('sensor.tony_asus_last_active') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}
|
||||
- name: Tina Desktop Idle
|
||||
unique_id: 1933c638-c94b-468e-bb7a-c1c5b36c3651
|
||||
state: "{{ (states('sensor.xia_desktop_system_idle_time') | int) > (states('input_number.first_floor_computers_idle_time') | int * 60) }}"
|
||||
|
||||
@@ -189,17 +189,32 @@ input_select:
|
||||
sensor:
|
||||
- platform: rest
|
||||
name: Home Tech
|
||||
unique_id: 83f76f0c-d49c-407f-ad99-57d5896dac93
|
||||
method: GET
|
||||
resource: 'https://api.todoist.com/sync/v9/projects/get_data'
|
||||
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'
|
||||
params:
|
||||
project_id: 2285967948
|
||||
headers:
|
||||
Authorization: !secret todoist_api_token
|
||||
value_template: '{{value_json[''project''][''id'']}}'
|
||||
Accept: application/json
|
||||
value_template: '{{ value_json.results | length }}'
|
||||
json_attributes:
|
||||
- project
|
||||
- items
|
||||
scan_interval: 30
|
||||
- results
|
||||
scan_interval: 60
|
||||
|
||||
# template:
|
||||
# - binary_sensor:
|
||||
|
||||
228
packages/tony_desktop.yaml
Normal file
228
packages/tony_desktop.yaml
Normal file
@@ -0,0 +1,228 @@
|
||||
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_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 }'
|
||||
@@ -47,7 +47,6 @@ ## 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)
|
||||
|
||||
48
scripts.yaml
48
scripts.yaml
@@ -1785,6 +1785,18 @@ 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
|
||||
@@ -1826,6 +1838,18 @@ 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
|
||||
@@ -2113,6 +2137,18 @@ 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
|
||||
@@ -2154,6 +2190,18 @@ 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
|
||||
|
||||
@@ -450,18 +450,19 @@
|
||||
unit_of_measurement: ''
|
||||
icon: mdi:close-network-outline
|
||||
state: >
|
||||
{% set uptimekuma = states.binary_sensor |
|
||||
selectattr('entity_id','in',integration_entities('uptime_kuma')) |
|
||||
selectattr('state','eq','off') |
|
||||
{% set uptimekuma = states.sensor |
|
||||
selectattr('entity_id','in',integration_entities('192.168.1.111')) |
|
||||
selectattr('state','eq','down') |
|
||||
map(attribute='attributes.friendly_name') |
|
||||
list %}
|
||||
{{ uptimekuma | count | int }}
|
||||
attributes:
|
||||
services: >
|
||||
{% set uptimekuma = states.binary_sensor |
|
||||
selectattr('entity_id','in',integration_entities('uptime_kuma')) |
|
||||
selectattr('state','eq','off') |
|
||||
{% set uptimekuma = states.sensor |
|
||||
selectattr('entity_id','in',integration_entities('192.168.1.111')) |
|
||||
selectattr('state','eq','down') |
|
||||
map(attribute='attributes.friendly_name') |
|
||||
map('regex_replace', ' Status$', '') |
|
||||
list %}
|
||||
{{ uptimekuma | join(', ') }}
|
||||
- name: Media Server Viewer Health
|
||||
|
||||
Reference in New Issue
Block a user