Skip to content

Commit

Permalink
update objects doc
Browse files Browse the repository at this point in the history
  • Loading branch information
Цуркан Алексей Владимирович committed Jan 16, 2024
1 parent bfe1e54 commit 34f42cf
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 7 deletions.
Binary file modified img/obj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_old.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_web_add.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_web_add_form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_web_del.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_web_edit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/obj_web_refresh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions lua.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,8 @@ scripts.run(script[, Param])
- `Event.State.Value` - текущее значение "состояния"
- `Event.State.OldValue` - предыдущее значение "состояния"

`Event.State.Value` возвращает значение с типом, заданным состоянию конвертером. Проверить можно функцией LUA `type()`

#### Вызов по однократному таймеру

- `Event.Param` - аргументы
Expand Down
34 changes: 27 additions & 7 deletions objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## Веб интерфейс

Просмотреть текущие объекты можно на странице Objects.
Управление объектами доступно на странице Objects. Здесь доступно создание новых объектов, изменение и удаление существующих.

![object](/img/obj.png)

Expand All @@ -26,9 +26,27 @@
- M (MQTT Notify) - при изменении значения объекта значение передается в MQTT (описание ниже). Ранее обозначался символом `N`
- W (Write) - изменение значения при каждом обращении на запись объекта

Также имеются кнопки управления:

- <img align="middle" src="/img/obj_web_refresh.png"> - обновить список объектов
- <img align="middle" src="/img/obj_web_add.png"> - добавить объект
- <img align="middle" src="/img/obj_web_edit.png"> - редактировать объект
- <img align="middle" src="/img/obj_web_del.png"> - удалить объект


### Управление объектами через веб-интерфейс

Для создания нового объекта нажать "плюсик" ![](/img/obj_web_add.png). Откроется форма создания объекта

![](/img/obj_web_add_form.png)

Заполнить необходимые данные и сохранить.

Здесь же можно изменить существующий объект по кнопке ![](/img/obj_web_edit.png).

## Инициализация объектов

Объекты хранятся только в памяти и не сохраняются во флеш-память. Поэтому, при необходимости, инициализировать объекты можно в стартовом скрипте `init.lua`, с помощью функций `obj.setOpt(), obj.set()`. Если начальные значения задавать не требуется, то инициализировать не обязательно, поскольку объект создается при первом к нему обращении.
Объекты хранятся только в памяти и не сохраняются во флеш-память. Поэтому, при необходимости, инициализировать объекты можно в стартовом скрипте `init.lua`, с помощью функций `obj.setOpt(), obj.set()` или через веб-интерфейс, как описано выше. Если начальные значения задавать не требуется, то инициализировать не обязательно, поскольку объект создается при первом к нему обращении.

## Флаги

Expand All @@ -38,27 +56,29 @@

Флаг `A` - `ACK`

Объекты поддерживают установку флага обратной связи, таким образом можно в вызываемом скрипте можно получить информацию об источнике изменения.
Объекты поддерживают [установку](/objects.md#objset) флага обратной связи, таким образом в вызываемом скрипте можно получить информацию об источнике изменения.

Флаг обратной связи виден в веб-интерфейсе (`A`), а так же возвращается в LUA и HTTP API командах. Также этот флаг передается в событии `Event.Obj.Ack` скрипту, вызванному по изменению или записи объекта.

### MQTT Notify

Флаг `M` - `MQTT Notify`

Шлюз может отправлять уведомления в MQTT при изменении объекта.
Шлюз может отправлять уведомления в MQTT при изменении объекта. Установка флага доступна как в веб-интерфейсе, так из [LUA](/objects.md#objsetshare)

При поднятом флаге, шлюз будет публиковать в топик вида: `zgwXXXX/obj/OBJ_NAME`

Для изменения объекта необходимо отправить значение объекта в топик `zgwXXXX/obj/OBJ_NAME/set`

Для запроса текущего значения объекта необходимо отправить пустой топик `zgwXXXX/obj/OBJ_NAME/get`

### Изменение значения при каждом обращении на запись объекта
### Изменение значения при каждом обращении на запись объекта и вызов скрипта

Флаг `W` - `Write`

При поднятом флаге запись значения в объект производится при каждом к нему обращении.
Установка доступна как из веб-интерфейса, так из [LUA](/objects.md#objsetscript)

При поднятом флаге запись значения в объект производится при каждом к нему обращении. При каждой записи в объект значения, запись производится даже если значение не изменилось. Таким образом, если к объекту привязан скрипт, то он будет вызываться при каждом обращении к объекту на запись. Однако, в таком случае не получится отслеживать время изменения значения.

## APIs для работы с объектами

Expand Down Expand Up @@ -124,7 +144,7 @@ result = obj.set(name, value[, flagACK])

#### obj.get()

Получение данных, хранящихся в объекте
Получение данных, хранящихся в объекте. Данные будут получены того же типа, какой задан объектом (проверяется функцией LUA `type()`).

```lua
result = obj.get(name)
Expand Down

0 comments on commit 34f42cf

Please sign in to comment.