Добрый день! Может у кого нибудь есть скрипт для управления датчиками открытия и закрытия двери
Добрый день! Советую посмотреть здесь: Движок правил wb-rules — Wiren Board.
На странице есть ссылки на примеры, темы на форуме и документацию.
defineRule(“motion_detector”, {
whenChanged: “wb-gpio/D1_IN”,
then: function (newValue, devName, cellName) {
dev[“wb-gpio”][“Relay_2”] = newValue;
dev[“wb-mrm2_6”][“Relay 1”] = newValue;
}
});
а как записать вход один где(whenChangde) то есть не реле а входы где от 0 до 6. in1? или по другому?
Пожалуйста, сформулируйте точнее свой вопрос. Чем вы хотите управлять и как?
Датчиками управлять нельзя, их можно только опрашивать.
Если вы хотите обратиться ко входу модуля реле, то это будет выглядеть так:
defineRule("controlRelay", {
whenChanged: "wb-mr6c_78/Input 6", //опрашиваем вход 6 модуля реле MR6C с адресом 78
then: function (newValue, devName, cellName) {
dev["wb-mr6c_78"]["K1"] = newValue; // устанавливаем выход (реле К1) равным значению входа Input 6
}
});
./основной скрипт.sh: строка 2: синтаксическая ошибка рядом с неожиданным маркером «“controlRelay”,»
./основной скрипт.sh: строка 2: `defineRule(“controlRelay”, {’
почемуто выдаёт такую ошибку
Странно. Вероятно, что-то при копировании текста не так. Попробуйте руками набрать правило.
Какая версия пакета wb-rules? Посмотреть можно командой:
dpkg -s wb-rules
он оказывается не установлен как его установить?
у меня выводит что не удалось найти пакет wb-rules
Это еще более странно. Может, он был удален? Изначально он всегда установлен на контроллер.
Чтобы установить только этот пакет последней версии (из прописанных репозиториев) нужно выполнить:
apt update && apt install wb-rules
Сейчас внедряется система релизов, поэтому можно использовать инструкцию здесь: https://wirenboard.com/wiki/Software_Releases
уже на первой команде дает ошибку,может как нибудь все сбросить?Или команду я не правильно подаю. apt update && apt install wb-rules её ввожу и все равно выдает что пакет wb-rules не найден
Всегда прикладывайте логи, желательно в отдельном файле. На словах плохо понятно.
Можно использовать, например, команду:
journalctl --since "5 minutes ago"
Вывод команды - диагностические сообщения за последние 5 минут.
Какой у вас контроллер? Сделайте скриншот окна System на странице Devices.
Попробуйте обновить прошивку контроллера целиком по инструкции:
Программное обеспечение контроллеров Wiren Board — Wiren Board (см. раздел “Обновление прошивки целиком”). Думаю, это будет самое простое решение. Только внимательно читайте инструкцию.
Если есть что-то ценное на контроллере, то сделайте резервную копию этого.
у меня не контроллер у меня релейный модуль wb-mr6c
Нужно было сразу написать, что не используете контроллер. Данный модуль управляется по шине RS-485 по протоколу Modbus. Если вы хотите им управлять с компьютера, то способы коммуникации с модулем описаны в документации:
https://wirenboard.com/wiki/Working_with_WB_devices_without_a_controller
Карту регистров модуля можно посмотреть здесь:
https://wirenboard.com/wiki/Relay_Module_Modbus_Management
Сам алгоритм управления нужно будет реализовывать в этом случае самостоятельно на каком-либо языке оболочки или программирования. С контроллером все было бы проще.