Cron правило, после перезагрузки

Добрый день, подскажите пожалуйста, можно ли создать правило, которое будет выполняться 1 раз после загрузки контроллера?

WB6

Добрый день. Да, конечно. Использовать Cron для этого не нужно, все скрипты выполняются после загрузки (или перезапуска wb-rules), для того чтобы определить - была ли перезагрузка можно проверить uptime контроллера.

Если не затруднит можно пример, мне при включение нужно подать на реле управляющий сигнал, в описание движка написано что dev[] не стоит использовать вне функции, Но функцию без when я не могу создать, т.к. в When мне не чего писать и нечего отслеживать. Спасибо!

И не нашел пример как вызывается Uptime из wb-rules

Например так:

//06_15_test_04.js

defineVirtualDevice("StartRule", {
  title: "StartRule",
  cells: {
    executed : {
        type : "switch",
        value : false,
        readonly: true,
        forceDefault: true,
    },
  }
});

function onstart(){
  if (!dev["StartRule/executed"]){
    dev["StartRule/executed"] = true
    //выполняется что-то
  }
}

setTimeout(function() {onstart()}, 2000) //задержка старта выполнения

его надо через выполнение внешних процессов запускать-парсить.

1 лайк

А можно еще ткнуть меня носом, как получить ответ от запуска runShellCommand, нашел только как запускать, хочется спарсить ответ от внешней команды.

Вот так, например: