<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.spruthub.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Permadm</id>
	<title>Sprut.hub Wiki - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.spruthub.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Permadm"/>
	<link rel="alternate" type="text/html" href="https://wiki.spruthub.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Permadm"/>
	<updated>2026-06-14T23:40:44Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.spruthub.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_Xiaomi&amp;diff=3475</id>
		<title>Создание контроллера Xiaomi</title>
		<link rel="alternate" type="text/html" href="https://wiki.spruthub.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_Xiaomi&amp;diff=3475"/>
		<updated>2025-09-11T13:03:49Z</updated>

		<summary type="html">&lt;p&gt;Permadm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Создание контроллера Xiaomi ==&lt;br /&gt;
{{QuoteYellow|WiFi устройства Xiaomi подключаются к локальной сети вашего дома с помощью вашего же роутера. Они настраиваются в родном приложении и уже после этого - становятся доступны для управления из Sprut.hub через контроллер Xiaomi}}&lt;br /&gt;
{{QuoteGreen|Для локального подключения Bluetooth светильников(спотов) Xiaomi и Yeelight в Sprut.hub - требуется Yeelight Gateway YLWG01YL/YZNA0319028WTEU которые умеют работать с Apple Homekit. Дальнейшее подключение светильников, осуществляется [https://wiki.spruthub.ru/Создание_контроллера_HomeKit_(Обратный_HomeKit) через обратный HomeKit]}}&lt;br /&gt;
{{QuoteBlue|Sprut.hub подключается к серверам Xiaomi с вашей учетной записью и получает оттуда необходимые реквизиты для локального управления. Вы получаете возможность управлять своими устройствами одновременно через приложение MIHome и из Sprut.hub}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для создания контроллера Xiaomi, вам необходимо перейти в раздел &amp;quot;Контроллеры&amp;quot; и добавить новый контроллер&lt;br /&gt;
[[Файл:Xiaomi 001 Создать контроллер.png|центр|обрамить]]&lt;br /&gt;
Выбрать тип Xiaomi&lt;br /&gt;
[[Файл:Xiaomi 002 Создать контроллер.png|центр|обрамить]]&lt;br /&gt;
И нажать сохранить.&lt;br /&gt;
&lt;br /&gt;
== Настройка контроллера Xiaomi ==&lt;br /&gt;
Перед тем как включить контроллер Xiaomi, необходимо его настроить. Для этого необходимо перейти в контроллер Xiaomi, нажать на троеточие и выбрать &amp;quot;Настройки&amp;quot;&lt;br /&gt;
[[Файл:Xiaomi 003 Настройки контроллера.png|центр|обрамить]]&lt;br /&gt;
Далее необходимо ввести логин и пароль от вашей учетной записи MiHome, а также выбрать регион MiHome если это необходимо. &lt;br /&gt;
{{QuoteYellow|Нежелательно использовать в качестве логина - номер телефона. При использовании номера телефона, иногда возникают ошибки авторизации. Лучше использовать ID или e-mail}}&lt;br /&gt;
[[Файл:Xiaomi 004 Настройки контроллера.png|центр|обрамить]]&lt;br /&gt;
{{QuoteBlue|Если выбрать &amp;quot;Все страны&amp;quot; - то добавятся все устройства из всех регионов MiHome вашей учетной записи. Или вы можете выбрать конкретный регион, в котором у вас подключено устройство}}&lt;br /&gt;
&lt;br /&gt;
Если включить &amp;quot;Облачные устройства&amp;quot;, то Sprut.hub получит возможность управлять не только локально, но и удаленно через облако Xiaomi, но при этом управление будет осуществляться с задержкой (Особенности облачного управления).&lt;br /&gt;
&lt;br /&gt;
Облачное управление нужно тем, у кого в одной учетной записи подключены устройства из разных мест. Это позволит управлять как локальными так и удаленными устройствами.&lt;br /&gt;
&lt;br /&gt;
Причем вы можете выбрать в настройках каждого подключенного устройства (после его добавления в хаб) - предпочтительный способ связи&lt;br /&gt;
[[Файл:Xiaomi 006 Способ связи.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Но для начала давайте сохраним изменения в самом контроллере и включим его.&lt;br /&gt;
&lt;br /&gt;
== Двухфакторная авторизация учетной записи Xiaomi ==&lt;br /&gt;
Если у вас стоит двухфакторная авторизация, то при включении контроллера Xiaomi, в [[Служебный раздел отладки|разделе отладки]] у вас появится ссылка для прохождения двухфактора, которую нужно скопировать, вставить в адресную строку браузера и выполнить предлагаемые инструкции.&lt;br /&gt;
[[Файл:Xiaomi 007 2FA.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
Если ссылка не сработала, то можно зайти [https://account.xiaomi.com/fe/service/account/privacy по этой ссылке] и при нажатии на номер телефона - система Xiaomi вам отправит код на почту, после введения которого скорее всего контроллер сможет работать и видеть устройства&lt;br /&gt;
== Добавление устройств ==&lt;br /&gt;
Чтобы добавить в Sprut.hub устройства Xiaomi - нужно [[Создание контроллера Xiaomi#Создание контроллера Xiaomi|настроить контроллер Xiaomi]] как описано выше в этой статье.&lt;br /&gt;
&lt;br /&gt;
После включения контроллера, Sprut.hub автоматически найдет все устройства, доступные для этой учетной записи MIHome.&lt;br /&gt;
{{QuoteYellow|То, что устройства появились в контроллере - еще не значит, что они подключены к хабу. Статус &amp;quot;Not Paired&amp;quot; как раз означает, что они не подключены. Для того, чтобы они появились на вкладке &amp;quot;Устройства&amp;quot; - их надо к нему подключить.}}{{QuoteBlue|Если у устройства обозначено &amp;quot;Нет шаблона&amp;quot; - это означает, что хаб пока не поддерживает устройство. То есть он его видит, но работать с ним не может, пока не появится шаблон. Что делать в этом случае - описано в [[Моё устройство не поддерживается. Нет шаблона. Что делать|этой статье]]}}&lt;br /&gt;
&lt;br /&gt;
Для добавления поддерживаемого устройства, необходимо нажать на троеточие в правой части карточки устройства и выбрать &amp;quot;Добавить устройство&amp;quot;&lt;br /&gt;
[[Файл:Xiaomi 005 Добавить устройство.png|центр|обрамить]]&lt;br /&gt;
После добавления устройства в контроллере Xiaomi, если для него есть шаблон - он автоматически добавится в Sprut.hub и будет доступен для управления в разделе Устройства.&lt;br /&gt;
{{QuoteRed|Необходимо учитывать, что у WiFi устройств Xiaomi есть ограничение на одновременное управление из нескольких мест. Поэтому если вы управляете ими через несколько систем умного дома, вероятно в один прекрасный момент у вас начнут появляться ошибки и устройство будет работать нестабильно}}&lt;br /&gt;
&lt;br /&gt;
== Yeelight LAN Control (Управление через LAN) ==&lt;br /&gt;
&lt;br /&gt;
В связи с тем, что у ламп и люстр Yeelight есть возможность включения локального управления - многие его так или иначе включали для интеграции в различные системы умного дома. Но так как процессорных мощностей у устройств и так немного - это нагружает их и так не очень мощные &amp;quot;мозги&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для работы со Sprut.hub - LAN Control мало того, что не нужен, но и вреден, так как приводит к нестабильной работе устройств.&lt;br /&gt;
&lt;br /&gt;
Поэтому LAN Control при работе с контроллером Xiaomi должен быть выключен в обязательном порядке.&lt;br /&gt;
&lt;br /&gt;
{{QuoteYellow|После отключения LAN Control в настройках лампы или люстры - ее необходимо перезагрузить по питанию, чтобы изменения вступили в силу}}&lt;br /&gt;
&lt;br /&gt;
== Проблемы с устройствами Xiaomi в Sprut.hub: причины и решения ==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1. Устройство нормально работало локально, но перестало:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.1. Завис компонент локального управления в самом устройстве.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Симптомы&#039;&#039;&#039;: Не реагирует на управление из Sprut.hub (или управляется, но не отдает свой статус и в интерфейсе отображается с пометкой Не в сети), но видно в родном приложении.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Полная перезагрузка устройства (выключение/включение питания). Со стороны Sprut.hub повлиять на эту проблему невозможно.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.2. Устройство было перепривязано (переспарено) в приложении Xiaomi Home.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: В настройках контроллера Xiaomi в Sprut.hub отключена опция «Облачные устройства». Из-за этого Sprut.hub не может автоматически получить новые ключи доступа (токены) с серверов Xiaomi, а со старыми устройство работать отказывается.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Включить опцию «Облачные устройства» в настройках контроллера Xiaomi внутри Sprut.hub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.3. Изменилась сетевая конфигурация (поменялась IP-адресация).&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: Устройство и Sprut.hub больше не находятся в одной подсети, что критично для локального режима.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Вернуть устройство и хаб в одну подсеть или перевести устройство в режим «Только облако».&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.4. Сбой авторизации контроллера Xiaomi.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: Устройство было переспарено, или Xiaomi принудительно сменила токен, или Xiaomi сменили процедуру авторизации для сторонних систем. Сервер Xiaomi перестал отдавать актуальные данные в Sprut.hub без повторной процедуры авторизации.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Переавторизовать контроллер Xiaomi в настройках Sprut.hub&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;2. Пользователь перевел устройство из режима «Только облако» в «Только локально», но оно не работает.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: Не все устройства поддерживают локальный режим. Например, большинство Bluetooth-устройств работают только через облако (через шлюз Xiaomi). Некоторые Wi-Fi-устройства также могут не иметь полноценной локальной поддержки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Вернуть для устройства режим «Только облако».&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;3. Устройство работавшее в режиме «Только облако», перестало работать.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вероятная причина&#039;&#039;&#039;: Серверы Xiaomi требуют обновления сессии (переавторизации контроллера).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решения&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
3.1. Попробовать переключить режим на «Только локально». Это может сработать, если токены, ранее полученные из облака, всё еще актуальны на самом устройстве. Не поможет, если токены были изменены или устройство не поддерживает локальный режим.&lt;br /&gt;
&lt;br /&gt;
3.2. Переавторизовать контроллер Xiaomi — это основной способ решения проблем облачной работы.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Рекомендация&#039;&#039;&#039;: Режим «Локально и облако» использовать не рекомендуется. Его поведение часто непредсказуемо: он может не давать преимуществ локального режима, при этом имея все зависимости и задержки облачного. Лучше выбрать четкий режим основанный на возможностях устройства: «Только локально» для поддерживающих его устройств или «Только облако» для всех остальных, либо устройств находящихся не в одной подсети с Sprut.hub.&lt;br /&gt;
&lt;br /&gt;
Этот режим не надо включать для устройств, которые не умеют работать локально. Если spruthub будет видеть устройство локально, то не переключится на облачный режим. &lt;br /&gt;
&lt;br /&gt;
Если у устройства зависнет локальный компонент, то это режим скорее всего тоже не спасёт.&lt;/div&gt;</summary>
		<author><name>Permadm</name></author>
	</entry>
	<entry>
		<id>https://wiki.spruthub.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_Xiaomi&amp;diff=3474</id>
		<title>Создание контроллера Xiaomi</title>
		<link rel="alternate" type="text/html" href="https://wiki.spruthub.ru/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_Xiaomi&amp;diff=3474"/>
		<updated>2025-09-09T22:09:34Z</updated>

		<summary type="html">&lt;p&gt;Permadm: Добавление описания проблем и способов решения&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Создание контроллера Xiaomi ==&lt;br /&gt;
{{QuoteYellow|WiFi устройства Xiaomi подключаются к локальной сети вашего дома с помощью вашего же роутера. Они настраиваются в родном приложении и уже после этого - становятся доступны для управления из Sprut.hub через контроллер Xiaomi}}&lt;br /&gt;
{{QuoteGreen|Для локального подключения Bluetooth светильников(спотов) Xiaomi и Yeelight в Sprut.hub - требуется Yeelight Gateway YLWG01YL/YZNA0319028WTEU которые умеют работать с Apple Homekit. Дальнейшее подключение светильников, осуществляется [https://wiki.spruthub.ru/Создание_контроллера_HomeKit_(Обратный_HomeKit) через обратный HomeKit]}}&lt;br /&gt;
{{QuoteBlue|Sprut.hub подключается к серверам Xiaomi с вашей учетной записью и получает оттуда необходимые реквизиты для локального управления. Вы получаете возможность управлять своими устройствами одновременно через приложение MIHome и из Sprut.hub}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для создания контроллера Xiaomi, вам необходимо перейти в раздел &amp;quot;Контроллеры&amp;quot; и добавить новый контроллер&lt;br /&gt;
[[Файл:Xiaomi 001 Создать контроллер.png|центр|обрамить]]&lt;br /&gt;
Выбрать тип Xiaomi&lt;br /&gt;
[[Файл:Xiaomi 002 Создать контроллер.png|центр|обрамить]]&lt;br /&gt;
И нажать сохранить.&lt;br /&gt;
&lt;br /&gt;
== Настройка контроллера Xiaomi ==&lt;br /&gt;
Перед тем как включить контроллер Xiaomi, необходимо его настроить. Для этого необходимо перейти в контроллер Xiaomi, нажать на троеточие и выбрать &amp;quot;Настройки&amp;quot;&lt;br /&gt;
[[Файл:Xiaomi 003 Настройки контроллера.png|центр|обрамить]]&lt;br /&gt;
Далее необходимо ввести логин и пароль от вашей учетной записи MiHome, а также выбрать регион MiHome если это необходимо. &lt;br /&gt;
{{QuoteYellow|Нежелательно использовать в качестве логина - номер телефона. При использовании номера телефона, иногда возникают ошибки авторизации. Лучше использовать ID или e-mail}}&lt;br /&gt;
[[Файл:Xiaomi 004 Настройки контроллера.png|центр|обрамить]]&lt;br /&gt;
{{QuoteBlue|Если выбрать &amp;quot;Все страны&amp;quot; - то добавятся все устройства из всех регионов MiHome вашей учетной записи. Или вы можете выбрать конкретный регион, в котором у вас подключено устройство}}&lt;br /&gt;
&lt;br /&gt;
Если включить &amp;quot;Облачные устройства&amp;quot;, то Sprut.hub получит возможность управлять не только локально, но и удаленно через облако Xiaomi, но при этом управление будет осуществляться с задержкой (Особенности облачного управления).&lt;br /&gt;
&lt;br /&gt;
Облачное управление нужно тем, у кого в одной учетной записи подключены устройства из разных мест. Это позволит управлять как локальными так и удаленными устройствами.&lt;br /&gt;
&lt;br /&gt;
Причем вы можете выбрать в настройках каждого подключенного устройства (после его добавления в хаб) - предпочтительный способ связи&lt;br /&gt;
[[Файл:Xiaomi 006 Способ связи.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Но для начала давайте сохраним изменения в самом контроллере и включим его.&lt;br /&gt;
&lt;br /&gt;
== Двухфакторная авторизация учетной записи Xiaomi ==&lt;br /&gt;
Если у вас стоит двухфакторная авторизация, то при включении контроллера Xiaomi, в [[Служебный раздел отладки|разделе отладки]] у вас появится ссылка для прохождения двухфактора, которую нужно скопировать, вставить в адресную строку браузера и выполнить предлагаемые инструкции.&lt;br /&gt;
[[Файл:Xiaomi 007 2FA.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
Если ссылка не сработала, то можно зайти [https://account.xiaomi.com/fe/service/account/privacy по этой ссылке] и при нажатии на номер телефона - система Xiaomi вам отправит код на почту, после введения которого скорее всего контроллер сможет работать и видеть устройства&lt;br /&gt;
== Добавление устройств ==&lt;br /&gt;
Чтобы добавить в Sprut.hub устройства Xiaomi - нужно [[Создание контроллера Xiaomi#Создание контроллера Xiaomi|настроить контроллер Xiaomi]] как описано выше в этой статье.&lt;br /&gt;
&lt;br /&gt;
После включения контроллера, Sprut.hub автоматически найдет все устройства, доступные для этой учетной записи MIHome.&lt;br /&gt;
{{QuoteYellow|То, что устройства появились в контроллере - еще не значит, что они подключены к хабу. Статус &amp;quot;Not Paired&amp;quot; как раз означает, что они не подключены. Для того, чтобы они появились на вкладке &amp;quot;Устройства&amp;quot; - их надо к нему подключить.}}{{QuoteBlue|Если у устройства обозначено &amp;quot;Нет шаблона&amp;quot; - это означает, что хаб пока не поддерживает устройство. То есть он его видит, но работать с ним не может, пока не появится шаблон. Что делать в этом случае - описано в [[Моё устройство не поддерживается. Нет шаблона. Что делать|этой статье]]}}&lt;br /&gt;
&lt;br /&gt;
Для добавления поддерживаемого устройства, необходимо нажать на троеточие в правой части карточки устройства и выбрать &amp;quot;Добавить устройство&amp;quot;&lt;br /&gt;
[[Файл:Xiaomi 005 Добавить устройство.png|центр|обрамить]]&lt;br /&gt;
После добавления устройства в контроллере Xiaomi, если для него есть шаблон - он автоматически добавится в Sprut.hub и будет доступен для управления в разделе Устройства.&lt;br /&gt;
{{QuoteRed|Необходимо учитывать, что у WiFi устройств Xiaomi есть ограничение на одновременное управление из нескольких мест. Поэтому если вы управляете ими через несколько систем умного дома, вероятно в один прекрасный момент у вас начнут появляться ошибки и устройство будет работать нестабильно}}&lt;br /&gt;
&lt;br /&gt;
== Yeelight LAN Control (Управление через LAN) ==&lt;br /&gt;
&lt;br /&gt;
В связи с тем, что у ламп и люстр Yeelight есть возможность включения локального управления - многие его так или иначе включали для интеграции в различные системы умного дома. Но так как процессорных мощностей у устройств и так немного - это нагружает их и так не очень мощные &amp;quot;мозги&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для работы со Sprut.hub - LAN Control мало того, что не нужен, но и вреден, так как приводит к нестабильной работе устройств.&lt;br /&gt;
&lt;br /&gt;
Поэтому LAN Control при работе с контроллером Xiaomi должен быть выключен в обязательном порядке.&lt;br /&gt;
&lt;br /&gt;
{{QuoteYellow|После отключения LAN Control в настройках лампы или люстры - ее необходимо перезагрузить по питанию, чтобы изменения вступили в силу}}&lt;br /&gt;
&lt;br /&gt;
== Проблемы с устройствами Xiaomi в Sprut.hub: причины и решения ==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1. Устройство нормально работало локально, но перестало:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.1. Завис компонент локального управления в самом устройстве.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Симптомы&#039;&#039;&#039;: Не реагирует на управление из Sprut.hub (или управляется, но не отдает свой статус и в интерфейсе отображается с пометкой Не в сети), но видно в родном приложении.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Полная перезагрузка устройства (выключение/включение питания). Со стороны Sprut.hub повлиять на эту проблему невозможно.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.2. Устройство было перепривязано (переспарено) в приложении Xiaomi Home.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: В настройках контроллера Xiaomi в Sprut.hub отключена опция «Облачные устройства». Из-за этого Sprut.hub не может автоматически получить новые ключи доступа (токены) с серверов Xiaomi, а со старыми устройство работать отказывается.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Включить опцию «Облачные устройства» в настройках контроллера Xiaomi внутри Sprut.hub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.3. Изменилась сетевая конфигурация (поменялась IP-адресация).&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: Устройство и Sprut.hub больше не находятся в одной подсети, что критично для локального режима.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Вернуть устройство и хаб в одну подсеть или перевести устройство в режим «Только облако».&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;1.4. Сбой авторизации контроллера Xiaomi.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: Устройство было переспарено, или Xiaomi принудительно сменила токен, или Xiaomi сменили процедуру авторизации для сторонних систем. Сервер Xiaomi перестал отдавать актуальные данные в Sprut.hub без повторной процедуры авторизации.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Переавторизовать контроллер Xiaomi в настройках Sprut.hub&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;2. Пользователь перевел устройство из режима «Только облако» в «Только локально», но оно не работает.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Причина&#039;&#039;&#039;: Не все устройства поддерживают локальный режим. Например, большинство Bluetooth-устройств работают только через облако (через шлюз Xiaomi). Некоторые Wi-Fi-устройства также могут не иметь полноценной локальной поддержки.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решение&#039;&#039;&#039;: Вернуть для устройства режим «Только облако».&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;3. Устройство работавшее в режиме «Только облако», перестало работать.&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вероятная причина&#039;&#039;&#039;: Серверы Xiaomi требуют обновления сессии (переавторизации контроллера).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Решения&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
3.1. Попробовать переключить режим на «Только локально». Это может сработать, если токены, ранее полученные из облака, всё еще актуальны на самом устройстве. Не поможет, если токены были изменены или устройство не поддерживает локальный режим.&lt;br /&gt;
&lt;br /&gt;
3.2. Переавторизовать контроллер Xiaomi — это основной способ решения проблем облачной работы.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Рекомендация&#039;&#039;&#039;: Режим «Локально и облако» использовать не рекомендуется. Его поведение часто непредсказуемо: он может не давать преимуществ локального режима, при этом имея все зависимости и задержки облачного. Лучше выбрать четкий режим основанный на возможностях устройства: «Только локально» для поддерживающих его устройств или «Только облако» для всех остальных.&lt;/div&gt;</summary>
		<author><name>Permadm</name></author>
	</entry>
	<entry>
		<id>https://wiki.spruthub.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2_Telegram_(%D0%A2%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0%D0%BC)&amp;diff=3409</id>
		<title>Уведомления в Telegram (Телеграм)</title>
		<link rel="alternate" type="text/html" href="https://wiki.spruthub.ru/index.php?title=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2_Telegram_(%D0%A2%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0%D0%BC)&amp;diff=3409"/>
		<updated>2025-08-18T01:19:49Z</updated>

		<summary type="html">&lt;p&gt;Permadm: Опечатки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Для получения уведомлений о событиях Sprut.hub через бота в Telegram можно использовать сервис уведомлений или решение с использованием кода (выбор за вами)&lt;br /&gt;
&lt;br /&gt;
Если у вас нет своего бота, вам необходимо его создать. &lt;br /&gt;
&lt;br /&gt;
Именно этот бот будет присылать вам сообщения, которые вы будете отправлять из Sprut.hub.  &lt;br /&gt;
&lt;br /&gt;
Если вы хотите, чтобы сообщения приходили в ваш канал, который будут читать несколько пользователей, то вам потребуется выяснить ID канала, куда будут присылаться сообщения от бота и указать его. Личные уведомления и группы с супергруппами могут добавляться в уведомления автоматически. &lt;br /&gt;
&lt;br /&gt;
== Создание сервиса уведомлений Telegram ==&lt;br /&gt;
Необходимо перейти в раздел &amp;quot;Уведомления&amp;quot; в веб интерфейсе Sprut.hub и создать новый сервис уведомлений&lt;br /&gt;
[[Файл:010 Телеграм Создать сервис уведомлений.png|центр|обрамить]]&lt;br /&gt;
Далее выбрать Telegram&lt;br /&gt;
[[Файл:011 Телеграм Выбрать сервис уведомлений.png|центр|обрамить]]&lt;br /&gt;
Далее перейти в настройки нового сервиса&lt;br /&gt;
[[Файл:012 Телеграм Настройки.png|центр|обрамить]]&lt;br /&gt;
В настройках необходимо перейти в раздел управления вашим ботом (откроется диалог с официальным ботом Telegram @botfather)&lt;br /&gt;
[[Файл:013 Телеграм создать бота.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
== Создание своего бота в Telegram ==&lt;br /&gt;
Если вы не перешли из настроек сервиса уведомлений, то вы можете в Telegram в поиске вбить [https://t.me/BotFather @BotFather] (это официальный бот для создания ботов)&lt;br /&gt;
[[Файл:Tg0.jpg|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого необходимо:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Шаг 1:&#039;&#039;&#039; Нажмите «Запустить» для активации бота BotFather. &lt;br /&gt;
&lt;br /&gt;
Шаг 2: Открыть меню управления ботами (кнопка Open)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Шаг 2: Нажать &amp;quot;Create a New Bot&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Шаг 3:&#039;&#039;&#039; Дать имя своему боту — например &amp;quot;Бот для умного дома&amp;quot; и присвоить никнейм бота, по которому вы сможете его найти. Он должен быть уникальным и заканчиваться на слово «bot».&lt;br /&gt;
&lt;br /&gt;
Шаг 4: Нажать кнопку &amp;quot;Create bot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Шаг 5: Перейти в настройки вашего бота&lt;br /&gt;
&lt;br /&gt;
Шаг 6: Отключить Privacy Mode в группах, чтобы бот мог видеть сообщения в группах&lt;br /&gt;
&lt;br /&gt;
Шаг 7: Вернитесь в настройки, скопируйте и сохраните токен вашего бота для дальнейшего использования в хабе (Нажав синюю кнопку Copy)&lt;br /&gt;
[[Файл:000 Телеграм Botfather Создать бота full.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
== Окончательная настройка бота в сервис уведомлений Telegram ==&lt;br /&gt;
После создания бота, вам необходимо вернуться в веб интерфейса хаба и вставить скопированный на предыдущем этапе токен бота в соответствующее поле. После, нажмите кнопку &amp;quot;Авторизоваться&amp;quot;&lt;br /&gt;
[[Файл:014 Телеграм авторизовать бота.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
== Добавление чатов, групп и супергрупп в сервис уведомлений ==&lt;br /&gt;
После настройки вашего бота, вам необходимо добавить клиентов сервиса уведомлений, которые будут их получать. Для этого необходимо начать диалог с ботом, чтобы получать личные уведомления. Это делается с помощью отправки кода в диалоге с ботом. &lt;br /&gt;
&lt;br /&gt;
Необходимо нажать на строку &amp;quot;Отправьте код....&amp;quot; и у вас откроется диалог с вашим ботом.&lt;br /&gt;
[[Файл:016 Телеграм отправить код боту.png|центр|обрамить]]&lt;br /&gt;
Чтобы начать пользоваться ботом, нужно начать с ним чат и нажать кнопку &amp;quot;Старт&amp;quot;. После этого, необходимо отправить код, указанный в настройках сервиса уведомлений и у вас автоматически подключится новый клиент.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Telegram.png|центр|обрамить]]{{QuoteBlue |Код обновляется после каждого использования}}&lt;br /&gt;
&lt;br /&gt;
== Отправка сообщений в телеграм группы и супергруппы ==&lt;br /&gt;
Для отправки сообщений в группы и супергруппы (в определенные топики), вам необходимо:&lt;br /&gt;
&lt;br /&gt;
# Добавить бота в группу или супергруппу&lt;br /&gt;
# Открыть настройки сервиса уведомлений Telegram&lt;br /&gt;
# Отправить сообщение в кодом в группе или в нужном топике супергруппы&lt;br /&gt;
# Группа будет автоматически добавлена в список клиентов уведомлений&lt;br /&gt;
{{QuoteYellow|Для каждого топика супергруппы - необходимо отправлять свой код. При этом в вашем хабе создается отдельный клиент уведомлений для каждого топика супергруппы}}&lt;br /&gt;
&lt;br /&gt;
== Отправка сообщений в каналы ==&lt;br /&gt;
{{QuoteYellow|Если вы хотите, чтобы бот отправлял сообщения в ваш канал и его сообщения могли читать несколько пользователей, то вы должны добавить бота в этот канал с правами администратора и возможностью отправлять сообщения}}Далее вам необходимо узнать &#039;&#039;&#039;chatID&#039;&#039;&#039; вашего канала. Для этого вам нужно подключиться к [https://t.me/getmyid_bot этому боту] и переслать ему любое сообщение из нужного канала, чтобы он вам сообщил ID вашего канала, из которого вы переслали сообщение.&lt;br /&gt;
&lt;br /&gt;
После этого, вам необходимо вручную добавить нового клиента сервиса уведомлений.&lt;br /&gt;
&lt;br /&gt;
Для этого необходимо создать нового клиента и вставить туда полученный ID канала&lt;br /&gt;
[[Файл:017 Телеграм создать клиента.png|центр|обрамить]]&lt;br /&gt;
[[Файл:018 Телеграм настроить клиента.png|центр|обрамить]]&lt;br /&gt;
После этого ваш канал появится в списке клиентов для уведомлений&lt;br /&gt;
&lt;br /&gt;
== Использование уведомлений в телеграм из сценариев ==&lt;br /&gt;
В блочном сценарии, вам необходимо в блоке Тогда блочного сценария, добавить сервис уведомлений, выбрать там Телеграм и выбрать клиента, которому вы хотите отправить уведомления&lt;br /&gt;
[[Файл:019 Телеграм уведомления в блочном сценарии добавить сервис.png|центр|обрамить]]&lt;br /&gt;
[[Файл:020 Телеграм уведомления в блочном сценарии отправить.png|центр|обрамить]]&lt;br /&gt;
[[Файл:021 Телеграм уведомления в блочном сценарии выбор бота.png|центр|обрамить]]&lt;br /&gt;
[[Файл:022 Телеграм уведомления в блочном сценарии выбор клиента.png|центр|обрамить]]&lt;br /&gt;
[[Файл:023 Телеграм уведомления в блочном сценарии создание сообщения.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
== Форматирование сообщений ==&lt;br /&gt;
Для отправки сообщений в телеграм, вам доступно три варианта форматирования: Markdown, Markdown V2 и HTML&lt;br /&gt;
&lt;br /&gt;
Переключение вариантов форматирования, доступно в экспертном разделе настроек вашего сервиса уведомлений&lt;br /&gt;
[[Файл:024 Телеграм экспертные настройки.png|центр|обрамить]]&lt;br /&gt;
И выбрать вариант форматирования&lt;br /&gt;
[[Файл:025 Телеграм выбор форматирования.png|центр|обрамить]]&lt;br /&gt;
Как правильно оформлять текст для каждого типа форматирования, можно посмотреть в официальной документации Телеграм:&lt;br /&gt;
&lt;br /&gt;
* [https://core.telegram.org/bots/api#html-style Для форматирования HTML]&lt;br /&gt;
* [https://core.telegram.org/bots/api#markdown-style Для форматирования Markdown]&lt;br /&gt;
* [https://core.telegram.org/bots/api#markdownv2-style Для форматирования Markdown V2]&lt;br /&gt;
&lt;br /&gt;
== Использование уведомлений в телеграм в блоках кода ==&lt;br /&gt;
В блоке кода, уведомлениями можно пользоваться по аналогии с другими сервисами уведомлений. В качестве бонуса, есть опция отправки сообщений без уведомлений (тихий режим)&lt;br /&gt;
&lt;br /&gt;
Отправить текст всем клиентам&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
Notify.text(&amp;quot;Тест отправки всем&amp;quot;).to(&amp;quot;Telegram_1&amp;quot;).silent(false).send();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Отправить текст одному конкретному клиенту с идентификатором 1&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;Notify.text(&amp;quot;Тест отправки в Телеграм&amp;quot;).to(&amp;quot;Telegram_1&amp;quot;, 1).silent(false).send();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отправить текст нескольким клиентам&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;Notify.text(&amp;quot;Тест отправки на клиентов 1 и 2&amp;quot;).to(&amp;quot;Telegram_1&amp;quot;, 1, 2).silent(false).send();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отправить показания датчика&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
Notify.text(&amp;quot;Показания датчика температуры: {}&amp;quot;, Hub.getCharacteristicValue(13,15)).to(&amp;quot;Telegram_1&amp;quot;, 1, 2).silent(false).send();&amp;lt;/syntaxhighlight&amp;gt;Отправить показания нескольких датчиков&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
Notify.text(&amp;quot;Показания датчика температуры 1 : {}, Показания датчика температуры 2 : {}&amp;quot;, Hub.getCharacteristicValue(13,15),Hub.getCharacteristicValue(16,19)).to(&amp;quot;Telegram_1&amp;quot;, 1, 2).silent(false).send();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Отправить показания нескольких датчиков в несколько строк (используется \n для перевода строки)&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
Notify.text(&amp;quot;Показания датчика температуры 1 : {}\nПоказания датчика температуры 2 : {}&amp;quot;, Hub.getCharacteristicValue(13,15),Hub.getCharacteristicValue(16,19)).to(&amp;quot;Telegram_1&amp;quot;, 1, 2).silent(false).send();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Отправка снапшота с камеры в тихом режиме&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
let snapshot = Hub.getAccessory(2037).getSnapshot()&lt;br /&gt;
if (snapshot != null) &lt;br /&gt;
{&lt;br /&gt;
    Notify.text(&amp;quot;Теcт отправки снапшота&amp;quot;).to(&amp;quot;Telegram_1&amp;quot;, 1, 2, 3).image(snapshot).silent(true).send();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Отправка уведомлений в Telegram полностью через сценарии в виде кода ==&lt;br /&gt;
Теперь вам необходимо настроить его работу в Sprut.hub. Для этого необходимо создать глобальный сценарий в виде кода. Идем в &amp;quot;Сценарии&amp;quot; - &amp;quot;Глобальные&amp;quot; и создаем там новый сценарий&lt;br /&gt;
[[Файл:Scenario1.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
После этого - вставляем в блок кода сценария следующий код:&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
let chatIDs = [&amp;quot;777777777&amp;quot;, &amp;quot;888888888&amp;quot;, &amp;quot;-123123123123&amp;quot;];&lt;br /&gt;
// 777777777 и 888888888 - ID чатов, в которые будут отправляться сообщения&lt;br /&gt;
// -123123123123 - ID канала, куда вы можете добавить бота, чтобы сообщения от него приходили группе людей&lt;br /&gt;
&lt;br /&gt;
// let chatIDs = [&amp;quot;777777777&amp;quot;] // первая строка будет выглядеть так, если вам нужно отправлять только в один чат&lt;br /&gt;
&lt;br /&gt;
let token = &amp;quot;666666666:AABBCCddEeffggeeHH-IIJJkKLlMmnno_oP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
function sendToTelegram(text, notify) {&lt;br /&gt;
    try {&lt;br /&gt;
        if (!Array.isArray(text))&lt;br /&gt;
            text = [text];&lt;br /&gt;
&lt;br /&gt;
        chatIDs.forEach(function (chatID) {&lt;br /&gt;
            HttpClient.POST(&amp;quot;https://api.telegram.org&amp;quot;)&lt;br /&gt;
                .path(&amp;quot;bot&amp;quot; + token)&lt;br /&gt;
                .path(&amp;quot;sendMessage&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;chat_id&amp;quot;, chatID)&lt;br /&gt;
                .queryString(&amp;quot;text&amp;quot;, text.join(&amp;quot;\n&amp;quot;))&lt;br /&gt;
                .queryString(&amp;quot;parse_mode&amp;quot;, &amp;quot;Markdown&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;disable_notification&amp;quot;, notify == null ? false : !notify)&lt;br /&gt;
                .send()&lt;br /&gt;
        })&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
        log.error(e.message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
sendToTelegram([&amp;quot;*Мой город*&amp;quot;, &amp;quot;Хаб запущен&amp;quot;])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; [https://wiki.spruthub.ru/images/c/c9/Отправка_сообщений_в_Telegram.zip Скачать шаблон сценария]{{QuoteYellow | В коде необходимо заменить &amp;quot;777777777&amp;quot; и другие ID на те ID, которые вы получили от бота на Шаге 4 и заменить токен 666666666:AABBCCddEeffggeeHH-IIJJkKLlMmnno_oP на токен, который вы получили на Шаге 3}}&lt;br /&gt;
&lt;br /&gt;
После этого сохраняем сценарий&lt;br /&gt;
&lt;br /&gt;
== Дополнительные настройки отправки сообщений ==&lt;br /&gt;
В этот же глобальный сценарий, после функции sendToTelegram, вы можете добавить дополнительную строку, которая будет уведомлять вас о запуске хаба вызывая функцию выше:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
sendToTelegram([&amp;quot;*Мой город*&amp;quot;, &amp;quot;Хаб запущен&amp;quot;])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вызов функции отправки сообщений из блочных сценариев, производится через добавление в блоке кода блочного сценария (в раздел &amp;quot;Тогда&amp;quot; или &amp;quot;Иначе&amp;quot;) следующей команды:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Сообщение&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вам нужен перевод на новую строку, то код будет выглядеть вот так&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram([&amp;quot;*Нижний Новгород*, хаб запущен&amp;quot;, &amp;quot;вторая строка&amp;quot;])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы хотите, чтобы приходили &amp;quot;тихие&amp;quot; уведомления в телеграм, то строка кода будет выглядеть вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram([&amp;quot;*Нижний Новгород*, хаб запущен&amp;quot;, &amp;quot;вторая строка&amp;quot;], false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также можно оформлять текст с помощью разных &amp;quot;плюшек&amp;quot; в виде различного форматирования текста:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;*выделение жирным*&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;__выделение подчеркнутым__&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;_наклонный текст_&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Текст с емоджи 😄&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&#039;&#039;&amp;lt;small&amp;gt;** Эмоджи можно скопировать из любого приложения, которое их поддерживает и вставить в код сценария. Как текст.&amp;lt;/small&amp;gt;&#039;&#039;&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;[Инструкции живут тут](https://spruthub.ru/news)&amp;quot;) - это отправка ссылки&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вам нужно отправить в телеграм значение какого либо устройства, то можно использовать следующий синтаксис:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Состояние сигнализации: &amp;quot; + Hub.getCharacteristic(2, 13).format())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;где 2 - это [[Аксессуары, сервисы и характеристики#Идентификаторы аксессуара, сервиса и характеристики|идентификатор аксессуара]], а 13 это [[Аксессуары, сервисы и характеристики#Идентификаторы аксессуара, сервиса и характеристики|идентификатор характеристики]]&lt;br /&gt;
&lt;br /&gt;
Для отправки в одном сообщении состояний нескольких устройств в одну строку&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Показания датчика температуры 1 : &amp;quot; + Hub.getCharacteristicValue(13,15) + &amp;quot; Показания датчика температуры 2 : &amp;quot; + Hub.getCharacteristicValue(16,19))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Для отправки в одном сообщении состояний нескольких устройств в две строки, где добавляются квадратные скобки [], а перевод строки осуществляется с помощью запятой&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram([&amp;quot;Показания датчика температуры 1 : &amp;quot; + Hub.getCharacteristicValue(13,15), &amp;quot;Показания датчика температуры 2 : &amp;quot; + Hub.getCharacteristicValue(16,19)])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Уведомления в Telegram из блочных сценариев ==&lt;br /&gt;
Глобальные сценарии используются в блочных через вызов функции. &lt;br /&gt;
&lt;br /&gt;
Для этого переходим в раздел Блочных сценариев и создаем новый блочный сценарий или добавляем уже в существующий, отправку уведомлений в телеграм:&lt;br /&gt;
[[Файл:Scenario tg2.png|центр|обрамить]]&lt;br /&gt;
[[Файл:Scenario tg4.png|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
== Передача данных датчика в Telegram ==&lt;br /&gt;
Если вы хотите что-то посложнее, например отправить данные датчика или что-то подобное, то можно использовать данные характеристики устройства. &lt;br /&gt;
&lt;br /&gt;
Например отправка состояния открытия окна будет выглядеть в виде такой команды:&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Состояние окна: &amp;quot; + Hub.getCharacteristic(1154, 16).format())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;где цифра 1154 - это [[Аксессуары, сервисы и характеристики#Идентификаторы аксессуара, сервиса и характеристики|ID аксессуара]] Окно в хабе, а цифра 16 - это номер характеристики &amp;quot;Целевая позиция&amp;quot; у Окна.&lt;br /&gt;
&lt;br /&gt;
Чтобы не напрягаться с поиском того, как называется сервис или характеристика для использования в коде (даже с авто-подстановкой), а также какие у них идентификаторы, достаточно зайти в настройки устройства и нажать кнопку информации у нужной характеристики&lt;br /&gt;
[[Файл:Tg23.jpg|центр|обрамить]]&lt;br /&gt;
И там будут нужные вам названия сервисов и характеристик для указания в коде, а также идентификаторы всех уровней.&lt;br /&gt;
[[Файл:Tg24.jpg|центр|обрамить]]&lt;br /&gt;
&lt;br /&gt;
== Отправка фото в Телеграм ==&lt;br /&gt;
Если вам необходимо отправлять фото в телеграм, то нужно дополнить глобальный сценарий еще одной функцией&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
let chatIDs = [&amp;quot;777777777&amp;quot;];&lt;br /&gt;
let token = &amp;quot;666666666:AABBCCddEeffggeeHH-IIJJkKLlMmnno_oP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
function sendToTelegram(text, notify) {&lt;br /&gt;
    try {&lt;br /&gt;
        if (!Array.isArray(text))&lt;br /&gt;
            text = [text];&lt;br /&gt;
&lt;br /&gt;
        chatIDs.forEach(function (chatID) {&lt;br /&gt;
            HttpClient.POST(&amp;quot;https://api.telegram.org&amp;quot;)&lt;br /&gt;
                .path(&amp;quot;bot&amp;quot; + token)&lt;br /&gt;
                .path(&amp;quot;sendMessage&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;chat_id&amp;quot;, chatID)&lt;br /&gt;
                .queryString(&amp;quot;text&amp;quot;, text.join(&amp;quot;\n&amp;quot;))&lt;br /&gt;
                .queryString(&amp;quot;parse_mode&amp;quot;, &amp;quot;Markdown&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;disable_notification&amp;quot;, notify == null ? false : !notify)&lt;br /&gt;
                .send()&lt;br /&gt;
        })&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
        log.error(e.message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function sendPhotoToTelegram(binary,caption) {&lt;br /&gt;
    try {&lt;br /&gt;
        if (!caption) {caption = &amp;quot;&amp;quot;}&lt;br /&gt;
        chatIDs.forEach(function (chatID) {&lt;br /&gt;
            HttpClient.POST(&#039;https://api.telegram.org&#039;)&lt;br /&gt;
                .path(&amp;quot;bot&amp;quot; + token)&lt;br /&gt;
                .path(&amp;quot;sendPhoto&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;chat_id&amp;quot;, chatID)&lt;br /&gt;
                .queryString(&#039;caption&#039;, caption) &lt;br /&gt;
                .fieldMultipart(&#039;photo&#039;, binary)&lt;br /&gt;
                .send();&lt;br /&gt;
        })&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
        log.error(e.message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
sendToTelegram([&amp;quot;*Мой город*&amp;quot;, &amp;quot;Хаб запущен&amp;quot;])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[https://wiki.spruthub.ru/images/e/e1/%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9_%D0%B8_%D1%84%D0%BE%D1%82%D0%BE_%D0%B2_Telegram.json Скачать шаблон сценария]{{QuoteYellow | В коде необходимо заменить &amp;quot;777777777&amp;quot; на ID которые вы получили от бота на Шаге 4 и заменить токен 666666666:AABBCCddEeffggeeHH-IIJJkKLlMmnno_oP на токен, который вы получили на Шаге 3}}А отправка фото, осуществляется следующим блоком кода в блочном сценарии&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
let snapshot = HttpClient.GET(&amp;quot;[АДРЕС_ИЗОБРАЖЕНИЯ]&amp;quot;).send().getBinary();&lt;br /&gt;
if(snapshot != null) {&lt;br /&gt;
  global.sendPhotoToTelegram(snapshot,&amp;quot;Изображение с камеры&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Где в данном примере, [АДРЕС_ИЗОБРАЖЕНИЯ] - это URL для картинки с вашей камеры видеонаблюдения, если она умеет отдавать статичные картинки.&lt;br /&gt;
&lt;br /&gt;
Стандартная ссылка для подобных картинок: {{Color|blue|&#039;&#039;&#039;http://[ВАШ_ЛОГИН]:[ВАШ_ПАРОЛЬ]@[IP_АДРЕС_КАМЕРЫ]:[ПОРТ]/cgi-bin/snapshot.cgi&#039;&#039;&#039;}} но она может быть другой, или ваша камера может не уметь показывать статичные картинки.&lt;br /&gt;
&lt;br /&gt;
Главное для использования этого варианта отправки картинок, чтобы она была доступна из хаба по обычной ссылке на сайт. &lt;br /&gt;
&lt;br /&gt;
== Отправка фото в Телеграм с подключенной к Sprut.hub камеры ==&lt;br /&gt;
Осуществляется с использованием отправки фото в Телеграм через глобальную функцию описанную выше. &lt;br /&gt;
&lt;br /&gt;
Вызов в блочном или логическом сценарии: &amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
let snapshot = Hub.getAccessory(1291).getSnapshot()&lt;br /&gt;
if (snapshot != null) {&lt;br /&gt;
  global.sendPhotoToTelegram(snapshot, &amp;quot;текст под картинкой&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;где 1291 это идентификатор подключенной к Sprut.hub камеры &lt;br /&gt;
&lt;br /&gt;
== Универсальный вариант для чатов, групп и каналов с отправкой в конкретный топик группы ==&lt;br /&gt;
Номер топика в супергруппе можно получить скопировав ссылку на любое сообщение в топике. Она будет выглядеть как: &lt;br /&gt;
&lt;br /&gt;
https://t.me/c/123456789/2/17 - где:  &lt;br /&gt;
&lt;br /&gt;
* 123456789 - идентификатор группы (чтобы добавить в код, нужно в начало идентификатора добавить -100 чтобы получилось -100123456789)&lt;br /&gt;
* 2 - идентификатор топика&lt;br /&gt;
* 17 - идентификатор сообщения&lt;br /&gt;
&lt;br /&gt;
Идентификатор чата с ботом вы получили на [[Уведомления в Telegram (Телеграм)#Создание своего бота в Telegram|шаге 4]] &lt;br /&gt;
&lt;br /&gt;
Идентификатор канала, в который бот должен отправлять сообщения вы так же получили на [[Уведомления в Telegram (Телеграм)#Создание своего бота в Telegram|шаге 4]] &lt;br /&gt;
&lt;br /&gt;
В итоге мы получаем три места, куда бот будет отправлять сообщения: чат с ботом, канал и конкретный топик в супергруппе. Где: &lt;br /&gt;
&lt;br /&gt;
* -100123456789 - это ID супергруппы&lt;br /&gt;
* -100987654321 - это ID канала&lt;br /&gt;
* 50506060 - это ID чата с ботом&lt;br /&gt;
{{QuoteRed|Если у вас несколько каналов и чатов, необходимо в переменной chatIDs указывать сначала каналы и группы (со значком &amp;quot;-&amp;quot; в начале), а потом уже ID чатов}}&lt;br /&gt;
Глобальный сценарий будет выглядеть таким образом:&amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
let chatIDs = [&amp;quot;-100123456789&amp;quot;,&amp;quot;-100987654321&amp;quot;,&amp;quot;50506060&amp;quot;];&lt;br /&gt;
let token = &amp;quot;666666666:AABBCCddEeffggeeHH-IIJJkKLlMmnno_oP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
function sendToTelegram(text,topic,notify) {&lt;br /&gt;
    try {&lt;br /&gt;
        if (!Array.isArray(text))&lt;br /&gt;
            text = [text];&lt;br /&gt;
&lt;br /&gt;
        chatIDs.forEach(function (chatID) {&lt;br /&gt;
            if (chatID.indexOf(&amp;quot;-&amp;quot;)) {topic = &amp;quot;&amp;quot;}&lt;br /&gt;
            HttpClient.POST(&amp;quot;https://api.telegram.org&amp;quot;)&lt;br /&gt;
                .path(&amp;quot;bot&amp;quot; + token)&lt;br /&gt;
                .path(&amp;quot;sendMessage&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;chat_id&amp;quot;, chatID)&lt;br /&gt;
                .queryString(&amp;quot;message_thread_id&amp;quot;, topic)&lt;br /&gt;
                .queryString(&amp;quot;text&amp;quot;, text.join(&amp;quot;\n&amp;quot;))&lt;br /&gt;
                .queryString(&amp;quot;parse_mode&amp;quot;, &amp;quot;Markdown&amp;quot;)&lt;br /&gt;
                .queryString(&amp;quot;disable_notification&amp;quot;, notify == null ? false : !notify)&lt;br /&gt;
                .send()&lt;br /&gt;
        })&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
        log.error(e.message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Отправка сообщений &lt;br /&gt;
&lt;br /&gt;
Если нужно отправить сообщение в чат с ботом, канал и топик General супегруппы &amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Сообщение в канал, чат и топик General&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Если нужно отправить сообщение в чат с ботом, канал и топик с индексом 2 супергруппы, где цифра 2 после запятой - ID топика в супергруппе &amp;lt;syntaxhighlight lang=&amp;quot;js&amp;quot;&amp;gt;&lt;br /&gt;
global.sendToTelegram(&amp;quot;Сообщение в канал, чат и топик номер 2&amp;quot;,2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__&lt;/div&gt;</summary>
		<author><name>Permadm</name></author>
	</entry>
</feed>