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

 
(не показано 169 промежуточных версий 6 участников)
Строка 1: Строка 1:
{{Draft}}
{{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 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. Это не влияет на работу датчика в целом.


== Покраска корпуса ==
== Покраска корпуса ==
Строка 32: Строка 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" | Количество запоминаемых ИК-команд
Строка 60: Строка 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
|-
|-
|Готовность к работе после подачи питания
|Готовность к работе после подачи питания
Строка 80: Строка 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 г
|}
|}


== Общий принцип работы ==
== Общий принцип работы ==
=== Протоколы обмена данными ===
=== Датчик TH ===
Датчик поддерживает два протокола обмена данными Zigbee и Modbus, но не может работать по двум протоколам одновременно — чтобы использовать Modbus, разорвите связь с Zigbee-координатором (хабом).
 
В зависимости от выбранного типа подключения, принцип работы некоторых функций и доступные настройки будут отличаться.
 
На этой странице мы описали поведение датчика при подключении по протоколу Zigbee. О работе при подключении по RS-485 (протокол Modbus RTU), читайте в [[WB-MSW v.3 Modbus Sensor | описании Modbus-версии датчика]].
 
=== Модул TH ===
Датчик температуры и влажности (TH) распаян на плате модуля.
Датчик температуры и влажности (TH) распаян на плате модуля.


Строка 103: Строка 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. О том, как управлять другими устройствами по ИК, читайте на [[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}}


=== Датчик освещенности ===  
=== Датчик освещенности ===  
Строка 125: Строка 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-координатором.
=== Подключение ===
=== Подключение ===
Чтобы подключить датчик к Zigbee-координатору (хабу):
[[Файл:WB-MSW v.3 Wireles Installation.png |250px|thumb|right| Подключение питания к датчику WB-MSW v.3 Zigbee]]
# Включите в настройках координатора спаривания устройств (Pairing).
 
# Проведите магнит по задней нижней части корпуса или снимите крышку и нажмите кнопку на Zigbee-модуле. Зелёный индикатор в отверстии должен замигать.
{{Wbincludes:Wireless Mount}}
# Подождите, пока датчик не появится в списке устройств, известных координатору.
 
# Отключите режим спаривания устройств (Pairing).
В ревизии 1.2 нет кнопки на радиомодуле, вместо этого надо провести магнитом по боковой части корпуса датчика со стороны светодиода Status.
 
{{Wbincludes:WB-MSW Zigbee Pairing}}


