1
0
ansible-home-assistant/automations/files/configuration.yaml
2021-04-19 22:48:45 +02:00

488 lines
14 KiB
YAML

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
cache: true
base_url: http://192.168.60.100:8123
group: !include groups.yaml
automation: !include_dir_merge_list automations/
script: !include scripts.yaml
scene: !include scenes.yaml
zha:
zigpy_config:
network:
channel: 15
ota:
ikea_provider: true
ledvance_provider: true
zwave:
usb_path: /dev/ttyACM1
config_path: /config/open-zwave/config
network_key: !secret zwave_network_key
octoprint:
host: prusa.lan
port: 5000
api_key: !secret octoprint_api_key
number_of_tools: 1
bed: true
influxdb:
host: 192.168.50.100
port: 8086
database: home-assistant
username: home-assistant
password: !secret influxdb_password
alarm_control_panel:
- platform: manual
notify:
- platform: nfandroidtv
name: Shield
host: 192.168.60.18
color: black
media_player:
- platform: androidtv
name: nVidia Shield
device_class: androidtv
host: 192.168.60.18
adbkey: "/config/android/adbkey"
# exclude_unnamed_apps: true
apps:
com.google.android.leanbacklauncher: AndroidTV Launcher
com.netflix.ninja: Netflix
com.liskovsoft.smarttubetv.beta: SmartTube
tv.twitch.android.app: Twitch
org.mozilla.firefox: Firefox
com.tvp.vodtv.tv: TVP VOD
pl.redefine.ipla: IPLA
com.amazon.amazonvideo.livingroom: Prime Video
eu.hbogo.androidtv.production: HBO GO
state_detection_rules:
'com.netflix.ninja':
- 'media_session_state'
'com.amazon.amazonvideo.livingroom':
- 'media_session_state'
'eu.hbogo.androidtv.production':
- 'media_session_state'
spotify:
client_id: !secret spotify_client_id
client_secret: !secret spotify_client_secret
shell_command:
pc_poweroff: 'ssh -i /config/.ssh/id_rsa -o UserKnownHostsFile=/config/.ssh/known_hosts home-assistant@hulk.lan sudo /sbin/poweroff'
pc_suspend: 'ssh -i /config/.ssh/id_rsa -o UserKnownHostsFile=/config/.ssh/known_hosts home-assistant@hulk.lan sudo /usr/sbin/pm-suspend'
rest_command:
octoprint_connect:
url: 'http://192.168.50.6:5000/api/connection'
method: post
content_type: 'application/json'
headers:
X-Api-Key: !secret octoprint_api_key
payload: |
{
"command": "connect"
}
rest:
- scan_interval: 43200 # 12h
resource: 'https://warszawa19115.pl/harmonogramy-wywozu-odpadow?p_p_id=portalCKMjunkschedules_WAR_portalCKMjunkschedulesportlet_INSTANCE_o5AIb2mimbRJ&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=ajaxResourceURL&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_count=1'
method: POST
payload: '_portalCKMjunkschedules_WAR_portalCKMjunkschedulesportlet_INSTANCE_o5AIb2mimbRJ_addressPointId=76748040'
headers:
Content-Type: 'application/x-www-form-urlencoded'
sensor:
- name: "Address"
value_template: "{{ value_json[0].adres }}"
- name: "Garbage Collection BIO"
device_class: 'timestamp'
value_template: "{{ value_json[0].harmonogramy[1].data }}"
json_attributes_path: "$.[0].harmonogramy.[1].frakcja"
json_attributes:
- id_frakcja
- kod
- nazwa
- opis
- name: "Garbage Collection Metal & Plastics"
device_class: 'timestamp'
value_template: "{{ value_json[0].harmonogramy[2].data }}"
json_attributes_path: "$.[0].harmonogramy.[2].frakcja"
json_attributes:
- id_frakcja
- kod
- nazwa
- opis
- name: "Garbage Collection Paper"
device_class: 'timestamp'
value_template: "{{ value_json[0].harmonogramy[3].data }}"
json_attributes_path: "$.[0].harmonogramy.[3].frakcja"
json_attributes:
- id_frakcja
- kod
- nazwa
- opis
- name: "Garbage Collection Glass"
device_class: 'timestamp'
value_template: "{{ value_json[0].harmonogramy[4].data }}"
json_attributes_path: "$.[0].harmonogramy.[4].frakcja"
json_attributes:
- id_frakcja
- kod
- nazwa
- opis
- name: "Garbage Collection Furniture"
device_class: 'timestamp'
value_template: "{{ value_json[0].harmonogramy[6].data }}"
json_attributes_path: "$.[0].harmonogramy.[6].frakcja"
json_attributes:
- id_frakcja
- kod
- nazwa
- opis
- name: "Garbage Collection Mixed"
device_class: 'timestamp'
value_template: "{{ value_json[0].harmonogramy[7].data }}"
json_attributes_path: "$.[0].harmonogramy.[7].frakcja"
json_attributes:
- id_frakcja
- kod
- nazwa
- opis
tplink:
discovery: true
switch:
- host: '192.168.60.14'
calendar:
- platform: caldav
url: https://cloud.grondek.pl/remote.php/dav
username: pgrondek
password: !secret nextcloud_token
ble_monitor:
# Xiaomi BT Sensors
rounding: True
decimals: 1
period: 60
log_spikes: False
use_median: False
active_scan: True
hci_interface: 0
batt_entities: False
report_unknown: False
discovery: True
devices:
- name: 'Bedroom sensor'
mac: '58:2D:34:3B:67:B0'
- name: 'Filament Sensor'
mac: 'A4:C1:38:EC:AE:6B'
- name: 'Computer Cave sensor'
mac: 'A4:C1:38:05:3D:AF'
- name: 'Bathroom sensor'
mac: 'A4:C1:38:49:30:DF'
- name: 'Rack sensor'
mac: 'A4:C1:38:5E:F8:84'
- name: 'Kettle'
mac: '7C:49:EB:30:61:CE'
- name: 'Thuja Pot'
mac: 'C4:7C:8D:6C:5B:25'
- name: 'Bedroom Plant'
mac: 'C4:7C:8D:6C:59:D5'
- name: 'Living Room Plant'
mac: 'C4:7C:8D:6C:59:D0'
- name: 'Weight Scale'
mac: 'C8:47:8C:D9:6F:96'
sensor:
# Living Room
- platform: template
sensors:
living_room_air_purifier_temp:
friendly_name: "Temperature"
value_template: "{{ state_attr('fan.living_room_air_purifier', 'temperature') }}"
unit_of_measurement: "°C"
device_class: "temperature"
living_room_air_purifier_humidity:
friendly_name: "Humidity"
value_template: "{{ state_attr('fan.living_room_air_purifier', 'humidity') }}"
unit_of_measurement: "%"
device_class: "humidity"
living_room_air_purifier_air_quality_pm25:
friendly_name: "Air quality"
value_template: "{{ state_attr('fan.living_room_air_purifier', 'aqi') }}"
unit_of_measurement: "μg/m³"
icon_template: "mdi:weather-fog"
living_room_air_purifier_speed:
friendly_name: "Fan speed"
value_template: "{{ state_attr('fan.living_room_air_purifier', 'motor_speed') }}"
unit_of_measurement: "rpm"
icon_template: "mdi:speedometer"
living_room_air_purifier_filter_remaining:
friendly_name: "Filter remaining"
value_template: "{{ state_attr('fan.living_room_air_purifier', 'filter_life_remaining') }}"
unit_of_measurement: "%"
icon_template: "mdi:heart-outline"
# Bedroom
- platform: template
sensors:
bedroom_air_purifier_temp:
friendly_name: "Temperature"
value_template: "{{ state_attr('fan.bedroom_air_purifier', 'temperature') }}"
unit_of_measurement: "°C"
device_class: "temperature"
bedroom_air_purifier_humidity:
friendly_name: "Humidity"
value_template: "{{ state_attr('fan.bedroom_air_purifier', 'humidity') }}"
unit_of_measurement: "%"
device_class: "humidity"
bedroom_air_purifier_air_quality_pm25:
friendly_name: "Air quality"
value_template: "{{ state_attr('fan.bedroom_air_purifier', 'aqi') }}"
unit_of_measurement: "μg/m³"
icon_template: "mdi:weather-fog"
bedroom_air_purifier_speed:
friendly_name: "Fan speed"
value_template: "{{ state_attr('fan.bedroom_air_purifier', 'motor_speed') }}"
unit_of_measurement: "rpm"
icon_template: "mdi:speedometer"
bedroom_air_purifier_filter_remaining:
friendly_name: "Filter remaining"
value_template: "{{ state_attr('fan.bedroom_air_purifier', 'filter_life_remaining') }}"
unit_of_measurement: "%"
icon_template: "mdi:heart-outline"
# IMAP
- name: imap-notifications
platform: imap
server: imap.gmail.com
port: 993
username: 'home-assistant@nerull7.info'
password: !secret imap_password
# Fix 3d_printer power sensor
- platform: integration
source: sensor.3d_printer_power
name: energy_spent
unit_prefix: k
round: 2
# - platform: filter
# entity_id: sensor.3d_printer_power
# filters:
# - filter: range
# lower_bound: 0
# unit_prefix: k
# round: 2
binary_sensor:
- name: Desktop
platform: ping
host: 192.168.50.21
- name: Bender
platform: ping
host: 192.168.50.3
- name: iron-man
platform: ping
host: 192.168.50.7
- name: prusa
platform: ping
host: 192.168.50.8
- name: node-master
platform: ping
host: 192.168.50.100
- name: node-01
platform: ping
host: 192.168.50.101
- name: node-02
platform: ping
host: 192.168.50.102
- name: node-03
platform: ping
host: 192.168.50.103
- name: luxoft
platform: ping
host: 192.168.50.207
- name: smartthings
platform: ping
host: 192.168.60.2
- name: hue-lights
platform: ping
host: 192.168.60.3
- name: airpurifier-bedroom
platform: ping
host: 192.168.60.5
- name: airpurifier-livingroom
platform: ping
host: 192.168.60.6
- name: vacuum
platform: ping
host: 192.168.60.7
- name: soundbar
platform: ping
host: 192.168.60.8
- name: google-home
platform: ping
host: 192.168.60.10
- name: google-home-mini
platform: ping
host: 192.168.60.11
- name: google-home-mini-2
platform: ping
host: 192.168.60.12
- name: gree-ac
platform: ping
host: 192.168.60.13
- name: router-outlet
platform: ping
host: 192.168.60.14
- name: tv
platform: ping
host: 192.168.60.14
switch:
# Living Room
- platform: template
switches:
living_room_air_purifier_led:
friendly_name: "LED"
value_template: "{{ is_state_attr('fan.living_room_air_purifier', 'led', true) }}"
turn_on:
service: xiaomi_miio.fan_set_led_on
data:
entity_id: fan.living_room_air_purifier
turn_off:
service: xiaomi_miio.fan_set_led_off
data:
entity_id: fan.living_room_air_purifier
icon_template: "mdi:lightbulb-outline"
living_room_air_purifier_child_lock:
friendly_name: "Child lock"
value_template: "{{ is_state_attr('fan.living_room_air_purifier', 'child_lock', true) }}"
turn_on:
service: xiaomi_miio.fan_set_child_lock_on
data:
entity_id: fan.living_room_air_purifier
turn_off:
service: xiaomi_miio.fan_set_child_lock_off
data:
entity_id: fan.living_room_air_purifier
icon_template: "mdi:lock-outline"
living_room_air_purifier_buzzer:
friendly_name: "Buzzer"
value_template: "{{ is_state_attr('fan.living_room_air_purifier', 'buzzer', true) }}"
turn_on:
service: xiaomi_miio.fan_set_buzzer_on
data:
entity_id: fan.living_room_air_purifier
turn_off:
service: xiaomi_miio.fan_set_buzzer_off
data:
entity_id: fan.living_room_air_purifier
icon_template: "mdi:volume-high"
# Bedroom
- platform: template
switches:
bedroom_air_purifier_led:
friendly_name: "LED"
value_template: "{{ is_state_attr('fan.bedroom_air_purifier', 'led', true) }}"
turn_on:
service: xiaomi_miio.fan_set_led_on
data:
entity_id: fan.bedroom_air_purifier
turn_off:
service: xiaomi_miio.fan_set_led_off
data:
entity_id: fan.bedroom_air_purifier
icon_template: "mdi:lightbulb-outline"
bedroom_air_purifier_child_lock:
friendly_name: "Child lock"
value_template: "{{ is_state_attr('fan.bedroom_air_purifier', 'child_lock', true) }}"
turn_on:
service: xiaomi_miio.fan_set_child_lock_on
data:
entity_id: fan.bedroom_air_purifier
turn_off:
service: xiaomi_miio.fan_set_child_lock_off
data:
entity_id: fan.bedroom_air_purifier
icon_template: "mdi:lock-outline"
bedroom_air_purifier_buzzer:
friendly_name: "Buzzer"
value_template: "{{ is_state_attr('fan.bedroom_air_purifier', 'buzzer', true) }}"
turn_on:
service: xiaomi_miio.fan_set_buzzer_on
data:
entity_id: fan.bedroom_air_purifier
turn_off:
service: xiaomi_miio.fan_set_buzzer_off
data:
entity_id: fan.bedroom_air_purifier
icon_template: "mdi:volume-high"
# Wake On LAN
- platform: wake_on_lan
name: hulk
mac: '24:4b:fe:05:e2:8b'
- platform: wake_on_lan
name: luxoft
mac: 'f8:75:a4:67:8f:e3'
input_select:
# Living Room
living_room_air_purifier_mode:
name: Mode
options:
- Auto
- Silent
- Favorite
- Fan
icon: "mdi:animation-outline"
# Bedroom
bedroom_air_purifier_mode:
name: Mode
options:
- Auto
- Silent
- Favorite
- Fan
icon: "mdi:animation-outline"
home_mode:
name: Home mode
options:
- Day
- Night
- Party
- Away
icon: "mdi:home"
input_number:
# Living Room
living_room_air_purifier_favorite_level:
name: "Favorite level"
initial: 0
min: 0
max: 14
step: 1
icon: "mdi:weather-windy"
# Bedroom
bedroom_air_purifier_favorite_level:
name: "Favorite level"
initial: 0
min: 0
max: 14
step: 1
icon: "mdi:weather-windy"
living_room_air_purifier_fan_level:
name: "Fan level"
initial: 1
min: 1
max: 3
step: 1
icon: "mdi:weather-windy"