Не возвращаются после перезагрузки контроллера положения реле у модулей wb-gpio


#1

Есть такой код:

defineRule("WATERPUMP_Switch", {
  whenChanged: ["wb-gpio/EXT1_R3A7"],

  then: function (newValue, devName, cellName) {
     log("[BOILER-ROOM]: Waterpump position is {}",waterpump_status[Number(newValue)]);
  }
});

У wb-gpio/EXT1_R3A7 до перезагрузки было значение true, а после стало false. Для аналогичных выходов значение не поменялось, а здесь даже в логе я не увидел вывод Сообщения, хотя все правила при инициализации вроде как должны срабатывать один раз, даже если контроллер перегрузился. Что не так?


#2

Starck, немного не понимаю из вашего описания, что произошло.
Верно ли, что:

  1. Вы включили 7 реле в боковом модуле, и соответствующий контрол приобрел значение true.
  2. Вы перезагрузили контроллер, реле осталось во включенном состоянии, но теперь значение его контрола – false.
  3. Вы ожидали, что поскольку значение до перезагрузки было true, а после стало false, то ваше правило должно отработать?
    “Для аналогичных выходов значение не поменялось” – каким оно было?

#3

Да, я включаю реле через правило выше, потом перегружаю контроллер и вижу, что положение контрола 7 в выключенном состоянии. У других модулей с двухпозиционным реле, например, я знаю, что значения положений DIR и ON после рестарта сохраняются, а здесь почему нет или так и должно быть?

Что касается сработки правила после перезагрузки, то я заметил, что некоторые срабатывают судя по лог файлу, у меня везде есть Команда log() в теле правил после whenChanged, но в примере выше я не увидел сработки, так как нет лог-Сообщения, а Команда такая есть.


#4

Это страннно: проверили на стенде – все реле сбрасываются при перезагрузке (или при рестарте сервиса wb-homa-gpio).

Покажите, пожалуйста вывод команды:
dpkg -s wb-homa-gpio


#5

А у вас боковые модули все к контроллеру подключены?


#6

root@wirenboard-ARAXKJYF:~# dpkg -s wb-homa-gpio
Package: wb-homa-gpio
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 147
Maintainer: Evgeny Boger boger@contactless.ru
Architecture: armel
Version: 1.17
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.4.0), libjsoncpp0, libmosquitto1 (>= 1.0), libmosquittopp1 (>= 1.0), libstdc++6 (>= 4.6), libwbmqtt0, ucf, libwbmqtt (>= 1.3.3)
Breaks: wb-mqtt-confed (<< 1.0.2)
Conffiles:
/etc/wb-configs.d/13wb-homa-gpio 4c0d0e54b7f3ba2dab657ea2e2412521
/etc/init.d/wb-homa-gpio 841135318878dd040d901edea96f1731
Description: Wiren Board Smart Home MQTT generic sysfs GPIO driver compatible with HomA conventions


#7

А это:


#8

Нет, конечно. Только реле, с которым и возникли вопросы.


#9

Непонятно пока. А сами реле после reboot остаются включенными, или отключаются на обоих модулях? Можете, пожалуйста, фотографию прислать, как модули подключены к контроллеру?


#10

Я думаю, что состояния выходов модуля после перезагрузки все же встают в положение off. А у модуля WBIO-DO-R10R-4, подключённого к mio в другом щите, положения меняются благодаря виртуальным контролам. Если это так,то тогда надо тоже сохранять нужные значения выходов реле.


#11

Хочу воспроизвести вашу ситуацию на стенде. Расскажите, пожалуйста:

1.Какие модули подключены к контроллеру, какие — через MIO.
2. Какие из них сохраняют состояние после перезагрузки, какие – нет.
3. Как меняется поведение при наличии правил и при их отсутствии.