Wirenboard: входы-выходы и скрипты - «Умный Дом и решения» » Умный Дом и решения
Wirenboard: входы-выходы и скрипты - «Умный Дом и решения»
Что такое Умный дом — это система домашних устройств, связанных между собой и выполняющих действия по команде человека или даже без его участия, по расписанию или сигналу от датчика. Некоторые умные дома управляются через приложения и голосом через умные колонки, другие — с помощью отдельных устройств. Задачи тоже могут быть разными: повысить комфорт, сэкономить время или обеспечить безопасность..

Новинки / Производитель / СТАТЬИ / Смарт.ТВ / Умный Дом и решения

Wirenboard: входы-выходы и скрипты - «Умный Дом и решения»

  • Conors
  • 12-окт-2020, 20:19
  • 0 комментариев
  • 2 545 просмотров

Итак, перейдём на следующую ступень сложности и познакомимся, во-первых, с взаимодействием входов и выходов модулей реле, во-вторых, со скриптами. Напомню про мои прочие статьи про Wirenboard:

  • Подбор оборудования Wirenboard и проектирование системы
  • Инструкция по первой настройке Wirenboard

Взаимодействие входов и выходов

У модулей Wirenboard (названия модулей начинаются на «WB-«, в отличие от «WBIO» и прочих), подключаемых по modbus, есть входы и выходы. Выходы обычно сверху, а входы снизу.

Wirenboard: входы-выходы и скрипты - «Умный Дом и решения»

Входов на один больше, чем выходов, потому что дополнительный вход (обычно имеет номер 0) служит для выключения всех выходов (либо можно настроить другое его поведение).

Разумеется, заданные значения зависимостей выходов от входов работают даже при полностью отключенном от контроллера модуле. То есть, мы можем записать в модули реле нужные нам варианты взаимодействия, отключить контроллер от шины вообще и управлять светом с выключателей. Причём, удобно подключая проходные выключатели: кнопки, выполняющие одинаковые действия, подключатся на одни и те же входы. Как я уже писал многократно, управление сложным светом даже при отсутствии желания ставить систему Умный Дом я рекомендую делать именно на таких реле и диммерах в щите, это крайне удобно и гибко.

Зависимости выходов от входов записаны в модулях в ячейки памяти. Ячейки в памяти модуля называются регистрами. У каждой ячейки есть адрес — это просто цифра. Для записи значений в регистры даже контроллер Wirenboard не нужен, достаточно переходника с USB на RS485. Если не планируете ставить контроллер Wirenboard, то можно либо заранее вывести витую пару шины modbus в удобное место (к рабочему столу) для подключения переходника на USB, либо вместо контроллера поставить компьютер типа Raspberry с таким переходником. Но с контроллером Wirenboard удобнее, так как будет доступно обновление программного обеспечения и более удобная визуальная настройка.

Поскольку у меня есть контроллер Wirenboard, буду работать через него. Нам нужно подключиться к контроллеру через ssh простой бесплатной программой putty. Как это сделать, описано в этой статье.

Для записи значения в ячейку памяти (регистр) модуля нам надо знать номер порта RS485 на контроллере Wirenboard (1 или 2 обычно) адрес модуля, номер регистра и записываемое значение. Адрес модуля по умолчанию, напомню, написан на самом модуле (на фото ниже — адрес 69).

Для начала работы с ячейками памяти надо в командной строке остановить выполнение драйвера mqtt serial командой

service wb-mqtt-serial stop

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

service wb-mqtt-serial start

Есть простое взаимодействие входов и выходов, а есть сложное. Простое, в принципе, покрывает большинство потребностей. Сложное — это mapping-матрица, про неё напишу ниже.

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

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

  • 0 — работа с выключателем без фиксации. Выход меняется при срабатывании входа.
  • 1 — работа с выключателем с фиксацией. Выход повторяет вход.
  • 2 — при срабатывании входа выключаются все выходы модуля.
  • 3 — вход никак не влияет на выходы
  • 4 — управление происходит в соответствии с mapping-матрицей
  • 5 — управление происходит в соответствии с mapping-матрицей, а через 20 минут после переключения Modbus-командой состояние приводится согласно входам. Это специальный режим для модуля контроля протечки воды.

Чуть подробнее про режимы написано в этой статье в документации Wirenboard.

