Custom/Database: различия между версиями

Материал из HOMEd Wiki
мНет описания правки
Строка 64: Строка 64:


=== <code>options</code> ===
=== <code>options</code> ===
== Состояния ==
Состояния это способ обмена данными между автоматизациями. У каждого состояния есть название. Состояния могут быть установлены или удалены соответсующими [[Automation/Database/Actions#Действие "state"|действиями]] и могут использоваться в [[Automation/Database/Conditions#Условие "state"|условиях]]. В базе данных состояния сохраняются во вложенном объекте <code>"states"</code>:
<syntaxhighlight lang="json">
{
  "states":
  {
    "windowIsOpen": true,
    "mySpecialState": "hello",
    "numericData": 24.2,
    ...
  }
}
</syntaxhighlight>
== Примеры ==
<syntaxhighlight lang="json">
{
  "automations":
  [
    {
      "active": true,
      "name": "управление лампой на столе",
      "triggers":
      [
        {
          "type": "property",
          "endpoint": "zigbee/freePad/1",
          "property": "action",
          "equals": "singleClick"
        }
      ],
      "conditions":
      [
        {
          "type": "property",
          "endpoint": "zigbee/roomLight/2",
          "property": "status",
          "equals": "off"
        }
      ],
      "actions":
      [
        {
          "type": "property",
          "endpoint": "zigbee/tableLight",
          "property": "status",
          "value": "toggle"
        }
      ]
    },
    {
      "active": true,
      "name": "управление светом в комнате",
      "triggers":
      [
        {
          "type": "property",
          "endpoint": "zigbee/freePad/2",
          "property": "action",
          "equals": "singleClick"
        },
        {
          "type": "telegram",
          "message": "включи свет в комнате"
        }
      ],
      "actions":
      [
        {
          "type": "property",
          "endpoint": "zigbee/roomLight/2",
          "property": "status",
          "value": "on"
        }
      ]
    },
    {
      "active": true,
      "name": "уведомление о похолодании",
      "triggers":
      [
        {
          "type": "property",
          "endpoint": "zigbee/outdoorTemperature",
          "property": "temperature",
          "below": 10
        }
      ],
      "actions":
      [
        {
          "type": "telegram",
          "message": "на улице холодно"
        }
      ]
    }
  ]
}
</syntaxhighlight>


[[Category:Custom]]
[[Category:Custom]]

Версия от 08:09, 5 сентября 2024


HOMEd > Custom > База данных

Файл базы данных

База данных это файл, в котором хранится описание устройств. По умолчанию это /opt/homed-custom/database.json. Путь к файлу базы данных может быть изменен в конфигурации. Не обязательно редактировать базу данных автоматизаций вручную, намного проще настраивать устройства через веб-интерфейс.

Структура базы данных

База данных HOMEd Сustom это JSON-объект. Общая структура базы данных выглядит так:

{
  "devices":
  [
    {
      "active": true,
      "id": "myCustomDevice1",
      "name": "My Custom Device",
      "real": false,
      "cloud": true,
      "discovery": true,
      "exposes":
      [
        ...
      ],
      "options":
      {
        ...
      }
    },
    {
      "active": true,
      "id": "myCustomDevice2",
      "name": "Other Custom Device",
      "real": true,
      "cloud": true,
      "discovery": true,
      "exposes":
      [
        ...
      ]
    }
  ]
}

Параметры устройств

active

Включение/выключение устройства.

id

Уникальный идентификатор устройства.

name

Уникальное читаемое имя устройства.

real

cloud

discovery

exposes

options