509 lines
12 KiB
YAML
509 lines
12 KiB
YAML
# Configure a default setup of Home Assistant (frontend, api, etc)
|
|
alert: !include alert.yaml
|
|
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
|
|
input_boolean:
|
|
3d_printer_timelapse:
|
|
name: "3D printer timelapse"
|
|
icon: "mdi:camera-burst"
|
|
daily_coffee:
|
|
name: "Daily - coffee drank"
|
|
icon: "mdi:coffee"
|
|
guests_at_home:
|
|
name: "Guests at home"
|
|
icon: "mdi:account-group"
|
|
intercom_button:
|
|
name: "Intercom button helper"
|
|
icon: "mdi:door-closed-lock"
|
|
meal_alert:
|
|
name: "Meal alert"
|
|
icon: "mdi:silverware-fork-knife"
|
|
meal_helper:
|
|
name: "Meal helper"
|
|
icon: "mdi:silverware-fork-knife"
|
|
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"
|
|
washing_machine_done:
|
|
name: "Washing machine done"
|
|
icon: "mdi:washing-machine"
|
|
washing_clothes_dry:
|
|
name: "Washing clothes dry"
|
|
icon: "mdi:hanger"
|
|
put_laundry_away:
|
|
name: "Put laundry away"
|
|
icon: "mdi:tshirt-crew"
|
|
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"
|
|
music_service:
|
|
name: Music service
|
|
options:
|
|
- Spotify
|
|
- Apple Music
|
|
tv_select:
|
|
name: TV Select for ATV
|
|
icon: mdi:android
|
|
options:
|
|
- remote.bedroom_atv
|
|
- remote.shield
|
|
|
|
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
|
|
purge_keep_days: 365
|
|
scene: !include scenes.yaml
|
|
script: !include scripts.yaml
|
|
ssdp:
|
|
stream:
|
|
sun:
|
|
system_health:
|
|
#tag:
|
|
timer:
|
|
webhook:
|
|
zeroconf:
|
|
zone:
|
|
|
|
#powercalc:
|
|
|
|
# Text to speech
|
|
tts:
|
|
|
|
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: "Intercom button"
|
|
background_color: "#000000"
|
|
label:
|
|
text: "Intercom button"
|
|
color: "#ffffff"
|
|
icon:
|
|
icon: door-closed-lock
|
|
color: "#ffffff"
|
|
- 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"
|
|
|
|
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
|
|
- name: hulk
|
|
platform: rest
|
|
method: POST_JSON
|
|
resource: !secret webhook_url
|
|
message_param_name: message
|
|
title_param_name: title
|
|
|
|
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:
|
|
pikvm_login:
|
|
url: "http://192.168.1.5/logon.cgi"
|
|
method: POST
|
|
content_type: "application/x-www-form-urlencoded"
|
|
# payload: "username=admin&password=YOUR_PASSWORD_HERE&cpassword=&logon=Login"
|
|
payload: !secret switch_login_payload
|
|
pikvm_power_on:
|
|
url: "http://192.168.1.5/poe_port_config.cgi"
|
|
method: POST
|
|
content_type: "application/x-www-form-urlencoded"
|
|
payload: "name_pstate=2&name_ppriority=2&name_ppowerlimit=1&name_ppowerlimit2=&sel_6=1&applay=Apply"
|
|
pikvm_power_off:
|
|
url: "http://192.168.1.5/poe_port_config.cgi"
|
|
method: POST
|
|
content_type: "application/x-www-form-urlencoded"
|
|
payload: "name_pstate=1&name_ppriority=2&name_ppowerlimit=1&name_ppowerlimit2=&sel_6=1&applay=Apply"
|
|
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"
|
|
}
|
|
|
|
waste_collection_schedule:
|
|
sources:
|
|
- name: warszawa19115_pl
|
|
args:
|
|
geolocation_id: 76748040
|
|
|
|
rest:
|
|
calendar:
|
|
- platform: caldav
|
|
url: https://cloud.grondek.pl/remote.php/dav
|
|
username: pgrondek
|
|
password: !secret nextcloud_token
|
|
custom_calendars:
|
|
- name: "Wakeup"
|
|
calendar: "Automations"
|
|
search: "Wakeup"
|
|
- name: "Daily"
|
|
calendar: "Automations"
|
|
search: "Daily"
|
|
- platform: caldav
|
|
url: https://cloud.grondek.pl/remote.php/dav
|
|
username: pgrondek
|
|
password: !secret nextcloud_token
|
|
calendars:
|
|
- "Formula 1"
|
|
|
|
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
|
|
|
|
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
|
|
- platform: wake_on_lan
|
|
name: 'Thor WoL'
|
|
mac: '5c:1b:f4:e4:52:11'
|
|
broadcast_address: 192.168.50.254
|
|
- platform: template
|
|
switches:
|
|
pikvm_poe:
|
|
turn_on:
|
|
- service: rest_command.pikvm_login
|
|
- service: rest_command.pikvm_power_on
|
|
turn_off:
|
|
- service: rest_command.pikvm_login
|
|
- service: rest_command.pikvm_power_off
|
|
|
|
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
|
|
- cover.dining_blind_back
|
|
- platform: group
|
|
name: Office Blinds
|
|
entities:
|
|
- cover.office_blind_left
|
|
- cover.office_blind_right
|