Je souhaite programmer mes VR pour qu'ils se ferment partiellement en fonction du soleil, afin de limiter la chaleur qui rentre par les vitrages.
C'est à dire fermeture à 70% des VR ouest le matin, du lever du soleil jusqu'à environ 14h puis réouverture et fermeture à 70% des VR coté ouest.
L'idéal serait que ça se déclenche tout seul lorsqu'il y a du soleil et qu'il fait chaud... mais j'ai pas encore trouvé de critère intelligent... sinon un bouton pour valider la condition.
Ma question c'est :comment je peux programmer ca ?
J'ai essayé de créer le script...
A noter :
- Pour simplifier je n'ai mis que 4 VR représentatifs... j'en ai 17 au total.
- Je ne connais pas la commande qui permet l'ouverture total ou l'ouverture de X% de volets... j'ai mis au pif...
Comment se comporte le volet s'il est complètement ouvert et que je lui demande de s'ouvrir de 30% ?
Si quelqu'un veut bien jeter un oeil pour me corriger ? Merci d'avance.
Code:
Scénario :
Si Variable "Maison Vide" = "Vrai" alors
Si "Variable Temps" = "beau" alors
Si Variable "Position du Soleil " = "levé Est" alors
Si Variable "Température Salle à Manger" <= 22°C alors
Ouverture Totale VR
Sinon
Ouverture 30% VR Est et Sud
Ouverture Totale VR Ouest et Nord
Sinon Si "Position du Soleil " = "midi" alors
Si Variable "Température Salle à Manger" <= 22°C alors
Ouverture Totale VR
Sinon
Ouverture 30% VR Sud
Ouverture Totale VR Est, Ouest et Nord
Sinon Si "Position du Soleil " = "Levé Ouest" alors
Si Variable "Température Chambre 1" <= 20°C alors
Ouverture Totale VR
Sinon
Ouverture Total VR Est et Sud et Nord
Ouverture 30% VR Ouest
Sinon
Si Variable "Position du Soleil " != "couché" alors
Ouverture Totale VR
Sinon rien
Fin du script
Code:
SCRIPT LUA :
local maison_vide = calaos:getInputValue("input_XX")
local temps = calaos:getInputValue("input_XX")
local position_soleil = calaos:getInputValue("input_XX")
local temperature_sam = calaos:getInputValue("input_XX")
local temperature_ch1 = calaos:getInputValue("input_XX")
if maison_vide = true then
if temps = “beau” then
if position_soleil = "levé Est" then
if temperature_sam <= 22 then
calaos:setOutputValue("output_xx", up 100%) --VR Ouest
calaos:setOutputValue("output_xx", up 100%) --VR Est
calaos:setOutputValue("output_xx", up 100%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
else
calaos:setOutputValue("output_xx", up 100%) --VR Ouest
calaos:setOutputValue("output_xx", up 30%) --VR Est
calaos:setOutputValue("output_xx", up 30%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
elseif position_soleil = "midi" then
if temperature_sam <= 22 then
calaos:setOutputValue("output_xx", up 100%) --VR Ouest
calaos:setOutputValue("output_xx", up 100%) --VR Est
calaos:setOutputValue("output_xx", up 100%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
else
calaos:setOutputValue("output_xx", up 100%) --VR Ouest
calaos:setOutputValue("output_xx", up 100%) --VR Est
calaos:setOutputValue("output_xx", up 30%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
elseif position_soleil = "levé OuEst" then
if temperature_ch1 <= 20 then
calaos:setOutputValue("output_xx", up 100%) --VR Ouest
calaos:setOutputValue("output_xx", up 100%) --VR Est
calaos:setOutputValue("output_xx", up 100%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
else
calaos:setOutputValue("output_xx", up 30%) --VR Ouest
calaos:setOutputValue("output_xx", up 100%) --VR Est
calaos:setOutputValue("output_xx", up 100%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
end
else
if position_soleil != "Couché" then
calaos:setOutputValue("output_xx", up 100%) --VR Ouest
calaos:setOutputValue("output_xx", up 100%) --VR Est
calaos:setOutputValue("output_xx", up 100%) --VR Sud
calaos:setOutputValue("output_xx", up 100%) --VR Nord
end
else
end
return true
Merci Diouk pour les corrections ! Cool j'avais pas trop d'erreur...
Du coup une question me vient :
Pour "
calaos: setOutputValue("output_xx", "set 30")", on demande au VR de se mettre a 30%... mais du coup on peut prendre indifféremment "l'output" de montée ou de descente ? Est-ce que le système comprend que c'est 30% d'ouverture ou de fermeture suivant si je prend la montée ou la descente ?
l'output correspond a l'id de la sortie et non à la variable montée ou descente.
PS : je n'ai pas regardé si ton code fonctionnait sur le principe, juste corrigé ce qui me semblait faux
Ah oui autant pour moi... je teste ca dès que j'ai un moment et je vous tiens au jus !
PS : bon ben je verrai bien pdt les tests..
(10-02-2015, 01:04 PM)diouk Wrote: [ -> ]Code:
local maison_vide = calaos:getInputValue("input_0")
local temps = calaos:getInputValue("input_0")
local position_soleil = calaos:getInputValue("input_0")
local temperature_sam = calaos:getInputValue("input_0")
local temperature_ch1 = calaos:getInputValue("input_0")
if maison_vide then
if temps == "beau" then
if position_soleil == "levé Est" then
if temperature_sam <= 22 then
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx","set 100") --VR Est
calaos:setOutputValue("output_xx","set 100") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
else
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx", "set 30") --VR Est
calaos:setOutputValue("output_xx", "set 30") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
end
elseif position_soleil == "midi" then
if temperature_sam <= 22 then
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx", "set 100") --VR Est
calaos:setOutputValue("output_xx", "set 100") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
else
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx", "set 100") --VR Est
calaos:setOutputValue("output_xx", "set 30") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
end
elseif position_soleil == "levé OuEst" then
if temperature_ch1 <= 20 then
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx", "set 100") --VR Est
calaos:setOutputValue("output_xx", "set 100") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
else
calaos:setOutputValue("output_xx", "set 30") --VR Ouest
calaos:setOutputValue("output_xx", "set 100") --VR Est
calaos:setOutputValue("output_xx", "set 100") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
end
else
if position_soleil ~= "Couché" then
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx", "set 100") --VR Est
calaos:setOutputValue("output_xx", "set 100") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
end
end
end
end
return true
Il ne te manquerait pas une condition pour fermer les volets si >22°C ??
Je fonctionne avec un principe similaire depuis une bonne année mais pas en script (j'ai utilisé la bonne vielle méthode)
Ça m’allégerait ma conf de faire un script. Par contre j'utilise la fonction thermostat càd que je peux choisir la température que je souhaite avec le + ou -
est il possible de faire ca en script ?
De plus est il possible de connaitre la position des volets ? (s'ils sont à 0% 30% ou 100% ??) ca me servirait pour un autre scénario
(10-06-2015, 06:02 PM)tom Wrote: [ -> ] (10-02-2015, 01:04 PM)diouk Wrote: [ -> ]Code:
if temperature_sam <= 22 then
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx","set 100") --VR Est
calaos:setOutputValue("output_xx","set 100") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
else
calaos:setOutputValue("output_xx", "set 100") --VR Ouest
calaos:setOutputValue("output_xx", "set 30") --VR Est
calaos:setOutputValue("output_xx", "set 30") --VR Sud
calaos:setOutputValue("output_xx", "set 100") --VR Nord
end
Il ne te manquerait pas une condition pour fermer les volets si >22°C ??
Je fonctionne avec un principe similaire depuis une bonne année mais pas en script (j'ai utilisé la bonne vielle méthode)
Ça m’allégerait ma conf de faire un script. Par contre j'utilise la fonction thermostat càd que je peux choisir la température que je souhaite avec le + ou -
est il possible de faire ca en script ?
De plus est il possible de connaitre la position des volets ? (s'ils sont à 0% 30% ou 100% ??) ca me servirait pour un autre scénario
Non, la condition y est bien dans ce script :
Si la Température est <22°C alors
j'ouvre à 100% tous les volets
Sinon (donc si T>22°C)
j'ouvre à 30% les volets côté soleil et 100% les autres
Je pense oui que tu peux choisir ta température, il doit suffire de donner ta valeur à une variable et de t'en servir dans le script.
Tu connais la position des volets par l'id du VR, tu peux donc l'utiliser dans d'autres scripts
Avec l'id du VR tu peux récuperer la position en % ?
J'ai peut etre dit un co*****ie....
avec l'id non, mais vu que le système sait en permanence où se trouve ton VR, il doit bien y avoir une variable qui conserve cette valeur. On doit pouvoir la trouver, je suppose dans les paramètres du VR. Je regarde ce soir... si un "Pro de Calaos" passe par là et connait la réponse...