fibaro:abort()

Назначение

Функция прерывает выполнение сцены.

Параметры

Нет

Возвращаемые значения:

Нет

Пример кода:
		-- прервать выполнение сцены если значение переменной “a” станет больше 10
		 local a = 0;
		 while true do
		  if (a > 10) then
		   fibaro:abort();
		  end
		  a = a + 1;
		  fibaro:sleep(1);
		 end

fibaro:getSourceTrigger()

Назначение

Функция получает сведения о триггере (событии), вызвавшем запуск текущей сцены. Эта функция позволяет понять, что именно было прямой причиной выполнения кода сцены.

Параметры

Нет

Возвращаемые значения:

Функция возвращает массив, содержащий информацию о запуске сцены.

Обязательным элементом массива является поле ‘type’, которое определяет тип триггера и может принимать следующие значения:

  • ‘property’ - тип триггера, который запускает сцену при изменении свойства устройства.
  • ‘global’ - тип триггера, который запускает сцену при изменении значения глобальной переменной.
  • ‘other’ - другие случаи (запуск сцены из интерфейса Fibaro Home Center 2 или из другой сцены).

В зависимости от значения поля ‘type’ массив может содержать дополнительные поля.

 

Значение поля ‘type’

Дополнительные поля массива

 

‘property’

  • deviceID - идентификатор устройства, по изменению свойства которого сработал триггер
  • propertyName - имя свойства устройства, по изменению которого сработал триггер
 

‘global’

  • name - имя глобальной переменной, по изменению значения которой сработал триггер
 

‘other’

нет дополнительных полей

 
Пример кода:
		--[[
		%% properties
		13 value
		15 value
		%% globals
		isItDarkOutside
		–]]
		 
		-- в шапке кода сцены указаны триггеры запуска сцены: изменение значения value устройств с идентификаторами 13, 15 и глобальная переменная isItDarkOutside
		 local trigger = fibaro:getSourceTrigger();
		 if (trigger['type'] == 'property') then
		  fibaro:debug('Триггер сцены устройство с ID ' .. trigger['deviceID']);
		 elseif (trigger['type'] == 'global') then
		  fibaro:debug('Триггер сцены переменная  ' .. trigger['name']);
		 elseif (trigger['type'] == 'other') then
		  fibaro:debug('Прочий триггер');
		 end

Функция fibaro:getSourceTriggerType()

Назначение

Функция получает сведения о типе триггера, при срабатывании которого запущена текущая сцена.

Параметры

Нет

Возвращаемые значения:

Функция возвращает строку с описанием типа триггера (‘property’, ‘global’, ‘other’).

Пример кода:
		-- получение информации о том, что сцена была запущена вручную
		 if (fibaro:getSourceTriggerType() == 'other') then
		  fibaro:debug('Сцена запущена вручную или программными средствами');
		 end
		 
		-- тот же результат, только с получением массива полного описания триггера getSourceTrigger() и поля 'type'
		 local source = fibaro:getSourceTrigger();
		 if (source['type'] == 'other') then
		  fibaro:debug('Сцена запущена вручную или программными средствами');
		 end

Функция fibaro:startScene(sceneID)

Назначение

Функция запускает экземпляр сцены по её идентификатору.

Параметры

sceneID - идентификатор сцены.

Возвращаемые значения:

Нет

Пример кода:
		-- если значение переменной a больше 20, то запустить сцену с ID 10
		 if (a > 20) then
		  fibaro:startScene(10);
		 end

Функция fibaro:killScenes(sceneID)

Назначение

Функция завершает все запущенные экземпляры сцены по её идентификатору.

Параметры

sceneID - идентификатор сцены.

Возвращаемые значения:

Нет

Пример кода:
		-- если значение переменной a в диапазоне от 1 до 5, то завершить все экземпляры сцены с ID 2
		 if (a >= 1 and a <= 5) then
		  fibaro:killScenes(2);
		 end

Функция fibaro:setSceneEnabled(sceneID, enabled)

Назначение

Включение/выключение (активация/деактивация) сцены по её идентификатору.

Параметры

sceneID - идентификатор сцены.

enabled - логическое значение, определяющее включение/выключение сцены.

Возвращаемые значения:

Нет

Пример кода:
		-- если значение переменной a положительное, тогда выключить сцену
		 if (a>0) then
		  fibaro:setSceneEnabled(3, false);
		 
		-- в противном случае включить сцену с ID 3
		 else
		  fibaro:setSceneEnabled(3, true);
		 end

Функция fibaro:isSceneEnabled(sceneID)

Назначение

Функция проверяет активность сцены по её идентификатору.

Параметры

sceneID - идентификатор сцены.

Возвращаемые значения:

Возвращается значение булевого типа: true – сцена активна (включена), false – сцена выключена.

Пример кода:
		-- если сцена с ID 3 активна, то также включить сцену с ID 5
		 if (fibaro:isSceneEnabled(3)) then
		  fibaro:setSceneEnabled(5, true);
		 end

Функция fibaro:countScenes()

Назначение

Функция получает количество запущенных сцен.

Параметры

Нет

Возвращаемые значения:

Целое, положительное число, количество запущенных в данный момент сцен.

Пример кода:
		-- получить количество запущенных сцен
		 local num = fibaro:countScenes();
		 if (num == 1) then
		  fibaro:debug('запущена одна сцена');
		 else
		  fibaro:debug('Количество запущенных сцен: ' .. num)
		 end

Функция fibaro:countScenes(sceneID)

Назначение

Функция получает количество запущенных экземпляров конкретной сцены.

Параметры

sceneID - идентификатор сцены.

Возвращаемые значения:

Целое, положительное число, количество запущенных экземпляров сцены.

Пример кода:
		-- количество запущенных экземпляров сцены с ID 12
		 local num = fibaro:countScenes(12);
		 fibaro:debug('Количество запущенных экземпляров сцены с ID 12: ' .. num);
		 
		-- проверка запущенной сцены с ID 12
		 if (fibaro:countScenes(12) >= 1) then
		  fibaro:debug('Сцена выполняется');
		 else
		  fibaro:debug('Сцена не выполняется');
		 end