# 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