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

Материал из Wiren Board
(не показано 146 промежуточных версий 5 участников)
Строка 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|Модуль управляется через SprutHub по протоколу Zigbee. В 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. Это не влияет на работу датчика в целом.


== Покраска корпуса ==
== Покраска корпуса ==
Строка 69: Строка 58:
|-
|-
|Пользовательские индикаторы  
|Пользовательские индикаторы  
|Зеленый и красный светодиод
|Зеленый и красный светодиод с настраиваемыми частотой и скважностью мигания
|-
|-
|Звуковая индикация
|Звуковая индикация
|«Пищалка» — зуммер, 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
|-
|-
|Готовность к работе после подачи питания
|Готовность к работе после подачи питания
Строка 83: Строка 72:
|-
|-
{{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 г
|}
|}
Строка 100: Строка 88:
=== Датчик движения ===   
=== Датчик движения ===   
PIR-датчик движения в MSW обнаруживает перемещение объектов на расстоянии до 8 м с углом обзора около 100-120 градусов.
PIR-датчик движения в MSW обнаруживает перемещение объектов на расстоянии до 8 м с углом обзора около 100-120 градусов.
Доступны два параметра:
* '''occupancy''' — флаг наличия движения, рассчитывается по внутреннему алгоритму;
* '''occupancy_level''' — уровень движения.


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


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


=== Эмуляция ИК-пультов ===  
=== Эмуляция ИК-пультов ===  
==== Описание ====
Пока эмуляция пультов пока доступна только при подключении к SprutHub.
В 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: Строка 108:


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


{{Wbincludes:Wireless Mount}}
Теперь нужно спарить датчик и Zigbee-координатор (контроллер):
 
# Включите в настройках координатора спаривания устройств (Pairing).
В ревизии 1.2 нет кнопки на радиомодуле, вместо этого надо провести магнитом по боковой части корпуса датчика со стороны светодиода Status.
# Проведите магнит по задней нижней части корпуса или снимите крышку и нажмите кнопку на Zigbee-модуле. Зелёный индикатор в отверстии должен замигать.
 
# Подождите, пока датчик не появится в списке устройств, известных координатору.
{{Wbincludes:WB-MSW Zigbee Pairing}}
# Отключите режим спаривания устройств (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>
Про управление ИК-приёмопередатчиком и настройку параметров читайте в разделе [[#Настройка | Настройка]].


== Настройка ==
== Настройка ==
=== Как настраивать ===
Датчик пока настраивается только в SprutHub.
Датчик можно настраивать в SprutHub и в zigbee2mqtt с версии 1.24.0.
<!-- пока недоступно
 
Ниже описан способ настройки датчика при использовании zigbee2mqtt с помощью [[wb-rules]], о том как настраивать датчик в SprutHub, читайте в его документации.
Вы можете настроить устройство [[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-сеть и экономить ресурсы контроллера на обработке полученных от устройства данных. Чем реже устройство присылает данные, тем меньше требуется ресурсов для их обработки.
 
Интервалы настраиваются для каждого канала отдельно. Значения по умолчанию подойдут для большинства пользователей, но вы можете изменить их:
* '''minimum_report_interval''' — Минимальный интервал опроса, который будет выдержан перед отправкой изменённых значений датчиком. Может игнорироваться, если не было соблюдено условие, задаваемое в настройке «Отчётное значение».
* '''maximum_report_interval''' — Максимальный интервал опроса, по истечении которого датчик пришлёт данные независимо от того, изменились ли измеренные значения.
* '''reportable_change''' — Отчётное значение. Если значение параметра изменилось на заданную величину или больше, а также прошло время, указанное в параметре «Минимальный интервал опроса», устройство пришлёт отчёт. При настройке нужно учитывать, что для температуры и влажности 100 — это 1 °C и 1 % соответственно. Для других параметров значения равны 1 к 1.
 
Чтобы настроить интервал опроса, отправьте в MQTT-топик <code>zigbee2mqtt/bridge/request/device/configure_reporting</code> специально сформированный JSON-запрос.
 
В шаблоне ниже заполните ''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"
В примере ниже мы запишем новое значение <code>23</code> в параметр устройства с идентификатором <code>ffffffffffffffffffff</code>, замените значение и идентификатор на свои, команду нужно вставить в файл скрипта wb-rules:
|+ Интервалы опроса
* Период обнаружения движения, по умолчанию 30:
! 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>
</syntaxhighlight>


Например, воспроизведём ИК-сигнал из ячейки с адресом ''0'', которая находится в датчике с именем ''0x842e14fffe8b184e'':
* Чувствительность детектора шума, по умолчанию 60:
<syntaxhighlight lang="js">
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"play_store": {"rom":0}}), 2, false);
</syntaxhighlight>
 
==== Оперативная память (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>
-->


Например, воспроизведём ИК-сигнал из оперативной памяти в датчике с именем ''0x842e14fffe8b184e'':
== Представление в контроллере ==
<syntaxhighlight lang="js">
Чтобы считывать показания, можно использовать одно из программных обеспечений:
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: Строка 170:
{{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: Строка 181:
{{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 Zigbee side.jpg | Универсальный датчик WB-MSW v.3, вид сзади.
Image: WB-MSW v.3 Zigbee PCB.png  | Плата WB-MSW-ZIGBEE v.3
Image: WB-MSW3 Zigbee PCB.png  | Плата WB-MSW
</gallery>
</gallery>

Версия 17:11, 11 января 2022

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

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

Назначение

Модуль управляется через SprutHub по протоколу Zigbee. В 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
Готовность к работе после подачи питания ~2 c
Условия эксплуатации
Температура воздуха От −40 до +80 °С
Относительная влажность До 95 %, без конденсации влаги
Климатическое исполнение по ГОСТ 15150-69 O2.1*
Гарантийный срок 2 года
Срок службы 5 лет
Габариты
Габариты 83 x 83 x 20 мм
Масса (с коробкой) 90 г

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

Датчик TH

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

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

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

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

Доступны два параметра:

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

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

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

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

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

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

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

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

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

Пока эмуляция пультов пока доступна только при подключении к SprutHub.

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

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

Максимальное время реакции на резкое изменение освещённости — 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).

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

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

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

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

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

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

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

Настройка

Датчик пока настраивается только в SprutHub.

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

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

  • 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