Aller au contenu

Support Gea


Steven

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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

 

Lien vers le commentaire
Partager sur d’autres sites

@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"}})
Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

@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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?
Lien vers le commentaire
Partager sur d’autres sites

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}
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...