V tomto krátkém ale užitečném návodu si ukážeme jak pomocí jednoduchého LUA skriptu zkontrolovat stav baterií v rozhraní řídící jednotky Fibaro Home Center 2. Skript jednoduše vytvoříme v rozhraní Fibaro po kliknutí na část Scény -> Přidat scénu -> Přidat Scénu v LUA. Následně vložíme do části pokročilé níže uvedený skript a pojmenujeme si scénu například Stav baterií. Spustíme scénu a následně v debugovací okně můžeme vidět odezvu na spuštěn skript a tedy stav baterií.
--[[
--[[
%% 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.FGMS001v2' or deviceType == 'com.fibaro.humiditySensor'
or 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.FGSS001' or deviceType == 'com.fibaro.binarySwitch') then
if tonumber(batteryLevel) <= minBatteryLevel then
Debug( 'red', "POZOR! " ..name.." ("..room..")/Batéria: "..batteryLevel.." %")
else
Debug( 'green', name.." ("..room..")/Batéria: "..batteryLevel.." %")
end
end
end
end
end
Pozn.: Pokud Vám nějaké zařízení chybí neváhejte nás kontaktovat info@smarterhome.sk a LUA skript následně aktualizujeme.
Fibaro HC2: LUA skript kontrola stavu oken a dveří
Krátký LUA skript pro Z-Wave řídící jednotku Fibaro Home Center 2 na kontrolu stavu dveřních a okenních senzorů při...
Použití Aeon Labs minimoto ve Fibaro HC2
Jak použít Aeon Labs minimoto ve Fibaro HC2 pomocí LUA scény.
Realizace a nastavení zařízení pro spouštění scén Fibaro Swipe pomocí LUA skriptu.
1 Komentár
Jan 16.07.2018 Odpovedať
If your devices are named logically, you could just get the name instead of checking the device type using:modulename = fibaro:getName(id) ;
fibaro:debug("deviceid "..id.." named "..modulename.." - battery level is at "..batteryLevel.."%");