Compare commits

...

10 Commits

10 changed files with 358 additions and 360 deletions

View File

@@ -1 +1 @@
2025.12.4 2026.1.3

View File

@@ -6,7 +6,7 @@
{% set time = time|default('day') %} {% set time = time|default('day') %}
{% if method in ['text','dashboard'] %} {% if method in ['text','dashboard'] %}
{% if type in ['current','full'] %} {% 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 {{ states('sensor.home_temperature_feels_like') | 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 {{ state_attr('weather.iron_nerd_weather_station','apparent_temperature') | round }} degrees.
{% endif %} {% endif %}
{% if type in ['forecast','full'] %} {% if type in ['forecast','full'] %}
{% if 14400 <= ct <= 61200 %} {% if 14400 <= ct <= 61200 %}

View File

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

View File

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

View File

@@ -1,306 +0,0 @@
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

@@ -371,24 +371,24 @@ notify:
- name: pc_parents - name: pc_parents
platform: group platform: group
services: services:
- service: notify.tony_asus - service: tony_asus
- service: notify.xia_desktop - service: xia_desktop
- name: pc_nerds - name: pc_nerds
platform: group platform: group
services: services:
- service: notify.tony_asus - service: tony_asus
- service: notify.kallen_desktop - service: kallen_desktop
- name: pc_all - name: pc_all
platform: group platform: group
services: services:
- service: notify.tony_asus - service: tony_asus
- service: notify.xia_desktop - service: xia_desktop
- service: notify.kallen_desktop - service: kallen_desktop
- name: pc_not_tony - name: pc_not_tony
platform: group platform: group
services: services:
- service: notify.xia_desktop - service: xia_desktop
- service: notify.kallen_desktop - service: kallen_desktop
script: script:
volume_reset: volume_reset:

View File

@@ -97,7 +97,9 @@ template:
{{ (time_diff('sensor.tony_asus_last_active') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }} {{ (time_diff('sensor.tony_asus_last_active') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}
- name: Tina Desktop Idle - name: Tina Desktop Idle
unique_id: 1933c638-c94b-468e-bb7a-c1c5b36c3651 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) }}" 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) }}
- name: Kallen Desktop Idle - name: Kallen Desktop Idle
unique_id: 680c6ae3-2ed2-451e-858b-2aee688af461 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) }}" state: "{{ (states('sensor.kallen_desktop_system_idle_time') | int) > (states('input_number.basement_computers_idle_time') | int * 60) }}"

176
packages/tina_desktop.yaml Normal file
View File

@@ -0,0 +1,176 @@
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

@@ -118,14 +118,6 @@ script:
data: data:
mac: "18:C0:4D:82:00:95" 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: tony_desktop_suspend:
alias: "Tony Desktop - Suspend" alias: "Tony Desktop - Suspend"
sequence: sequence:
@@ -142,14 +134,6 @@ script:
topic: "iotlink/workgroup/tony-asus/commands/hibernate" topic: "iotlink/workgroup/tony-asus/commands/hibernate"
payload: "" payload: ""
tony_desktop_reboot:
alias: "Tony Desktop - Reboot"
sequence:
- service: mqtt.publish
data:
topic: "iotlink/workgroup/tony-asus/commands/reboot"
payload: ""
tony_desktop_lock: tony_desktop_lock:
alias: "Tony Desktop - Lock" alias: "Tony Desktop - Lock"
sequence: sequence:

View File

@@ -57,6 +57,7 @@ ## HACS Components
- [Union Pacific Big Boy Tracker](https://github.com/jheizer/up_4014_tracker) - [Union Pacific Big Boy Tracker](https://github.com/jheizer/up_4014_tracker)
- [WeatherFlow Forecast](https://github.com/briis/weatherflow_forecast) - [WeatherFlow Forecast](https://github.com/briis/weatherflow_forecast)
- [NWS SPC Outlook](https://github.com/sedward5/nws_spc_outlook) - [NWS SPC Outlook](https://github.com/sedward5/nws_spc_outlook)
- [Music Assistant Queue Actions](https://github.com/droans/mass_queue)
</details> </details>
@@ -113,6 +114,7 @@ ## HACS Lovelace Cards
- [Versatile Thermostat UI Card](https://github.com/jmcollin78/versatile-thermostat-ui-card) - [Versatile Thermostat UI Card](https://github.com/jmcollin78/versatile-thermostat-ui-card)
- [Gauge Card Pro](https://github.com/benjamin-dcs/gauge-card-pro) - [Gauge Card Pro](https://github.com/benjamin-dcs/gauge-card-pro)
- [AdGuard Card](https://github.com/homeassistant-extras/adguard-card) - [AdGuard Card](https://github.com/homeassistant-extras/adguard-card)
- [Music Assistant Player Card](https://github.com/droans/mass-player-card)
</details> </details>