643 lines
18 KiB
YAML
643 lines
18 KiB
YAML
# Configure a default setup of Home Assistant (frontend, api, etc)
|
|
automation: !include_dir_merge_list automations/
|
|
#cloud:
|
|
config:
|
|
counter:
|
|
dhcp:
|
|
energy:
|
|
frontend:
|
|
history:
|
|
http:
|
|
use_x_forwarded_for: true
|
|
trusted_proxies:
|
|
- 192.168.50.100
|
|
- 192.168.50.101
|
|
- 192.168.50.102
|
|
- 192.168.50.103
|
|
ip_ban_enabled: true
|
|
login_attempts_threshold: 5
|
|
image:
|
|
input_boolean:
|
|
input_datetime:
|
|
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"
|
|
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_text:
|
|
logbook:
|
|
network:
|
|
map:
|
|
media_source:
|
|
mobile_app:
|
|
my:
|
|
person:
|
|
recorder:
|
|
db_url: !secret postgres_url
|
|
scene: !include scenes.yaml
|
|
script: !include scripts.yaml
|
|
ssdp:
|
|
stream:
|
|
sun:
|
|
system_health:
|
|
#tag:
|
|
timer:
|
|
updater:
|
|
webhook:
|
|
zeroconf:
|
|
zone:
|
|
|
|
# Text to speech
|
|
tts:
|
|
- platform: google_translate
|
|
cache: true
|
|
base_url: http://192.168.60.100:8123
|
|
|
|
group: !include groups.yaml
|
|
|
|
zha:
|
|
zigpy_config:
|
|
network:
|
|
channel: 15
|
|
ota:
|
|
ikea_provider: true
|
|
ledvance_provider: true
|
|
|
|
zwave:
|
|
usb_path: /dev/serial/by-id/usb-0658_0200_32303230-3035-3036-3030-303030343134-if00
|
|
config_path: /config/open-zwave/config
|
|
network_key: !secret zwave_network_key
|
|
|
|
mqtt:
|
|
broker: 127.0.0.1
|
|
|
|
ios:
|
|
actions:
|
|
- name: door_lock
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Door Lock"
|
|
color: "#000000"
|
|
icon:
|
|
icon: lock-open
|
|
color: "#ffffff"
|
|
|
|
octoprint:
|
|
host: prusa.lan
|
|
port: 5000
|
|
api_key: !secret octoprint_api_key
|
|
number_of_tools: 1
|
|
bed: true
|
|
|
|
zoneminder:
|
|
- host: 192.168.50.197
|
|
path_zms: cgi-bin/nph-zms
|
|
path: /zm/
|
|
camera:
|
|
- platform: zoneminder
|
|
- platform: xiaomi_cloud_map_extractor
|
|
host: 192.168.60.7
|
|
token: !secret xiaomi_vacuum_token
|
|
username: xiaomi@nerull7.info
|
|
password: !secret xiaomi_cloud_password
|
|
draw: [ 'all' ]
|
|
attributes:
|
|
- calibration_points
|
|
|
|
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
|
|
|
|
calendar:
|
|
- platform: caldav
|
|
url: https://cloud.grondek.pl/remote.php/dav
|
|
username: pgrondek
|
|
password: !secret nextcloud_token
|
|
custom_calendars:
|
|
- name: "Sleep"
|
|
calendar: "Automations"
|
|
search: "Sleep"
|
|
- name: "Wakeup"
|
|
calendar: "Automations"
|
|
search: "Wakeup"
|
|
- name: "Caffeine free time"
|
|
calendar: "Automations"
|
|
search: "Caffeine free"
|
|
|
|
ble_monitor:
|
|
# Xiaomi BT Sensors
|
|
decimals: 1
|
|
period: 60
|
|
log_spikes: False
|
|
use_median: False
|
|
active_scan: True
|
|
# hci_interface: 0
|
|
bt_interface: 'DC:A6:32:8B:7B:AD'
|
|
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: 'Thuja Pot 2'
|
|
mac: 'C4:7C:8D:6C:9F:C6'
|
|
- name: 'Thuja Pot 3'
|
|
mac: 'C4:7C:8D:6C:9F:9B'
|
|
- 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:
|
|
- platform: systemmonitor
|
|
resources:
|
|
- type: memory_use
|
|
- type: memory_free
|
|
- type: swap_use
|
|
- type: swap_free
|
|
- type: load_1m
|
|
- type: load_5m
|
|
- type: load_15m
|
|
- type: processor_use
|
|
- type: processor_temperature
|
|
- type: ipv4_address
|
|
arg: "eth0"
|
|
- type: ipv6_address
|
|
arg: "eth0"
|
|
- type: network_in
|
|
arg: "eth0"
|
|
- type: network_out
|
|
arg: "eth0"
|
|
- type: throughput_network_in
|
|
arg: "eth0"
|
|
- type: throughput_network_out
|
|
arg: "eth0"
|
|
- type: packets_in
|
|
arg: "eth0"
|
|
- type: packets_out
|
|
arg: "eth0"
|
|
|
|
# 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
|
|
# Power
|
|
- platform: integration
|
|
name: "3D printer energy Total"
|
|
unit_prefix: k
|
|
unit_time: h
|
|
source: sensor.3d_printer_power
|
|
- platform: integration
|
|
name: "Printer energy Total"
|
|
unit_prefix: k
|
|
unit_time: h
|
|
source: sensor.printer_power
|
|
- platform: integration
|
|
name: "Washing machine energy Total"
|
|
unit_prefix: k
|
|
unit_time: h
|
|
source: sensor.washing_machine_electrical_measurement
|
|
- platform: integration
|
|
name: "Computer energy Total"
|
|
unit_prefix: k
|
|
unit_time: h
|
|
source: sensor.computer_outlet_electrical_measurement
|
|
|
|
binary_sensor:
|
|
- name: Desktop
|
|
platform: ping
|
|
host: 192.168.50.21
|
|
- name: Bender
|
|
platform: ping
|
|
host: 192.168.50.3
|
|
- 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: gree-ac
|
|
platform: ping
|
|
host: 192.168.60.13
|
|
- name: tv
|
|
platform: ping
|
|
host: 192.168.60.14
|
|
|
|
switch:
|
|
- platform: zoneminder
|
|
command_on: Modect
|
|
command_off: Monitor
|
|
# 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'
|
|
|
|
cover:
|
|
- platform: group
|
|
name: Bedroom Blinds
|
|
entities:
|
|
- cover.bedroom_blind_left
|
|
- cover.bedroom_blind_right
|
|
- platform: group
|
|
name: Computer Cave Blinds
|
|
entities:
|
|
- cover.computer_cave_blind_left
|
|
- cover.computer_cave_blind_right
|
|
|
|
template:
|
|
- sensor:
|
|
- name: "3d Printer kWh"
|
|
unit_of_measurement: "kWh"
|
|
state_class: measurement
|
|
device_class: energy
|
|
state: >
|
|
{{ states('sensor.3d_printer_energy_total') }}
|
|
attributes:
|
|
last_reset: '2021-08-25T02:23:00+02:00'
|
|
- name: "Printer kWh"
|
|
unit_of_measurement: "kWh"
|
|
state_class: measurement
|
|
device_class: energy
|
|
state: >
|
|
{{ states('sensor.printer_energy_total') }}
|
|
attributes:
|
|
last_reset: '2021-08-25T02:23:00+02:00'
|
|
- name: "Washing Machine kWh"
|
|
unit_of_measurement: "kWh"
|
|
state_class: measurement
|
|
device_class: energy
|
|
state: >
|
|
{{ states('sensor.washing_machine_energy_total') }}
|
|
attributes:
|
|
last_reset: '1970-01-01T00:00:00+00:00'
|
|
- name: "Computer kWh"
|
|
unit_of_measurement: "kWh"
|
|
state_class: measurement
|
|
device_class: energy
|
|
state: >
|
|
{{ states('sensor.computer_energy_total') }}
|
|
attributes:
|
|
last_reset: '1970-01-01T00:00:00+00:00'
|
|
- name: "All kWh"
|
|
unit_of_measurement: "kWh"
|
|
state_class: measurement
|
|
device_class: energy
|
|
state: >
|
|
{% set power = 0 %}
|
|
{% set power = power + states('sensor.3d_printer_kWh') | float %}
|
|
{% set power = power + states('sensor.printer_kWh') | float %}
|
|
{% set power = power + states('sensor.washing_machine_kWh') | float %}
|
|
{% set power = power + states('sensor.computer_kWh') | float %}
|
|
{{ power }}
|
|
attributes:
|
|
last_reset: '1970-01-01T00:00:00+00:00'
|