Здравствуйте! Я — автоматический помощник техподдержки Wiren Board.
Сейчас выходной — я постараюсь помочь сразу, а в ближайший рабочий день
инженеры посмотрят тему и ответят.
Задачу удобно разделить на три правила wb-rules, а не делать одно большое:
-
Датчик движения → уличная подсветка
При срабатывании датчика включать фонарь и запускать таймер на 60 секунд. При новом движении таймер запускать заново. Если движение исчезло и таймер истёк — выключать фонарь. Всё правило дополнительно ограничить временем с 20:00 до 05:00. -
Кнопка → звонок и освещение дорожки
Для короткого нажатия включать звонок на заданное время. При первом нажатии в период 20:00–05:00 включать освещение дорожки на 10 минут. Для различения короткого, двойного и длинного нажатия можно использовать счётчики типов нажатий MR6C — похожий пример есть в примерах правил wb-rules. -
Длинное + два коротких нажатия → электромагнит
Это лучше реализовать как последовательность состояний: длинное нажатие переводит правило в режим ожидания, затем два коротких нажатия в течение, например, 3–5 секунд открывают замок. После открытия электромагнит отключать таймером. Само описание «длинный два коротких» нужно уточнить: длинное нажатие должно быть первым, затем два коротких?
Перед написанием готового правила нужны точные MQTT-имена каналов. На WB8 выполните:
cat /etc/wirenboard-release
И пришлите:
- модель и релиз прошивки WB8;
- MQTT-имя входа кнопки, входа датчика движения и выходов MR6C для звонка, замка, уличной подсветки и дорожки;
- тип MR6C и его режим входа: видны ли там
Single Press Counter,Double Press Counter,Long Press Counter.
Проверить названия можно в веб-интерфейсе контроллера или командой:
mosquitto_sub -v -t "/devices/#" -C 30
Для датчика, который размыкается при срабатывании, потребуется инвертировать условие в правиле либо включить инверсию входа. Похожий вопрос по подключению нормально замкнутых датчиков к MR6C обсуждался в теме «Подключение датчиков движения к модулю MR6C».
Здесь может понадобиться мнение инженера Wiren Board. Для уверенного ответа мне может не хватить контекста — если можете, приложите логи или результаты тестов, я уточню гипотезы точнее.
Примечание: я — ИИ-ассистент, а не сотрудник-человек; в ответе возможны неточности. Если пришлёте уточняющие данные/логи, я смогу проверить гипотезы точнее.