Skip to content

Instantly share code, notes, and snippets.

@dima117
Last active September 7, 2017 19:02
Show Gist options
  • Save dima117/a59ec07b732bfe6a99d3c89fa87aeb71 to your computer and use it in GitHub Desktop.
Save dima117/a59ec07b732bfe6a99d3c89fa87aeb71 to your computer and use it in GitHub Desktop.

ThinkingHome.Plugins.Mqtt

NuGet Pre Release

MqttPlugin

... назначение ...

Конфигурация

... вводный текст ...

{
    "plugins": {

        ...

        "ThinkingHome.Plugins.Mail.MqttPlugin": {
            ...
        }
    }
}

Данные

Ниже перечислены классы, определенные в пакете ThinkingHome.Plugins... для ... . Вы можете работать с ними с помощью плагина DatabasePlugin и Entity Framework Core.

ThinkingHome.Plugins....ClassName

Представляет собой ...

Таблица: Table_Name

Поля:

  • Guid ... - описание.
  • string ... - описание.

API

void Method(...)

... описание ...

Пример

Context.Require<MqttPlugin>()
    .Method(...);

[Event]

... описание события ...

Вы можете отметить методы своего плагина атрибутом EventAttribute. Метод вашего плагина будет автоматически вызываться при ... .

Сигнатура метода, вызываемого по таймеру, должна соответствовать делегату EventDelegate:

public delegate void EventDelegate(...);

Параметры:

  • string ... - описание.
  • byte[] ... - описание.

Пример:

[Event]
public void MyEventHandler(...)
{
    ...
}

HTTP API

/api/plugin/method

... описание ...

Параметры и возвращаемое значение

  • name1 (type) - описание.
  • name2 (type) - описание.

В ответ на клиент возвращается ...

{ ... }

Пример

curl 'http://localhost:8080/api/plugin/method?name1=value1&name2=value2'

API сценариев

methodName

... описание ...

Пример

host.api.methodName(...);

Сценарные события

event:name

Сценарное событие event:name генерируется ... . В обработчик события передаются параметры:

  • arguments[0] - описание (string).
  • arguments[1] - описание (Buffer).

Пример обработчика

var arg1 = arguments[0];
var arg2 = arguments[1];

host.log.info('...')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment