name: wb-rules
description: 'Разрабатывать, объяснять и отлаживать серверные скрипты автоматизации wb-rules на JavaScript на контроллерах Wiren Board: defineRule (whenChanged/when/asSoonAs/cron), virtual devices, timers, modules, PersistentStorage, диагностика через journalctl -u wb-rules, /etc/wb-rules, /var/run/wb-rules, и интеграция с внешними сервисами через MQTT/hooks (/hooks/wake) и POST /tools/invoke (Telegram).'
WB Rules
Короткий workflow
- Определить тип запроса:
- возможности контроллера/UI/Cloud;
- разработка или объяснение скрипта wb-rules;
- отладка уже работающих правил.
- Открыть только нужный reference-файл:
references/wb-software-capabilities.mdдля возможностей контроллера, web-интерфейса и WB Cloud;references/wb-rules-wiki.mdдля операционных деталей (где лежат скрипты, как смотреть логи, какие страницы считать актуальными);references/wb-rules-cheatsheet.mdдля быстрого поиска сигнатур и параметров API (компактный справочник);references/wb-rules-full-guide.mdдля полных примеров, таблиц типов/параметров и детального описания API;references/openclaw-wb-rules-integration.mdдля двусторонней интеграции OpenClaw и wb-rules (MQTT и hooks).references/wb-rules-telegram-notify.mdдля быстрой отправки Telegram-уведомлений из wb-rules без agent turn и для hybrid-сценариев.
- Сформировать решение в формате "минимально работающий скрипт + шаги проверки".
Практика разработки правил
- Писать правила с явным триггером (
whenChanged,when,asSoonAs,cron), чтобы поведение было предсказуемым. - Для длительных операций использовать таймеры и неблокирующие вызовы (
runShellCommand), не блокировать обработчик правила. - При необходимости состояния между перезапусками использовать
PersistentStorage. - Для сложных сценариев декомпозировать код на модули и подключать их через
require. - Для интерфейсных сценариев создавать
defineVirtualDeviceи управлять controls черезdev[...].
Проверка и отладка
- Проверять синтаксис и запуск правила на контроллере после деплоя.
- Читать журнал
wb-rules:journalctl -u wb-rules. - Если правило не применяется, проверить файл в
/etc/wb-rules/и активную копию в/var/run/wb-rules/. - Для спорных мест сверяться с
references/wb-rules-cheatsheet.md(быстрый lookup) илиreferences/wb-rules-full-guide.md(детали и примеры) и учитывать ограничения синтаксиса (ES5, не ES6+).
Навигация по references
references/wb-software-capabilities.md: обзор встроенного ПО, web-интерфейса и ключевых функций контроллера.references/wb-rules-wiki.md: где хранить скрипты, как диагностировать, какие официальные страницы открывать в первую очередь.references/wb-rules-cheatsheet.md: компактный справочник — все сигнатуры API, типы контролов, параметры, ограничения ES5 на одной странице. Открывать первым для быстрого lookup.references/wb-rules-full-guide.md: полное руководство с детальным описанием каждой функции, таблицами параметров и готовыми примерами (термостат, освещение, мониторинг, модули). Открывать для написания нетривиальных скриптов.references/openclaw-wb-rules-integration.md: минимальная рабочая схема OpenClaw <-> wb-rules, настройка hooks, примерыcurl/wb-rules, throttling и практические ограничения.references/wb-rules-telegram-notify.md: direct и hybrid отправка Telegram из wb-rules черезPOST /tools/invoke, токены, helper-функции и диагностика.