=== Монтаж на стену ===
=== Монтаж на стену ===
{{Wbincludes:WB-MSW v.3 Mounting}}
{{Wbincludes:WB-MSW v.3 Mounting}}
=== Как открыть корпус датчика ===
{{Wbincludes:WB-MSW v.3 How To Disassemble}}
== Представление в контроллере ==
=== Программное обеспечение ===
Датчик можно использовать на контроллере Wiren Board и других устройствах со SprutHub и zigbee2mqtt с версии 1.24.0.
Подробнее о поддержке Zigbee-устройств на контроллерах Wiren Board, читайте в статье [[Zigbee]].
<gallery mode="packed" heights="250px" caption="Представление датчика в разном программном обеспечении">
Image: WB-MSW v.3 Zigbee + zigbee2mqtt.png  | WB-MSW v.3 Zigbee в веб-интерфейсе zigbee2mqtt 1.24.0
Image: WB-MSW v.3 Zigbee + webui.png | WB-MSW v.3 Zigbee в веб-интерфейсе контроллера Wiren Board, требуется zigbee2mqtt 1.24.0
Image: WB-MSW v.3 Zigbee + Spruthub.png | WB-MSW v.3 Zigbee в веб-интерфейсе SprutHub
</gallery>
=== Каналы устройства ===
Каналы устройства:
* ''temperature'' — температура, °C;
* ''humidity'' — относительная влажность воздуха, %, RH;
* ''co2'' — концентрация CO2, ppm;
* ''voc'' — качество воздуха, ppb;
* ''illuminance'' — освещённость в условных единицах;
* ''illuminance_lux'' — освещённость, lux;
* ''occupancy'' — флаг наличия движения, рассчитывается по внутреннему алгоритму. Можно изменять время его сброса в параметре [[#Параметры | occupancy_timeout]];
* ''occupancy_level'' — уровень движения;
* ''noise_detected'' — флаг наличия шума, рассчитывается по внутреннему алгоритму. Можно изменять время его сброса в параметре [[#Параметры | noise_timeout]];
* ''noise'' — уровень шума, dBA;
* ''update_available'' — флаг, указывающий на то, что доступна новая прошивка по OTA;
* ''linkquality'' — качество связи;
* ''state_l1'' — красный светодиод;
* ''state_l2'' — зелёный светодиод;
* ''state_l3'' — зуммер.
=== Управление ===
Зуммером и светодиодами можно управлять, для этого нужно отправить сформированный по образцу JSON-запрос в mqtt-топик <code>zigbee2mqtt/FRIENDLY_NAME/set</code>:
* красный светодиод — <code>{"state_l1": "ON"}</code> или <code>{"state_l1": "OFF"}</code>
* зелёный светодиод — <code>{"state_l2": "ON"}</code> или <code>{"state_l2": "OFF"}</code>
* зуммер — <code>{"state_l3": "ON"}</code> или <code>{"state_l3": "OFF"}</code>
Отправлять JSON-запросы можно с помощью [[wb-rules]], например, включим зелёный светодиод в датчике с именем ''0x842e14fffe8b184e'':
<syntaxhighlight lang="bash">
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"state_l2": "ON"}), 2, false);
</syntaxhighlight>
Про управление ИК-приёмопередатчиком и настройку параметров читайте в разделе [[#Настройка | Настройка]].


== Настройка ==
== Настройка ==
Ниже описан способ настройки датчика при использовании zigbee2mqtt с помощью [[wb-rules]], о том как настраивать датчик в 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-сеть и экономить ресурсы контроллера на обработке полученных от устройства данных. Чем реже устройство присылает данные, тем меньше требуется ресурсов для их обработки.
 
Интервалы настраиваются для каждого канала отдельно. Значения по умолчанию подойдут для большинства пользователей, но вы можете изменить их:
* '''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>.


В примерах ниже мы запишем новое значение <code>23</code> в параметры устройства с идентификатором <code>ffffffffffffffffffff</code>, замените значение и идентификатор на свои, команды нужно вставить в тело скрипта wb-rules:
Например, настроим с помощью wb-rules период опроса уровня шума (noise) в датчике с адресом ''0x842e14fffe8b184e'':
* Период обнаружения движения, по умолчанию 30:
<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">
{
    "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>
 
==== Оперативная память (RAM) ====
Сигналы, записанные в оперативную память (RAM) стираются при отключении питания или при операциях с банками постоянной памяти (ROM).
 
Доступные команды:
* Начать обучение:
*:<syntaxhighlight lang="js">
*:<syntaxhighlight lang="js">
publish('zigbee2mqtt/ffffffffffffffffffff/1/set', JSON.stringify({"write":{"cluster":"msOccupancySensing","payload":{"pirOToUDelay":23}}}), 2, false);
{
    "learn_ram_start": {}
}
</syntaxhighlight>
</syntaxhighlight>
* Чувствительность детектора шума, по умолчанию 60:
* Завершить обучение:
*:<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>
 
Например, воспроизведём ИК-сигнал из оперативной памяти в датчике с именем ''0x842e14fffe8b184e'':
<syntaxhighlight lang="js">
publish('zigbee2mqtt/0x842e14fffe8b184e/set', JSON.stringify({"play_ram": {}}), 2, false);
</syntaxhighlight>
</syntaxhighlight>


== Представление в контроллере ==
== Обновление прошивки ==
Чтобы считывать показания с WB-MSW v.3 Zigbee, можно использовать одно из программных обеспечений:
Устройство поддерживает обновление прошивок «по воздуху» (OTA). Здесь мы рассмотрим обновление при использовании датчика с zigbee2mqtt. Если вы используете SprutHub, смотрите инструкцию по обновлению в его документации.
* zigbee2mqtt, версия 1.22.2 (выйдет в январе 2022 года).
=== Из веб-интерфейса zigbee2mqtt ===
* SprutHub.
[[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>


==Примеры правил==
==Примеры правил==
Строка 180: Строка 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. Версия со спец.наклейками.
|-
 
|-
|-
|}
|}
Строка 191: Строка 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>