WB-MSW v.3 Zigbee Sensor: различия между версиями

 
(не показано 155 промежуточных версий 6 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Универсальный настенный датчик WB-MSW v.3 Zigbee}}
{{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
}}


== Назначение ==
== Назначение ==
{{note|info|Модуль управляется через ZprutHub по протоколу Zigbee или с контроллера по Modbus RTU. В zigbee2mqtt поддержка будет с версии 1.22.2, которая выйдет в январе 2022 года.}}
{{Wbincludes:WB-MSW v.3 Functions}}
{{Wbincludes:WB-MSW v.3 Functions}}
Устройство работает по протоколу Zigbee, поэтому его можно использовать:
* с контроллером Wiren Board, для этого нужно [[Zigbee|установить zigbee2mqtt]] или SprutHub;
* шлюзом SLS Smart Home с версии 2022.01.13d1, подробнее читайте на [https://slsys.io/action/supported_devices.html?device=160 сайте устройства];
* и любым другим устройством, на который можно установить zigbee2mqtt.


== Модификации ==
== Модификации ==
Пока датчик поставляется в полной комплектации.
В датчик WB-MSW-ZIGBEE по умолчанию не включены сенсоры CO2 и VOC, их нужно выбрать при покупке отдельно.
 
Если какой-то из сенсоров не установлен, то вместо показаний этого сенсора будут передаваться нули или N/A. Это не влияет на работу датчика в целом.


== Покраска корпуса ==
== Покраска корпуса ==
Строка 31: Строка 42:
* (пиковая при измерении CO<sub>2</sub>) до 1.6 Вт;
* (пиковая при измерении CO<sub>2</sub>) до 1.6 Вт;
* (пиковая при измерении CO<sub>2</sub> и передаче ИК сигнала) до 4 Вт.
* (пиковая при измерении CO<sub>2</sub> и передаче ИК сигнала) до 4 Вт.
Пожалуйста, выбирайте кабель и блок питания с учётом [[RS-485:Физическое подключение#Падение напряжения на кабеле при пиковом потреблении устройств | падения напряжения на кабеле при пиковом потреблении устройств]].
|-
|-
! colspan="2" | Количество запоминаемых ИК-команд
! colspan="2" | Количество запоминаемых ИК-команд
Строка 59: Строка 69:
|-
|-
|Пользовательские индикаторы  
|Пользовательские индикаторы  
|Зеленый и красный светодиод с настраиваемыми частотой и скважностью мигания
|Зеленый и красный светодиод
|-
|-
|Звуковая индикация
|Звуковая индикация
|«Пищалка» — beeper
|«Пищалка» — зуммер, beeper
|-
|-
! colspan="2" |Управление
! colspan="2" |Управление
|-
|-
|Zigbee
|Zigbee
|поддержка в SprutHub, скоро в zigbee2mqtt
|полная поддержка в SprutHub и zigbee2mqtt с версии 1.24.0 ([https://www.zigbee2mqtt.io/devices/WB-MSW-ZIGBEE_v.3.html страница устройства на сайте проекта])
|-
|RS-485
|
* Неизолированный интерфейс.  
*Протокол Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке.
*Параметры подключения по умолчанию: скорость — 9600 бит/с; данные — 8 бит; бит чётности — нет (N); стоп-биты — 2
|-
|-
|Готовность к работе после подачи питания
|Готовность к работе после подачи питания
Строка 79: Строка 83:
|-
|-
{{Wbincludes:Operating conditions}}
{{Wbincludes:Operating conditions}}
{{Wbincludes:Operating conditions CO2}}
|-
|-
! colspan="2" |Габариты
! colspan="2" |Габариты
|-
|-
| Габариты
| Габариты
| 83 x 83 x 20 мм
| 83 x 83 x 21 мм
{{Wbincludes:Weight}} 90 г
{{Wbincludes:Weight}} 90 г
|}
|}


== Общий принцип работы ==
== Общий принцип работы ==
=== Протоколы обмена данными ===
Датчик поддерживает два протокола обмена данными Zigbee и Modbus, но не может работать по двум протоколам одновременно — чтобы использовать Modbus, разорвите связь с Zigbee-координатором (хабом).
В зависимости от выбранного типа подключения, принцип работы некоторых функций и доступные настройки будут отличаться.
На этой странице мы описали поведение датчика при подключении по протоколу Zigbee. О работе при подключении по RS-485 (протокол Modbus RTU), читайте в [[WB-MSW v.3 Modbus Sensor | описании Modbus-версии датчика]].
=== Датчик TH ===
=== Датчик TH ===
Датчик температуры и влажности (TH) распаян на плате модуля.
Датчик температуры и влажности (TH) распаян на плате модуля.
Строка 102: Строка 100:
=== Датчик движения ===   
=== Датчик движения ===   
PIR-датчик движения в MSW обнаруживает перемещение объектов на расстоянии до 8 м с углом обзора около 100-120 градусов.
PIR-датчик движения в MSW обнаруживает перемещение объектов на расстоянии до 8 м с углом обзора около 100-120 градусов.
При подключении по протоколу Zigbee доступны два параметра:
* '''occupancy''' — флаг наличия движения, рассчитывается по внутреннему алгоритму;
* '''occupancy_level''' — уровень движения.
О работе датчика движения при подключении по RS-485, читайте на [[WB-MSW_v.3_Modbus_Sensor#Датчик движения |странице Modbus-версии датчика]].


=== Светодиодные индикаторы  и зуммер ===  
=== Светодиодные индикаторы  и зуммер ===  
{{Wbincludes:WB-MSW v.3 LED indicators}}
{{Wbincludes:WB-MSW v.3 LED indicators}}


Управлять светодиодными индикаторами и зуммером можно в веб-интерфейсе.
Про управление светодиодными индикаторами и зуммером, читайте в разделе [[#Управление |Управление]].


=== Эмуляция ИК-пультов ===  
=== Эмуляция ИК-пультов ===  
Пока эмуляция пультов пока доступна только при подключении по RS-485 или через SprutHub. О том, как управлять другими устройствами по ИК, читайте на [[WB-MSW_v.3_Modbus_Sensor#Эмуляция ИК-пультов |странице Modbus-версии датчика]].
==== Описание ====
В WB-MSW v.3 под линзой расположены ИК-приёмник для обучения и 8 ИК-светодиодов.
 
{{Wbincludes:WB-MSW v.3 IR universal text}}
 
Вы можете записать сигнал в одну из двух видов памяти:
* Постоянную — записанные команды хранятся в ROM-буферах, которые записываются в ПЗУ модуля и сохраняются при отключении питания.
* Оперативную — это RAM-буфер модуля, данные теряются при отключении питания.
 
Помните, что при использовании постоянной памяти (ROM) вы расходуете ресурс ПЗУ, каждую ячейку можно перезаписать не более 1000 раз.
 
О том, как записывать ИК-команды и воспроизводить их, читайте в разделе [[#Настройка | Настройка]].
 
==== Управление телевизором ====
{{Wbincludes: WB-MSW v.3 IR TV Control}}
 
==== Управление климатической техникой ====
{{Wbincludes: WB-MSW v.3 IR AC Control}}
 
==== Управление другой техникой по ИК ====
{{Wbincludes: WB-MSW v.3 IR Other Control}}


=== Датчик освещенности ===  
=== Датчик освещенности ===  
Строка 124: Строка 136:


=== Датчик качества воздуха (VOC) ===  
=== Датчик качества воздуха (VOC) ===  
{{Wbincludes:VOC Sensiron SGPC3}}
==== Зачем измерять VOC ====
{{Wbincludes:VOC}}
{{Wbincludes:VOC}}


=== Датчик CO2 ===
=== Датчик CO2 ===
{{Wbincludes:WB-MSW v.3 CO2}}
{{Wbincludes:WB-MSW v.3 CO2}}
====Принудительная калибровка====
В большинстве случаев отключение автокалибровки или принудительная калибровка не требуются — датчик показывает правильные значения без дополнительных манипуляций, но иногда без неё не обойтись:
# Нужно срочно откалибровать датчик и некогда ждать, пока сработает автоматическая калибровка.
# Датчик находится в помещении, которое плохо проветривается и уровень CO2 никогда не достигает 400 ppm. В этом случае не забудьте отключить автоматическую калибровку.
Суть принудительной калибровки заключается в том, что мы помещаем датчик в среду, где уровень CO2 равен атмосферному (400 ppm) и устанавливаем это значение как начало отсчёта. Чтобы уменьшить ошибки при измерении CO2, калибруйте датчик при комнатной температуре.
Поместите работающий датчик в хорошо проветренное помещение и подождите 20 минут. Затем выполните следующие шаги:
# Если нужно отключить автоматическую калибровку — установите параметр '''co2_autocalibration''' в значение '''OFF'''.
# Включите параметр '''co2_manual_calibration''', а через секунду выключите.
# В течение пяти минут измеренное значение CO2 станет около 400 ppm. Калибровка завершена.
Способы изменения параметров смотрите в разделе [[#Настройка |Настройка]].
==== Зачем нужно измерять CO2?====
{{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-координатором.
=== Подключение ===
=== Подключение ===
[[Image: WB-MSW v.3 Zigbee 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]]
Подключите питание к клеммам V+ и GND датчика, используйте комплектный блок питания, или любой с напряжением 9 В – 28 В постоянного тока.
 
{{Wbincludes:Wireless Mount}}


Теперь нужно спарить датчик и Zigbee-координатор (контроллер):
В ревизии 1.2 нет кнопки на радиомодуле, вместо этого надо провести магнитом по боковой части корпуса датчика со стороны светодиода Status.
# Включите в настройках координатора спаривания устройств (Pairing).
# Проведите магнит по задней нижней части корпуса или снимите крышку и нажмите кнопку на Zigbee-модуле. Зелёный индикатор в отверстии должен замигать.
# Подождите, пока датчик не появится в списке устройств, известных координатору.
# Отключите режим спаривания устройств (Pairing).


Про подключение по RS-485 читайте в статье о [[WB-MSW_v.3_Modbus_Sensor#Монтаж|Modbus-версии датчика]].
{{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>
Про управление ИК-приёмопередатчиком и настройку параметров читайте в разделе [[#Настройка | Настройка]].


== Настройка ==
== Настройка ==
При работе по Zigbee датчик пока настраивается только в SprutHub.
=== Как настраивать ===
Датчик можно настраивать в 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>


<!-- пока недоступно
=== Настройка интервала опроса ===
Ниже описан способ настройки датчика при использовании zigbee2mqtt с помощью [[wb-rules]], о том как настраивать датчик в SprutHub, читайте в его документации.
Настройка интервалов опроса позволяет регулировать нагрузку на Zigbee-сеть и экономить ресурсы контроллера на обработке полученных от устройства данных. Чем реже устройство присылает данные, тем меньше требуется ресурсов для их обработки.


Настройки сохранятся, если снять питание с датчика, но сбросятся при переспаривании устройства.
Интервалы настраиваются для каждого канала отдельно. Значения по умолчанию подойдут для большинства пользователей, но вы можете изменить их:
* '''minimum_report_interval''' — Минимальный интервал опроса, который будет выдержан перед отправкой изменённых значений датчиком. Может игнорироваться, если не было соблюдено условие, задаваемое в настройке «Отчётное значение».
* '''maximum_report_interval''' — Максимальный интервал опроса, по истечении которого датчик пришлёт данные независимо от того, изменились ли измеренные значения.
* '''reportable_change''' — Отчётное значение. Если значение параметра изменилось на заданную величину или больше, а также прошло время, указанное в параметре «Минимальный интервал опроса», устройство пришлёт отчёт. При настройке нужно учитывать, что для температуры и влажности 100 — это 1 °C и 1 % соответственно. Для других параметров значения равны 1 к 1.


В примере ниже мы запишем новое значение <code>23</code> в параметр устройства с идентификатором <code>ffffffffffffffffffff</code>, замените значение и идентификатор на свои, команду нужно вставить в файл скрипта wb-rules:
Чтобы настроить интервал опроса, отправьте в MQTT-топик <code>zigbee2mqtt/bridge/request/device/configure_reporting</code> специально сформированный JSON-запрос.
* Период обнаружения движения, по умолчанию 30:
 
В шаблоне ниже заполните ''id'', ''cluster'' и ''attribute'', значениями которые можно взять из таблицы и укажите параметры опроса в полях ''minimum_report_interval'', ''maximum_report_interval'', ''reportable_change'':
<syntaxhighlight lang="js">
{
  "id": "0x0000000000000",
  "options": {},
  "cluster": "yourCluster",
  "attribute": "yourAttribute",
  "minimum_report_interval": 5,
  "maximum_report_interval": 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>
 
{|  border="1" class="wikitable"
|+ Интервалы опроса
! rowspan="2"| Канал || rowspan="2"|Описание || rowspan="2"|Кластер || rowspan="2"|Атрибут || colspan="3" |Значения по умолчанию
|-
! Минимальный интервал, с || Максимальный интервал, с || Отчётное значение
|-
| temperature || Температура ||  msTemperatureMeasurement || measuredValue || 10|| 3600|| 100
|-
| illuminance || Освещённость ||  msIlluminanceMeasurement || measuredValue || 10|| 3600|| 5
|-
| humidity || Влажность ||  msRelativeHumidity || measuredValue || 10|| 3600|| 100
|-
| occupancy || Флаг наличия движения ||  msOccupancySensing || occupancy || 0|| 3600|| 0
|-
| occupancy_level || Уровень движения ||  msOccupancySensing || sprutOccupancyLevel || 10|| 60|| 5
|-
| noise || Уровень шума ||  sprutNoise || noise || 10|| 60|| 5
|-
|}
 
=== Параметры датчиков ===
 
==== Таймауты детекторов движения и шума ====
При настройке через MQTT, сформируйте JSON-запрос по образцу и отправьте его в mqtt-топик:
* чтение <code>zigbee2mqtt/FRIENDLY_NAME/get</code> ответ будет опубликован в топике устройства и отобразится в веб-интерфейсе контроллера в карточке устройства на вкладке Devices.
* запись <code>zigbee2mqtt/FRIENDLY_NAME/set</code>
 
<code>FRIENDLY_NAME</code> — идентификатор устройства.
 
Таймауты для сброса флагов о зафиксированных движении и шуме:
* '''noise_timeout''' — Таймаут обнаружения шума. Время в секундах, которое должно пройти в тишине перед сбросом флага ''noise_detected''. Можно указывать от 0 до 2000 , по умолчанию 60 секунд. JSON запросы:
** чтение — <code>{"noise_timeout": ""}</code>
** запись — <code>{"noise_timeout": NEW_VALUE}</code>
* '''occupancy_timeout''' — Таймаут обнаружения движения. Время в секундах, которое должно пройти без движения перед сбросом флага ''occupancy''. Можно указывать от 0 до 2000 , по умолчанию 60 секунд. JSON запросы:
** чтение — <code>{"occupancy_timeout": ""}</code>
** запись — <code>{"occupancy_timeout": NEW_VALUE}</code>
 
Например, установим с помощью wb-rules в датчике с именем ''0x842e14fffe8b184e'' параметр ''noise_timeout'' в значение 20:
<syntaxhighlight lang="js">
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"noise_timeout": 20}), 2, false);
</syntaxhighlight>
 
==== Прочие параметры ====
Для настройки параметров, указанных в таблице «Параметры», нужно отправить устройству подготовленный JSON-запрос в топик <code>zigbee2mqtt/FRIENDLY_NAME/set</code>, где <code>FRIENDLY_NAME</code> — идентификатор устройства.
 
Чтобы прочитать параметр заполните в шаблоне ниже ''cluster'' и ''attributes'', значениями которые можно взять из таблицы:
<syntaxhighlight lang="js">
{
  "read": {
    "cluster": "yourCluster",
    "options": {"manufacturerCode":26214},
    "attributes": [
      "yourAttribute"
    ]
  }
}
</syntaxhighlight>
 
Чтобы записать новое значение параметра, заполните в шаблоне ниже ''cluster'' и ''payload'', значениями которые можно взять из таблицы и укажите новое значение вместо ''NEW_VALUE'':
<syntaxhighlight lang="js">
{
  "write": {
    "cluster": "yourCluster",
    "options": {"manufacturerCode":26214},
    "payload": {
      "yourAttribute": NEW_VALUE
    }
  }
}
</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>
 
{|  border="1" class="wikitable"
|+ Параметры
! rowspan="2"| Параметр || rowspan="2"| Описание || rowspan="2"| Кластер || rowspan="2"| Атрибут || colspan="2"| Значения
|-
! Возможное || По умолчанию
|-
| noise_detect_level || Минимальный уровень шума в дБА, при котором будет работать детектор. ||  sprutNoise || noiseDetectLevel || 0 – 150|| 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
|-
|}
 
=== ИК-команды ===
 
Для управления ИК приёмопередатчиком, сформируйте JSON-запрос по образцу и отправьте его в mqtt-топик <code>zigbee2mqtt/FRIENDLY_NAME/set</code>.
 
О принципах управления ИК-устройствами, читайте в разделе [[#Эмуляция ИК-пультов| Эмуляция ИК-пультов]].
 
==== Постоянная память (ROM) ====
Сигналы, записанные в постоянную память (ROM) сохраняются после отключения питания.
 
Доступные команды, ''rom'' — номера ячеек памяти от 0 до 31:
* Начать обучение:
*:<syntaxhighlight lang="js">
{
    "learn_start": {
        "rom":0
    }
}
</syntaxhighlight>
* Завершить обучение:
*:<syntaxhighlight lang="js">
{
    "learn_stop": {
        "rom":0
    }
}
</syntaxhighlight>
* Воспроизвести сигнал:
*:<syntaxhighlight lang="js">
*:<syntaxhighlight lang="js">
publish('zigbee2mqtt/ffffffffffffffffffff/1/set', JSON.stringify({"write":{"cluster":"msOccupancySensing","payload":{"pirOToUDelay":23}}}), 2, false);
{
    "play_store": {
        "rom":0
    }
}
</syntaxhighlight>
* Удалить сигналы из всех ячеек ROM:
*:<syntaxhighlight lang="js">
{
    "clear_store": {}
}
</syntaxhighlight>
 
Например, воспроизведём ИК-сигнал из ячейки с адресом ''0'', которая находится в датчике с именем ''0x842e14fffe8b184e'':
<syntaxhighlight lang="js">
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"play_store": {"rom":0}}), 2, false);
</syntaxhighlight>
</syntaxhighlight>


* Чувствительность детектора шума, по умолчанию 60:
==== Оперативная память (RAM) ====
Сигналы, записанные в оперативную память (RAM) стираются при отключении питания или при операциях с банками постоянной памяти (ROM).
 
Доступные команды:
* Начать обучение:
*:<syntaxhighlight lang="js">
{
    "learn_ram_start": {}
}
</syntaxhighlight>
* Завершить обучение:
*:<syntaxhighlight lang="js">
*:<syntaxhighlight lang="js">
publish('zigbee2mqtt/ffffffffffffffffffff/1/set', JSON.stringify({"write":{"cluster":"sprutNoise","payload":{"26114":23}}}), 2, false);
{
    "learn_ram_stop": {}
}
</syntaxhighlight>
</syntaxhighlight>
* Период обнаружения шума, по умолчанию 30:
* Воспроизвести сигнал:
*:<syntaxhighlight lang="js">
*:<syntaxhighlight lang="js">
publish('zigbee2mqtt/ffffffffffffffffffff/1/set', JSON.stringify({"write":{"cluster":"sprutNoise","payload":{"26115":23}}}), 2, false);
{
    "play_ram": {}
}
</syntaxhighlight>
</syntaxhighlight>
-->
Про настройку датчика при подключении по RS-485 читайте в статье о [[WB-MSW_v.3_Modbus_Sensor#Монтаж|Modbus-версии датчика]].


== Представление в контроллере ==
Например, воспроизведём ИК-сигнал из оперативной памяти в датчике с именем ''0x842e14fffe8b184e'':
Чтобы считывать показания по протоколу Zigbee, можно использовать одно из программных обеспечений:
<syntaxhighlight lang="js">
* zigbee2mqtt, версия 1.22.2 (выйдет в январе 2022 года).
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"play_ram": {}}), 2, false);
* SprutHub.
</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'''.
# Если прошивка обновление будет доступно, название кнопки сменится на '''Update device firmware''', нажмите её.
# Начнётся процесс обновления прошивки, который длится около 30-40 минут, не отключайте питание датчика.
 
Если в процессе прошивки произошёл сбой, например, устройство было обесточено, удалите устройство из Zigbee-сети и подключите его заново.


<gallery mode="packed" heights="250px">
=== Через MQTT ===
Image: WB-MSW v.3 Zigbee + zigbee2mqtt.png  | WB-MSW v.3 Zigbee в веб-интерфейсе zigbee2mqtt 1.22.2
Если вы используете zigbee2mqtt, но по каким-то причинам не хотите обновлять прошивку устройства через веб-интерфейс, вы можете это сделать с помощью отправки JSON-сообщений в MQTT с помощью [[MQTT Explorer]]. Название топиков и примеры JSON-команд, смотрите в инструкции [https://www.zigbee2mqtt.io/guide/usage/ota_updates.html#automatic-checking-for-available-updates OTA updates].
Image: WB-MSW v.3 Zigbee + webui.png | WB-MSW v.3 Zigbee в веб-интерфейсе контроллера, требуется zigbee2mqtt 1.22.2
Image: WB-MSW v.3 Zigbee + Spruthub.png | WB-MSW v.3 Zigbee в веб-интерфейсе SprutHub
</gallery>


==Примеры правил==
==Примеры правил==
Строка 190: Строка 484:
{{Wbincludes:Revision}}
{{Wbincludes:Revision}}
|-
|-
| -
|2.1
| -
|v2.1A, v2.1B, v2.1C, v2.1D, v2.1E, v2.1E/2, v2.1F - ...
|12.2021
|07.2022 - ...
|
|
* Первая версия
*изменена компоновка платы. Переключатель режима расположен на плате WB-MSW v.3
*наклейки Wiren Board. Партии на базе MSW v4.22B/2, v4.22C, v4.22F/1A.
|-
|1.3
|v1.3B, v1.3B/3
|12.2021 - 05.2022
|
*наклейки Wiren Board. Партии на базе MSW v4.19A/v4.19A/M, v4.20F.
|-
|1.3
|v1.3A
|08.2021 - 11.2021
|
*версия с кнопкой для программирования. Со спец.наклейками.
|-
|1.2
|v1.2A, v1.2B
|04.2021 - 07.2021
|
* Первая версия, на чипе MGM210P032JIA2. Версия со спец.наклейками.
|-
 
|-
|-
|}
|}
Строка 201: Строка 516:
{{Wbincludes:WB-MSW v.3 Images}}
{{Wbincludes:WB-MSW v.3 Images}}


<gallery mode="traditional" widths ="260px" heights="200px">
<gallery mode="packed" heights="250px">
Image: WB-MSW v.3 side.jpg | Универсальный датчик WB-MSW v.3, вид сзади.
Image: WB-MSW v.3 Zigbee side.png | Универсальный датчикWB-MSW-ZIGBEE v.3, <br>вид сзади
Image: WB-MSW3 PCB.png  | Плата WB-MSW
Image: WB-MSW v.3 Zigbee PCB.png  | Плата WB-MSW-ZIGBEE v.3
</gallery>
</gallery>