Integrácia do DOMOTICZ
Príklad použitia LUA scriptu na odoslanie teploty.Teplota sa odošle iba pri zmene teploty. Dá sa použiť aj časový údaj, alebo iné podmienky spustenia.Po 5 sekundách sa zobrazia hodiny.Kód LUA pre DOMOTICZ-- Funkcia na zakódovania URLfunction urlencode(str)if (str) thenstr = string.gsub (str, "\n", "\r\n")str = string.gsub (str, "([^%w ])",function (c) return string.format ("%%%02X", string.byte(c)) end)str = string.gsub (str, " ", "+")endreturn strendcommandArray = {}-- Snímač teplotylocal teplotaVonkuDeviceName = 'Teplota vonku' -- Nahraď názov zariadenia podľa tvojích potrieblocal teplotaVonku = otherdevices_svalues[teplotaVonkuDeviceName]-- Kontrola, či je teplota k dispozici a je čísloif (teplotaVonku and tonumber(teplotaVonku) ~= nil) then-- Zaokrouhlenie teploty na jedno desetinné miestolocal teplotaZaokrouhlena = string.format("%.1f", tonumber(teplotaVonku))local message = "Teplota vonku " .. teplotaZaokrouhlena .. " C"-- URL pro ovládanie displejalocal url = "http://192.168.1.131/?message=" .. urlencode(message) .. "&brightness=0&scrolling=1&time=0&speed=7"-- Odoslať REST API požiadavku iba pri zmene teplotyif (uservariables_lastupdate[teplotaVonkuDeviceName] ~= nil) thenlocal lastUpdate = os.time() - uservariables_lastupdate[teplotaVonkuDeviceName]if (lastUpdate <= 1800) then -- Pokud byla teplota aktualizována v posledních 30 minutách-- Odoslať REST API požiadavkuos.execute("curl '" .. url .. "'")-- Počkaj 5 sekundos.execute("sleep 5")-- Nový príkaz po 5 sekundáchlocal url2 = "http://192.168.1.131/?time=1&scrolling=0"os.execute("curl '" .. url2 .. "'")endendelseprint("Teplota nie je dostupná alebo nemá číselnú hodnotu.")endreturn commandArrayTento kód je len náčrt a môže vyžadovať ďalšie úpravy podľa špecifických podmienok tvojho Domoticz a zariadení.