239 lines
8.3 KiB
YAML
239 lines
8.3 KiB
YAML
---
|
|
|
|
homeassistant:
|
|
customize:
|
|
package.node_anchors:
|
|
common_attrs: &common_attrs
|
|
accuracy_decimals: 1
|
|
suggested_display_precision: 1
|
|
package: "air_temps"
|
|
common_attrs_templated: &common_attrs_templated
|
|
templated: true
|
|
<<: *common_attrs
|
|
common_attr_air_temp_group: &common_attrs_air_temp_group
|
|
type: median
|
|
group: true
|
|
<<: *common_attrs
|
|
|
|
sensor.difference_air_temperature_indoor_outdoor:
|
|
friendly_name: "Temperature indoor/outdoor difference"
|
|
<<: *common_attrs_templated
|
|
|
|
sensor.difference_air_temperature_indoor_outdoor_abs:
|
|
friendly_name: "Temperature indoor/outdoor difference (abosulute value)"
|
|
<<: *common_attrs_templated
|
|
|
|
binary_sensor.air_temperature_warmer_inside:
|
|
friendly_name: Warmer air temp inside
|
|
<<: *common_attrs_templated
|
|
|
|
binary_sensor.air_temperature_colder_inside:
|
|
friendly_name: Warmer air temp inside
|
|
<<: *common_attrs_templated
|
|
|
|
sensor.air_temperature_bathroom:
|
|
friendly_name: Bathroom air temp
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_bedroom:
|
|
friendly_name: Bedroom air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_hallway:
|
|
friendly_name: Hallway air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_kitchen:
|
|
friendly_name: Kitchen air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_livingroom:
|
|
friendly_name: Livingroom air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_study:
|
|
friendly_name: Study air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_indoor:
|
|
friendly_name: Indoor air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
sensor.air_temperature_outdoor:
|
|
friendly_name: Outdoor air temps
|
|
<<: *common_attrs_air_temp_group
|
|
|
|
|
|
template:
|
|
- sensor:
|
|
- name: "difference_air_temperature_indoor_outdoor"
|
|
unit_of_measurement: '°C'
|
|
icon: "mdi:thermometer"
|
|
device_class: temperature
|
|
state_class: measurement
|
|
availability: >-
|
|
{{
|
|
has_value("sensor.air_temperature_outdoor")
|
|
and has_value("sensor.air_temperature_indoor")
|
|
and is_number(states("sensor.air_temperature_outdoor"))
|
|
and is_number(states("sensor.air_temperature_indoor"))
|
|
}}
|
|
state: >-
|
|
{% set outdoor = states("sensor.air_temperature_outdoor") %}
|
|
{% set indoor = states("sensor.air_temperature_indoor") %}
|
|
{% set diff = indoor|round(2) - outdoor|round(2) %}
|
|
{{ diff | float(0.0) | round(2) }}
|
|
|
|
- name: "difference_air_temperature_indoor_outdoor_abs"
|
|
unit_of_measurement: '°C'
|
|
icon: "mdi:thermometer"
|
|
device_class: temperature
|
|
state_class: measurement
|
|
availability: >-
|
|
{{
|
|
has_value("sensor.difference_air_temperature_indoor_outdoor")
|
|
and is_number(states("sensor.difference_air_temperature_indoor_outdoor"))
|
|
}}
|
|
state: >-
|
|
{% set t = states("sensor.difference_air_temperature_indoor_outdoor") %}
|
|
{{ t | float(0.0) | round(2) | abs }}
|
|
|
|
- binary_sensor:
|
|
- name: air_temperature_warmer_inside
|
|
device_class: heat
|
|
availability: >-
|
|
{{
|
|
has_value("sensor.air_temperature_indoor")
|
|
and has_value("sensor.air_temperature_outdoor")
|
|
and is_number(states("sensor.air_temperature_indoor"))
|
|
and is_number(states("sensor.air_temperature_outdoor"))
|
|
}}
|
|
state: >-
|
|
{% set indoor = states("sensor.air_temperature_indoor") %}
|
|
{% set outdoor = states("sensor.air_temperature_outdoor") %}
|
|
{{ indoor|float(0.0) > outdoor|float(0.0) }}
|
|
|
|
- name: air_temperature_colder_inside
|
|
device_class: cold
|
|
availability: >-
|
|
{{ has_value("binary_sensor.air_temperature_warmer_inside") }}
|
|
state: >-
|
|
{{ is_state("binary_sensor.air_temperature_warmer_inside", "off") }}
|
|
|
|
|
|
sensor:
|
|
- platform: group
|
|
name: air_temperature_bathroom
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_bathroom_motion
|
|
- sensor.air_temperature_bathroom_door
|
|
- sensor.air_temperature_bathroom_window
|
|
- sensor.air_temperature_bathroom_radiator
|
|
# these are wildly off, so they are not included in the group
|
|
# when air_temperature_bathroom_washingmachine reported 38C, air_temperature_bathroom_radiator reported 25C at the same time
|
|
#- sensor.air_temperature_bathroom_washingmachine
|
|
|
|
- platform: group
|
|
name: air_temperature_bedroom
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_bedroom_motion_south
|
|
- sensor.air_temperature_bedroom_motion_east
|
|
- sensor.air_temperature_bedroom_door
|
|
- sensor.air_temperature_bedroom_air_quality_sensor
|
|
# Is not actually in bedroom
|
|
#- sensor.air_temperature_bedroom_smokealarm
|
|
|
|
- platform: group
|
|
name: air_temperature_hallway
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_hallway_motion_north
|
|
- sensor.air_temperature_hallway_motion_west
|
|
- sensor.air_temperature_hallway_motion_east
|
|
|
|
- platform: group
|
|
name: air_temperature_kitchen
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_kitchen_motion
|
|
|
|
- platform: group
|
|
name: air_temperature_livingroom
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_livingroom_motion_east
|
|
- sensor.air_temperature_livingroom_door_balcony
|
|
- sensor.air_temperature_livingroom_illuminance_balcony
|
|
- sensor.air_temperature_livingroom_radiator
|
|
|
|
- platform: group
|
|
name: air_temperature_study
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_study_north_motion
|
|
- sensor.air_temperature_study_air_quality_sensor
|
|
- sensor.air_temperature_study_radiator
|
|
|
|
- platform: group
|
|
name: air_temperature_indoor
|
|
type: median
|
|
state_class: measurement
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.air_temperature_bathroom
|
|
- sensor.air_temperature_bedroom
|
|
- sensor.air_temperature_hallway
|
|
- sensor.air_temperature_kitchen
|
|
- sensor.air_temperature_livingroom
|
|
- sensor.air_temperature_study
|
|
|
|
- platform: group
|
|
name: air_temperature_outdoor
|
|
type: median
|
|
device_class: temperature
|
|
unit_of_measurement: '°C'
|
|
entities:
|
|
- sensor.owm_home_temperature
|
|
|
|
|
|
# renames:
|
|
# air quality temp: sensor.air_temperature_study_air_quality_sensor
|
|
# sensor.air_temperature_door_bedroom -> sensor.air_temperature_bedroom_door
|
|
# sensor.air_temperature_window_bathroom -> sensor.air_temperature_bathroom_window
|
|
# sensor.air_temperature_bathroom_washingmachine -> sensor.air_temperature_bathroom_washingmachine
|
|
# sensor.air_temperature_bedroom_east_motion -> sensor.air_temperature_bedroom_motion_east
|
|
# sensor.air_tepmerature_bedroom_south_motion -> sensor.air_temperature_bedroom_motion_south
|
|
# sensor.hallway_north_air_temperature_motion -> sensor.air_temperature_hallway_motion_north
|
|
# sensor.air_temperature_hallway_west_motion -> sensor.air_temperature_hallway_motion_west
|
|
# sensor.air_temperature_hallway_east_motion -> sensor.air_temperature_hallway_motion_east
|
|
# sensor.motion_livingroom_air_temperature -> sensor.air_temperature_livingroom_motion_east
|
|
# sensor.air_temperature_balcony_door -> sensor.air_temperature_livingroom_door_balcony
|
|
# sensor.mold_livingroom_air_temperature -> sensor.air_temperature_livingroom_mold
|
|
# sensor.illuminance_balcony_air_temperature -> sensor.air_temperature_livingroom_illuminance_balcony
|
|
# sensor.radiator_study_air_temperature -> sensor.air_temperature_study_radiator
|
|
|
|
# battery devices should have
|
|
# temp report threshold: 1 C
|
|
# temp report interval: 3600 secs
|