Найти в Дзене
SAV LABS

Автоматическое обновление SSL-сертификатов в Home Assistant. SSL сертификаты. Роутер Keenetic. Электрический карниз.

Уже в процессе написания данной статьи приехал новый сервер (Intel N150/8Gb/512Gb M.2) для HA в мою будущую квартиру, который буду настраивать параллельно, поэтому часть скриншотов пока будет с работающего сервера, а часть с нового. Заметно шустрее работающего сейчас сервера... В-принципе, почти все будет заново настроено почти также , как описано в статьях из подборки на канале, поэтому про настройку одного и того же рассказывать не буду (для установки может помочь страничка с более подробным описанием процесса). Но, кое-что поменяется, про что и буду упоминать в новых статьях. Например, тут я уже буду использовать сразу систему Z2M (ZigBee-to-MQTT), правда ZigBee-стик у меня сейчас один, но зато он уже прошит для работы с MQTT, о чем рассказывал в другой статье. Мы уже научились использовать SSL-сертификаты в другой статье, однако остался вопрос их автоматического обновления, так как порты 80 и 443 у меня закрыты на роутере, о чем упомянул тоже ранее. Для реализации этой функции нам
Оглавление

Новый сервер HA

Уже в процессе написания данной статьи приехал новый сервер (Intel N150/8Gb/512Gb M.2) для HA в мою будущую квартиру, который буду настраивать параллельно, поэтому часть скриншотов пока будет с работающего сервера, а часть с нового.

Заметно шустрее работающего сейчас сервера... В-принципе, почти все будет заново настроено почти также , как описано в статьях из подборки на канале, поэтому про настройку одного и того же рассказывать не буду (для установки может помочь страничка с более подробным описанием процесса). Но, кое-что поменяется, про что и буду упоминать в новых статьях. Например, тут я уже буду использовать сразу систему Z2M (ZigBee-to-MQTT), правда ZigBee-стик у меня сейчас один, но зато он уже прошит для работы с MQTT, о чем рассказывал в другой статье.

Автоматическое обновление SSL-сертификатов Lets Encrypt и роутер Keenetic Speedster

Мы уже научились использовать SSL-сертификаты в другой статье, однако остался вопрос их автоматического обновления, так как порты 80 и 443 у меня закрыты на роутере, о чем упомянул тоже ранее. Для реализации этой функции нам нужно сделать две вещи - создать скрипт запуска процесса обновления и скрипт открытия/закрытия 80 и 443 портов на нашем роутере. Второй скрипт будем запускать сначала для открытия портов, допустим за минуту до запуска первого скрипта. Далее запускаем первый, а через минут пять второй для закрытия портов. С первым скриптом проблем нет, допустим мы будем запускать его каждый день в три часа ночи. Идем в "Настройки - Автоматизации и сцены", добавляем новую автоматизацию, срабатывающую по триггеру времени и запускающую дополнение Let's Encrypt.

В-принципе, можно выбрать и день недели, дабы не каждый день срабатывала. Если посмотреть в File Editor файлик automations.yaml, то наша автоматизация будет выглядеть примерно так

-3

Так что можно было прописать ее там ручками - кому как нравится. Итак, дополнение у нас теперь будет запускаться, но желаемого результата не будет, так как закрыты порты на роутере. Чтобы создать скрипт для открытия/закрытия портов нам надо как-то подключится к роутеру (кроме WEB-интерфейса). Собственно самые распространенные варианты - по telnet или ssh. Сами по себе настройка и подключение у разных роутерах разное, но рассмотрим вариант на примере моего нового Keenetic Speedster KN-3013 - его я буду использовать после переезда в новую квартиру вместо уже конкретно устаревшего HUAWEI HG-8245H (хотя верой и правдой служащий уже более десяти лет) с его непонятным набором команд и отсутствием документации по ним.

Рассказывать про настройку роутера с самого начала не буду, так как у каждого своя ситуация с сетью, остановлюсь только на ключевых нужных нам моментах.

