pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Que tu sois présent ou absent c'est la meme temperature pour toi ? tu ne changes pas la valeur de value ? @sebbrunie : tu as modifie aussi dans ta conf GEA ? GEA_TASKS
Sebbrunie1 Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 si mais je pense que tu dois faire une seule commande. Tu n'as pas besoin de le faire sur une aussi longue période. Ta variable Presence est mise à jour en continu? sinon tu peux faire ca: GEA.add( {"Global", "Presence", "present"}, -1, "", {{"Time", "01:00", "06:00"}, { "Value", 33, 20}}) GEA.add( {"Global", "Presence", "present"}, -1, "", {{"Time", "07:00", "01:00"}, { "Value", 33, 22}}) Le -1 à la place de 30 va commander la température dès que ta variable presence changera. ET puis tu peux mettre toutes tes têtes sur la même tache si elles ont la même température
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @pepite non effectivement pour la nuit il n'y a pas de changement. C'est uniquement en journée. Mais si les Danfoss répondent j'adapterai en fonction...
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Merci @Sebbrunie1 je teste ca tout de suite !
pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 n'oublie pas de mettre ta varibale presence dans l'entete avec le code de sebbrunie
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @sebbrunie, Comment changes-tu ta variable ? si elle est changée via le panel variable, cela ne génère pas de trigger
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @pepite le nouveau code donne ca si je ne fait pas d'erreur : -- Thermostats at 20° from 01h00 to 06h00 if Present GEA.add( {"Global", "Presence", "present"}, -1, "", {{"Time", "01:00", "06:00"}, { "Value", 33, 20}, { "Value", 27, 20}, { "Value", 392, 20}}) -- Thermostats at 20° from 01h00 to 06h00 if Absent GEA.add( {"Global", "Presence", "absent"}, -1, "", {{"Time", "01:00", "06:00"}, { "Value", 33, 20}, { "Value", 27, 20}, { "Value", 392, 20}}) -- Thermostats at 22° from 07h00 to 01h00 if Present GEA.add( {"Global", "Presence", "present"}, -1, "", {{"Time", "07:00", "01:00"}, { "Value", 33, 22}, { "Value", 27, 22}, { "Value", 392, 22}}) -- Thermostats at 20° from 07h00 to 01h00 if Absent GEA.add( {"Global", "Presence", "absent"}, -1, "", {{"Time", "07:00", "01:00"}, { "Value", 33, 20}, { "Value", 27, 20}, { "Value", 392, 20}}) @jojo je change ma variable avec un module virtuel a deux bouton.
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 ça devrait donc le faire, mais ton scipt tourne de toute façon automatiquement toutes les 30s. Ce délais est-il trop long ?
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Bon pas de changement @jojo non c'est juste que les têtes Danfoss ne changent pas. Pourtant Scheduler fonctionnait...
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @ihexly, je répondais à @sebbrunie ...
pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @ihexley : ta variable presence est bien dans l'entete ?
Sebbrunie1 Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @ihexley et dans ces têtes Danfoss, la température est en value? C'est la bonne commande? Je ne sais pas n'en n'ayant pas.... @Jojo, via GEA. Ma variable change toutes les 30 sec GEA.add({"Global", "geostarter", "0"}, 30, "", {{"Global", "geostarter", "1"}}) GEA.add({"Global", "geostarter", "1"}, 30, "", {{"Global", "geostarter", "0"}})
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @pepite dans l'entête de GEA ? si oui sous quelle forme ? Merci.
Sebbrunie1 Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 --[[ %% autostart %% properties %% globals Presence --]]
pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Oui dans l'entete de GEA pour l'instantané (-1) %% globals Presence @sebbrunie : tu as mis geostarter dans l'entete pour le declenchement instantané mais dans ton code ta durée est à30 et non à-1 ?
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @Sebbrunie1 Avec Scheduler les Danfoss répondaient àla commande setTargetLevel.
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @pepite @Sebbrunie1 Non je n'ai pas mis ma variable globale dans l'entête (ce que je vais faire de ce pas) mais pour d'autres variables globales non plus (Ecodevices par exemple) et les autres lignes de code fonctionnent elles.
Sebbrunie1 Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @Pepite Ce sont deux instances GEA differentes
pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 l'entete est necessaire uniquement pour les declenchements instantanés @seb : donc dans ce cas as tu change cela ? : GEA.globalTasks = "GEA_Tasks"
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @sebbruniel, Je ne suis pas sà»r de bien comprendre ton code. tu commences par local geostater1 = {"Global", "geostarter", "1"} local geostater1 = {"Global", "geostarter", "0"} donc à quoi sert la première ligne, vu que le résultat sera écrasé par la seconde ? de plus je ne vois pas où tu utilises geostater1 ensuite
ihexley Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Pas mieux avec la variable en entête. Merci tout de même.
Sebbrunie1 Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Mon vrai code est: local EmplacementMaison1 = "48.84745534593;2.4532449245453" local EmplacementBureau1 = "48.81907202982484;2.3286187648773193" local EmplacementCarantec1 = "48.667815;-3.914054999999962" local EmplacementEternoz1 = "47.00751;6.029551999999967" local EmplacementSeb1 = {"Function", function() return fibaro:getValue(238, "Location") end} -- Localisation EmplacementSeb GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}}) local DistanceMaison1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementMaison1))/1000 end} local DistanceBureau1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementBureau1))/1000 end} local DistanceCarantec1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementCarantec1))/1000 end} local DistanceEternoz1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementEternoz1))/1000 end} GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# km"}}) GEA.add(DistanceMaison1, -1, "", {{"Global", "DistanceMaison", "#value#"}, {"Label", id["DISTANCE"], "Label1", "#value# km"}}) GEA.add(DistanceCarantec1, 30, "", {{"Global", "DistanceCarantec", "#value#"}, {"Label", id["DISTANCE"], "Label3", "#value# km"}}) GEA.add(DistanceEternoz1, 30, "", {{"Global", "DistanceEternoz", "#value#"}, {"Label", id["DISTANCE"], "Label4", "#value# km"}}) -- message maison GEA.add({"Global-", "DistanceMaison", "0.1"}, 30, "Je suis à moins de #value# m à #time# de la maison", {{"MaxTime", "1"}}) Qui marche très bien mais qui se lance que lorsque je sauvegarde la scène GEA. J'aimerai qu'il calcul les distance toutes les 30 sec ou mieux que lorsque mes coordonnées geo changent. Oui j'ai changé GEA.globalTasks = "GEA_Tasks" J'ai essayé de me dépatouyer en créant une variable qui change toutes les 30 sec mais sans succès
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 je suis loin d'être un expert GEA, mais 3 bêtes questions : as-tu bien mis le paramètre d'exécution du script à30s ? (encore plus bête, mais on ne sait jamais, c'est tellement gros) la scène est-elle bien active ? ligne 21, je vois -1, ne devrait-ce pas également être 30 ?
Sebbrunie1 Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 alors oui c'est à 30 sec, la scène est active (le calcul se fait à l'enregistrement mais plus après) et ligne 21 oui c'est à 30 mais un petit oublie après changement de code Et puis il n'y a rien de bête Je pense que ce sont ces lignes qui ne s'éxecutent pas toutes les 30 sec local DistanceMaison1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementMaison1))/1000 end} local DistanceBureau1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementBureau1))/1000 end} local DistanceCarantec1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementCarantec1))/1000 end} local DistanceEternoz1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementEternoz1))/1000 end}
Messages recommandés