Posts: 359
Threads: 25
Joined: Nov 2013
Reputation:
2
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 ?
CALAOS V3 | WAGO 750-849 | NUC NUC5PPYH | Ecran tactile ELO 1537L avec Ampli VGA et adaptateur USB/RS232 Grillé |
Sondes PT1000 | DMX RGBW pour Rubans Leds 24v | Caméras POE Weisky
Posts: 359
Threads: 25
Joined: Nov 2013
Reputation:
2
10-02-2015, 08:54 AM
(This post was last modified: 10-02-2015, 08:56 AM by Eric64.)
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
CALAOS V3 | WAGO 750-849 | NUC NUC5PPYH | Ecran tactile ELO 1537L avec Ampli VGA et adaptateur USB/RS232 Grillé |
Sondes PT1000 | DMX RGBW pour Rubans Leds 24v | Caméras POE Weisky
Posts: 355
Threads: 14
Joined: Nov 2013
Reputation:
1
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
calaos-server/home on meleg | elo touch 1537L
wago controller 750-849 | knx module 753-646
Calaos-os V2.0
Posts: 359
Threads: 25
Joined: Nov 2013
Reputation:
2
10-02-2015, 01:31 PM
(This post was last modified: 10-02-2015, 01:33 PM by Eric64.)
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 ?
CALAOS V3 | WAGO 750-849 | NUC NUC5PPYH | Ecran tactile ELO 1537L avec Ampli VGA et adaptateur USB/RS232 Grillé |
Sondes PT1000 | DMX RGBW pour Rubans Leds 24v | Caméras POE Weisky
Posts: 355
Threads: 14
Joined: Nov 2013
Reputation:
1
10-02-2015, 02:22 PM
(This post was last modified: 10-02-2015, 03:07 PM by diouk.)
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
calaos-server/home on meleg | elo touch 1537L
wago controller 750-849 | knx module 753-646
Calaos-os V2.0
Posts: 359
Threads: 25
Joined: Nov 2013
Reputation:
2
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..
CALAOS V3 | WAGO 750-849 | NUC NUC5PPYH | Ecran tactile ELO 1537L avec Ampli VGA et adaptateur USB/RS232 Grillé |
Sondes PT1000 | DMX RGBW pour Rubans Leds 24v | Caméras POE Weisky
Posts: 264
Threads: 18
Joined: Oct 2013
Reputation:
0
(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
Calaos v1.1.20 sur Advantech | Ecran tactile | Wago 750-849 | DALI halogène + LED RGB | Intrusion KSENIA
Squeezebox on Raspberry | Zibase Pro (Enocean+Zwave+Oregon) | Ecodevice | Script LUA | Hyperviseur en court de test
Test v2 RC2 automate + serveur sur réseau identique
Posts: 359
Threads: 25
Joined: Nov 2013
Reputation:
2
(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
CALAOS V3 | WAGO 750-849 | NUC NUC5PPYH | Ecran tactile ELO 1537L avec Ampli VGA et adaptateur USB/RS232 Grillé |
Sondes PT1000 | DMX RGBW pour Rubans Leds 24v | Caméras POE Weisky
Posts: 264
Threads: 18
Joined: Oct 2013
Reputation:
0
Avec l'id du VR tu peux récuperer la position en % ?
Calaos v1.1.20 sur Advantech | Ecran tactile | Wago 750-849 | DALI halogène + LED RGB | Intrusion KSENIA
Squeezebox on Raspberry | Zibase Pro (Enocean+Zwave+Oregon) | Ecodevice | Script LUA | Hyperviseur en court de test
Test v2 RC2 automate + serveur sur réseau identique
Posts: 359
Threads: 25
Joined: Nov 2013
Reputation:
2
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...
CALAOS V3 | WAGO 750-849 | NUC NUC5PPYH | Ecran tactile ELO 1537L avec Ampli VGA et adaptateur USB/RS232 Grillé |
Sondes PT1000 | DMX RGBW pour Rubans Leds 24v | Caméras POE Weisky
|