По умолчанию в новом модуле задан режим работы 1, для выключателей с фиксацией. Для изменения режима на выключатели без фиксации (кнопок) надо поменять режим на 0. То есть, надо записать 0 в регистры с 9 по 14.

Команда для записи значения 0 в регистр 9 модуля 69 выглядит так:

modbus_client —debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a69 -t0x06 -r9 0

  • modbus_client — это название утилиты, которая работает с modbus.
  • /dev/ttyRS485-1 — это порт. Если модуль подключен к порту 2, но надо в конце поставить цифру 2 вместо 1.
  • -a69 — адрес модуля.
  • -r9 номер регистра.
  • 0 — записываемое значение.
  • -t0x06 — код функции, который определяет, что мы хотим сделать.

Возможные значения кода функции:

  • 0x06 — запись одного значения
  • 0х10 — запись нескольких значений
  • 0x03 — чтение нескольких значений

Используем возможность записи нескольких значений, чтобы одной командой прописать 0 в регистры с 9 по 14.

modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1
-a69 -t0x10 -r9 0 0 0 0 0 0

Этой командой записываются ноли в ячейку 9 и последующие 5 ячеек. Если всё нормально, то PuTTY напишет нам «Syccess: written 6 elements!»

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

modbus_client —debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a69 -t0x06 -r16 2

Любой вход можно вообще отключить от выхода (значение 3) и написать в контроллере скрипт на срабатывание этого входа.

Прочитаем значение регистра, использовав значение функции 0x03:

modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1
-a69 -t0x03 -r16

Нас интересует то, что написано в последней строчке Data, сейчас это 0.

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

Mapping-матрица

Напомню, mapping-матрица нужна, когда мы хотим по срабатыванию одного входа управлять выходом с другим номером или несколькими выходами. Для начала надо включить работу по матрице записью кода 4 в регистры с 9 по 14.

modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1
-a69 -t0x10 -r9 4 4 4 4 4 4

Mapping-матрица — это таблица в памяти модуля, в которой по строкам идут входы, по столбцам выходы, а в самой таблице записаны значения, определяющие поведение выхода при срабатывании входа.

Понятие mapping-матрицы относится к релейным модулям WB-MR, подключаемым к контроллеру по modbus, и модулю контроля протечки воды WB-MWAC.

Вот статья документации по этой теме: https://wirenboard.com/wiki/I/O_Mapping_Matrix

В ячейке памяти модуля №384 значение показывает, что делает выход №1 при срабатывании входа №1. Ячейка 385 — что делает выход №2 при срабатывании входа №1. Ячейка 410 — что делает выход №3 при срабатывании входа №4.

Теперь о том, какие значения могут быть записаны в эти ячейки. Это цифра от 0 до 15, то есть, существует 16 вариантов взаимодействия входа и выхода. Я не буду перечислять все варианты (они в документации по ссылке выше), перечислю самые используемые.

  • 0 — нет взаимодействия, вход не управляет выходом вообще
  • 1 — при выключении входа выход выключается. При включении входа ничего не происходит.
  • 2 — при выключении входа выход включается
  • 3 — при выключении входа меняется состояние выхода
  • 4 — при включении входа выход включается
  • 5 — при любом изменении состояния входа выход выключается
  • 6 — при включении входа выход выключается, при выключении входа выход включается
  • 8 — при включении входа включается выход
  • 9 — при включении входа выход включается, при выключении входа выход выключается
  • 10 — при любом изменении состояния входа выход включается
  • 12 — при включении входа меняется состояния выхода

Из этого списка самые используемые значения это 12 (выключатель без фиксации) и 9 (выключатель фиксацией).

Для того, чтобы вход работал в соответствии с матрицей, надо не забыть включить матрицу для этого входа, записав значение 4 в соответствующий входу регистр 9, 10, 11, 12, 13, 14 или 16.

Далее можно действовать согласно статье Примеры программирования взаимодействия входов и выходов в документации Wirenboard.

Удобно ориентироваться на карту регистров модулей реле.

Скрипты

Большинство дальнейших настроек работы системы осуществляется с помощью написания скриптов. Язык скриптов достаточно просто, похож на jаvascript. В частности, написанием скриптов реализуются следующие вещи:

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

Правила можно видеть и писать в web интерфейсе контроллера в разделе Scripts. Другой вариант — писать скрипты в удобном вам текстовом редакторе (например, Notepad++) и сохранять в память контроллера. Файлы с правилами хранятся на контроллере в виде текстовых файлов в папке /etc/wb-rules/.

