Red (обсуждение | вклад) Нет описания правки |
Bigmanekb (обсуждение | вклад) Нет описания правки |
||
| Строка 6: | Строка 6: | ||
После этого spruthub сможет отправлять данные своих устройств в брокер Wiren Board. | После этого spruthub сможет отправлять данные своих устройств в брокер Wiren Board. | ||
[[Файл:Most_mqtt_add.png|центр|обрамить]] | |||
[[Файл:Most_mqtt_add.png| | |||
=== Включение отправки данных в MQTT брокер === | === Включение отправки данных в MQTT брокер === | ||
| Строка 18: | Строка 17: | ||
После включения параметров их значения начнут публиковаться в MQTT, и Wiren Board сможет их принимать и использовать, например, в виртуальных устройствах или правилах автоматизации. | После включения параметров их значения начнут публиковаться в MQTT, и Wiren Board сможет их принимать и использовать, например, в виртуальных устройствах или правилах автоматизации. | ||
[[Файл:Vkl_harakteristik_mqtt.png|центр|обрамить]] | |||
[[Файл:Vkl_harakteristik_mqtt.png| | |||
=== Создание виртуального устройства и привязка MQTT-топиков в Wiren Board === | === Создание виртуального устройства и привязка MQTT-топиков в Wiren Board === | ||
| Строка 32: | Строка 30: | ||
#* '''Порт:''' 1883 (по умолчанию) | #* '''Порт:''' 1883 (по умолчанию) | ||
# После подключения вы увидите структуру всех доступных топиков. Найдите те, что начинаются с префикса, например, Sprut.hub-****/accessories. | # После подключения вы увидите структуру всех доступных топиков. Найдите те, что начинаются с префикса, например, Sprut.hub-****/accessories. | ||
[[Файл:Mqtt_explorer.png|центр|обрамить]] | |||
[[Файл: | |||
| Строка 40: | Строка 37: | ||
Теперь необходимо написать правило, которое создаст виртуальное устройство в Wiren Board и свяжет его с этим топиком. | Теперь необходимо написать правило, которое создаст виртуальное устройство в Wiren Board и свяжет его с этим топиком. | ||
Переходим в интерфейс WirenBoard, редактор правила, создать новое. <syntaxhighlight lang=" | Переходим в интерфейс WirenBoard, редактор правила, создать новое. <syntaxhighlight lang="javascript">(function () { | ||
// Создаём виртуальное устройство для датчика движения SprutHub | // Создаём виртуальное устройство для датчика движения SprutHub | ||
defineVirtualDevice('spruthub_motion', { | defineVirtualDevice('spruthub_motion', { | ||
Текущая версия от 17:19, 7 октября 2025
Первое, что необходимо сделать — подключить MQTT Wiren Board в мостах spruthub.
- Откройте Мосты в интерфейсе spruthub.
- Нажмите «+» → Добавить расширение → MQTT →Мосты → Добавить.
- Укажите параметры подключения к MQTT-брокеру Wiren Board (IP-адрес, порт, логин и пароль, если используется), после чего включаем Мост.
После этого spruthub сможет отправлять данные своих устройств в брокер Wiren Board.

Включение отправки данных в MQTT брокер
Чтобы передать конкретное устройство в Wiren Board:
- Откройте нужное устройство в spruthub.
- Нажмите значок шестерёнки (настройки).
- Перейдите во вкладку Мосты.
- Включите переключатели напротив тех характеристик, которые нужно отправлять в MQTT-брокер.
После включения параметров их значения начнут публиковаться в MQTT, и Wiren Board сможет их принимать и использовать, например, в виртуальных устройствах или правилах автоматизации.

Создание виртуального устройства и привязка MQTT-топиков в Wiren Board
Вторым шагом необходимо написать правило (rule) в Wiren Board, которое создаст виртуальное устройство и свяжет его с MQTT-топиками, активированными в первом пункте.
🔍 Определяем нужные топики
Проще всего получить список топиков с помощью MQTT-клиента — например, MQTT Explorer.
- Скачайте и установите MQTT Explorer (доступен для Windows, macOS и Linux).
- Подключитесь к MQTT-брокеру Wiren Board:
- IP: адрес вашего контроллера WB
- Порт: 1883 (по умолчанию)
- После подключения вы увидите структуру всех доступных топиков. Найдите те, что начинаются с префикса, например, Sprut.hub-****/accessories.

Например, наш топик - "Sprut.hub-D7BCB0C79CD23D5B_1/accessories/105/13/15"
Теперь необходимо написать правило, которое создаст виртуальное устройство в Wiren Board и свяжет его с этим топиком.
Переходим в интерфейс WirenBoard, редактор правила, создать новое.
(function () {
// Создаём виртуальное устройство для датчика движения SprutHub
defineVirtualDevice('spruthub_motion', {
title: { en: "SprutHub Motion", ru: "Датчик движения SprutHub" },
cells: {
Motion: {
title: { en: 'Motion', ru: 'Движение' },
type: 'switch',
readonly: true,
order: 0,
value: false
}
}
});
// Функция для обновления значения из MQTT
function updateDeviceFromMQTT(topic, cell, valueType, compareValue) {
trackMqtt(topic, function (message) {
if (valueType === 'boolean') {
dev.spruthub_motion[cell] = message.value === compareValue;
} else {
dev.spruthub_motion[cell] = parseFloat(message.value);
}
});
}
// Отслеживаем MQTT-топик от SprutHub
updateDeviceFromMQTT(
'Sprut.hub-D7BCB0C79CD23D5B_1/accessories/105/13/15',
'Motion',
'boolean',
'true' // при значении "true" считаем, что движение есть
);
})();
По итогу, в интерфейсе Wiren Board мы получаем виртуальный переключатель (switch), который отображает состояние датчика движения, но не управляется вручную, так как для него указано свойство: readonly: true
По аналогии можно создать любое другое устройство — будь то бинарные сенсоры (датчики открытия, протечки, присутствия), реле, или устройства, передающие числовые значения (например, температуру, влажность, давление и т.д.).
Достаточно изменить:
- тип данных (switch, alarm, temperature, rel_humidity, value и т.д.),
- MQTT-топик
Таким образом, можно гибко интегрировать устройства из spruthub в Wiren Board.