16 885
правок
(не показано 65 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Универсальный настенный датчик WB-MSW v.3 | {{DISPLAYTITLE:Универсальный настенный датчик WB-MSW-ZIGBEE v.3}} | ||
<!--{{PDF}}--> | <!--{{PDF}}--> | ||
'''[https://wirenboard.com/ru/product/wb-msw-zigbee-v3/ Купить в интернет-магазине]''' | '''[https://wirenboard.com/ru/product/wb-msw-zigbee-v3/ Купить в интернет-магазине]''' | ||
[[Файл:WB-MSW3-front.JPG |300px|thumb|right| Универсальный датчик WB-MSW v.3, вид спереди]] | [[Файл:WB-MSW3-front.JPG |300px|thumb|right| Универсальный датчик WB-MSW-ZIGBEE v.3, вид спереди]] | ||
{{OldVersion | |||
| old_name = WB-MSW v.3 Zigbee Sensor | |||
| new_name = WB-MSW v.4 Zigbee Sensor | |||
| new_page = WB-MSW_v.4_Zigbee_Sensor | |||
}} | |||
== Назначение == | == Назначение == | ||
{{Wbincludes:WB-MSW v.3 Functions}} | |||
* контроллером Wiren Board, для этого нужно [[Zigbee|установить zigbee2mqtt]] или SprutHub; | |||
Устройство работает по протоколу Zigbee, поэтому его можно использовать: | |||
* с контроллером Wiren Board, для этого нужно [[Zigbee|установить zigbee2mqtt]] или SprutHub; | |||
* шлюзом SLS Smart Home с версии 2022.01.13d1, подробнее читайте на [https://slsys.io/action/supported_devices.html?device=160 сайте устройства]; | * шлюзом SLS Smart Home с версии 2022.01.13d1, подробнее читайте на [https://slsys.io/action/supported_devices.html?device=160 сайте устройства]; | ||
* любым другим устройством, на который можно установить zigbee2mqtt. | * и любым другим устройством, на который можно установить zigbee2mqtt. | ||
== Модификации == | |||
В датчик WB-MSW-ZIGBEE по умолчанию не включены сенсоры CO2 и VOC, их нужно выбрать при покупке отдельно. | |||
Если какой-то из сенсоров не установлен, то вместо показаний этого сенсора будут передаваться нули или N/A. Это не влияет на работу датчика в целом. | |||
== Покраска корпуса == | == Покраска корпуса == | ||
Строка 76: | Строка 83: | ||
|- | |- | ||
{{Wbincludes:Operating conditions}} | {{Wbincludes:Operating conditions}} | ||
{{Wbincludes:Operating conditions CO2}} | |||
|- | |- | ||
! colspan="2" |Габариты | ! colspan="2" |Габариты | ||
|- | |- | ||
| Габариты | | Габариты | ||
| 83 x 83 x | | 83 x 83 x 21 мм | ||
{{Wbincludes:Weight}} 90 г | {{Wbincludes:Weight}} 90 г | ||
|} | |} | ||
Строка 128: | Строка 136: | ||
=== Датчик качества воздуха (VOC) === | === Датчик качества воздуха (VOC) === | ||
{{Wbincludes:VOC Sensiron SGPC3}} | |||
==== Зачем измерять VOC ==== | |||
{{Wbincludes:VOC}} | {{Wbincludes:VOC}} | ||
Строка 133: | Строка 143: | ||
{{Wbincludes:WB-MSW v.3 CO2}} | {{Wbincludes:WB-MSW v.3 CO2}} | ||
====Принудительная калибровка==== | |||
В большинстве случаев отключение автокалибровки или принудительная калибровка не требуются — датчик показывает правильные значения без дополнительных манипуляций, но иногда без неё не обойтись: | В большинстве случаев отключение автокалибровки или принудительная калибровка не требуются — датчик показывает правильные значения без дополнительных манипуляций, но иногда без неё не обойтись: | ||
# Нужно срочно откалибровать датчик и некогда ждать, пока сработает автоматическая калибровка. | # Нужно срочно откалибровать датчик и некогда ждать, пока сработает автоматическая калибровка. | ||
# Датчик находится в помещении, которое плохо проветривается и уровень CO2 никогда не достигает 400 ppm. В этом случае не забудьте отключить автоматическую калибровку. | # Датчик находится в помещении, которое плохо проветривается и уровень CO2 никогда не достигает 400 ppm. В этом случае не забудьте отключить автоматическую калибровку. | ||
Суть принудительной калибровки заключается в том, что мы помещаем датчик в среду, где уровень CO2 равен атмосферному (400 ppm) и устанавливаем это значение как начало отсчёта. | Суть принудительной калибровки заключается в том, что мы помещаем датчик в среду, где уровень CO2 равен атмосферному (400 ppm) и устанавливаем это значение как начало отсчёта. Чтобы уменьшить ошибки при измерении CO2, калибруйте датчик при комнатной температуре. | ||
Поместите работающий датчик в хорошо проветренное помещение и подождите 20 минут. Затем выполните следующие шаги: | |||
# Если нужно отключить автоматическую калибровку — установите параметр '''co2_autocalibration''' в значение '''OFF'''. | |||
# Включите параметр '''co2_manual_calibration''', а через секунду выключите. | |||
# В течение пяти минут измеренное значение CO2 станет около 400 ppm. Калибровка завершена. | |||
Способы изменения параметров смотрите в разделе [[#Настройка |Настройка]]. | |||
==== Зачем нужно измерять CO2?==== | ==== Зачем нужно измерять CO2?==== | ||
{{Wbincludes:WB-MSW v.3 CO2 why do I need to measure}} | {{Wbincludes:WB-MSW v.3 CO2 why do I need to measure}} | ||
== Монтаж == <!--T:24--> | == Монтаж == <!--T:24--> | ||
=== Выбор режима работы === | |||
[[Image: WB-MSW v.3 Zigbee Change Mode.jpg |250px|thumb|right| Кнопка сопряжения и переключатель режимов]] | |||
{{Wbincludes: Wireless Device Change Mode}} Однако, радиомодуль может быть использован, как роутер для расширения покрытия сети. | |||
Переключатель режимов появился в ревизии 2.1, в более ранних ревизиях для использования RS-485 разорвите сопряжение с Zigbee-координатором. | |||
=== Подключение === | === Подключение === | ||
[[Файл:WB-MSW v.3 Wireles Installation.png |250px|thumb|right| Подключение питания к датчику WB-MSW v.3 Zigbee]] | [[Файл:WB-MSW v.3 Wireles Installation.png |250px|thumb|right| Подключение питания к датчику WB-MSW v.3 Zigbee]] | ||
{{Wbincludes:Wireless Mount}} | |||
В ревизии 1.2 нет кнопки на радиомодуле, вместо этого надо провести магнитом по боковой части корпуса датчика со стороны светодиода Status. | |||
{{Wbincludes:WB-MSW Zigbee Pairing}} | |||
=== Монтаж на стену === | === Монтаж на стену === | ||
{{Wbincludes:WB-MSW v.3 Mounting}} | {{Wbincludes:WB-MSW v.3 Mounting}} | ||
=== Как открыть корпус датчика === | |||
{{Wbincludes:WB-MSW v.3 How To Disassemble}} | |||
== Представление в контроллере == | |||
=== Программное обеспечение === | |||
Датчик можно использовать на контроллере Wiren Board и других устройствах со SprutHub и zigbee2mqtt с версии 1.24.0. | |||
Подробнее о поддержке Zigbee-устройств на контроллерах Wiren Board, читайте в статье [[Zigbee]]. | |||
<gallery mode="packed" heights="250px" caption="Представление датчика в разном программном обеспечении"> | |||
Image: WB-MSW v.3 Zigbee + zigbee2mqtt.png | WB-MSW v.3 Zigbee в веб-интерфейсе zigbee2mqtt 1.24.0 | |||
Image: WB-MSW v.3 Zigbee + webui.png | WB-MSW v.3 Zigbee в веб-интерфейсе контроллера Wiren Board, требуется zigbee2mqtt 1.24.0 | |||
Image: WB-MSW v.3 Zigbee + Spruthub.png | WB-MSW v.3 Zigbee в веб-интерфейсе SprutHub | |||
</gallery> | |||
=== Каналы устройства === | |||
Каналы устройства: | |||
* ''temperature'' — температура, °C; | |||
* ''humidity'' — относительная влажность воздуха, %, RH; | |||
* ''co2'' — концентрация CO2, ppm; | |||
* ''voc'' — качество воздуха, ppb; | |||
* ''illuminance'' — освещённость в условных единицах; | |||
* ''illuminance_lux'' — освещённость, lux; | |||
* ''occupancy'' — флаг наличия движения, рассчитывается по внутреннему алгоритму. Можно изменять время его сброса в параметре [[#Параметры | occupancy_timeout]]; | |||
* ''occupancy_level'' — уровень движения; | |||
* ''noise_detected'' — флаг наличия шума, рассчитывается по внутреннему алгоритму. Можно изменять время его сброса в параметре [[#Параметры | noise_timeout]]; | |||
* ''noise'' — уровень шума, dBA; | |||
* ''update_available'' — флаг, указывающий на то, что доступна новая прошивка по OTA; | |||
* ''linkquality'' — качество связи; | |||
* ''state_l1'' — красный светодиод; | |||
* ''state_l2'' — зелёный светодиод; | |||
* ''state_l3'' — зуммер. | |||
=== Управление === | |||
Зуммером и светодиодами можно управлять, для этого нужно отправить сформированный по образцу JSON-запрос в mqtt-топик <code>zigbee2mqtt/FRIENDLY_NAME/set</code>: | |||
* красный светодиод — <code>{"state_l1": "ON"}</code> или <code>{"state_l1": "OFF"}</code> | |||
* зелёный светодиод — <code>{"state_l2": "ON"}</code> или <code>{"state_l2": "OFF"}</code> | |||
* зуммер — <code>{"state_l3": "ON"}</code> или <code>{"state_l3": "OFF"}</code> | |||
Отправлять JSON-запросы можно с помощью [[wb-rules]], например, включим зелёный светодиод в датчике с именем ''0x842e14fffe8b184e'': | |||
<syntaxhighlight lang="bash"> | |||
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"state_l2": "ON"}), 2, false); | |||
</syntaxhighlight> | |||
Про управление ИК-приёмопередатчиком и настройку параметров читайте в разделе [[#Настройка | Настройка]]. | |||
== Настройка == | == Настройка == | ||
Строка 164: | Строка 228: | ||
Датчик можно настраивать в SprutHub и в zigbee2mqtt с версии 1.24.0. | Датчик можно настраивать в SprutHub и в zigbee2mqtt с версии 1.24.0. | ||
Вы можете настроить устройство [[Zigbee#Веб-интерфейс (Frontend)|веб-интерфейсе]] zigbee2mqtt, а также через запись JSON-команд в mqtt-топики устройства с помощью [[MQTT Explorer]] или [[wb-rules]]. Про настройку датчика в SprutHub, читайте в его документации. | |||
При настройке | При настройке вам понадобится понимание некоторых терминов: | ||
* | * Канал — измеренные значения. | ||
* | * Параметр — элемент, который позволяет настраивать устройство. | ||
* Атрибут — внутреннее наименование канала или параметра. | |||
* Кластер — группа атрибутов. | |||
< | <gallery mode="packed" widths ="150px" caption="Настройка устройства в разном программном обеспечении"> | ||
Image: Wiren Board Web UI Rules.png | Настройка с помощью wb-rules в веб-интерфейсе контроллера. | |||
Image: mqtt-explorer-wb-msw3-zigbee-settings.png | Настройка с помощью программы MQTT Explorer | |||
Image: zigbee2mqtt WebUI-parameters.png | Настройка параметров в веб-интерфейсе zigbee2mqtt | |||
Image: zigbee2mqtt-WebUI-intervals.png | Настройка интервалов опроса в веб-интерфейсе zigbee2mqtt | |||
</gallery> | |||
=== Настройка интервала опроса === | === Настройка интервала опроса === | ||
Строка 186: | Строка 257: | ||
{ | { | ||
"id": "0x0000000000000", | "id": "0x0000000000000", | ||
"options": { | "options": {}, | ||
"cluster": "yourCluster", | "cluster": "yourCluster", | ||
"attribute": "yourAttribute", | "attribute": "yourAttribute", | ||
Строка 193: | Строка 264: | ||
"reportable_change": 10 | "reportable_change": 10 | ||
} | } | ||
</syntaxhighlight> | |||
Для каналов '''occupancy_level''' и '''noise''', секция '''options''' должна выглядеть так: <code>"options": {"manufacturerCode":26214},</code>. В остальных случаях оставьте её пустой <code>"options": {},</code>. | |||
Например, настроим с помощью wb-rules период опроса уровня шума (noise) в датчике с адресом ''0x842e14fffe8b184e'': | |||
<syntaxhighlight lang="js"> | |||
message = { | |||
"id": "0x842e14fffe8b184e", | |||
"options": {"manufacturerCode":26214}, | |||
"cluster": "sprutNoise", | |||
"attribute": "noise", | |||
"minimum_report_interval": 10, | |||
"maximum_report_interval": 60, | |||
"reportable_change": 5 | |||
} | |||
publish('zigbee2mqtt/bridge/request/device/configure_reporting', JSON.stringify(message), 2, false); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 216: | Строка 304: | ||
=== Параметры датчиков === | === Параметры датчиков === | ||
==== Таймауты детекторов движения и шума ==== | |||
При настройке через MQTT, сформируйте JSON-запрос по образцу и отправьте его в mqtt-топик: | |||
* чтение <code>zigbee2mqtt/FRIENDLY_NAME/get</code> ответ будет опубликован в топике устройства и отобразится в веб-интерфейсе контроллера в карточке устройства на вкладке Devices. | |||
* запись <code>zigbee2mqtt/FRIENDLY_NAME/set</code> | |||
<code>FRIENDLY_NAME</code> — идентификатор устройства. | |||
Таймауты для сброса флагов о зафиксированных движении и шуме: | Таймауты для сброса флагов о зафиксированных движении и шуме: | ||
Строка 230: | Строка 325: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Для настройки параметров, указанных в таблице «Параметры», нужно отправить устройству подготовленный JSON-запрос. | ==== Прочие параметры ==== | ||
Для настройки параметров, указанных в таблице «Параметры», нужно отправить устройству подготовленный JSON-запрос в топик <code>zigbee2mqtt/FRIENDLY_NAME/set</code>, где <code>FRIENDLY_NAME</code> — идентификатор устройства. | |||
Чтобы прочитать параметр заполните в шаблоне ниже ''cluster'' и ''attributes'', значениями которые можно взять из таблицы: | |||
<syntaxhighlight lang="js"> | <syntaxhighlight lang="js"> | ||
{ | { | ||
Строка 245: | Строка 341: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Чтобы записать новое значение параметра, заполните в шаблоне ниже ''cluster'' и ''payload'', значениями которые можно взять из таблицы и укажите новое значение вместо ''NEW_VALUE'': | |||
<syntaxhighlight lang="js"> | <syntaxhighlight lang="js"> | ||
{ | { | ||
"write": { | "write": { | ||
"cluster": "yourCluster", | "cluster": "yourCluster", | ||
"options": {"manufacturerCode": 26214}, | "options": {"manufacturerCode":26214}, | ||
"payload": { | "payload": { | ||
"yourAttribute": NEW_VALUE | "yourAttribute": NEW_VALUE | ||
Строка 256: | Строка 352: | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
Например, включим с помощью wb-rules принудительную калибровку датчика CO2 в устройстве с адресом ''0x842e14fffe8b184e'': | |||
<syntaxhighlight lang="js"> | |||
message = { | |||
"write": { | |||
"cluster": "msCO2", | |||
"options": {"manufacturerCode":26214}, | |||
"payload": { | |||
"sprutCO2Calibration": 1 | |||
} | |||
} | |||
} | |||
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify(message), 2, false); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 268: | Строка 379: | ||
| occupancy_sensitivity || Чувствительность датчика движения. Если датчик срабатывает при малейшем движении, уменьшите чувствительность, в противном случае увеличьте ее. || msOccupancySensing || sprutOccupancySensitivity || 0 – 2000|| 50 | | occupancy_sensitivity || Чувствительность датчика движения. Если датчик срабатывает при малейшем движении, уменьшите чувствительность, в противном случае увеличьте ее. || msOccupancySensing || sprutOccupancySensitivity || 0 – 2000|| 50 | ||
|- | |- | ||
| | | co2_autocalibration|| Автоматическая калибровка датчика CO2 на атмосферный уровень. Только для сенсора MH-Z19B.|| msCO2|| sprutCO2AutoCalibration|| 0 - отключено или 1 - включено|| 1 | ||
|- | |- | ||
| | | co2_manual_calibration|| Принудительная калибровка датчика CO2 на атмосферный уровень. Только для сенсора MH-Z19B.|| msCO2|| sprutCO2Calibration|| 0 или 1 - калибровать|| 0 | ||
|- | |- | ||
|} | |} | ||
Строка 280: | Строка 387: | ||
=== ИК-команды === | === ИК-команды === | ||
Для управления ИК приёмопередатчиком, сформируйте JSON-запрос по образцу и отправьте его в mqtt-топик <code>zigbee2mqtt/FRIENDLY_NAME | Для управления ИК приёмопередатчиком, сформируйте JSON-запрос по образцу и отправьте его в mqtt-топик <code>zigbee2mqtt/FRIENDLY_NAME/set</code>. | ||
О | О принципах управления ИК-устройствами, читайте в разделе [[#Эмуляция ИК-пультов| Эмуляция ИК-пультов]]. | ||
==== Постоянная память (ROM) ==== | ==== Постоянная память (ROM) ==== | ||
Строка 321: | Строка 428: | ||
Например, воспроизведём ИК-сигнал из ячейки с адресом ''0'', которая находится в датчике с именем ''0x842e14fffe8b184e'': | Например, воспроизведём ИК-сигнал из ячейки с адресом ''0'', которая находится в датчике с именем ''0x842e14fffe8b184e'': | ||
<syntaxhighlight lang="js"> | <syntaxhighlight lang="js"> | ||
publish('zigbee2mqtt/0x842e14fffe8b184e | publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"play_store": {"rom":0}}), 2, false); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 349: | Строка 456: | ||
Например, воспроизведём ИК-сигнал из оперативной памяти в датчике с именем ''0x842e14fffe8b184e'': | Например, воспроизведём ИК-сигнал из оперативной памяти в датчике с именем ''0x842e14fffe8b184e'': | ||
<syntaxhighlight lang="js"> | <syntaxhighlight lang="js"> | ||
publish('zigbee2mqtt/0x842e14fffe8b184e | publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"play_ram": {}}), 2, false); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == Обновление прошивки == | ||
Устройство поддерживает обновление прошивок «по воздуху» (OTA). Здесь мы рассмотрим обновление при использовании датчика с zigbee2mqtt. Если вы используете SprutHub, смотрите инструкцию по обновлению в его документации. | |||
=== Из веб-интерфейса zigbee2mqtt === | |||
[[Image: zigbee2mqtt WebUI-OTA.png |300px|thumb|right| Раздел OTA в веб-интерфейсе zigbee2mqtt ]] | |||
Обновить прошивку можно через веб-интерфейс zigbee2mqtt: | |||
# Включите [[Zigbee#Веб-интерфейс (Frontend) | веб-интерфейс zigbee2mqtt]] и перейдите в него. | |||
# Откройте раздел '''OTA'''. | |||
# Найдите в списке устройств датчик WB-MSW-ZIGBEE v.3 и нажмите кнопку '''Check for new updates'''. | |||
Image: | # Если прошивка обновление будет доступно, название кнопки сменится на '''Update device firmware''', нажмите её. | ||
# Начнётся процесс обновления прошивки, который длится около 30-40 минут, не отключайте питание датчика. | |||
Если в процессе прошивки произошёл сбой, например, устройство было обесточено, удалите устройство из Zigbee-сети и подключите его заново. | |||
=== Через MQTT === | |||
Если вы используете zigbee2mqtt, но по каким-то причинам не хотите обновлять прошивку устройства через веб-интерфейс, вы можете это сделать с помощью отправки JSON-сообщений в MQTT с помощью [[MQTT Explorer]]. Название топиков и примеры JSON-команд, смотрите в инструкции [https://www.zigbee2mqtt.io/guide/usage/ota_updates.html#automatic-checking-for-available-updates OTA updates]. | |||
==Примеры правил== | ==Примеры правил== | ||
Строка 404: | Строка 483: | ||
== Ревизии устройства == | == Ревизии устройства == | ||
{{Wbincludes:Revision}} | {{Wbincludes:Revision}} | ||
|- | |||
|2.1 | |||
|v2.1A, v2.1B, v2.1C, v2.1D, v2.1E, v2.1E/2, v2.1F - ... | |||
|07.2022 - ... | |||
| | |||
*изменена компоновка платы. Переключатель режима расположен на плате WB-MSW v.3 | |||
*наклейки Wiren Board. Партии на базе MSW v4.22B/2, v4.22C, v4.22F/1A. | |||
|- | |- | ||
|1.3 | |1.3 | ||
|v1.3B | |v1.3B, v1.3B/3 | ||
|12.2021 - . | |12.2021 - 05.2022 | ||
| | | | ||
*наклейки Wiren Board. | *наклейки Wiren Board. Партии на базе MSW v4.19A/v4.19A/M, v4.20F. | ||
|- | |- | ||
|1.3 | |1.3 | ||
Строка 431: | Строка 517: | ||
<gallery mode="packed" heights="250px"> | <gallery mode="packed" heights="250px"> | ||
Image: WB-MSW v.3 Zigbee side.png | Универсальный | Image: WB-MSW v.3 Zigbee side.png | Универсальный датчикWB-MSW-ZIGBEE v.3, <br>вид сзади | ||
Image: WB-MSW v.3 Zigbee PCB.png | Плата WB-MSW | Image: WB-MSW v.3 Zigbee PCB.png | Плата WB-MSW-ZIGBEE v.3 | ||
</gallery> | </gallery> |