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

Материал из Wiren Board
(не показано 155 промежуточных версий 6 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Универсальный настенный датчик WB-MSW-ZIGBEE v.3}}
{{DISPLAYTITLE:Универсальный настенный датчик WB-MSW v.3 Zigbee}}
<!--{{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-ZIGBEE v.3, вид спереди]]
[[Файл:WB-MSW3-front.JPG |300px|thumb|right| Универсальный датчик WB-MSW 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. Это не влияет на работу датчика в целом.


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


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


=== Датчик качества воздуха (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-координатором.
=== Подключение ===
=== Подключение ===
[[Файл:WB-MSW v.3 Wireles Installation.png |250px|thumb|right| Подключение питания к датчику WB-MSW v.3 Zigbee]]
[[Image: WB-MSW v.3 Zigbee Installation.png |250px|thumb|right| Подключение питания к датчику WB-MSW v.3 Zigbee]]
 
Подключите питание к клеммам V+ и GND датчика, используйте комплектный блок питания, или любой с напряжением 9 В – 28 В постоянного тока.
{{Wbincludes:Wireless Mount}}


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


{{Wbincludes:WB-MSW Zigbee Pairing}}
Про подключение по RS-485 читайте в статье о [[WB-MSW_v.3_Modbus_Sensor#Монтаж|Modbus-версии датчика]].


=== Монтаж на стену ===
=== Монтаж на стену ===
{{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>


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


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


Чтобы настроить интервал опроса, отправьте в MQTT-топик <code>zigbee2mqtt/bridge/request/device/configure_reporting</code> специально сформированный JSON-запрос.
В примере ниже мы запишем новое значение <code>23</code> в параметр устройства с идентификатором <code>ffffffffffffffffffff</code>, замените значение и идентификатор на свои, команду нужно вставить в файл скрипта wb-rules:
 
* Период обнаружения движения, по умолчанию 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>


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


== Обновление прошивки ==
<gallery mode="packed" heights="250px">
Устройство поддерживает обновление прошивок «по воздуху» (OTA). Здесь мы рассмотрим обновление при использовании датчика с zigbee2mqtt. Если вы используете SprutHub, смотрите инструкцию по обновлению в его документации.
Image: WB-MSW v.3 Zigbee + zigbee2mqtt.png  | WB-MSW v.3 Zigbee в веб-интерфейсе zigbee2mqtt 1.22.2
=== Из веб-интерфейса zigbee2mqtt ===
Image: WB-MSW v.3 Zigbee + webui.png | WB-MSW v.3 Zigbee в веб-интерфейсе контроллера, требуется zigbee2mqtt 1.22.2
[[Image: zigbee2mqtt WebUI-OTA.png |300px|thumb|right| Раздел OTA в веб-интерфейсе zigbee2mqtt ]]
Image: WB-MSW v.3 Zigbee + Spruthub.png | WB-MSW v.3 Zigbee в веб-интерфейсе SprutHub
Обновить прошивку можно через веб-интерфейс zigbee2mqtt:
</gallery>
# Включите [[Zigbee#Веб-интерфейс (Frontend) | веб-интерфейс zigbee2mqtt]] и перейдите в него.
# Откройте раздел '''OTA'''.
# Найдите в списке устройств датчик WB-MSW-ZIGBEE v.3 и нажмите кнопку '''Check for new updates'''.
# Если прошивка обновление будет доступно, название кнопки сменится на '''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].


==Примеры правил==
==Примеры правил==
Строка 484: Строка 190:
{{Wbincludes:Revision}}
{{Wbincludes:Revision}}
|-
|-
|2.1
| -
|v2.1A, v2.1B, v2.1C, v2.1D, v2.1E, v2.1E/2, v2.1F - ...
| -
|07.2022 - ...
|12.2021
|
|
*изменена компоновка платы. Переключатель режима расположен на плате 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. Версия со спец.наклейками.
|-
 
|-
|-
|}
|}
Строка 516: Строка 201:
{{Wbincludes:WB-MSW v.3 Images}}
{{Wbincludes:WB-MSW v.3 Images}}


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

Версия 19:21, 21 декабря 2021

Купить в интернет-магазине

Универсальный датчик WB-MSW v.3, вид спереди

Назначение

Модуль управляется через ZprutHub по протоколу Zigbee или с контроллера по Modbus RTU. В zigbee2mqtt поддержка будет с версии 1.22.2, которая выйдет в январе 2022 года.

Комбинированный цифровой датчик температуры, влажности, освещенности, движения, уровня шума, концентрации CO2 и летучих органических соединений. Оснащён ИК приемопередатчиком.

Предназначен для контроля климата в жилых и офисных помещениях, для бытового использования. Датчик выполнен в пластиковом корпусе и предназначен для крепления на стену.

Является средством измерения. Номер в Госреестре средств измерений 87443-22.


Модификации

Пока датчик поставляется в полной комплектации.

Покраска корпуса

Разноцветных корпусов нет, но белые корпуса легко покрасить — получается неплохо, см. Покраска корпуса MSW


Технические характеристики

Измеряемая величина Диапазон Погрешность Готовность к работе

после подачи питания

Концентрация CO2 400 – 5000 ppm (миллионных долей) 100 ppm + 5% от измеренного значения 3 мин,

автокалибровка каждые 7 дн.

Температура −40 °С – +80 °С ±0.3 °С (в диапазоне 0 – 70 °C)

±0.5 °С (в диапазоне −40 – 0 °C и 70 – 80 °C)

1 сек

постоянная времени (выравнивание

с окружающим воздухом) ~4 мин

Относительная влажность 5 – 95 % ±3 % 1 сек
Уровень шума (звуковое давление) 40 – 82 дБА в версии v.4.8

38 – 105 дБА в версии v.4.9

39 – 90 дБА в версиях v.4.19-4.22

±2 дБА (±3 дБА в v.4.8) 5 сек
Освещённость 0,02 – 100 000 лк ±10 % 1 сек
Качество воздуха

(концентрация летучих

органических соединений — VOC)

0 ppm – 60000 ppb (миллиардных долей) по этанолу ±15 % (тип)

±40 % (макс)

6 мин

(самокалибровка спустя 12 ч)

Датчик движения (недоступен в версии с LoRa) До 8 м, 120 градусов 8 сек
Передача ИК-команд До 10 м (зависит от окружающих условий) 1 сек
Параметр Значение
Питание
Напряжение питания 9 В – 28 В постоянного тока
Потребляемая мощность
  • 0.5 Вт;
  • (пиковая при измерении CO2) до 1.6 Вт;
  • (пиковая при измерении CO2 и передаче ИК сигнала) до 4 Вт.

Пожалуйста, выбирайте кабель и блок питания с учётом падения напряжения на кабеле при пиковом потреблении устройств.

Количество запоминаемых ИК-команд
Количество команд

32

Длительность команд Максимальная длина команды — 508 регистров, плюс два регистра — признак окончания команды.

Каждый регистр кодирует длительность высокого или низкого уровня сигнала (последовательно) в микросекундах.

Клеммники и сечение проводов
Рекомендуемое сечение провода с НШВИ, мм2 0.35 – 1 мм2 — одинарные, 0.35 – 0.5 мм2 — сдвоенные провода,
Длина стандартной втулки НШВИ, мм 8
Момент затяжки винтов, Н∙м 0.2
Индикация
Питание и обмен данными Зеленый светодиод в нижней части корпуса
Пользовательские индикаторы Зеленый и красный светодиод с настраиваемыми частотой и скважностью мигания
Звуковая индикация «Пищалка» — beeper
Управление
Zigbee поддержка в SprutHub, скоро в zigbee2mqtt
RS-485
  • Неизолированный интерфейс.
  • Протокол Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке.
  • Параметры подключения по умолчанию: скорость — 9600 бит/с; данные — 8 бит; бит чётности — нет (N); стоп-биты — 2
Готовность к работе после подачи питания ~2 c
Условия эксплуатации
Температура воздуха От −40 до +80 °С
Относительная влажность До 95 %, без конденсации влаги
Климатическое исполнение по ГОСТ 15150-69 O2.1*
Гарантийный срок 2 года
Срок службы 5 лет
Габариты
Габариты 83 x 83 x 20 мм
Масса (с коробкой) 90 г

Общий принцип работы

Протоколы обмена данными

Датчик поддерживает два протокола обмена данными Zigbee и Modbus, но не может работать по двум протоколам одновременно — чтобы использовать Modbus, разорвите связь с Zigbee-координатором (хабом).

В зависимости от выбранного типа подключения, принцип работы некоторых функций и доступные настройки будут отличаться.

На этой странице мы описали поведение датчика при подключении по протоколу Zigbee. О работе при подключении по RS-485 (протокол Modbus RTU), читайте в описании Modbus-версии датчика.

Датчик TH

Датчик температуры и влажности (TH) распаян на плате модуля.

Модуль автоматически корректирует показания температуры и влажности, учитывая базовый нагрев платы от микросхемы питания (0.3 °C), а также нагрев от установленных датчиков СО2 (0.31 °C) и VOC (0.14 °C).

Датчик движения

PIR-датчик движения в MSW обнаруживает перемещение объектов на расстоянии до 8 м с углом обзора около 100-120 градусов.

При подключении по протоколу Zigbee доступны два параметра:

  • occupancy — флаг наличия движения, рассчитывается по внутреннему алгоритму;
  • occupancy_level — уровень движения.

О работе датчика движения при подключении по RS-485, читайте на странице Modbus-версии датчика.

Светодиодные индикаторы и зуммер

Работа светодиодного индикатора

Также во всех комплектациях доступен зелёный индикатор обмена данными, который виден в технологическом отверстии на нижней части корпуса.

Пользователь может управлять:

  • Двумя яркими светодиодами — зеленым и красным, которые подсвечивают линзу на корпусе. Индикаторы могут только мигать.
  • Звуковым индикатором (зуммер, buzzer).

Индикаторы позволяют обеспечить обратную связь при монтаже и эксплуатации. Например, датчик может мигать красным при превышении оптимальной концентрации углекислого газа (примеры правил). При монтаже большого количества датчиков индикаторы (или бипер) помогут определить, к какому конкретно датчику вы сейчас обращаетесь.

Управлять светодиодными индикаторами и зуммером можно в веб-интерфейсе.

Эмуляция ИК-пультов

Пока эмуляция пультов пока доступна только при подключении по RS-485 или через SprutHub. О том, как управлять другими устройствами по ИК, читайте на странице Modbus-версии датчика.

Датчик освещенности

Датчик освещенности имеет фильтр, который повторяет кривую спектральной чувствительности человеческого глаза. Это позволяет измерять освещенность в люксах, что позволяет обеспечить контроль освещенности в соответствии с нормами СанПиН.

Максимальное время реакции на резкое изменение освещённости — 1.5 c.

Датчик шума

В модуле используется микрофон с усилителем и фильтрами для коррекции по шкале А с учётом особенностей восприятия человеческим ухом звуков разных частот. Шум измеряется в акустических децибелах (дБА), что позволяет контролировать шумовую обстановку в соответствии со стандартами и санитарными нормами.

Датчик качества воздуха (VOC)

Датчик VOC не работает как детектор утечки бытовых горючих газов и совсем не реагирует на дым!

Летучие органические вещества (ЛОВ, VOC) — это легкоиспаряющиеся вещества, выделяющиеся в атмосферу в виде газов. Датчик определяет суммарную концентрацию летучих органических веществ, в том числе испарения лаков/красок и элементов внутренней отделки помещений (фенол, формальдегид, толуол, стирол), спирты, бензол, гниющие овощи, выделяемые человеком газы, бытовой газ. Высокие концентрации опасных ЛОВ представляют угрозу жизни и здоровью человека.

Датчик не реагирует на количество ароматических молекул в воздухе, поэтому его вряд ли получится использовать для включения вытяжки в санузле для устранения запаха — даже небольшая концентрация ЛОВ очень сильно пахнет, но не определяется датчиком.

Концентрация измеряется в единицах на миллиард ppb (также называемую ОЛОС — см. ГОСТ Р ИСО 16000-9-2009). Данный параметр характеризует общую концентрацию ЛОВ в усредненном помещении.

На основании исследований производителем датчика установлены следующие пороги концентрации:

AQI Концентрация (ppb) Уровень Соответствие гигиеническим нормам Рекомендации Предельное время воздействия
5 2200 - 5500 Опасно для здоровья Ситуация неприемлема Подвергаться воздействию только в критических случаях / Необходимо интенсивное вентилирование часы
4 660-2200 Неудовлетворительно Серьезные претензии Необходимо интенсивное вентилирование или проветривание, требуется поиск источников загрязнения < 1 месяца
3 220 - 660 Приемлемо Некоторые претензии Рекомендуется интенсивное вентилирование или проветривание, требуется поиск источников загрязнения < 12 месяцев
2 65 - 220 Хорошо Без особых претензий Рекомендуется вентилирование или проветривание нет предела
1 0-65 Отлично Без претензий Требуемое значение нет предела

Датчик CO2

Принцип действия датчика CO2

Для измерения концентрации CO2 в воздухе используется недисперсионный инфракрасный (NDIR) датчик. Принцип действия основан на поглощении углекислым газом инфракрасного света. Оптический способ измерения CO2 намного точнее, чем с помощью более дешевых электрохимических датчиков.

Концентрация CO2 измеряется в ppm — частях на миллион.

Автокалибровка

Измеренное минимальное значение в течение 7 дней принимается за 400 ppm — это значение концентрации CO2 на улице. Концентрация CO2 упадёт до уличной, если в помещении нет людей хотя бы несколько часов в день, или если в помещении работает вытяжная вентиляция, или в помещении иногда открывают окна.

Монтаж

Подключение

Подключение питания к датчику WB-MSW v.3 Zigbee

Подключите питание к клеммам V+ и GND датчика, используйте комплектный блок питания, или любой с напряжением 9 В – 28 В постоянного тока.

Теперь нужно спарить датчик и Zigbee-координатор (контроллер):

  1. Включите в настройках координатора спаривания устройств (Pairing).
  2. Проведите магнит по задней нижней части корпуса или снимите крышку и нажмите кнопку на Zigbee-модуле. Зелёный индикатор в отверстии должен замигать.
  3. Подождите, пока датчик не появится в списке устройств, известных координатору.
  4. Отключите режим спаривания устройств (Pairing).

Про подключение по RS-485 читайте в статье о Modbus-версии датчика.

Монтаж на стену

Модуль имеет отверстия для крепления к поверхности. Мы подготовили установочный шаблон для корпуса датчика:

  1. Скачайте файл MSW v3 mounting template.pdf на компьютер.
  2. Откройте в Acrobat Reader и при печати выберите опцию «Реальный масштаб».

Для крепления WB-MSW v.3 выбирайте винты/шурупы с головкой диаметром около 7 мм, если требуется, чтобы датчик был съемным, и 9-10 мм — для постоянной фиксации.

Устройство должно эксплуатироваться при рекомендованных условиях окружающей среды.

Рекомендуем располагать датчики на теплых (внутренних) стенах, на высоте 1-1.6 м от уровня пола, с учетом возможных сквозняков и освещенности солнцем. При креплении на потолке в жилом помещении температура будет завышена, а влажность занижена. Концентрация CO2 от высоты не зависит. При креплении на внешних стенах зимой будут заниженные показания температуры на несколько градусов (из-за холодного пограничного слоя воздуха и охлаждения корпуса датчика от стены).

Сразу же после установки датчик CO2 может показывать неверные значения: это может быть связано с неосторожным обращением во время транспортировки и монтажа. Вы можете подождать 7 дней без отключения питания, пока функция автокалибровки не приведёт показания датчика в норму или выполнить принудительную калибровку.

Настройка

При работе по Zigbee датчик пока настраивается только в SprutHub.

Про настройку датчика при подключении по RS-485 читайте в статье о Modbus-версии датчика.

Представление в контроллере

Чтобы считывать показания по протоколу Zigbee, можно использовать одно из программных обеспечений:

  • zigbee2mqtt, версия 1.22.2 (выйдет в январе 2022 года).
  • SprutHub.

Примеры правил

Для работы в составе «умного дома» лучше использовать определенные правила. Их можно посмотреть в статье Примеры правил

Известные неисправности

Аппаратные ошибки/особенности WB-MSW v.3, найденные при эксплуатации устройства.

Ревизии устройства

Номер партии (Batch №) указан на наклейке на боковой поверхности корпуса или на печатной плате.

Ревизия Партии Дата выпуска Отличия от предыдущей ревизии
- - 12.2021
  • Первая версия

Изображения и чертежи устройства

Corel Draw 2018 (шрифт — Ubuntu): Файл:WB-Library.cdr.zip

Visio:

  1. Устройства Wiren Board: Файл:WB-Visio-Lib.cdr.zip.
  2. Щиты, автоматы, контакторы и прочее.

SVG: Файл:WB-MSW-v.3.svg.zip

Autocad 2013 DXF: Файл:WB-MSW-v.3.dxf.zip

Autocad PDF: Файл:WB-MSW-v.3.pdf