diff --git a/packages/iotlink_tony_desktop.yaml b/packages/iotlink_tony_desktop.yaml deleted file mode 100644 index df9bcfb..0000000 --- a/packages/iotlink_tony_desktop.yaml +++ /dev/null @@ -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 }' diff --git a/packages/sysmon.yaml b/packages/sysmon.yaml index e945c9b..9aa0f14 100644 --- a/packages/sysmon.yaml +++ b/packages/sysmon.yaml @@ -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) }}" diff --git a/packages/tony_desktop.yaml b/packages/tony_desktop.yaml new file mode 100644 index 0000000..5b16054 --- /dev/null +++ b/packages/tony_desktop.yaml @@ -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 }'