Cvoid триггеры

среда, 6 мая 2009 г. | Published in |

В системе Cvoid есть несколько средств для реализации логики управления. Сейчас мы рассмотрим как пишутся обработчики событий получения новых значений каналов.

Итак, для примера возьмем простую задачу - включить свет в коридоре если была обнаружена активность. Источником информации об активности может быть например датчик открытия двери или движения. Для этого можно добавить обработчик к каждому каналу который реагирует на активность, или пометить их меткой которой уже назначен необходимый обработчик.

Для реализации поставленной задачи необходимо объявить какие каналы будут использоваться и описать логику их изменения. (Объявление каналов также возможно при конфигурации скрипта обработчика) Сложной логики в нашем примере нет поэтому мы просто включим свет.

Вот код обработчика каналов активности помеченных классом "holl-activity":
# import "/channels/holl/light" channel value as variable "holl_light"
import_value("holl_light", "/channels/holl/light")

# turn on holl light
holl_light = True;

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

Как видите триггер в системе Cvoid это простой скрипт на Python, для написания которого не нужно никаких специальных знаний.

PS: Каким образом добавляются обработчики и выключится свет мы расскажем в следующих постах.