Ein Thema bei DomoticZ und der Steuerung von Komponenten ist immer wieder mit Timern verbunden. Hier ein simples LUA Script welches zu verschiedenen Zeitpunkten die gewünschten Funktionen ausführt. Konkret : Es wird alle 5 Minuten eine LED Leiste für 2 Minuten eingeschaltet.
--###################################################################
--#Script Name : timer_init.lua
--#Description : Timer Script to run a command scheduled with runtime
--# various timings are possible
--#Args :
--#Date : 27. January 2019
--#Author : Heiko Zschenderlein
--#Email : Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
--#Comments : Development State, to be improved
--#Disclaimer : Please read the Disclaimer at the end of the script
--# : Bitte lesen Sie den Haftungsausschluss am Ende des Scripts
--###################################################################
commandArray = {}
-- device to trigger
triggerDevice='Kueche LED'
-- entire trigger function
local function switch_on()
if (otherdevices[triggerDevice] == 'Off') then
-- switch on desired device for 2 minutes
commandArray[triggerDevice]='On FOR 2'
print('+++++++++++++++++ toggle '.. triggerDevice ..' for 2 Minutes')
end
end
-- additional trigger funktion
local function warnTimeExceeded()
-- print('Execute when 1 Hour Timer as been reached')
end
local m = os.date('%M')
if (m % 5 == 0) then
-- print('5 Minutes Timer as been reached')
-- Call function you want to execute after 5 minutes
print(' 5 minutes interval has been passed, toggle switch ' .. triggerDevice)
switch_on()
end
if (m % 10 == 0) then
-- print('10 Minutes Timer as been reached')
-- Call function you want to execute after 10 minutes
end
if (m % 30 == 0) then
-- print('10 Minutes Timer as been reached')
-- Call function you want to execute after 10 minutes
end
if (m % 60 == 0) then
-- print('1 Hour Timer as been reached')
-- Call function you want to execute after 1 Hour
warnTimeExceeded()
end
return commandArray
--# DISCLAIMER :
--# Downloading and using data from this website occurs at the own risk of the User. The Provider does not accept any liability for damages that occur directly or indirectly through the use of provided data.
--# All logos, trademarks and word marks used, even if not expressly marked as such, are the property of their respective owners.
--# Das Herunterladen und Verwenden von Daten von dieser Website erfolgt auf eigenes Risiko des Benutzers. Der Anbieter übernimmt keine Haftung für Schäden, die direkt oder indirekt durch die Verwendung der bereitgestellten Daten entstehen.
--# Alle verwendeten Logos, Markenzeichen und Wortmarken sind, auch wenn nicht ausdrücklich als solche gekennzeichnet, Eigentum ihrer jeweiligen Inhaber.