3- Liste des scripts LUA

1- Modifier la couleur d’une lumière Led en fonction de la température de la pièce

By captainigloo

But : Script permettant de modifier la couleur d’une led RGB en fonction de la température de la pièce

-- Title: Set RGB light output depending on Temperature
--
-- Description :
-- Set white color if temp is < 10°C
-- Set light blue color if temps is between 10 and 15
-- Set dark blue color if temp is between 15 and 19
-- Set green color if temp is between 19 and 22
-- Set Yellow color ir temp is between 22 and 25
-- Set Orange color if temp is between 25 and 28
-- Set Red color if temp is greater than 28
--
-- Inputs
-- * input_4 : N° entrée Temperature
-- Output
-- * output_6 : N° Sortie RGB light
-- Events
-- This script may be launched on input_4 changes
local temp = calaos:getInputValue("input_4")
if temp < 10.0 then
--blanc
str = "set 0x60FFFF"
elseif temp >= 10.0 and temp < 15.0 then
--bleu clair
str = "set 0x28FFFF"
elseif temp >= 15.0 and temp < 19.0 then
--bleu foncé
str = "set 0x0060FF"
elseif temp >= 19.0 and temp < 22.0 then
-- vert
str = "set 0x28FF28"
elseif temp >= 22.0 and temp < 25.0 then
-- Jaune
str = "set 0x7AFF00"
elseif temp >= 25.0 and temp < 28.0 then
-- Orange
str = "set 0xFFFF00"
elseif temp > 28.0 then
-- Rouge
str = "set 0xFF3D00"
end
calaos:setOutputValue("output_6", str)
return true

2- Envoyer un SMS via Free suivant un évènement donné

By captainigloo

But : Script permettant d’envoyer un message par SMS en fonction d’une condition. Attention ne fonctionne qu’avec free. Voir le tuto complet ici : Utilisation du systeme de notifications par sms de free

function urlencode(str)
if (str) then
str = 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, " ", "%%20")
end
return str
end
local user = "username"
local pass = "password"
local msg = "le message à envoyer en fonction de la règle"
calaos:requestUrl("https://smsapi.free-mobile.fr/sendmsg?user="..user.."&pass="..pass.."&msg="..urlencode(msg))
return true

3- Gestion d'un chauffage

By Raoulh

But : Script permettant de gérer le chauffage en fonction de la température des panneaux solaires du ballon EC et du plancher.

print("script chauffage start")
local temp_panneaux = calaos:getInputValue("input_temp_3")
local temp_ballonh = calaos:getInputValue("input_temp_0")
local temp_plancher = calaos:getInputValue("input_temp_2")
local consigne = calaos:getInputValue("intern_10")
local consigne_ballon = calaos:getInputValue("intern_1")
local consigne_plancher = calaos:getInputValue("intern_0")
if temp_panneaux >= (temp_ballonh + consigne) then
-- active pompe solaire si < max
if temp_ballonh < 70 then
calaos:setOutputValue("output_chauff_2", true)
else
calaos:setOutputValue("output_chauff_2", false)
end
-- force stop elect resistance
calaos:setOutputValue("output_chauff_1", false)
active_elec = false
end
-- Arret de la pompe solaire si temperature panneau insuffisante
if temp_panneaux <= temp_ballonh then
-- stop pompe solaire
calaos:setOutputValue("output_chauff_2", false)
active_elec = true
end
-- start/stop elec si consigne et active elec
if active_elec then
if temp_ballonh <= consigne_ballon then
calaos:setOutputValue("output_chauff_1", true)
end
if temp_ballonh > (consigne_ballon + 1) then
calaos:setOutputValue("output_chauff_1", false)
end
end
-- start/stop plancher pompe si consigne
if temp_plancher <= consigne_plancher then
calaos:setOutputValue("output_chauff_0", true)
end
if temp_plancher > (consigne_plancher + 1) then
calaos:setOutputValue("output_chauff_0", false)
end
-- pas besoin d'action, toujours retourner false
return false

*

3- Gestion d'un chauffage

By Raoulh & Eric64

But : Script permettant de gérer la mise en route d'un transformateur 220v/24v pour l'allumage de led. Précisions : plusieurs cordons leds sont allimentés par le même transfo. Nous souhaitons que le transfo soit éteint lorsqu'aucune led n'est allumée et pouvoir allumer ou éteindre le transfo lorsque le système détecte un changement d'état d'une led. A noter : Calaos V2 ne gère pas les rubans led RGBW. Il faut donc créer 2 lumières DMX, une pour le RGB l'autre pour le W.

A créer dans CALAOS_INSTALLER : - IO inter_booleen. “active_bloc” : Elle va nous permettre de signaler un changement d'état des leds - lumière : cette lumière est “fictive”. Elle sert

Règles à créer pour chaque lumières :

SI RGBplafond == changed
ALORS active_bloc = toggle

Règle pour gérer le transfo :

SI active_bloc = changed
ALORS exécution du script

script

local RGBplafond = calaos:getOutputValue("output_55") -- lumière RGB du plafond
local Wplafond = calaos:getOutputValue("output_72") -- lumière W du plafond
local RGBmeuble = calaos:getOutputValue("output_73") -- lumière RGB des meubles
local Wmeuble = calaos:getOutputValue("output_74") -- lumière W des meubles
local RGBplinthes = calaos:getOutputValue("output_75") -- lumière RGB des plinthes
local Wplinthes = calaos:getOutputValue("output_76") -- lumière W des plinthes
-- SI une lumière est différente de 0 (donc n'est pas éteinte)
if RGBplafond ~= "0" or Wplafond ~= "0" or RGBmeuble ~= "0" or Wmeuble ~= "0" or RGBplinthes ~= "0" or Wplinthes ~= "0"
then
-- ALORS allume le bloc
calaos:setOutputValue("output_81", true) -- output_81 correspond à la lumière "Fictive" et donc au relais du transfo
else
-- SINON coupe le bloc
calaos:setOutputValue("output_81", false)
end
return true