Не работает Wirenboard 5

Все настроили, но виснет постоянно. Может быть из-за наводок. Хотим сделать возврат купленных контроллеров. Звонить Вашему менеджеру?

На столе работало стабильно 2-3 дня, поставили шкаф в установку и все, виснет или перезагружается каждые 10-20 минут. Нестабильно все работает.

Добрый день!

  1. Если у вас коммерческий проект или какие-то орг. вопросы, то можно писать на почту: на info@ или support@ или звонить по телефону

  2. Давайте всё-таки попробуем решить вашу техническую проблему так, как принято решать технические проблемы.
    Вы можете подробно описать, что происходит, в каком шкафу стоит оборудование, что именно за оборудование там стоит и как оно подключено, какое ещё оборудование там стоит? Желательно с фотографиями, если вы не хотите выкладывать здесь - можно продолжить общение по почте ( support@ )

Кроме этого, нужно подробное описание неисправности (как именно вы понимаете, что виснет или перезагружается, что именно виснет и перезагружается и т.д.). Понадобятся логи с контроллера (файл /var/log/messages), желательно будет постараться подключить Debug UART и снять логи в момент “зависания и перезагрузки”.

Логи делать нет ни времени ни возможности. Установка, под которую брали приборы уехала за границу. Контроллер зависает и там через 20-25 минут работы. Правила практически пустые. Две трети убрали, осталось тупо управление насосом воды по 12 уровням. Не работает, виснет. Такие приборы автоматизации нас не устраивают. Наш работник коммерческого отдела свяжется с Вами для условий возврата товара.

defineRule("NASOS_VKL", { //
    whenChanged: "wb-gpio/EXT1_DR2_SL1", //при изменении состояния датчика ниж уровень
    then: function(newValue, devName, cellName) {
        if (newValue == 1) {
            if (wb-gpio.EXT1_DR1_SL3 == false) {
                dev["wb-gpio"]["EXT2_HS7"] = 1;
            }
        }
    }
});
defineRule("NASOS_VKL_SL3", { //
    whenChanged: "wb-gpio/EXT1_DR1_SL3",
    then: function(newValue, devName, cellName) {
        if ((newValue == 0) & (wb-gpio.EXT1_DR2_SL1 == 1)) {
            if (oregon_rx_1d20_d4_1.temperature > 22) {
                dev["wb-gpio"]["EXT2_HS7"] = 1;
            }
        }
    }
});
defineRule("NASOS_VYKL", {
    whenChanged: "wb-gpio/EXT1_DR3_SL2", //при изменении состояния датчика верх уровень
    then: function(newValue, devName, cellName) {
        if (newValue == 0) {
            dev["wb-gpio"]["EXT2_HS7"] = 0;
        }
    }
});

ЭТО ВСЕ, ЧТО ОСТАЛОСЬ В ПРАВИЛАХ И ВИСНЕТ!!!

Надеюсь вы понимаете, что скорее всего это не мы три года продаём контроллер, который виснет от неосторожного взгляда, а это вы что-то неправильно написали или поняли?

Поэтому пожалуйста, ведите себя корректно.

По делу: я всё ещё не знаю, что такое “виснет”, но в правилах у вас есть ошибки.

  1. К значению каналов нужно обращаться через объект dev. Т.е. писать

    if (wb-gpio.EXT1_DR1_SL3 == false)

неправильно, правильно будет

 if (dev["wb-gpio"]["EXT1_DR1_SL3"] == false)
  1. Что за канал wb-gpio/EXT1_DR2_SL1 ? У нас никаких SL1 по-умолчанию нет. Вы переименовывали канал в настройках GPIO (/etc/wb-homa-gpio.conf)? Если нет, то название канала вы написали неправильно.

Да переименовали. Все работает на столе целыми днями, в установке виснет. Возможно из-за наводок от компрессоров и вентиляторов, но факт остается фактом.

Это конечно печально. но все равно ничего не понятно.
Что значит виснет? В чем это проявляется? Что пишет в логах, что выводит в Debug UARTе?
Связано ли это с работой остального оборудования? Может быть зависает в определенный момент, например при запуске компрессора?
Какое оборудование находится рядом в щитке с контроллером? По моему скромному опыту, частотники дают очень сильные помехи, есть ли возможность отодвинуть их подальше в щитке от контроллера?

Частотников нет, но есть ес-вентиляторы и компрессор. В шкафу ничего такого кроме пускателей и автоматов нет. Зависает - перестает реагировать на датчики.

Что значит перестаёт реагировать? На какие датчики?

Реагировать значит отзываться каким-либо образом на воспринимаемые впечатления, изменения, события, явления. На дискретные датчики. Видно в предыдущих постах

Освежу тему…
Вчера при редактировании правил отключилось электричество.
После последующей загрузке файл с правилами полностью пропал из веб интерфейса, также сами правила полностью перестали функционировать.

При попытке открытия раздела “scripts” сначала виснет несколько секундл потом авыдает абсолютно такое же сообщение как в посте

И также не работает кнопка Reboot из раздела Devices.

Тему прошу закрыть или перенести в раздел “Движок правил”. Выявилось следующее:
В правилах было явно указано что при включении определенные реле должны быть включены и частично выключены для исключения некорректного отработки сценария управления светом нескольких реле :

dev["wb-mr3_26"]["K3"] = 1;

А т.к. в правилах присутствовали сценарии инвентирования состояния реле при изменения счетчика входа то как я понял служба зацикливалась… напр.

defineRule("во51_2", { //во51_2 = о52+о53+о54+о55
whenChanged: "wb-mr6c_25/Input 4 counter", //модуль DL.2
      then: function() {
      dev["wb-mr6c_21"]["K4"] = !dev["wb-mr6c_21"]["K4"]; //подвесы ванная
      dev["wb-mr6c_25"]["K3"] = !dev["wb-mr6c_25"]["K3"]; //полки правые ванная
      dev["wb-mr6c_25"]["K4"] = !dev["wb-mr6c_25"]["K4"]; //зеркало ванная 
      dev["wb-mr6c_25"]["K5"] = !dev["wb-mr6c_25"]["K5"]; //полки левые ванная
      }
  });

После того как убрал из правил явное прсиваивание состояний сразу все заработало.

Подскажите как реализовать данный функционал по другому?