Движок правил wb-rules 1.7/en: различия между версиями

Новая страница: «<syntaxhighlight lang="js"> defineVirtualDevice("vdev", { ... cells: { ... mycell: { type: "value", value: "10",…»
(Новая страница: «<!-- == Постоянное хранилище данных == -->»)
(Новая страница: «<syntaxhighlight lang="js"> defineVirtualDevice("vdev", { ... cells: { ... mycell: { type: "value", value: "10",…»)
 
(не показано 6 промежуточных версий этого же участника)
Строка 137: Строка 137:




<!-- == Постоянное хранилище данных == -->
  == Persistent Data Storage ==


В wb-rules 1.7 добавлена поддержка постоянных хранилищ. По сути, это объекты, значения в которых будут сохраняться
WB-rules 1.7 adds support for persistent storage. In fact, these are the objects in which the values will be stored
даже при потере питания контроллера. Такие хранилища удобно использовать для хранения состояний или конфигурации.
even if the controller loses power. These stores are useful for storing States or configurations.


<syntaxhighlight lang="js">
<syntaxhighlight lang="js">
Строка 149: Строка 149:
</syntaxhighlight>
</syntaxhighlight>


Поддерживаются только глобальные хранилища, т.е. видимые по одному и тому же имени из всех файлов сценариев.
Only global repositories, that is, visible by the same name from all script files, are supported.




== Виртуальные устройства ==
== Virtual devices ==


В предыдущих версиях wb-rules значения контролов виртуальных устройств хранились только в MQTT retained, что не очень надёжно (в случае
In previous versions of wb-rules, the values of virtual device controls were stored only in MQTT retained, which is not very reliable (in the case of
потери питания данные могли быть легко утеряны). Начиная с версии 2.0, эти значения сохраняются также в специальное хранилище в постоянной
power loss data could easily be lost). Starting with version 2.0, these values are also stored in a special permanent storage
памяти и восстанавливаются при загрузке сценария.
memory and restored when the script is loaded.


Если необходимо каждый раз при перезагрузке скрипта восстанавливать строго определённое значение (т.е. не восстанавливать предыдущее сохранённое),
If it is necessary to restore a strictly defined value (i.e. not to restore the previous saved value) every time the script is restarted,
можно добавить в описание контрола поле forceDefault:
you can add the forceDefault field to the control description:


<syntaxhighlight lang="js">
<syntaxhighlight lang="js">
Строка 169: Строка 169:
             type: "value",
             type: "value",
             value: "10",
             value: "10",
             forceDefault: true // при каждой загрузке сценария поле mycell будет получать значение 10
             forceDefault: true // every time the script box mycell will receive a value of 10
         }
         }
     }
     }
});
});
</syntaxhighlight>
</syntaxhighlight>
12 063

правки