Как сразу отправить событие на шину событий OpenHAB?

Что я видел, большинство привязок используют стратегию «вытягивания» для обновления статусов элементов, например привязку exec:

in:  exec="<[<commandLine to execute>:<refreshintervalinmilliseconds>:(<transformationrule>)]"

Или привязка HTTP:

in:  http:"<[<url>:<refreshintervalinmilliseconds>:<transformationrule>]"

Обновления основаны на интервале обновления. Но что, если мне нужно немедленно «протолкнуть» событие из внешней системы (bash-скрипт или другое сетевое устройство)?


person Gondy    schedule 10.11.2015    source источник


Ответы (1)


Это можно решить с помощью OpenHAB Rest API.

REST API openHAB служит разным целям. Его можно использовать для интеграции openHAB с другой системой, поскольку он обеспечивает доступ для чтения к элементам и состояниям элементов, а также обновления статуса или отправку команд для элементов.

Чтобы отправить команду элементу, вы должны использовать uri элемента (http://localhost:8080/rest/items/Temperature_FF_Office) и отправьте HTTP POST с соответствующей командой в теле запроса как text/plain.

Например, утилита curl может использоваться для отправки команды из сценария bash.

person Gondy    schedule 10.11.2015