infra/roles/hass-core/files/packages/study.yaml

200 lines
6.6 KiB
YAML

---
homeassistant:
customize:
package.node_anchors:
common_attrs: &common_attrs
package: "study"
common_attrs_templated: &common_attrs_templated
templated: true
<<: *common_attrs
binary_sensor.wakeup_ble_mouse:
friendly_name: Mouse waking up
templated: true
<<: *common_attrs
sensor.study_air_quality_voc_level:
state_class: measurement
device_class: "volatile_organic_compounds_parts"
unit_of_measurement: "ppm"
icon: "mdi:air-filter"
proto: "Z-Wave"
<<: *common_attrs
switch.outlet_study_1:
friendly_name: "Study outlet 1 (IKEA Askvader)"
comment: "IKEA Askvader strip at the desk"
proto: "Z-Wave"
<<: *common_attrs
sensor.electric_w_outlet_study_1:
friendly_name: "Study outlet 1 (IKEA Askvader) Electric [W]"
comment: "IKEA Askvader strip at the desk"
proto: "Z-Wave"
<<: *common_attrs
switch.outlet_study_2:
friendly_name: "Study outlet 2 (east wall, socket 1)"
comment: "In left outlet on wall to bedroom"
host: "ber-nullspace1"
proto: "Z-Wave"
<<: *common_attrs
sensor.electric_w_outlet_study_2:
friendly_name: "Study outlet 2 (east wall, socket 1) [W]"
host: "ber-nullspace1"
comment: "In left outlet on wall to bedroom"
proto: "Z-Wave"
<<: *common_attrs
switch.outlet_study_3:
friendly_name: "Sudy outlet 3 (east wall, socket 2)"
comment: "Power strip in corner, powers router+ap and ber-nullspace1"
proto: "Z-Wave"
<<: *common_attrs
sensor.electric_w_outlet_study_3:
friendly_name: "Sudy outlet 3 (east wall, socket 2) Electric [W]"
comment: "Power strip in corner, powers router+ap and ber-nullspace1"
proto: "Z-Wave"
<<: *common_attrs
switch.outlet_study_4:
friendly_name: "Sudy outlet 4 (north wall, IVAR)"
comment: "Outlet on wall to livingroom, power strip in IVAR"
proto: "Z-Wave"
<<: *common_attrs
sensor.electric_w_outlet_study_4:
friendly_name: "Sudy outlet 4 (north vall, IVAR) Electric [W]"
comment: "Outlet on wall to livingroom, power strip in IVAR"
proto: "Z-Wave"
<<: *common_attrs
# might be renamed
sensor.electric_w_switch_study_desk_monitor:
friendly_name: "Study Desk monitor Electric [W]"
proto: "ESPHome"
<<: *common_attrs
sensor.electric_w_switch_study_desk_monitor_min_24h:
friendly_name: Study Computer Monitor min power [W] over 24h
<<: *common_attrs
input_boolean.shortcuts_shokz_phone:
friendly_name: "iOS Shortcuts: Shokz connected to phone"
comment: |
Set with a service call from an iOS shortcuts automation when the phone
connects or disconnects from the headphones with Bluetooth
tags:
- Home Assistant
- Laptop
- Mobile/personal devices
- Presence
- Care.com
category:
- Apple shortcuts
<<: *common_attrs
binary_sensor.shortcuts_shokz_phone:
friendly_name: "Shokz connected to phone"
comment: |
Set with a service call from an iOS shortcuts automation when the phone
connects or disconnects from the headphones with Bluetooth
tags:
- Home Assistant
- Laptop
- Mobile/personal devices
- Presence
- Care.com
<<: *common_attrs
input_boolean:
shortcuts_shokz_phone:
name: shortcuts_shokz_phone
icon: "mdi:headset"
template:
- binary_sensor:
- name: shortcuts_shokz_phone
unique_id: shortcuts_shokz_phone
device_class: connectivity
icon: |
{% if is_state(this.entity_id, "on") -%}
mdi:headset
{% else -%}
mdi:headset-off
{% endif %}
state: |
{{ is_state("input_boolean.shortcuts_shokz_phone", "on") }}
- trigger:
- platform: event
event_type: event_template_reloaded
id: "reload"
sensor: []
- binary_sensor:
- unique_id: wakeup_ble_mouse
name: wakeup_ble_mouse
icon: "mdi:mouse-bluetooth"
delay_off: "00:10:00"
state: >-
{% set mx_720 = is_state("device_tracker.ble_m720_triathlon", "home")
or is_state("device_tracker.ble_m720_triathlon_2", "home")
or is_state("device_tracker.ble_m720_triathlon", "home")
or is_state("binary_sensor.ble_m720_triathlon_4a1a", "on")
or is_state("binary_sensor.ble_m720_triathlon_4a1b", "on")
or is_state("binary_sensor.ble_m720_triathlon_4a1c", "on")
or is_state("binary_sensor.ble_m720_triathlon_4a1d", "on")
or is_state("binary_sensor.ble_m720_triathlon_4a1e", "on")
or is_state("binary_sensor.ble_m720_triathlon_4a1e", "on")
%}
{% set mx_ergo = is_state("device_tracker.ble_mx_ergo", "home")
or is_state("device_tracker.ble_mx_ergo", "home")
or is_state("device_tracker.ble_mx_ergo_2", "home")
or is_state("device_tracker.mx_ergo", "home")
or is_state("device_tracker.mx_ergo_e9b5", "home")
or is_state("binary_sensor.ble_mx_ergo_e9af", "on")
or is_state("binary_sensor.ble_mx_ergo_e9b0", "on")
or is_state("binary_sensor.ble_mx_ergo_e9b1", "on")
or is_state("binary_sensor.ble_mx_ergo_e9b4", "on")
or is_state("binary_sensor.ble_mx_ergo_e9b5", "on")
%}
{% set mx_vertical = is_state("device_tracker.ble_mx_vertical", "home")
or is_state("binary_sensor.ble_mx_vertical_7db7", "on")
%}
{{ mx_720 or mx_ergo or mx_vertical }}
attributes:
source: "BLE"
comment: >-
for use as signal for occupancy detection. briefly turns on while
searching for bluetooth connection.
- sensor:
- name: battery_oxygen_time_left
unit_of_measurement: min
device_class: duration
state_class: measurement
icon: |
{{ state_attr("sensor.battery_level_oxygen", "icon") }}
availability: |
{{
has_value("sensor.battery_level_oxygen")
and state_attr("sensor.battery_level_oxygen", "Time to Empty") is number
}}
state: |
{% set t = state_attr("sensor.battery_level_oxygen", "Time to Empty") | int(0) %}
{% if t > 0 %}
{{ t }}
{% else %}
{{ states(this.entity_id) | int(0) }}
{% endif %}
attributes:
source_value: |
{{ state_attr("sensor.battery_level_oxygen", "Time to Empty") }}