Я не буду здесь приводить примеры скриптов и процесс их написания, так как в документации всё очень подробно описано. Полезные сведения раскиданы по нескольким статьям, которые не сразу находятся, поэтому приведу ссылки на страницы документации.

  • Основное описание движка правил
  • Пример простого термостата
  • Очень понятное руководство «Как писать правила»
  • Примеры правил: расписание, датчик движения с таймером, счётчики, роллеты и так далее

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

Огромное количество примеров правил можно найти на форуме техподдержки Wirenboard.


Итак, перейдём на следующую ступень сложности и познакомимся, во-первых, с взаимодействием входов и выходов модулей реле, во-вторых, со скриптами. Напомню про мои прочие статьи про Wirenboard: Подбор оборудования Wirenboard и проектирование системы Инструкция по первой настройке Wirenboard Взаимодействие входов и выходов У модулей Wirenboard (названия модулей начинаются на «WB-«, в отличие от «WBIO» и прочих), подключаемых по modbus, есть входы и выходы. Выходы обычно сверху, а входы снизу. Входов на один больше, чем выходов, потому что дополнительный вход (обычно имеет номер 0) служит для выключения всех выходов (либо можно настроить другое его поведение). Разумеется, заданные значения зависимостей выходов от входов работают даже при полностью отключенном от контроллера модуле. То есть, мы можем записать в модули реле нужные нам варианты взаимодействия, отключить контроллер от шины вообще и управлять светом с выключателей. Причём, удобно подключая проходные выключатели: кнопки, выполняющие одинаковые действия, подключатся на одни и те же входы. Как я уже писал многократно, управление сложным светом даже при отсутствии желания ставить систему Умный Дом я рекомендую делать именно на таких реле и диммерах в щите, это крайне удобно и гибко. Зависимости выходов от входов записаны в модулях в ячейки памяти. Ячейки в памяти модуля называются регистрами. У каждой ячейки есть адрес — это просто цифра. Для записи значений в регистры даже контроллер Wirenboard не нужен, достаточно переходника с USB на RS485. Если не планируете ставить контроллер Wirenboard, то можно либо заранее вывести витую пару шины modbus в удобное место (к рабочему столу) для подключения переходника на USB, либо вместо контроллера поставить компьютер типа Raspberry с таким переходником. Но с контроллером Wirenboard удобнее, так как будет доступно обновление программного обеспечения и более удобная визуальная настройка. Поскольку у меня есть контроллер Wirenboard, буду работать через него. Нам нужно подключиться к контроллеру через ssh простой бесплатной программой putty. Как это сделать, описано в этой статье. Для записи значения в ячейку памяти (регистр) модуля нам надо знать номер порта RS485 на контроллере Wirenboard (1 или 2 обычно) адрес модуля, номер регистра и записываемое значение. Адрес модуля по умолчанию, напомню, написан на самом модуле (на фото ниже — адрес 69). Для начала работы с ячейками памяти надо в командной строке остановить выполнение драйвера mqtt serial командой После окончания записи нужных значений в ячейки памяти драйвер надо запустить обратно Есть простое взаимодействие входов и выходов, а есть сложное. Простое, в принципе, покрывает большинство потребностей. Сложное — это mapping-матрица, про неё напишу ниже. В простом взаимодействии вход влияет на выход с тем же номером (кроме варианта, когда вход выключает все выходы). То есть, первый вход влияет на первый выход, второй вход на второй выход, и так далее. Вот номера регистров, отвечающих за работу каждого входа. В каждый регистр записана цифра от 0 до 5, которая определяет режим работы выхода по входу. 0 — работа с выключателем без фиксации. Выход меняется при срабатывании входа. 1 — работа с выключателем с фиксацией. Выход повторяет вход. 2 — при срабатывании входа выключаются все выходы модуля. 3 — вход никак не влияет на выходы 4 — управление происходит в соответствии с mapping-матрицей 5 — управление происходит в соответствии с mapping-матрицей, а через 20 минут после переключения Modbus-командой состояние приводится согласно входам. Это специальный режим для модуля контроля протечки воды. Чуть подробнее про режимы написано в этой статье в документации Wirenboard. По умолчанию в новом модуле задан режим работы 1, для выключателей с фиксацией. Для изменения режима на выключатели без фиксации (кнопок) надо поменять режим на 0. То есть, надо записать 0 в регистры с 9 по 14. Команда для записи значения 0 в регистр 9 модуля 69 выглядит так: modbus_client —debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a69 -t0x06 -r9 0 modbus_client — это название утилиты, которая работает с modbus. /dev/ttyRS485-1 — это порт. Если модуль подключен к порту 2, но надо в конце поставить цифру 2 вместо 1. -a69 — адрес модуля. -r9 номер регистра. 0 — записываемое значение. -t0x06 — код функции, который определяет, что мы хотим сделать. Возможные значения кода функции: 0x06 — запись одного значения 0х10 — запись нескольких значений 0x03 — чтение нескольких значений Используем возможность записи нескольких значений, чтобы одной командой прописать 0 в регистры с 9 по 14. Этой командой записываются ноли в ячейку 9 и последующие 5 ячеек. Если всё нормально, то PuTTY напишет нам «Syccess: written 6 elements!» В ячейку 16 логично прописать 2 для того, чтобы вход модуля номер 0 выключал все выходы. modbus_client —debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a69 -t0x06 -r16 2 Любой вход можно вообще отключить от выхода (значение 3) и написать в контроллере скрипт на срабатывание этого входа. Прочитаем значение регистра, использовав значение функции 0x03: Нас интересует то, что написано в последней строчке Data, сейчас это 0. При помощи регистров, как и при помощи mapping-матрицы, мы не можем никак задавать управление выходами других модулей, все эти взаимодействия задаются в пределах одного модуля. Поэтому клавиши выключателей, которые должны запускать сценарий или управлять разными выходами разных модулей, надо писать скрипты, а в регистрах убирать прямое управление выходами. Mapping-матрица Напомню, mapping-матрица нужна, когда мы хотим по срабатыванию одного входа управлять выходом с другим номером или несколькими выходами. Для начала надо включить работу по матрице записью кода 4 в регистры с 9 по 14. Mapping-матрица — это таблица в памяти модуля, в которой по строкам идут входы, по столбцам выходы, а в самой таблице записаны значения, определяющие поведение выхода при срабатывании входа. Понятие mapping-матрицы относится к релейным модулям WB-MR, подключаемым к контроллеру по modbus, и модулю контроля протечки воды WB-MWAC. Вот статья документации по этой теме: В ячейке памяти модуля №384 значение показывает, что делает выход №1 при срабатывании входа №1. Ячейка 385 — что делает выход №2 при срабатывании входа №1. Ячейка 410 — что делает выход №3 при срабатывании входа №4. Теперь о том, какие значения могут быть записаны в эти ячейки. Это цифра от 0 до 15, то есть, существует 16 вариантов взаимодействия входа и выхода. Я не буду перечислять все варианты (они в документации по ссылке выше), перечислю самые используемые. 0 — нет взаимодействия, вход не управляет выходом вообще 1 — при выключении входа выход выключается. При включении входа ничего не происходит. 2 — при выключении входа выход включается 3 — при выключении входа меняется состояние выхода 4 — при включении входа выход включается 5 — при любом изменении состояния входа выход выключается 6 — при включении входа выход выключается, при выключении входа выход включается 8 — при включении входа включается выход 9 — при включении входа выход включается, при выключении входа выход выключается 10 — при любом изменении состояния входа выход включается 12 — при включении входа меняется состояния выхода Из этого списка самые используемые значения это 12 (выключатель без фиксации) и 9 (выключатель фиксацией). Для того, чтобы вход работал в соответствии с матрицей, надо не забыть включить матрицу для этого входа, записав значение 4 в соответствующий входу регистр 9, 10, 11, 12, 13, 14 или 16. Далее можно действовать согласно статье Примеры программирования взаимодействия входов и выходов в документации Wirenboard. Удобно ориентироваться на карту регистров модулей реле. Скрипты Большинство дальнейших настроек работы системы осуществляется с помощью написания скриптов. Язык скриптов достаточно просто, похож на jаvascript. В частности, написанием скриптов реализуются следующие вещи: взаимодействие входов и выходов, находящихся на разных модулях сценарии, запускаемые по срабатыванию входов, когда происходят много разных действий всё, что касается управления климатом всё, что происходит по расписанию любые сложные сценарии, связанные с условиями и таймерами Правила можно видеть и писать в web интерфейсе контроллера в разделе Scripts. Другой вариант — писать скрипты в удобном вам текстовом редакторе (например, Notepad ) и сохранять в память контроллера. Файлы с правилами хранятся на контроллере в виде текстовых файлов в папке /etc/wb-rules/. Я не буду здесь приводить примеры скриптов и процесс их написания, так как в документации всё очень подробно описано. Полезные сведения раскиданы по нескольким статьям, которые не сразу находятся, поэтому приведу ссылки на страницы документации. Основное описание движка правил Пример простого термостата Очень понятное руководство «Как писать правила» Примеры правил: расписание, датчик движения с таймером, счётчики, роллеты и так далее Для того, чтобы через web интерфейс запускать сценарии, задавать уставку температуры, менять настройки работы скриптов и настройки расписаний, создаются виртуальные устройства. Виртуальное устройство отображается как обычное устройство, это может быть элемент управления любого типа. В статье Как писать правила подробнее всего описано создание виртуальных устройств. Виртуальное устройство может быть переключателем, кнопкой, ползунком, индикатором, полем для ввода значения, кнопкой выбора цвета RGB, элементом отображения температуры, мощности, влажности, напряжения и так далее. Огромное количество примеров правил можно найти на форуме техподдержки Wirenboard.

Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.
Итак, перейдём на следующую ступень сложности и познакомимся, во-первых, с взаимодействием входов и выходов модулей реле, во-вторых, со скриптами. Напомню про мои прочие статьи про Wirenboard: Подбор оборудования Wirenboard и проектирование системы Инструкция по первой настройке Wirenboard Взаимодействие входов и выходов У модулей Wirenboard (названия модулей начинаются на «WB-«, в отличие от «WBIO» и прочих), подключаемых по modbus, есть входы и выходы. Выходы обычно сверху, а входы снизу. Входов на один больше, чем выходов, потому что дополнительный вход (обычно имеет номер 0) служит для выключения всех выходов (либо можно настроить другое его поведение). Разумеется, заданные значения зависимостей выходов от входов работают даже при полностью отключенном от контроллера модуле. То есть, мы можем записать в модули реле нужные нам варианты взаимодействия, отключить контроллер от шины вообще и управлять светом с выключателей. Причём, удобно подключая проходные выключатели: кнопки, выполняющие одинаковые действия, подключатся на одни и те же входы. Как я уже писал многократно, управление сложным светом даже при отсутствии желания ставить систему Умный Дом я рекомендую делать именно на таких реле и диммерах в щите, это крайне удобно и гибко. Зависимости выходов от входов записаны в модулях в ячейки памяти. Ячейки в памяти модуля называются регистрами. У каждой ячейки есть адрес — это просто цифра. Для записи значений в регистры даже контроллер Wirenboard не нужен, достаточно переходника с USB на RS485. Если не планируете ставить контроллер Wirenboard, то можно либо заранее вывести витую пару шины modbus в удобное место (к рабочему столу) для подключения переходника на USB, либо вместо контроллера поставить компьютер типа Raspberry с таким переходником. Но с контроллером Wirenboard удобнее, так как будет доступно обновление программного обеспечения и более удобная визуальная настройка. Поскольку у меня есть контроллер Wirenboard, буду работать через него. Нам нужно подключиться к контроллеру через ssh простой бесплатной программой putty. Как это сделать, описано в этой статье. Для записи значения в ячейку памяти (регистр) модуля нам надо знать номер порта RS485 на контроллере Wirenboard (1 или 2 обычно) адрес модуля, номер регистра и записываемое значение. Адрес модуля по умолчанию, напомню, написан на самом модуле (на фото ниже — адрес 69). Для начала работы с ячейками памяти надо в командной строке остановить выполнение драйвера mqtt serial командой После окончания записи нужных значений в ячейки памяти драйвер надо запустить обратно Есть простое взаимодействие входов и выходов, а есть сложное. Простое, в принципе, покрывает большинство потребностей. Сложное — это mapping-матрица, про неё напишу ниже. В простом взаимодействии вход влияет на выход с тем же номером (кроме варианта, когда вход выключает все выходы). То есть, первый вход влияет на первый выход, второй вход на второй выход, и так далее. Вот номера регистров, отвечающих за работу каждого входа. В каждый регистр записана цифра от 0 до 5, которая определяет режим работы выхода по входу. 0 — работа с выключателем без фиксации. Выход меняется при срабатывании входа. 1 — работа с выключателем с фиксацией. Выход повторяет вход. 2 — при срабатывании входа выключаются все выходы модуля. 3 — вход никак не влияет на выходы 4 — управление происходит в соответствии с mapping-матрицей 5 — управление происходит в соответствии с mapping-матрицей, а через 20 минут после переключения Modbus-командой состояние приводится согласно входам. Это специальный режим для модуля контроля протечки воды. Чуть подробнее про режимы написано в этой статье в документации Wirenboard. По умолчанию в новом модуле задан режим работы 1, для выключателей с фиксацией. Для изменения режима на выключатели без фиксации (кнопок) надо поменять режим на 0. То есть, надо записать 0 в регистры с 9 по 14. Команда для записи значения 0 в регистр 9 модуля 69 выглядит так: modbus_client —debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a69 -t0x06 -r9 0 modbus_client — это название утилиты, которая работает с modbus. /dev/ttyRS485-1 — это порт. Если модуль подключен к порту 2, но надо в конце поставить цифру 2 вместо 1. -a69 — адрес модуля. -r9 номер регистра. 0 — записываемое значение. -t0x06 — код функции, который определяет, что мы хотим сделать. Возможные значения кода функции: 0x06 — запись одного значения 0х10 — запись нескольких значений 0x03 — чтение нескольких значений Используем возможность записи нескольких значений, чтобы одной командой прописать 0 в регистры с 9 по 14. Этой командой записываются ноли в ячейку 9 и последующие 5 ячеек. Если всё нормально, то PuTTY напишет нам «Syccess: written 6 elements!» В ячейку 16 логично прописать 2 для того, чтобы вход модуля номер 0 выключал все выходы. modbus_client —debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a69 -t0x06 -r16 2 Любой вход можно вообще отключить от выхода (значение 3) и написать в контроллере скрипт на срабатывание этого входа. Прочитаем значение регистра, использовав значение функции 0x03: Нас интересует то, что написано в последней строчке Data, сейчас это 0. При помощи регистров, как и при помощи mapping-матрицы, мы не можем никак задавать управление выходами других модулей, все эти взаимодействия задаются в пределах одного модуля. Поэтому клавиши выключателей, которые должны запускать сценарий или управлять разными выходами разных модулей, надо писать скрипты, а в регистрах убирать прямое управление выходами. Mapping-матрица Напомню, mapping-матрица нужна, когда мы хотим по срабатыванию одного входа управлять выходом с другим номером или несколькими выходами. Для начала надо включить работу по матрице записью кода 4 в регистры с 9 по 14. Mapping-матрица — это таблица в памяти модуля, в которой по строкам идут входы, по столбцам выходы, а в самой таблице записаны значения, определяющие поведение выхода при срабатывании входа. Понятие mapping-матрицы относится к релейным модулям WB-MR, подключаемым к контроллеру по modbus, и модулю контроля протечки воды WB-MWAC. Вот статья документации по этой теме: В ячейке памяти модуля №384 значение показывает, что делает выход №1 при срабатывании входа №1. Ячейка 385 — что делает выход №2 при срабатывании входа №1. Ячейка 410 — что делает выход №3 при срабатывании входа №4. Теперь о том, какие значения могут быть записаны в эти ячейки. Это цифра от 0 до 15, то есть, существует 16 вариантов взаимодействия входа и выхода. Я не буду перечислять все варианты (они в документации по ссылке выше), перечислю самые используемые. 0 — нет взаимодействия, вход не управляет выходом вообще 1 — при выключении входа выход выключается. При включении входа ничего не происходит. 2 — при выключении входа выход включается 3 — при выключении входа меняется состояние выхода 4 — при включении входа выход включается 5 — при любом изменении состояния входа выход выключается 6 — при включении входа выход выключается, при выключении входа выход включается 8 — при включении входа включается выход 9 — при включении входа выход включается, при выключении входа выход выключается 10 — при любом изменении состояния входа выход включается 12 — при включении входа меняется состояния выхода Из этого списка самые используемые значения это 12 (выключатель без фиксации) и 9 (выключатель фиксацией). Для того, чтобы вход работал в соответствии с матрицей, надо не забыть включить матрицу для этого входа, записав значение 4 в соответствующий входу регистр 9, 10, 11, 12, 13, 14 или 16. Далее можно действовать согласно статье Примеры программирования взаимодействия входов и выходов в документации Wirenboard. Удобно ориентироваться на карту регистров модулей реле. Скрипты Большинство дальнейших настроек работы системы осуществляется с помощью написания скриптов. Язык скриптов достаточно просто, похож на jаvascript. В частности, написанием скриптов реализуются следующие вещи: взаимодействие входов и выходов, находящихся на разных модулях сценарии, запускаемые по срабатыванию входов, когда происходят много разных действий всё, что касается управления климатом всё, что происходит по расписанию любые сложные сценарии, связанные с условиями и таймерами Правила можно видеть и писать в web интерфейсе контроллера в разделе Scripts. Другой вариант — писать скрипты в удобном вам текстовом редакторе (например, Notepad ) и сохранять в память контроллера. Файлы с правилами хранятся на контроллере в виде текстовых файлов в папке /etc/wb-rules/. Я не буду здесь приводить примеры скриптов и процесс их написания, так как в документации всё очень подробно описано. Полезные сведения раскиданы по нескольким статьям, которые не сразу находятся, поэтому приведу ссылки на страницы документации. Основное описание движка правил Пример простого термостата Очень понятное руководство «Как писать правила» Примеры правил: расписание, датчик движения с таймером, счётчики, роллеты и так далее Для того, чтобы через web интерфейс запускать сценарии, задавать уставку температуры, менять настройки работы скриптов и настройки расписаний, создаются виртуальные устройства. Виртуальное устройство отображается как обычное устройство, это может быть элемент управления любого типа. В статье Как писать правила подробнее всего описано создание виртуальных устройств. Виртуальное устройство может быть переключателем, кнопкой, ползунком, индикатором, полем для ввода значения, кнопкой выбора цвета RGB, элементом отображения температуры, мощности, влажности, напряжения и так далее. Огромное количество примеров правил можно найти на форуме техподдержки Wirenboard.


