Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tuto Script LUA
#2
Le langage utilisé pour les script est du LUA, plus d'info ici:
http://www.lua.org/

Il faut par contre que j'ecrive la doc pour les fonctions propres à Calaos, mais en attendant on peut faire cela:
Code:
calaos:getInputValue("id")
calaos:getOutputValue("id")
calaos:setOutputValue("id", "valeur")
calaos:requestUrl("url")
calaos:requestUrl("url", "POST DATA")

On peut utiliser un script LUA aussi bien dans une condition que dans une action. Dans une condition, le script doit retouner true ou false pour déterminer si la condition est valide ou non et lancer les actions.

Voici un exemple complet de gestion de chauffage chez moi:
Code:
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

L'avantage d'utiliser un script c'est qu'on gérer plus finement les element. Surtout si on a besoin de faire des test par exemple "si temperature < sonde + consigne". On ne peut pas faire ce genre de chose avec des regles simples.

Il faut aussi garder a l'esprit que le script n'est pas executé en continue. Seulement lorsque qu'une IO que l'on specifie dans le regles change. Dans mon programme chauffage, j'ai donc mis les sondes de temperatures de mon chauffage et les consignes comme declencheur du script. Donc des qu'une temperature ou une consigne change, le script se lance pour voir si il faut allumer/couper la pompe, le plancher, l'appoint electrique, etc...
Raoul,
Calaos Core Dev.
Calaos git sur NUC NUC5PPYH | Wago 750-849 | DALI RGB | Sondes NTC sur 750-464 | Sondes 1Wire DS18B20 avec adaptateur USB DS9490R | Nodes MySensors avec gateway USB | Ecran tactile ELO avec adaptateur USB/RS232 | Squeezebox Duet et Radio | Logitech Harmony Ultimate | Ampli Pioneer VSX921
Reply


Messages In This Thread
Tuto Script LUA - by tom - 01-08-2014, 12:27 AM
RE: Tuto Script LUA - by raoulh - 01-08-2014, 10:29 AM
RE: Tuto Script LUA - by tom - 01-08-2014, 02:14 PM
RE: Tuto Script LUA - by raoulh - 01-08-2014, 02:22 PM
RE: Tuto Script LUA - by captainigloo - 01-08-2014, 02:59 PM
RE: Tuto Script LUA - by tom - 01-09-2014, 12:06 AM
RE: Tuto Script LUA - by raoulh - 01-09-2014, 10:10 AM
RE: Tuto Script LUA - by tom - 01-09-2014, 10:36 AM
RE: Tuto Script LUA - by raoulh - 01-09-2014, 10:40 AM
RE: Tuto Script LUA - by tom - 01-09-2014, 07:00 PM
RE: Tuto Script LUA - by Cyridle - 02-01-2015, 12:29 AM
RE: Tuto Script LUA - by Eric64 - 12-22-2015, 04:42 PM
RE: Tuto Script LUA - by raoulh - 12-22-2015, 05:58 PM
RE: Tuto Script LUA - by Eric64 - 12-22-2015, 06:15 PM
RE: Tuto Script LUA - by Eric64 - 12-22-2015, 06:44 PM
RE: Tuto Script LUA - by captainigloo - 12-23-2015, 03:50 PM
RE: Tuto Script LUA - by Eric64 - 12-23-2015, 07:20 PM
RE: Tuto Script LUA - by Eric64 - 12-23-2015, 07:47 PM
RE: Tuto Script LUA - by captainigloo - 12-23-2015, 08:36 PM
RE: Tuto Script LUA - by Eric64 - 02-15-2016, 09:46 AM
RE: Tuto Script LUA - by raoulh - 02-15-2016, 10:25 AM
RE: Tuto Script LUA - by Eric64 - 02-16-2016, 12:15 PM
RE: Tuto Script LUA - by raoulh - 02-16-2016, 12:29 PM
RE: Tuto Script LUA - by Eric64 - 02-16-2016, 03:12 PM
RE: Tuto Script LUA - by eh3an2010 - 12-15-2017, 07:51 AM

Forum Jump:


Users browsing this thread: 3 Guest(s)