Блог компаниии Z-Waver

Применение Z-Wave на практике. Сделаем Z-Wave понятным!
2 minutes reading time (379 words)

Часть 1. Простые LUA скрипты: Проверка уровня заряда батареи

В этом разделе время от времени мы будем представлять вам несколько коротких, но полезных сценариев LUA.

В первом эпизоде нашей новой серии мы представим вам короткий сценарий, с помощью него вы сможете проверить все устройства, работающие от батареек, а именно уровень заряда батареи. Сценарий покажет вам состояние батареи, и необходимо ли заменить батареи или нет. Разные состояния будет отображаться различными цветами. Значение цветов следующее

  • зеленый - батарея в хорошем состоянии;
  • красный - заряд ниже 25%.


На следующем рисунке вы можете увидеть это подробно.


lua проверка уровня заряда батарей

А код LUA скрипта выглядит так: 

--[[ 
%% properties 
%% globals 
--]] 
 
local minBatteryLevel = 25
local maxID = 1000
 
Debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
 
for id = 1, maxID do 
   local batteryLevel = fibaro:get(id, 'batteryLevel') 
	if batteryLevel ~= nil 
    then 
      local name = fibaro:getName(id) 
      local room = fibaro:getRoomNameByDeviceID(id) 
      if not(room == "unassigned") then
      	local deviceType = fibaro:getType(id)
      	if (deviceType == 'com.fibaro.FGFS101' or deviceType == 'com.fibaro.remoteSwitch' or deviceType == 'com.fibaro.doorLock' or deviceType == 'com.fibaro.FGMS001' or deviceType == 'com.fibaro.windowSensor' or deviceType == 'com.fibaro.doorSensor' or deviceType == 'com.fibaro.binarySwitch' or deviceType == 'com.fibaro.FGSS001') then
        	if tonumber(batteryLevel) <= minBatteryLevel then
          		Debug( 'red', "Внимание! " ..name.." ("..room..")/Батарея: "..batteryLevel.." %")
          	else
        		Debug( 'green', name.." ("..room..")/Батарея: "..batteryLevel.." %")
        end
      end
      end 
    end 
  end 

Скрипт LUA проверяет все устройства, которые добавлены в вашем контроллере FIBARO HomeCenter2 и привязаны к комнате в петле и затем распознает работает ли устройство от батареи или нет. Чтобы предотвратить проверку каждого датчика у мультидатчика, например, сенсор освещенности (Люкс), сенсор температуры и т.п , скрипт отбирает определенные типы устройств.
На данный момент поддерживаются следующие типы устройств:
 

Во время тестирования вы можете узнать о некоторых других типах устройств, которые не вошли в вышеприведенный список. Если это произойдет, обратитесь к API для определения типа устройства. Это видно через URL-адрес: http://IP-HC2/api/devices?=Device_ID
Где Device_ID - ID устройства.
Пример результата выполнения http запроса приведен на рисунке ниже.

Добавление нового типа в скрипт
Мы были бы рады, если бы вы могли оставлять нам «новые» типы устройств в разделе комментариев, которые мы сможем добавлять в этот сценарий время от времени.
Заранее благодарим вас за участие и надеемся, что данный скрипт будет добавлен в вашу копилку полезных скриптов.

​Источник: http://www.siio.com/

Обзор контроллера Vera Secure
Обзор Athom Homey – один контроллер для управления...

Читайте также:

 

Комментарии (0)

Rated 0 out of 5 based on 0 voters
There are no comments posted here yet

Оставьте свой комментарий

Posting comment as a guest. Sign up or login to your account.
0 Characters
Вложения (0 / 3)
Share Your Location

Блог - Добро пожаловать!

EasyBlog - Biography Module

пользователь zwaveadmin не оставил ничего в своей биографии ...

Блог - Календарь

Подождите минутку, пока генерируется календарь

Блог - Последние комментарии

Образы для установки Hass.io периодически обновляются. Сс...
Сайт Z-Wave Альянса рекламирует «интероперабельность» (...
Z-Wave - это просто протокол связи, как правило все Z-Wave уст...
Если не все устройства Z-Wave на 100% совместимы друг с дру...
Здорово! Но я бы вместо звонка поставил бы все-таки Aeotec ...

Блог - Последние блоггеры

admin
Записей: 64
пользователь admin не оставил ничего в своей биографии
Manager
Записей: 42
пользователь Manager не оставил ничего в своей биографии
zwaveadmin
Записей: 18
пользователь zwaveadmin не оставил ничего в своей биографии
Mobilniy
Записей: 2
пользователь Mobilniy не оставил ничего в своей биографии
Support
Записей: 0
пользователь Support не оставил ничего в своей биографии

Блог - Командные блоги

Z-Waver

Членов: 3

Блог - Категории

Блог - Информация по записи

  29.12.2017
  522 просмотров