In het volgende voorbeeld wordt aangegeven hoe de ZRC90 in een LUA script toegepast kan worden. In dit geval voor een nuttige toepassing in de slaapkamer.

Er wordt gebruikt gemaakt van de LUA debugger zodat iedere toets aanslag wordt weergegeven.

Het is in de praktijk vaak handig om de gewenste scene eerst in een blokjes scene aan te maken en vervolgens de scene te vertalen naar LUA.

Dit basis script kan vervolgens eenvoudig in een Lua scene worden overgezet.

Op het resultaat kunnen daarna de gewenste aanpassingen worden gemaakt.

Let op dat de ZRC90 ID in de vierde regel van het script aangepast moet worden.


--[[
%% properties
%% events
604 CentralSceneEvent
%% globals
--]]
-- ZRC90 scene
-- ZRC90 - verander bovenstaande 604 in eigen ZRC90 - ID !!
-- 17 maart 2017
-- Toepassing  Slaapkamer controller
-- Acht toetsen paneel  kort indrukken aan / lang indrukken uit 
-- Toewijzing toetsen:
-- 1 = Slaapkamer verlichting aan/uit
-- 2 = Badkamer/overloop verlichting aan/uit
-- 3 = Rolgordijn op/neer
-- 4 = Electrische deken aan/uit
-- 5 = Sonos knop kort/lang NPO3 en Skyradio
-- 6 = Alarminstelling  zet uren vanaf zes uur / lang annuleer alarm 
-- 7 = Alarminstelling  zet 10 minuten interval vanaf ingesteld uur  / lang reset
-- 8 = Onraad knop lang / reset onraad kort – schakelt alle verlichting aan

if (fibaro:countScenes()>1) then
fibaro:abort()
end
--
local pressSource = fibaro:getSourceTrigger()["event"]["data"] 
-- 
if (tostring(pressSource["keyAttribute"]) == "Pressed") then
-- ZRC90 even aanraken - blauw ledje knippert 2x
if (tostring(pressSource["keyId"]) == "1") then
    fibaro:debug('Kort drukken 1');
    -- verlichting slaapkamer aan
    fibaro:call(40, "turnOn")
--
  elseif (tostring(pressSource["keyId"]) == "2") then
    fibaro:debug('Kort drukken 2');
     -- verlichting overloop en badkamer aan
    fibaro:call(6, "turnOn");
    fibaro:call(46, "turnOn");
--
  elseif (tostring(pressSource["keyId"]) == "3") then 
    fibaro:debug('Kort Drukken 3');
    -- rolgordijnen open
        fibaro:call(68, "turnOn");
       setTimeout(function()
       fibaro:call(68, "turnOff");
      end, 30000)
--
  elseif (tostring(pressSource["keyId"]) == "4") then
    fibaro:debug('Kort Drukken-4');
    -- electrische deken - optie
    -- fibaro:call(12, "turnOn");
--
  elseif (tostring(pressSource["keyId"]) == "5") then
    fibaro:debug('Kort Drukken-5');
    
    -- Sonos 
    fibaro:call(237, "pressButton", "2");
                fibaro:call(237, "pressButton", "5");
                fibaro:call(237, "pressButton", "1");
--
  elseif (tostring(pressSource["keyId"]) == "6") then
    fibaro:debug('Kort Drukken-6');
    -- verhoog Wek6 variabele
    fibaro:setGlobal("Wek6", tonumber(fibaro:getGlobalValue("Wek6")) + 1);
  --
  elseif (tostring(pressSource["keyId"]) == "7") then
    fibaro:debug('Kort Drukken-7');
     -- verhoog Wek7 variabele
    fibaro:setGlobal("Wek7", tonumber(fibaro:getGlobalValue("Wek7")) + 1);
-- 
  elseif (tostring(pressSource["keyId"]) == "8") then
    fibaro:debug('Kort Drukken-8');
    -- reset onraad
    fibaro:setGlobal("Onraad", "Groen");
  end
end
--  ZRC-90 toets lang indrukken tot blauw ledje 2x knippert
if (tostring(pressSource["keyAttribute"]) == "HeldDown") then
if (tostring(pressSource["keyId"]) == "1") then
    --  verlichting slaapkamer uit
    fibaro:call(40, "turnOff")
    fibaro:debug('Lang Drukken 1'); 
   --
   elseif (tostring(pressSource["keyId"]) == "2") then
    fibaro:debug('Lang Drukken 2');
    -- verlichting badkamer en overloop uit
    fibaro:call(6, "turnOff");
    fibaro:call(46, "turnOff");
--
  elseif (tostring(pressSource["keyId"]) == "3") then
    fibaro:debug('Lang Drukken 3');
    -- rolgordijnen neer
      fibaro:call(68, "turnOff");
     fibaro:call(70, "turnOn");
    setTimeout(function()
   fibaro:call(70, "turnOff");
  end, 30000)
--
  elseif (tostring(pressSource["keyId"]) == "4") then
    fibaro:debug('Lang Drukken 4');
     -- electrische deken (optie)
    -- fibaro:call(12, "turnOff");
  --
  elseif (tostring(pressSource["keyId"]) == "5") then
    fibaro:debug('Lang Drukken 5'); 
    -- Sonos 
    fibaro:call(237, "pressButton", "2");
   fibaro:call(237, "pressButton", "6");
  fibaro:call(237, "pressButton", "1");
--
  elseif (tostring(pressSource["keyId"]) == "6") then
    fibaro:debug('Lang Drukken 6'); 
      -- annuleer wek-scene
    fibaro:setGlobal("Wekreset", "1");

  elseif (tostring(pressSource["keyId"]) == "7") then
    fibaro:debug('Lang Drukken 7');
     -- reset wake-up variabelen 
    fibaro:setGlobal("Wek6", "0");
    fibaro:setGlobal("Wek7", "0");
    fibaro:setGlobal("Wekvlag", "0"); 
    fibaro:setGlobal("Wekreset", "0");
    --
  elseif (tostring(pressSource["keyId"]) == "8") then
    fibaro:debug('Lang Drukken 8');
     -- onraad aktief zet  variabele onraad op rood
    fibaro:setGlobal("Onraad", "Rood");
end
  end