Комментарии (0)
img
Netatmo выпустила термостат и термоголовку с поддержкой Matter - «Умный Дом и решения»

Компания Netatmo представила обновлённую линейку устройств для управления отоплением: Thermostat ORIGINAL и Smart Radiator Valve ORIGINAL. Оба

Категории сайта
Разное

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

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

       
img
Новинки / Производитель / Умные Решения
Flipper BUSY Bar: открытый мультитул для продуктивности с Matter и LED-дисплеем - «Умный Дом и решения»

Компания Flipper, известная своими инструментами для беспроводного тестирования и пентестинга, анонсировала BUSY Bar - открытый «мультитул

img
Производитель / Новинки / Умный Дом и решения / Бренд / Яндекс / Умные Решения
Яндекс и Нептун выпустили систему защиты от протечек - «Умный Дом и решения»

В экосистему умного дома с Алисой интегрировали новое решение для борьбы с протечками воды от бренда NEPTUN. Система состоит из датчиков, хаба и

img
Новинки / Производитель / Яндекс / Умный Дом и решения / Умные Решения
Яндекс представил ряд обновлений для своих колонок и телевизоров - «Умный Дом и решения»

Теперь Станции с Алисой умеют подстраивать качество музыки под текущее интернет‑соединение. Если скорость интернета падает, устройство автоматически

img
Новинки / Производитель / Яндекс / Умный Дом и решения / Умные Решения
Станция Дуо Макс: новые возможности для общения, управления умным домом и просмотра контента - «Умный Дом и решения»

На Станции Дуо Макс появилась поддержка видеозвонков — в магазине приложений теперь доступно приложение «Телемост». Оно использует встроенную камеру

img
Яндекс
Яндекс и производитель систем защиты от протечек NEPTUN представили совместное устройство умного дома - «Умный Дом»

Яндекс совместно с брендом NEPTUN выпустили систему защиты от протечек, которая интегрирована с умным домом Яндекса. В случае аварии она

img
Новинки / Производитель / Бренд / Умный Дом и решения / Яндекс / Смарт.ТВ / Умные Решения
Система защиты от протечек Яндекс × NEPTUN: безопасность и удобство в умном доме - «Умный Дом и решения»

Яндекс совместно с брендом NEPTUN представили систему защиты от протечек, интегрированную с умным домом Яндекса. Решение помогает минимизировать

Top.Mail.Ru