Calaos, Home Automation Forum

Full Version: Le DMX et la variation
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
ok super merci raoulh je vais essayer ca... c'est plus fun que ma solution... Big Grin
Raoulh, si j'ai plus de 2 lumières sur le même bloc est il possible de mettre plus de 2 "or" dans le script ? Y a t'il une limite ?


J'ai une pièce avec 6 lumières (3RGB + 3W) soit 6 règles + la règle avec le script
N'y a t'il pas moyen de supprimer les 6 règles et faire uniquement avec un script dans une règle ?

Genre ça :


Code:
local RGBplafond = calaos:getOutputValue("output_55")
local Wplafond = calaos:getOutputValue("output_72")
local RGBmeuble = calaos:getOutputValue("output_73")
local Wmeuble = calaos:getOutputValue("output_74")
local RGBplinthes = calaos:getOutputValue("output_75")
local Wplinthes = calaos:getOutputValue("output_76")

if RGBplafond = changed then
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
end

if Wplafond = changed
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
end

if RGBmeuble = changed
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
end

if Wmeuble = changed
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
end

if RGBplinthes = changed
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
end


if Wplinthes = changed
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
end



if RGBplafond ~= "0" or Wplafond ~= "0" or RGBmeuble ~= "0" or Wmeuble ~= "0" or RGBplinthes ~= "0" or Wplinthes ~= "0"

then
   -- allume le bloc
   calaos:setOutputValue("output_57", true)
else
   -- coupe le bloc
   calaos:setOutputValue("output_57", false)
end
Pour 6 lampes il faudra rajouter les 6 dans le or et rajouter 6 regles pour le "changed".

Tu peux pas juste tout mettre dans le script car il faut pouvoir detecter le changement d'etat avec le "changed" sur chaque lampe.
ok merci Raoulh.

C'est comme ca que j'ai paramétré hier soir : 6 règles et les 6 "or" dans le script... je teste ca ce soir !

Dommage que se soit pas possible juste dans le script... je suis plutôt du genre à vouloir m'économiser... Cool Big Grin Tongue
Je viens de faire les test de la programmation de mes leds.

Il y avait plusieurs choses qui n'allaient pas :
- J'ai du créer une lumière fictive (avec visible=false pour ne pas qu'elle s'affiche) afin de pouvoir déclarer le N° de sortie automate et avoir une id du relais du transfo, car sauf erreur de ma part, il n'y pas moyen de mettre cette info dans le IO inter_boolean
- Dans les règles des lumières il faut mettre "toggle" pour la variable du bloc, car si on met "true" son état ne change qu'au 1er allumage après il ne bouge plus puisqu'il est toujours à "true" du coup impossible d'éteindre le bloc :

Code:
SI RGBplafond == changed
ALORS active_bloc = toggle



voila mon script :

Code:
local RGBplafond = calaos:getOutputValue("output_55")
local Wplafond = calaos:getOutputValue("output_72")
local RGBmeuble = calaos:getOutputValue("output_73")
local Wmeuble = calaos:getOutputValue("output_74")
local RGBplinthes = calaos:getOutputValue("output_75")
local Wplinthes = calaos:getOutputValue("output_76")

if RGBplafond ~= "0" or Wplafond ~= "0" or RGBmeuble ~= "0" or Wmeuble ~= "0" or RGBplinthes ~= "0" or Wplinthes ~= "0"
then
   -- allume le bloc
   calaos:setOutputValue("output_81", true)
else
   -- coupe le bloc
   calaos:setOutputValue("output_81", false)
end
return true


Au final j'ai du créer :
- 1 variable booléenne, qui permet de détecter un changement d'état de lumière
- 1 lumière "fictive" pour pouvoir actionner le relais
- 6 règles pour détecter le changement d'état des lumières
- 1 règles avec script pour gérer le relais du transfo.

Ca fonctionne bien, mais ca fait un peu usine à gaz... je vais réfléchir à une autre méthode pour essayer de simplifier, mais pas sur qu'il y ait plus simple...
Oui c'est las bonne methode, content que tu ai pu corriger les petits problemes.
Malheureusement il n'y a pas plus simple.
Ok... le principal c'est que ca fonctionne... Tongue

J'ai rajouté le script dans le wiki.
Super merci
Pages: 1 2 3 4 5 6 7