Заинтересовала меня найденная на просторах интернета заметка посвященная, как посредством Ubuntu
инструментов производить отслеживание устройств, которые подключены к домашнему роутеру. А вот выводить собственно куда буду в Home Assistant.
Считаю, что важно начать что-то делать, чем смотреть как сделано у других и откладывать заметки в «Избранное»
, а там хоть время с пользой и может в голове уложится и сделается лучше, чем у автора.
Шаг №1:
Установку Home Assistant
произвел по заметке "Как установить Home Assistant on Ubuntu 18.04 Server"
Шаг №2:
Чтобы отслеживать устройства (буду рассматривать только те, которые работают через TCP/IP
) подключенные к домашнему роутеру, как через Ethernet
так и через беспроводное соединение, т.е. Wi-Fi
буду через утилиту nmap:
root@srv-proxmox:~# ssh -l ekzorchik 172.33.33.15 ekzorchik@srv-bionic:~$ sudo apt-get install -y net-tools nmap
Шаг №3:
Произвожу настройку configuration.yaml
на работу с nmap_tracker: (https://www.home-assistant.io/integrations/nmap_tracker/
ekzorchik@srv-bionic:~$ sudo nano /home/homeassistant/.homeassistant/configuration.yaml default_config: tts: - platform: google_translate device_tracker: - platform: nmap_tracker interval_seconds: 60 hosts: - 172.33.33.0/24 home_interval: 10 group: !include groups.yaml automation: !include automations.yaml script: !include scripts.yaml scene: !include scenes.yaml
После не забываем сохранить внесенные изменения.
На заметку: по задействованным параметрам
"interval_seconds: 60"
— это настройка говорит HA что нужно запускать сканирование сети один раз в минуту"hosts: 172.33.33.0/24"
— это означает что будут проверяться включено ли устройство для всех ip адресов 172.33.33.*"home_interval: 10"
— это означает что HA будет считать, что устройство больше не дома через 10 минут после последнего нахождения в сети
На заметку: После изменения файла configuration.yaml
нужно перезапустить Home Assistant.
ekzorchik@srv-bionic:~$ sudo systemctl restart home-assistant@homeassistant.service
Шаг №4:
После смотрим статус перезапуска сервиса – поднялся ли он или нет, если нет, то значит неправильный синтаксис:
ekzorchik@srv-bionic:~$ sudo systemctl status home-assistant@homeassistant.service Jul 03 13:29:00 srv-bionic systemd[1]: Stopped Home Assistant. Jul 03 13:29:00 srv-bionic systemd[1]: Started Home Assistant. Jul 03 13:29:01 srv-bionic hass[979]: 2020-07-03 13:29:01 ERROR (SyncWorker_0) [homeassistant.util.yaml.loader] mapping values are not allowed here Jul 03 13:29:01 srv-bionic hass[979]: in "/home/homeassistant/.homeassistant/configuration.yaml", line 16, column 22 Jul 03 13:29:01 srv-bionic hass[979]: 2020-07-03 13:29:01 ERROR (MainThread) [homeassistant.bootstrap] Failed to parse configuration.yaml: mapping values are not all Jul 03 13:29:01 srv-bionic hass[979]: in "/home/homeassistant/.homeassistant/configuration.yaml", line 16, column 22. Activating safe mode ekzorchik@srv-bionic:~$ tail -f /home/homeassistant/.homeassistant/home-assistant.log 2020-07-03 13:37:38 WARNING (MainThread) [homeassistant.setup] Setup of zone is taking over 10 seconds. 2020-07-03 13:37:38 WARNING (MainThread) [homeassistant.setup] Setup of logbook is taking over 10 seconds. 2020-07-03 13:37:38 ERROR (MainThread) [homeassistant.components.updater] Timeout fetching Home Assistant update data ^C
Шаг №5:
После перезапуска сервиса проверяем какие устройства сейчас в сети:
На заметку: Home Assistant
складывает информацию про все найденные устройства в файл known_devices.yaml
в каталоге /home/homeassistant/.homeassistant/
ekzorchik@srv-bionic:~$ sudo nano /home/homeassistant/.homeassistant/known_devices.yaml gateway: icon: mac: B8:69:F4:2F:D1:6C name: _gateway picture: track: true 60_a4_4c_2b_3b_36: icon: mac: 60:A4:4C:2B:3B:36 name: 60_a4_4c_2b_3b_36 picture: track: true cc_2d_e0_e5_16_de: icon: mac: CC:2D:E0:E5:16:DE name: cc_2d_e0_e5_16_de picture: track: true e0_d5_5e_75_9b_d9: icon: mac: E0:D5:5E:75:9B:D9 name: e0_d5_5e_75_9b_d9 picture: track: true 00_fd_45_fc_c4_2e: icon: mac: 00:FD:45:FC:C4:2E name: 00_fd_45_fc_c4_2e picture: track: true 18_d2_76_45_21_dc: icon: mac: 18:D2:76:45:21:DC name: 18_d2_76_45_21_dc picture: track: true ekzorchik@srv-bionic:~$
На заметку: Home Assistant
запускает утилиту “nmap”
, а с ее помощью получается список всех устройств с мак адресами которые формируются в файле known_devices.yaml
, те которые включены.
Шаг №6:
Как видно из содержимого, файл known_devices.yaml
можно заполнить информацией об устройствах:
добавить иконку
переименовать для удобства, что найденный MAC-адрес устройства – это то или иное устройство
добавить картинку
Пример:
ekzorchik@srv-bionic:~$ sudo nano /home/homeassistant/.homeassistant/known_devices.yaml devicename: name: ekznotik mac: 12:34:56:78:90:01 picture: https://lin.ekzorchik.ru/images/ekznotik.png icon: mdi:account (‘mdi:devices’) gravatar: track: yes/on/true consider_home:
Пример после заполнения информации об устройстве:
ekzorchik@srv-bionic:~$ sudo systemctl restart home-assistant@homeassistant.service
http://IP&DNS:8123 (http://172.33.33.15:8123) – Настройки – Объекты
– вижу объект «Mikrotik
», щелкаю по нему один раз левой кнопкой мыши
И после нажимаю на
Вижу свою иконку, именование устройства и другую различную информацию.
Т.к. я пока только разбираю, то в последствии все изображения будут у меня локально. Я придерживаюсь правила не зависеть ни от кого.
Также редактировать конфигурационные файлы можно через Web, а не через консоль:
http://IP&DNS:8123 (http://172.33.33.15:8123) – Панель разработчика – Состояния
– нахожу в списке актуальных объектов объект с MAC
адресом своего роутера, кликаю по нему и могу произвести настройки:
Но я больше люблю консоль.
Пока на этом я остановлюсь, в последующих заметках будет более интересное и раскрывающее как все же добавлять элементы на главную страницу и т.д.
На этом пока собственно и всё, с уважением автор блога Олло Александр aka ekzorchik.