{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "timsa.ru: заметки с тегом smarthome",
    "_rss_description": "Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/timsa.ru\/tags\/smarthome\/",
    "feed_url": "https:\/\/timsa.ru\/tags\/smarthome\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "timsa",
            "url": "https:\/\/timsa.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "194",
            "url": "https:\/\/timsa.ru\/all\/homeassistant\/",
            "title": "Установка homeassistant",
            "content_html": "<pre class=\"e2-text-code\"><code class=\"\">apt-get update &amp;&amp; apt-get install curl net-tools iftop htop sudo python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff6 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev<\/code><\/pre><p>настроить sudo, консольку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">useradd -rm homeassistant\r\n# mkdir \/homeassistant # ставим в домашнюю\r\n# chown homeassistant:homeassistant \/homeassistant\r\nsudo -u homeassistant -H -s\r\ncd \/home\/homeassistant\r\npython3 -m venv .\r\nsource bin\/activate\r\npython3 -m pip install wheel \r\npip3 install homeassistant numpy mutagen\r\nhass<\/code><\/pre><p>для автозапуска<br \/>\nсоздаем файл \/etc\/systemd\/system\/home-assistant@homeassistant.service<br \/>\nс содержимым:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">[Unit]\r\nDescription=Home Assistant\r\nAfter=network-online.target\r\n\r\n[Service]\r\nType=simple\r\nUser=%i\r\nWorkingDirectory=\/home\/%i\/.homeassistant\r\nExecStart=\/home\/%i\/bin\/hass -c &quot;\/home\/%i\/.homeassistant&quot;\r\nRestartForceExitStatus=100\r\nRestart=on-failure\r\nRestartSec=5s\r\n\r\n[Install]\r\nWantedBy=multi-user.target<\/code><\/pre><p>далее<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl --system daemon-reload\r\nsudo systemctl enable home-assistant@homeassistant\r\nsudo systemctl start home-assistant@homeassistant<\/code><\/pre><p>ставим брокер MQTT<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">curl -s https:\/\/assets.emqx.com\/scripts\/install-emqx-deb.sh | bash\r\napt-get install emqx\r\nsystemctl start emqx<\/code><\/pre><p>по умолчанию admin:public<\/p>\n<p>UPD.:<br \/>\nEmqx по-большому счету совершенно ненужный сервант, запускает вагон сервисов, жрет ресурсы, а для работы умного дома функционала mosquitto хватит за глаза.<\/p>\n",
            "date_published": "2024-06-26T21:31:54+05:00",
            "date_modified": "2024-07-01T16:36:43+05:00",
            "tags": [
                "linux",
                "smarthome"
            ],
            "_date_published_rfc2822": "Wed, 26 Jun 2024 21:31:54 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "194",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "124",
            "url": "https:\/\/timsa.ru\/all\/umny-dom-s-alisoy-ot-yandeksa\/",
            "title": "Умный дом с Алисой от Яндекса",
            "content_html": "<p>Решил прикрутить к своему умному дому голосовой интерфейс от Яндекса. Мой умный дом — страшный зверинец из разных систем, на разном железе и разном софте.<br \/>\nВ нем всё самописное, поэтому открытых дверей ждать не приходится.<\/p>\n<p>Яндекс предполагает работу с нормальными сторонними сервисами, которые не поленились встроить регистрацию пользователей через OAuth. У меня такой нет, поэтому будем использовать яндексовскую же.<\/p>\n<ol start=\"1\">\n<li>Идем на <a href=\"https:\/\/oauth.yandex.ru\/\">https:\/\/oauth.yandex.ru\/<\/a> и нажимаем зарегистрировать новое приложение.<br \/>\nНазвание, описание, иконка — пофигу<br \/>\nСсылка на приложение тоже, но я задал путь к скрипту, обрабатывающему запросы яндекса.<br \/>\nПлатформы — веб-сервисы<br \/>\nCallback URI ставим «<a href=\"https:\/\/social.yandex.net\/broker\/redirect\">https:\/\/social.yandex.net\/broker\/redirect<\/a>» (это самое главное). Всякие ошибки «redirect_uri не совпадает с Callback URL» — это отсюда.<br \/>\nДальше доступы отмечаем<br \/>\nAPI Яндекс.Паспорта доступ к электронной почте (может и не надо, но не жалко)<br \/>\nУмный дом Яндекса ставим обе галочки.<br \/>\nСохраняем.<br \/>\nТеперь у нас есть ID и Пароль.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li>Идем на Яндекс диалоги <a href=\"https:\/\/dialogs.yandex.ru\/developer\">https:\/\/dialogs.yandex.ru\/developer<\/a> выбираем новый диалог — создать умный дом<br \/>\nНастройки:<br \/>\nзадаем любое название;<br \/>\nendpoint url — самое главное — это опять путь к скрипту, который будет общаться с яндексом;<br \/>\nтип доступа — приватный;<br \/>\nподзаголовок пофигу что<br \/>\nимя разработчика также<br \/>\nописание тоже;<br \/>\nиконку — любую картинку;<br \/>\nавторизация — тут сложнее:<br \/>\nидентификатор — вышеполученный ID<br \/>\nсекрет — вышеполученный Пароль<br \/>\nURL авторизации — <a href=\"https:\/\/oauth.yandex.ru\/authorize\">https:\/\/oauth.yandex.ru\/authorize<\/a><br \/>\nURL получения токена — <a href=\"https:\/\/oauth.yandex.ru\/token\">https:\/\/oauth.yandex.ru\/token<\/a><br \/>\nобновление не нужно<br \/>\nидентификатор группы действий (scope) пишем — login:email iot:control iot:view<br \/>\nэто те самые доступы, как они описаны внутри системы. Без этого будем получать ошибку «Не удалось определить список запрашиваемых доступов (invalid_scope)».<br \/>\nКстати чтобы их узнать можно пойти по ссылке <a href=\"https:\/\/oauth.yandex.ru\/client\/ID\/info\">https:\/\/oauth.yandex.ru\/client\/ID\/info<\/a> где ID — тот самый ID приложения.<br \/>\nСохраняем.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li>Нажимаем «Опубликовать», ошибок быть не должно. Переключаем движок на «Опубликовано» и идем в Тестирование.<br \/>\nНажимаем  большой плюс, выбираем «Другое устройство». Где то тут оно пробросит нас на авторизацию OAuth попросит разрешения предоставить данные и добавит умный дом в список производителей.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li>Теперь идем в свой скрипт и начинаем прописывать устройства и их реакции.<br \/>\nТут придется сначала изучить <a href=\"https:\/\/yandex.ru\/dev\/dialogs\/alice\/doc\/smart-home\/about.html\">https:\/\/yandex.ru\/dev\/dialogs\/alice\/doc\/smart-home\/about.html<\/a><\/li>\n<\/ol>\n",
            "date_published": "2021-02-04T15:56:33+05:00",
            "date_modified": "2021-02-04T15:56:30+05:00",
            "tags": [
                "alice",
                "smarthome",
                "yandex",
                "умный дом"
            ],
            "_date_published_rfc2822": "Thu, 04 Feb 2021 15:56:33 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "124",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4079,
    "_e2_ua_string": "Aegea 11.0 (v4079)"
}