Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

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:

 

  1. 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

Posté(e)

@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...

Posté(e)

@sebbrunie,

Comment changes-tu ta variable ? si elle est changée via le panel variable, cela ne génère pas de trigger

Posté(e)

@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.

 

Posté(e)

ça devrait donc le faire, mais ton scipt tourne de toute façon automatiquement toutes les 30s. Ce délais est-il trop long ?

Posté(e)

Bon pas de changement :(

@jojo non c'est juste que les têtes Danfoss ne changent pas. Pourtant Scheduler fonctionnait...

Posté(e)

@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"}})
Posté(e)

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 ?

Posté(e)

@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.

Posté(e)

l'entete est necessaire uniquement pour les declenchements instantanés

 

@seb : donc dans ce cas as tu change cela ? :

GEA.globalTasks = "GEA_Tasks"
Posté(e)

@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

Posté(e)

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é 

  1. 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

Posté(e)

je suis loin d'être un expert GEA, mais 3 bêtes questions :

  1. as-tu bien mis le paramètre d'exécution du script à30s ?
  2. (encore plus bête, mais on ne sait jamais, c'est tellement gros) la scène est-elle bien active ?
  3. ligne 21, je vois -1, ne devrait-ce pas également être 30 ?
Posté(e)

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

 

  1. 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}
×
×
  • Créer...