{"id":13633451,"url":"https://github.com/munrexio/yandex2mqtt","last_synced_at":"2025-04-18T10:34:55.542Z","repository":{"id":35461079,"uuid":"195103908","full_name":"munrexio/yandex2mqtt","owner":"munrexio","description":"Bridge from Yandex Smart Home to MQTT","archived":false,"fork":false,"pushed_at":"2022-12-10T22:00:51.000Z","size":127,"stargazers_count":105,"open_issues_count":19,"forks_count":72,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-01T23:31:17.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/munrexio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-03T17:59:34.000Z","updated_at":"2024-07-26T05:47:50.000Z","dependencies_parsed_at":"2023-01-15T21:38:38.557Z","dependency_job_id":null,"html_url":"https://github.com/munrexio/yandex2mqtt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munrexio%2Fyandex2mqtt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munrexio%2Fyandex2mqtt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munrexio%2Fyandex2mqtt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munrexio%2Fyandex2mqtt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/munrexio","download_url":"https://codeload.github.com/munrexio/yandex2mqtt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223779727,"owners_count":17201221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T23:00:43.823Z","updated_at":"2024-11-09T02:32:10.913Z","avatar_url":"https://github.com/munrexio.png","language":"JavaScript","funding_links":[],"categories":["Умный дом"],"sub_categories":["Open-source навыки"],"readme":"# yandex2mqtt\nМост из Яндекс УД в MQTT на Node.js \n\nСтатья на Хабре https://habr.com/ru/post/465537/\n\n## Установка\n\nНастраиваем репозиторий Node JS\n\ncurl -sL https://deb.nodesource.com/setup_10.x | bash -\n\nУстанавливаем необходимые компоненты\n\napt-get install -y nodejs git make g++ gcc build-essential\n\nКопируем файлы\n\ngit clone https://github.com/munrexio/yandex2mqtt.git /mnt/data/root/yandex2mqtt\n\nЗадаём права.\n\nchown -R root:root /mnt/data/root/yandex2mqtt\n\nЗаходим в директорию и запускаем установку\n\ncd /mnt/data/root/yandex2mqtt\n\nnpm install\n\nЗапускаем мост  (Перед запуском мост нужно настроить)\n\nnpm start\n\n## Автозапуск\n\nВ папке  /etc/systemd/system/ создайте файл yandex2mqtt.service и впишите в него:\n\n[Unit]\n\nDescription=yandex2mqtt\n\nAfter=network.target\n\n\n[Service]\n\nExecStart=/usr/bin/npm start\n\nWorkingDirectory=/mnt/data/root/yandex2mqtt\n\nStandardOutput=inherit\n\nStandardError=inherit\n\nRestart=always\n\nUser=root\n\n\n[Install]\n\nWantedBy=multi-user.target\n\n\nДля включения сервиса впишите в консоль:\n\nsystemctl enable yandex2mqtt.service\n\n\nПосле этого можно управлять командами:\n\nservice yandex2mqtt start\n\nservice yandex2mqtt stop\n\nservice yandex2mqtt restart\n\n\n## Настройка\n\nДля работы моста необходим валидный ssl сертификат. Если нет своего домена и белого IP адреса можно воспользоваться Dynamic DNS  сервисами. (на пример noip.com). Для получения сертификата можно воспользоваться приложением certbot. \n\nВсе основные настройки моста прописываются в файл config.js. Перед запуском обязательно отредактируйте настройки. \n\n\n1) MQTT: Прописываем параметры своего MQTT сервера.\n\n2) https: укажите путь к корневому SSL сертификату и файлу с ключами, порт по которому будет доступен плагин.\n\n3) clients: Укажите произвольные параметры клиента. (Будет нужно для настройки навыка в Яндексе)\n\n4) users: Укажите параметры пользователей для доступа к мосту.\n\n5) devices: Укажите необходимые девайсы и топики MQTT для управления. В конфиге уже вписанно несколько устройств для примера их конфигурации.\n\nЧуть позже добавлю шаблоны устройств. \n\nДля лучшего понимания советую посмотреть документацию от Яндекса.\n\nhttps://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/main-objects-docpage/\n\nhttps://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/on_off-docpage/\n\n## Создание навыка\n\nЗаходим на https://dialogs.yandex.ru/developer/skills =\u003e Создать диалог =\u003e Умный дом\n\nНазвание: Любое\n\nEndpoint URL: https://вашдомен/provider\n\nСтавим галку \"Не показывать в каталоге\"\n\nИмя разработчика: Ваше имя\n\nНажимаем \"Добавить новую\" связку\n\nНазвание: Любое\n\nИдентификатор  и секрет : берем из конфигурации yandex2mqtt в блоке \"clients\".\n\nURL авторизации: https://вашдомен/dialog/authorize\n\nURL для получения токена: https://вашдомен/oauth/token\n\nСохраняем связку и выбираем её в навыке. Выбираем иконку, пишем описание, нажимаем \"Сохранить\". \n\nДальше жмём \"На модерацию\" и сразу \"Опубликовать\". Готово. \n\nНавык появится в приложении Яндекс в разделе \"Устройства\" =\u003e умный дом. \n\nСвяжите аккаунты и обновите список устройств. После этого устройства будут доступны для управления через Алису. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmunrexio%2Fyandex2mqtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmunrexio%2Fyandex2mqtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmunrexio%2Fyandex2mqtt/lists"}