Aller au contenu

Sebbrunie1

Membres confirmés
  • Compteur de contenus

    250
  • Inscription

  • Dernière visite

Messages posté(e)s par Sebbrunie1

  1.  

    @Sebbrunie1

    Quelques {"Repeat"} devrait résoudre ton problème, je te laisse chercher :)

    .

    .

     

    Moi je retiens un truc, quand ca marche pas, il faut mettre {"Repeat"}.... c'est pas compliqué :)

  2. 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}
  3. 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

  4. @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"}})
  5. 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

  6. a mon sens le repeat n'est pas utile. Tu demande à  ta tête Danfoss de regler sur une T°C que tu as déjà  mise juste avant ....

     

    moi je mettrais cela

    GEA.add( {"Global", "Presence", "present"}, 30, "", {{"Time", "01:00", "01:01"}, { "Value", 33, 20}})
    GEA.add( {"Global", "Presence", "present"}, 30, "", {{"Time", "07:00", "01:01"}, { "Value", 33, 22}})
  7. Bonjour

     

    Mon GEA géolocalisation, oui j'en ai un specialement pour cette tache ne tourne pas spontanément tout seul. 

     

    J'ai la distance qui se calcule que lorsque je sauvegarde la scene. Sinon, il ne se passe rien.

     

    Comment  puis je faire?

     

    Merci

     

    Sebastien

     

    --[[
    %% autostart
    %% properties
    %% globals
    geostarter
    --]]
    local geostater1 = {"Global", "geostarter", "1"} 
    local geostater1 = {"Global", "geostarter", "0"} 
    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, 30, "", {{"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"}})
  8. Hello,

     

    @Sebbrunie1
     
    Dans ton code, tu as ceci :
     

    local userLocation = GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}})
    
    local DistanceMaison1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end}
    
    userLocation contient l'ID GEA de ta ligne et non pas le contenu de ta variable global "EmplacementSeb".

    Moi perso, je mettrais ce code dans tes lignes DistanceXXXXX
    --local userLocation = 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)*100)/100 end}
    
    Donc supprimer la &ere ligne de GEA qui ne sert plus et mettre directement l'interrogation de la position de l'utilisateur dans la fonction de calcul.

    Courage

    P.S Dans mon cas, j'habite à  1'088'063.58 de chez toi ... j'espère que c'est des mêtres :-)

     

     

    Ca marche nickel.... merci @Steven pour tout l'aide :)

  9. Moi c'est ce que j'ai fait pour la femme de ménage ou lorsqu'il y a la grand mère.

     

    J'ai un VD avec des boutons "oui" ou "non" qui vont me met la valeur dans une variable.

     

    En effet obligation d'avoir plus de ligne prenant en compte les différents cas.

     

    Sinon, peut être arrêter des taches si invité présent et en activer d'autre....

  10. @Fredric

    Ok, le soucis est en réalité super simple ... le Repeat :)

     

    Voici mon test :

      GEA.add(56, -1, "", {{"turnOff", 176}})
      GEA.add(58, -1, "", {{"turnOff", 176}})
      GEA.add({{"Value", 56, 0},{"Value", 58, 0}}, 30, "",  {{"turnOn", 176},{"Repeat"}})
    
    

    56 et 58 sont des détecteur de porte et 176 un wallplug.

     

    Sans le Repeat, ton premier test fonctionne, puis la tache se stop et ne sera donc pas active lors de ton 2ème test. Cela te donne l'impression que cela fonctionne que lorrsque la 1ere condition est remplie.

     

    Par contre, avec le Repeat, la tache ne se met jamais en sommeil et cela fonctionne à  tout les coups  :60:

     Est ce que cela veut dire qu'il faut mettre repeat dès qu'on a plus d'une condition?

    • Upvote 1
  11. Tu n'embêtes pas, ce qui m'embête c'est de prendre la peine et le temps de répondre à  des gens qui, eux, ne prennent pas le peine de lire la réponse :)

     

    Garce à  ta re-re-demande :), J'ai vu un soucis :

     

    Prenons un exemple : 

    local DistanceEternoz1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}
    

    Le soucis est que ta fonction retourne un nombre alors que function doit retourné en 1ER un booléen (vrai ou faux) puis la valeur.

     

    Donc dans ton cas, il faudra faire cela :

    local DistanceEternoz1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}
    

    un petit true, en plus et cela devrait (je l'espère) résoudre ton soucis.

     

    Je te laisse le mettre sur toutes tes lignes, re-tester et nous tenir au courant.

    Alors,

     

    les variables globales ne se mettent pas à  jour

     

    local userLocation = GEA.add({"Property!", 238, "Location", "0"}, 30, "", {{"Global", "EmplacementSeb", "#value#"}})
    local EmplacementMaison1 = "48.84745534593;2.4532449245453"
    local EmplacementBureau1 = "48.81907202982484;2.3286187648773193"
    local EmplacementCarantec1 = "48.667815;-3.914054999999962"
    local EmplacementEternoz1 = "47.00751;6.029551999999967"
    
    
    -- Localisation EmplacementSeb
    
    
    local DistanceMaison1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end}
    local DistanceBureau1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementBureau1)*100)/100 end}
    local DistanceCarantec1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementCarantec1)*100)/100 end}
    local DistanceEternoz1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}
    
    
    GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# m"}})
    GEA.add(DistanceMaison1, 30, "", {{"Global", "DistanceMaison", "#value#"}, {"Label", id["DISTANCE"], "Label1", "#value# m"}})
    GEA.add(DistanceCarantec1, 30, "", {{"Global", "DistanceCarantec", "#value#"}, {"Label", id["DISTANCE"], "Label3", "#value# m"}})
    GEA.add(DistanceEternoz1, 30, "", {{"Global", "DistanceEternoz", "#value#"}, {"Label", id["DISTANCE"], "Label4", "#value# m"}})
    
    
    -- message maison
    GEA.add({"Global-", "DistanceMaison", "100"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"MaxTime", "1"}})
        -- ==================================================

    et le debug

    [DEBUG] 21:52:03: [ Property [238|Location] ~= 0 ] Add Autostart : ajout de la tache pour 30 secondes (ID:1) [Global,EmplacementSeb,#value#]
    [DEBUG] 21:52:03: [ Function ] Add Autostart : ajout de la tache pour 30 secondes (ID:2) [Global,DistanceBureau,#value#] [Label,56,Label2,#value# m]
    [DEBUG] 21:52:03: [ Function ] Add Autostart : ajout de la tache pour 30 secondes (ID:3) [Global,DistanceMaison,#value#] [Label,56,Label1,#value# m]
    [DEBUG] 21:52:03: [ Function ] Add Autostart : ajout de la tache pour 30 secondes (ID:4) [Global,DistanceCarantec,#value#] [Label,56,Label3,#value# m]
    [DEBUG] 21:52:03: [ Function ] Add Autostart : ajout de la tache pour 30 secondes (ID:5) [Global,DistanceEternoz,#value#] [Label,56,Label4,#value# m]
    [DEBUG] 21:52:03: [ DistanceMaison=100 ] Add Autostart : ajout de la tache pour 30 secondes (ID:6) [MaxTime,1]
    [DEBUG] 21:52:03: GEA Version 5.32 : en exécution...
    [DEBUG] 21:52:33: [ Property [238|Location] ~= 0 ] sendActions : traitement des actions (ID:1) [Global,EmplacementSeb,#value#]
    [DEBUG] 21:52:33: [ Property [238|Location] ~= 0 ] sendActions : !ACTION! : setGlobal EmplacementSeb,48.8195276856;2.3277393386 (ID:1) [Global,EmplacementSeb,#value#]
    [DEBUG] 21:52:33: [ Property [238|Location] ~= 0 ] Done : tache effectuée et suspendue (ID:1) [Global,EmplacementSeb,#value#]
    [DEBUG] 21:52:33: [ DistanceMaison=100 ] !!! ERREUR !!! : vérification (ID:6) [MaxTime,1]
    [DEBUG] 21:53:03: [ DistanceMaison=100 ] sendActions : traitement des actions (ID:6) [MaxTime,1]
    [DEBUG] 21:53:04: [ DistanceMaison=100 ] sendActions : !ACTION! : sendPush Je suis à  moins de 0 m à  21:53:03 de la maison (ID:6) [MaxTime,1]
    [DEBUG] 21:53:04: [ DistanceMaison=100 ] Done : tache effectuée et suspendue (ID:6) [MaxTime,1]

    Merci Steven, et désolé de ce truc compliqué...

  12. Alors c'est uniquement pour rigoler car cela ne va pas du tout fonctionner :)

     

    Voici le même code mais qui "devrait" fonctionner 

    local DistanceMaison1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementMaison1)*100)/100 end}
    local DistanceBureau1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementBureau1)*100)/100 end}
    local DistanceCarantec1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementCarantec1)*100)/100 end}
    local DistanceEternoz1 = {"Function", function() return math.floor(fibaro:calculateDistance(userLocation, EmplacementEternoz1)*100)/100 end}
    
    GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# m"}})
    GEA.add(DistanceMaison1, 30, "", {{"Global", "DistanceMaison", "#value#"}, {"Label", id["DISTANCE"], "Label1", "#value# m"}})
    GEA.add(DistanceCarantec1, 30, "", {{"Global", "DistanceCarantec", "#value#"}, {"Label", id["DISTANCE"], "Label3", "#value# m"}})
    GEA.add(DistanceEternoz1, 30, "", {{"Global", "DistanceEternoz", "#value#"}, {"Label", id["DISTANCE"], "Label4", "#value# m"}})
    
    -- message maison
    GEA.add({"Global-", "DistanceMaison", "100"}, 30, "Je suis à  moins de #value# m à  #time# de la maison", {{"MaxTime", "1"}})
    

    GEA.add ( CONDITION, durée, message, ACTIONS )

     

    Lors que GEA vérifie les CONDITIONs, il stock le résultat de la condition dans une variable #value# qu'on peut repassée dans les labels et globals des ACTIONS.

    Et donc s'il me retourne #value# dans Global, c'est que le calcul de la distance ne se fait pas?

     

    Est ce que le calcul ne se fait pas, par ce que jes coordonées geo sont prises comme du texte et non comme du chiffre?

     

    Merci d'avance :)

     

    J'espère que j’embête pas tout le forum avec mon problème de distance... :(

×
×
  • Créer...