200 lines
6.6 KiB
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") }}
|
|
|
|
|