Не управляются модули реле через правила

Не могу, почему то, управлять выходами модуля реле WBmr6c. Через Web все прекрасно видится и управляется, но если пытаюсь в правилах включить реле dev[“wb-mr6c_191/K1”] = 0;, то ничего не выходит. При этом например реле которое на самом WB4 нормально коммутируется dev[“wb-gpio/Relay_1”] = 0;. Я понимаю что скорее всего чего то не так делаю, но сообразить не могу что. Подскажите что не так?

Можно и так, наверное, но в документации синтаксис описан так
dev[“wb-mr6c_191”] [“K1” ] = 0;

Не знаю почему, но сегодня все вдруг само заработало. После выходных, тот скрипт, что написал в пятницу, начал переключать реле. Не понимаю почему это и надолго ли… Хуже нет подобного. :unamused:

Так писать мне не очень нравится, т.к. тогда как писать конструкции?

whenChanged: [“wb-mr6c_191/K1”, “wb-mr6c_191/K2”]

Нельзя записать так?

whenChanged: [[“wb-mr6c_191”][“K1”], [“wb-mr6c_191”][“K2”]]

А раз нельзя то получается в одном месте со слэшем, а в другом месте раздельно, нет однообразия и вносит ненужную путаницу. ИМХО.
Или я чего то не понимаю?

Для whenChanged правильно.

Ну вот я и решил делать уже везде одинаково. Ведь все равно разницы нет.

Добрый день!
По поводу записи устройств dev[][] - есть три равнозначных варианта записи, описанных в первом абзаце здесь: https://github.com/contactless/wb-rules#объект-dev (в целом, именно эта страница - основной источник информации по движку правил напрямую от разработчика).
По проблемам с правилом, нам нужна какая-то информация для отладки. Поэтому предлагаю дождаться воспроизведения проблемы, и потом снова нам написать для проведения диагностики.

1 Like

Пока все работает как надо. Но совершенно не понимаю почему не срабатывало вначале. Само правило отрабатывалось, это было видно по логам и по включению реле на самом контроллере, а вот реле удаленное никак не реагировало (при этом в WEB интерфейсе переключалось). Могло это быть из-за того что реле в эти моменты было недоступно? Хотя в интерфейсе оно не было красным.

zhukovia, добрый день! Если устройство переключалось в web-интерфейсе, то оно было доступно, соответственно, и красным быть не могло. Движок правил при этом был запущен?

Сейчас уже не знаю. В понедельник просто все заработало, возможно все перегружалось за выходные, не знаю. Хотя другие правила же отрабатывались (реле на WB переключались) значит работал… наверное. Будем считать временным “помутнением рассудка”. А у меня или WB уже и не знаю. :grin:

Хорошо, тогда если будет снова что-то похожее, посмотрите, запущен ли джвижок правил, wb-mqtt-serial и постарайтесь сохранить /var/log/messages, и напишите сюда!