Функция fibaro:call(deviceID, actionName, …)

Назначение

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

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

actionName - имя действия, которое нужно выполнить с устройством (с перечнем возможных действий с устройством можно прочитать тут).

дополнительные параметры - дополнительно в аргументах функции могут быть указаны параметры для выполняемого действия (до 7 штук). Например, для установки величины основного значения равным 50 устройства с идентификатором 10 функция будет выглядеть следующим образом: fibaro:call(10, 'setValue', 50).

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

Нет

Пример кода:
		-- выполнение действия 'turnOff' (Выключить) для устройства с ID 12
		 fibaro:call(12, 'turnOff');

Функция fibaro:get(deviceID, propertyName)

Назначение

Функция получает последнюю версию (значение и время последнего изменения) значения свойства устройства по идентификатору устройства и имени свойства.

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

propertyName - имя свойства устройства (как получить перечень свойств устройства можно прочитать тут).

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

string - значение свойства устройства.

timestamp - время последнего изменения.

Пример кода:
		-- получение значения свойства 'brightness' (Яркость) для устройства с ID 11
		 local value, modificationTime = fibaro:get(11, 'brightness');
		 		
		-- вариант с получением значения свойства 'brightness' (Яркость) для устройства с ID 11 без времени последнего изменения
		 local value2 = fibaro:get(11, 'brightness');
		 
		-- использование возвращенного значения в выражениях
		 if (tonumber(value) >= 50) then
		  fibaro:call(142, 'turnOff');
		 end

Функция fibaro:getValue(deviceID, propertyName)

Назначение

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

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

propertyName - имя свойства устройства (как получить перечень свойств устройства можно прочитать тут).

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

string - значение свойства устройства.

Пример кода:
		-- получение значения свойства 'brightness' (Яркость) для устройства с ID 11
		 local value = fibaro:get(11, 'brightness');

Функция fibaro:getModificationTime(deviceID, propertyName)

Назначение

Функция получает время последнего изменения свойства устройства по идентификатору устройства и имени свойства.

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

propertyName - имя свойства устройства (как получить перечень свойств устройства можно прочитать тут).

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

timestamp - время последнего изменения значения свойства устройства.

Пример кода:
		-- получение времени последнего изменения свойства
		 local lastModified = fibaro:getModificationTime(11, 'value');
		 
		-- проверка времени изменения свойства устройства
		 if (os.time() - lastModified >= 10) then
		  fibaro:debug('Прошло больше 10 секунд');
		 else
		  fibaro:debug('Прошло меньше 10 секунд)
		 end

Функция fibaro:getType(deviceID)

Назначение

Функция получает тип устройства по его идентификатору.

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

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

string - строка с именем типа устройства (с перечнем всех возможных типов устройств можно ознакомиться тут).

Пример кода:
		-- получение типа устройства с идентификатором 100
		 local type = fibaro:getType(100);
		 
		-- проверка типа устройства (если это Roller Shutter)
		 if (type == 'blind') then
		  fibaro:debug('Это устройство Roller Shutter');
		 else
		  fibaro:debug('Тип устройства: ' .. type);
		 end

Функция fibaro:getRoomID(deviceID)

Назначение

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

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

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

roomID - идентификатор комнаты, в которой расположено устройство (для нераспределенных устройств roomID равен 0).

Пример кода:
		-- получить и проверить идентификатор комнаты для устройства с ID 15
		 local room = fibaro:getRoomID(15);
		 if (room == 0) then
		  fibaro:debug('Устройство не распределено в комнату);
		 else
		  fibaro:debug('Устройство расположено в комнате: ' .. room);
		 end

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

Назначение

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

Параметры

deviceID - идентификатор устройства (как узнать идентификатор устройства в контроллере Fibaro Home Center 2 можно прочитать тут).

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

sectionID - идентификатор секции, в которой расположено устройство (для нераспределенных устройств sectionID равен 0).

Пример кода:
		-- получить и проверить идентификатор секции для устройства с ID 10
		 local section = fibaro:getSectionID(10);
		 if (section == 0) then
		  fibaro:debug('Устройство не распределено в секцию');
		 else
		  fibaro:debug('Устройство расположено в секции: ' .. section);
		 end