611 lines
16 KiB
YAML
611 lines
16 KiB
YAML
# Configure a default setup of Home Assistant (frontend, api, etc)
|
|
automation: !include automations.yaml
|
|
#cloud:
|
|
config:
|
|
counter:
|
|
dhcp:
|
|
energy:
|
|
frontend:
|
|
themes: !include_dir_merge_named themes
|
|
homeassistant:
|
|
customize: !include customize.yaml
|
|
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
|
|
- 192.168.50.104
|
|
ip_ban_enabled: false
|
|
login_attempts_threshold: 5
|
|
image:
|
|
input_boolean:
|
|
3d_printer_timelapse:
|
|
name: "3D printer timelapse"
|
|
icon: "mdi:camera-burst"
|
|
mute_doorbell:
|
|
name: "Mute doorbell"
|
|
icon: "mdi:bell-off"
|
|
pc_caffeine:
|
|
name: "PC Caffeine"
|
|
icon: "mdi:desktop-tower-monitor"
|
|
pc_sleeping:
|
|
name: "PC sleeping"
|
|
icon: "mdi:desktop-tower-monitor"
|
|
sleep_mode:
|
|
name: "Sleep mode"
|
|
icon: "mdi:weather-night"
|
|
vacation_mode:
|
|
name: "Vacation mode"
|
|
icon: "mdi:beach"
|
|
vacuum_office:
|
|
name: "Vacuum Office"
|
|
icon: "mdi:chair-rolling"
|
|
vacuum_living_room:
|
|
name: "Vacuum Living room"
|
|
icon: "mdi:sofa"
|
|
vacuum_table_area:
|
|
name: "Vacuum Table area"
|
|
icon: "mdi:table-furniture"
|
|
vacuum_kitchen:
|
|
name: "Vacuum Kitchen"
|
|
icon: "mdi:pot-mix"
|
|
vacuum_hallway:
|
|
name: "Vacuum Hallway"
|
|
icon: "mdi:foot-print"
|
|
vacuum_bedroom:
|
|
name: "Vacuum Bedroom"
|
|
icon: "mdi:bed-empty"
|
|
vacuum_bathroom:
|
|
name: "Vacuum Bathroom"
|
|
icon: "mdi:shower"
|
|
vacuum_vacuumed_today:
|
|
name: "Vacuumed today"
|
|
icon: "mdi:robot-vacuum"
|
|
input_datetime:
|
|
alarm:
|
|
name: "Alarm time"
|
|
icon: "mdi:bell-sleep"
|
|
has_date: true
|
|
has_time: true
|
|
day_mode:
|
|
name: "Day mode time"
|
|
icon: "mdi:weather-sunset"
|
|
has_date: false
|
|
has_time: true
|
|
sleep_mode:
|
|
name: "Sleep mode time"
|
|
icon: "mdi:weather-night"
|
|
has_date: false
|
|
has_time: true
|
|
input_number:
|
|
power_price:
|
|
name: "Power Price"
|
|
icon: "mdi:transmission-tower"
|
|
min: 0
|
|
max: 2
|
|
step: 0.01
|
|
unit_of_measurement: zł/kWh
|
|
|
|
input_select:
|
|
home_mode:
|
|
name: Home mode
|
|
options:
|
|
- Day
|
|
- Night
|
|
- Party
|
|
- Away
|
|
icon: "mdi:home"
|
|
input_text:
|
|
bathroom_playlist:
|
|
name: Bathroom playlist
|
|
icon: "mdi:folder-music-outline"
|
|
logbook:
|
|
network:
|
|
map:
|
|
media_source:
|
|
mobile_app:
|
|
my:
|
|
person:
|
|
python_script:
|
|
recorder:
|
|
db_url: !secret mysql_url
|
|
scene: !include scenes.yaml
|
|
script: !include scripts.yaml
|
|
ssdp:
|
|
stream:
|
|
sun:
|
|
system_health:
|
|
#tag:
|
|
timer:
|
|
webhook:
|
|
zeroconf:
|
|
zone:
|
|
|
|
powercalc:
|
|
|
|
# Text to speech
|
|
tts:
|
|
- platform: google_translate
|
|
cache: true
|
|
base_url: http://192.168.60.100:8123
|
|
|
|
group: !include groups.yaml
|
|
|
|
zha:
|
|
custom_quirks_path: /config/zha_custom_quirks
|
|
zigpy_config:
|
|
network:
|
|
channel: 15
|
|
ota:
|
|
ikea_provider: true
|
|
ledvance_provider: true
|
|
otau_directory: /config/ota
|
|
|
|
ios:
|
|
actions:
|
|
- name: "Door Lock Toggle"
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Door Lock"
|
|
color: "#ffffff"
|
|
icon:
|
|
icon: lock-open
|
|
color: "#ffffff"
|
|
- name: "Good Night"
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Good Night"
|
|
color: "#9e9e9e"
|
|
icon:
|
|
icon: weather-night
|
|
color: "#9e9e9e"
|
|
- name: "Good Morning"
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Good Morning"
|
|
color: "#ff9800"
|
|
icon:
|
|
icon: weather-sunny
|
|
color: "#ff9800"
|
|
- name: "Leave Home"
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Leave Home"
|
|
color: "#ffffff"
|
|
icon:
|
|
icon: home-export-outline
|
|
color: "#ffffff"
|
|
- name: "Arrive Home"
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Arrive Home"
|
|
color: "#ffffff"
|
|
icon:
|
|
icon: home-import-outline
|
|
color: "#ffffff"
|
|
|
|
#zoneminder:
|
|
# - host: zoneminder.grondek.pl
|
|
# ssl: true
|
|
# verify_ssl: true
|
|
# path_zms: /zm/cgi-bin/nph-zms
|
|
# path: /zm/
|
|
#camera:
|
|
# - platform: zoneminder
|
|
# - platform: generic
|
|
# name: '3D Printer Camera'
|
|
# still_image_url: https://192.168.110.11:8554/currentpic.cgi
|
|
# stream_source: rtsp://192.168.110.11:8554/unicast
|
|
# rtsp_transport: udp
|
|
# verify_ssl: false
|
|
# scan_interval: 5
|
|
# - platform: generic
|
|
# name: 'Kitchen Direct'
|
|
# still_image_url: https://root:root@192.168.110.12/cgi-bin/currentpic.cgi
|
|
# stream_source: rtsp://192.168.110.12:8554/unicast
|
|
# rtsp_transport: udp
|
|
# verify_ssl: false
|
|
# scan_interval: 5
|
|
# - platform: generic
|
|
# name: 'Hallway Direct'
|
|
# still_image_url: https://192.168.110.13:8554/currentpic.cgi
|
|
# stream_source: rtsp://192.168.110.13:8554/unicast
|
|
# rtsp_transport: udp
|
|
# verify_ssl: false
|
|
# scan_interval: 5
|
|
|
|
influxdb:
|
|
host: 192.168.50.100
|
|
port: 8086
|
|
database: home-assistant
|
|
username: home-assistant
|
|
password: !secret influxdb_password
|
|
|
|
alarm_control_panel:
|
|
- platform: manual
|
|
name: Home Alarm
|
|
delay_time: 30
|
|
arming_time: 30
|
|
trigger_time: 120
|
|
|
|
notify:
|
|
- platform: nfandroidtv
|
|
name: Shield
|
|
host: 192.168.60.18
|
|
color: black
|
|
- platform: sms
|
|
name: sms_notification
|
|
recipient: !secret phone_number
|
|
|
|
media_player:
|
|
- platform: androidtv
|
|
name: Bedroom ATV
|
|
device_class: androidtv
|
|
host: 192.168.60.17
|
|
adbkey: "/config/android/adbkey"
|
|
- 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
|
|
com.formulaone.production: F1TV
|
|
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@192.168.50.21 sudo /sbin/poweroff'
|
|
pc_suspend: 'ssh -i /config/.ssh/id_rsa -o UserKnownHostsFile=/config/.ssh/known_hosts home-assistant@192.168.50.21 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"
|
|
- platform: caldav
|
|
url: https://cloud.grondek.pl/remote.php/dav
|
|
username: pgrondek
|
|
password: !secret nextcloud_token
|
|
calendars:
|
|
- "2021 FIA Formula One World Championship Race Calendar"
|
|
|
|
ble_monitor:
|
|
# Xiaomi BT Sensors
|
|
decimals: 1
|
|
period: 60
|
|
log_spikes: False
|
|
use_median: False
|
|
active_scan: False
|
|
bt_interface: 'DC:A6:32:F6:63:C3'
|
|
report_unknown: False
|
|
discovery: False
|
|
devices:
|
|
- name: 'Toothbrush'
|
|
mac: '50:33:8b:1b:a1:9f'
|
|
- name: 'Bedroom sensor [BLE]'
|
|
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 [BLE]'
|
|
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 Plant 1'
|
|
mac: 'C4:7C:8D:6C:5B:25'
|
|
- name: 'Thuja Plant 2'
|
|
mac: 'C4:7C:8D:6C:9F:C6'
|
|
- name: 'Thuja Plant 3'
|
|
mac: 'C4:7C:8D:6C:9F:9B'
|
|
- name: 'Living Room Plant 1'
|
|
mac: 'C4:7C:8D:6C:59:D0'
|
|
- name: 'Living Room Plant 2'
|
|
mac: 'C4:7C:8D:6C:59:D5'
|
|
- name: 'Weight Scale'
|
|
mac: 'C8:47:8C:D9:6F:96'
|
|
- name: 'Freezer'
|
|
mac: 'A4:C1:38:67:C8:76'
|
|
|
|
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"
|
|
# SNMP
|
|
- platform: snmp
|
|
name: "Router eth0 link speed"
|
|
host: 192.168.60.1
|
|
community: home
|
|
baseoid: 1.3.6.1.2.1.2.2.1.5.4
|
|
accept_errors: true
|
|
unit_of_measurement: "Mbits"
|
|
value_template: "{{((value | int) / 1000000) | int}}"
|
|
- platform: snmp
|
|
name: "Router eth1 link speed"
|
|
host: 192.168.60.1
|
|
community: home
|
|
baseoid: 1.3.6.1.2.1.2.2.1.5.5
|
|
accept_errors: true
|
|
unit_of_measurement: "Mbits"
|
|
value_template: "{{((value | int) / 1000000) | int}}"
|
|
- platform: snmp
|
|
name: "Router eth2 link speed"
|
|
host: 192.168.60.1
|
|
community: home
|
|
baseoid: 1.3.6.1.2.1.2.2.1.5.6
|
|
accept_errors: true
|
|
unit_of_measurement: "Mbits"
|
|
value_template: "{{((value | int) / 1000000) | int}}"
|
|
- platform: snmp
|
|
name: "Router eth3 link speed"
|
|
host: 192.168.60.1
|
|
community: home
|
|
baseoid: 1.3.6.1.2.1.2.2.1.5.7
|
|
accept_errors: true
|
|
unit_of_measurement: "Mbits"
|
|
value_template: "{{((value | int) / 1000000) | int}}"
|
|
- platform: snmp
|
|
name: "Router eth4 link speed"
|
|
host: 192.168.60.1
|
|
community: home
|
|
baseoid: 1.3.6.1.2.1.2.2.1.5.8
|
|
accept_errors: true
|
|
unit_of_measurement: "Mbits"
|
|
value_template: "{{((value | int) / 1000000) | int}}"
|
|
- platform: snmp
|
|
version: 2c
|
|
name: "Router uptime"
|
|
host: 192.168.60.1
|
|
community: home
|
|
baseoid: 1.3.6.1.2.1.25.1.1.0
|
|
accept_errors: true
|
|
value_template: >-
|
|
{% set timetick = value | int %}
|
|
{% set minutes = ((timetick % 360000) / 6000) | int%}
|
|
{% set hours = ((timetick % 8640000) / 360000) | int %}
|
|
{% set days = (timetick / 8640000) | int %}
|
|
{%- if timetick < 6000 -%}
|
|
Less than a minute
|
|
{%- else -%}
|
|
{%- if days > 0 -%}
|
|
{%- if days == 1 -%}
|
|
1 day
|
|
{%- else -%}
|
|
{{ days }} days
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- if hours > 0 -%}
|
|
{%- if days > 0 -%}
|
|
{{ ', ' }}
|
|
{%- endif -%}
|
|
{%- if hours == 1 -%}
|
|
1 hr
|
|
{%- else -%}
|
|
{{ hours }} hrs
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- if minutes > 0 -%}
|
|
{%- if days > 0 or hours > 0 -%}
|
|
{{ ', ' }}
|
|
{%- endif -%}
|
|
{%- if minutes == 1 -%}
|
|
1 min
|
|
{%- else -%}
|
|
{{ minutes }} min
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
# Power
|
|
- platform: integration
|
|
name: "3D printer energy Total"
|
|
unit_prefix: k
|
|
unit_time: h
|
|
source: sensor.3d_printer_electric_consumption_w
|
|
- platform: integration
|
|
source: sensor.rack_outlet_electrical_measurement
|
|
name: "Rack outlet energy Total"
|
|
unit_prefix: k
|
|
unit_time: h
|
|
- 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
|
|
# Powercalc
|
|
- platform: powercalc
|
|
create_group: Kitchen lights
|
|
include:
|
|
area: Kitchen
|
|
- platform: powercalc
|
|
create_group: Bedroom lights
|
|
entities:
|
|
- entity_id: light.bedroom_1
|
|
- entity_id: light.bedroom_2
|
|
- entity_id: light.bed_lamp_left
|
|
- entity_id: light.bed_lamp_right
|
|
- entity_id: light.bed_lightstrip
|
|
|
|
binary_sensor:
|
|
- name: Hulk Ping
|
|
platform: ping
|
|
host: 192.168.50.21
|
|
- name: Banner Ping
|
|
platform: ping
|
|
host: 192.168.50.22
|
|
- name: Hawkeye Ping
|
|
platform: ping
|
|
host: 192.168.50.23
|
|
|
|
switch:
|
|
# - platform: zoneminder
|
|
# command_on: Modect
|
|
# command_off: Monitor
|
|
# Wake On LAN
|
|
- platform: wake_on_lan
|
|
name: 'Hulk WoL'
|
|
mac: '24:4b:fe:05:e2:8b'
|
|
broadcast_address: 192.168.50.254
|
|
|
|
cover:
|
|
- platform: group
|
|
name: Bedroom Blinds
|
|
entities:
|
|
- cover.bedroom_blind_left
|
|
- cover.bedroom_blind_right
|
|
- platform: group
|
|
name: Dining Blinds
|
|
entities:
|
|
- cover.dining_blind_left
|
|
- cover.dining_blind_middle
|
|
- cover.dining_blind_right
|
|
- platform: group
|
|
name: Office Blinds
|
|
entities:
|
|
- cover.office_blind_left
|
|
- cover.office_blind_right
|