Для начала разберемся с командами чтобы выбрать нужную - подключаемся к роутеру с компа. Подключаться можно и по ssh и по telnet. Воспользуюсь telnet, хотя ssh нам позже тоже понадобится. В данном случае не принципиально, но есть нюанс: после установки SSH-сервера на Keenetic, подключиться сразу по ssh не удалось. Помогла техподдержка Keenetic, которая посоветовала выполнить следующие команды:

ip ssh keygen default - генерируются ключи

no service ssh - выключаем сервер ssh

service ssh - включаем

system coiguration save - сохраняем конфигурацию

После этого ssh-подключение стало доступно

-4

После подключения, ввода логина и пароля, мы попадем в систему CLI (Comand Line Interface) и увидим строку-приглашение "config". При вводе команды в виде знака вопроса можно увидеть список доступных команд.

-5

На Keenetic внешний интерфейс (который смотрит в инет) называется GigabitEthernet1, соответственно нам нужно создать правило переадресации для него. Для проверки можно ввести соответствующую команду

ip static tcp GigabitEthernet1 80 192.168.200.5 80 !SSL

В данном случае все запросы, приходящие на внешний интерфейс, будут переадресованы HA. Отменяется переадресация такой же командой с добавлением впереди no.

no ip static tcp GigabitEthernet1 80 192.168.200.5 80 !SSL

Для того, чтобы правило переадресации отображалось в Web-интерфейсе Keenetic и сохранилось в настройках, необходимо дать еще одну команду (нам, соббсно, это не нужно, так как правило мы включим буквально на 10 минут и выключим).

system configuration save

Итак, для того, чтобы послать из HA команду на роутер по ssh, нам понадобится интеграция SSH Command. Чтобы ее установить, заходим в HACS, и добавляем репозиторий (через меню в верхнем правом углу) Alexx/SSHCommand, после чего интеграция станет доступной для установки - устанавливаем.

<<< Подборка статей на этом канале про Home Assistant >>>

Перегружаем HA. После этого в настройках добавляем новый скрипт, который будет включать переадресацию, передавая команду роутеру.

Аналогично создаем еще один скрипт, передающий команду на отключение переадресации.

Так как само обновление я в итоге запланировал в три часа ночи во вторник и пятницу, будем запускать эти скрипты за 5 минут до и через 10 минут после обновления - создадим соответствующие автоматизации.

После этого можно будет забыть про просроченные SSL-сертификаты.

Двигатель карниза на аккумуляторе в HA

Пришел один вариант аккумуляторного карниза, попробуем его завести в HA, заодно проверим работоспособность двигателя. В этой квартире и к работающему HA я его подключать не буду, тем более, что для его нормального управления нужен MQTT... Собирать и устанавливать карниз я буду уже в новой квартире.

Входим в интерфейс Z2M и нажимаем в правом верхнем углу кнопку "Разрешить обнаружение" (тут я уже говорил, что это кнопка, а не выпадающий список).

-9

На самом моторно-аккумуляторном блоке карниза трижды нажимаем кнопку (она там одна) для включения режима сопряжения (да, отличается от обычного долгого нажатия).

После этого карниз появляется в списке устройств и можно его переименовать и тп. На одной из закладок можно поуправлять мотором. Окультуривать в интерфейсе HA буду позже, сейчас главное, что работает...

Важно

Я уже говорил, что ZigBee-стик у меня пока один, поэтому приходится на время настройки нового сервера переставлять его с работающего сервера HA на новый, а потом обратно. Дык вот при этом HA начинает кричать, что настройки стика были изменены и предлагает или принять эти изменения или восстановить из резервной копии - надо выбирать восстановление, иначе собьются настройки... Если же не сделать выбор, что HA работать полноценно не будет...

Продолжим настраивать HA в следующих статьях, поэтому

Ставьте лайки, оставляйте комментарии, страница в VK, подписывайтесь на канал, присоединяйтесь в Telegram чтобы ничего не пропустить!

Поддержите канал донатом

-12

#умныйдом #календарь #HA #HomeAssistant #сделайсам #минипк #неттоп #nettop #HACS #nodered #node-red #nodered #dwainsdashboard #dwains #dashboard #планшет #ibeacon #bluetooth #ssl #защита #визуализация #3D #bluetooth #колонка #speaker #календарь #ptz