Aller au contenu

Messages recommandés

Posté(e)

Bonsoir,
bon toujours pas mieux :'(.

Pour récapituler mon GEA:

-- Déclaration variable TempPiscineCache à 0
    GEA.add (true, 0, "",  {"VariableCache", "TempPiscineCache", 0})
-- Stocker la température de la piscine (toute les 5 minutes) dans la variable si celle-ci est supérieur
    GEA.add({{"Value+", {"Value", id["Temp_EauPiscine"]}}, {"VariableCache", "TempPiscineCache"}},  5 * 60,  "La température de la piscine a augmenté : #value#°C", {{"Repeat"}, {"VariableCache", "TempPiscineCache", {"Value", id["Temp_EauPiscine"]}}})
-- Affiche la VariableCache
    GEA.add({"VariableCache", "TempPiscineCache"}, 60, "TempPiscineCache a une valeur : #value#°C", {"Value", id["TempPiscineCache"]})
-- Si la température de l'eau est entre 24 et 28°, faire tourner la piscine 10H :
    GEA.add({{"Time", "9:00"}, {"VariableCache+", "TempPiscineCache", 24}, {"VariableCache-", "TempPiscineCache", 28}}, 1*60, "Pompe de la piscine en marche pour 10H", {{"TurnOn", id["PompePiscine"], 10*60*60}})
 
Et le debug :
[10.06.2025] [20:57:59] [DEBUG] [QA_GEA_286]: @0s [Validation*] #33 : [true] => ["VariableCache",["TempPiscineCache",0]]
[10.06.2025] [20:57:59] [DEBUG] [QA_GEA_286]:    [Démarrage] #33 : [true] => ["VariableCache",["TempPiscineCache",0]]
[10.06.2025] [20:57:59] [DEBUG] [QA_GEA_286]:         [action] ["VariableCache",["TempPiscineCache",0]]
[10.06.2025] [20:58:04] [DEBUG] [QA_GEA_286]: @0s [Validation] #37 : ["Value+",[["Value",191]]] ["VariableCache",["TempPiscineCache"]] => ["VariableCache",["TempPiscineCache",["Value",191]]] *répété*
[10.06.2025] [20:58:04] [DEBUG] [QA_GEA_286]: @0s [Validation] #38 : ["VariableCache",["TempPiscineCache"]] => ["Value"]
 
Mais du coup le debug ne m'affiche pas la VariableCache.
Je pense que cest mon pb, car du coup ne sachant pas ce qu'elle contient (si ca se trouve rien), le GEA ne déclenche aucune de mes règles derrière.

Merci de m'avoir lu et merci d'avance pour votre aide :)
Posté(e)

Dans ta condition il y a quelques erreurs de syntaxe.


Il faut bien regarder les accolades ouvrantes et fermantes que tu as mis (tu peux utiliser Notepad++ avec la colorisation syntaxique LUA pour aider).

En fait tu as mis 2 conditions distinctes, séparées par une virgule :

{"Value+", {"Value", id["Temp_EauPiscine"]}}

et :

{"VariableCache", "TempPiscineCache"}

En outre, chaque condition n'est pas validée, car rien que dans la première tu as une erreur de syntaxe (des "Value" imbriquées), et puis tu compares à ... rien !

Idem pour la 2nde condition, il n'a pas de comparaison.

 

Essaye plutôt comme ça :

GEA.add({{"Value+", id["Temp_EauPiscine"], {"VariableCache", "TempPiscineCache"}}}, 5 * 60, "La température de la piscine a augmenté : #value#°C", {{"Repeat"}, {"VariableCache", "TempPiscineCache", {"Value", id["Temp_EauPiscine"]}}})

 

Posté(e)

ET (selon moi)

ta règle

-- Affiche la VariableCache

est inutile, car déjà dans

-- Stocker la température de la piscine (toute les 5 minutes) dans la variable si celle-ci est supérieur
 
Posté(e)

hello encore moi j'ai fait une scène avec deux conditions mais ça marche pas j'ai fait quoi comme erreur 

-- Vmc Auto Cuisine
GEA.add({"Or", {"Value+", 381, 52}, {"Value+", 110, 800}, {"Value", 431, false}}, 30, "", {{"TurnOn", 371}} ) -- humidité sup à 52% et Co2 sup à 800 ppm
GEA.add({"Or", {"Value-", 381, 50}, {"Value-", 110, 700}}, 30, "", {{"TurnOff", 371}} ) -- humidité inf à 50% et Co2 inf à 750 ppm
GEA.add({431}, 30,"", {{"TurnOff", 371}}) -- fenetre ouverte
Posté(e) (modifié)
Il y a 2 heures, domo a dit :

hello encore moi j'ai fait une scène avec deux conditions mais ça marche pas j'ai fait quoi comme erreur 

-- Vmc Auto Cuisine
GEA.add({"Or", {"Value+", 381, 52}, {"Value+", 110, 800}, {"Value", 431, false}}, 30, "", {{"TurnOn", 371}} ) -- humidité sup à 52% et Co2 sup à 800 ppm
GEA.add({"Or", {"Value-", 381, 50}, {"Value-", 110, 700}}, 30, "", {{"TurnOff", 371}} ) -- humidité inf à 50% et Co2 inf à 750 ppm
GEA.add({431}, 30,"", {{"TurnOff", 371}}) -- fenetre ouverte

Bonjour @domo,

 

Pour moi je pense que ca ne marchera jamais (mais je peux me tromper). Tu mets des valeurs un peu au pif dans ta règle non :D 


PS: adapte la règle mais voici une règle chez moi qui marche :
-- Extinction de la TV de la chambre au bout de 5min si elle est en veille (conso < 8W)
        GEA.add({"Sensor-", id["TV_Chambre1"], 8}, 5*60, "Extinction de la TV de la chambre 1",{"turnOff", id["TV_Chambre1"]})

Modifié par Manu31
Posté(e)

Bonsoir,

Merci @jojo & @Lazer pour votre temps.
Je test ca en fin de semaine et vous fait un retour.


PS: effectivement sous notepad++ Et langage LUA on voit de suite plus claire le code.
C'est plus sympa avec les couleurs ;)

Posté(e)
Il y a 3 heures, domo a dit :

hello encore moi j'ai fait une scène avec deux conditions mais ça marche pas j'ai fait quoi comme erreur 

-- Vmc Auto Cuisine
GEA.add({"Or", {"Value+", 381, 52}, {"Value+", 110, 800}, {"Value", 431, false}}, 30, "", {{"TurnOn", 371}} ) -- humidité sup à 52% et Co2 sup à 800 ppm
GEA.add({"Or", {"Value-", 381, 50}, {"Value-", 110, 700}}, 30, "", {{"TurnOff", 371}} ) -- humidité inf à 50% et Co2 inf à 750 ppm
GEA.add({431}, 30,"", {{"TurnOff", 371}}) -- fenetre ouverte

keep it  simple : si tu veux un Ou, le mieux c'est 2 lignes.

Ici tu mélanges tout : "Or" dans les condition et "et" dans la description ?????????????????????????

Posté(e)
il y a une heure, Manu31 a dit :

Tu mets des valeurs un peu au pif dans ta règle non :D 

je n'osais pas le dire

Posté(e)
Il y a 19 heures, jojo a dit :

Ici tu mélanges tout : "Or" dans les condition et "et" dans la description ?????????????????????????

Oui @domo comme le précise Jojo, c'est pas cohérent, dans le commentaire tu parles de "ET" et dans ta règle tu mets un "OU".
A mon avis il faut simplement que tu vires le "Or" et les accolades qui vont avec, car tu veux que les 2 conditions soient remplies simultanément, et non pas l'une OU l'autre.

Posté(e)

merci Lazer c'est exactement ça les accolades comme ça ou le deuxième 

GEA.add({{"Value+", 381, 52}, {"Value+", 110, 800}, {"Value", 431, false}}, 30, "", {{"TurnOn", 371}} ) -- humidité sup à 52% et Co2 sup à 800 ppm
GEA.add({{"Value-", 381, 50}, {"Value-", 110, 700}}, 30, "", {{"TurnOff", 371}} ) -- humidité inf à 50% et Co2 inf à 750 ppm
GEA.add({431}, 30,"", {{"TurnOff", 371}}) -- fenetre ouverte
 
GEA.add({"Value+", 381, 52}, {"Value+", 110, 800}, {"Value", 431, false}, 30, "", {{"TurnOn", 371}} ) -- humidité sup à 52% et Co2 sup à 800 ppm
GEA.add({"Value-", 381, 50}, {"Value-", 110, 700}, 30, "", {{"TurnOff", 371}} ) -- humidité inf à 50% et Co2 inf à 750 ppm
GEA.add({431}, 30,"", {{"TurnOff", 371}}) -- fenetre ouverte
Posté(e)

je voulais rebooter la boxe j'ai fait une ligne mais ça fonctionne pas j'ai fait quoi comme erreur :rolleyes:

 
GEA.add({{"Days", "Monday, Wednesday, Friday"}, {"Time","02:00", "02:01"}}, 30, "", {{"RebootHC3"}} ) -- La Boxe Reboot Le Lundi,Mercredi,Vendredi à 2 Heure Du Matin
Posté(e)

Bonjour,

 

Je voulais vous remercier @jojo et @Lazer :13:.
Effectivement, c'était vraiment la syntaxe et l'histoire de double condition.

 

Je teste ca encore une petite semaine et je mettrais à jour mon poste de domotisation piscine.

Encore merci à vous.

Posté(e)
Il y a 13 heures, domo a dit :

je voulais rebooter la boxe j'ai fait une ligne mais ça fonctionne pas j'ai fait quoi comme erreur :rolleyes:

 
GEA.add({{"Days", "Monday, Wednesday, Friday"}, {"Time","02:00", "02:01"}}, 30, "", {{"RebootHC3"}} ) -- La Boxe Reboot Le Lundi,Mercredi,Vendredi à 2 Heure Du Matin

de mémoire, l'action "Reboot" est toujours dispo dans GEA, MAIS Fibaro à supprimé cette fonctionnalité, donc c'est normal que ça ne fonctionne pas ...

Posté(e)

Ok je peux toujours chercher lol merci de m’avoir éclairé jojo 

j’ai une scène en Lua avec le reboot qui fonctionne il faut que je la lance avec GEA 

je vais regarder ça dès que je peux 

Posté(e)

si tu as une scène avec le reboot qui fonction, alors GEA devrait aussi.

La seule chose que je vois dans ton code, c'est une double {, alors qu'une simple devrait suffire (mais ça ne devrait pas être un soucis)

pour le reste, le vrai maître c'est @Lazer.

Pour débgugguer je ferais :

  1. tester la condition avec  l'envoi d'un mail
  2. simplifier la condition: d'abord essayer avec 1 jour
Posté(e)

Effectivement le Reboot ne fonctionnait plus depuis le firmware 5.050.13 :

 

 

Si tu as une scène dans laquelle ça fonctionne, je veux bien que tu la partages, ça m'aidera à comprendre.

 

Posté(e) (modifié)

Je veux bien la partager je fait comment pour faire ça  :D

je l’ai trouvé sur le forum officiel 

Modifié par domo
Posté(e)

j'ai testé ça donne ça mais rien de de reboot

[14.06.2025] [08:20:35] [DEBUG] [QA_GEA_321]: @30s [Validation*] #29 : ["Days",["Saturday"]] ["Time",["08:20","06:21"]] => ["RebootHC3"][14.06.2025] [08:20:35] [DEBUG] [QA_GEA_321]: GEA:check() difftime(30.0) >= 30[14.06.2025] [08:20:35] [DEBUG] [QA_GEA_321]:    [Démarrage] #29 : ["Days",["Saturday"]] ["Time",["08:20","06:21"]] => ["RebootHC3"][14.06.2025] [08:20:35] [DEBUG] [QA_GEA_321]:         [action] ["RebootHC3"]

 

Posté(e)

Essais ce matin ( 5.180.17) le service reboot fonctionne avec message d'erreur ... mais la HC3 redémarre, les services Shutdown et Suspend ne fonctionnent pas 

 

 

 ----------------------------------------------------------FONCTION RebootHC3--------------------------
function RebootHC3(self) 

    -- OK sauf message erreur sur la commande :  Error Commande Api : "End of file"
    local UserHc3 = self:getVariable("V_UserHc3")
    local PasswdHc3 = self:getVariable("V_PasswdHC3")

    local status, err = pcall(function()
        local stat,response  = self.http:request("http://localhost/api/service/reboot", {    
            options={ 
                headers = {
                    --["content-type"] = "application/json;charset=UTF-8",
                    ["Authorization"] = "Basic " .. base64(self, UserHc3 .. ":" .. PasswdHc3), 
                    ["X-Fibaro-Version"] = "2"
                }, 
                method = "POST"
            },
            success = function(response)
                self:trace("Commande Api OK : " .. json.encode(response))
            end,
            error = function(message)
                self:error("Error Commande Api : " .. json.encode(message))
            end,
        })
    end)
    if not status then
        self:error("Error on Pcall api/service/... : " .. err)
    end
end

 

Posté(e)

De mémoire (elle évolue ...), le Reboot a "toujours" fonctionné, mais c'est le shutdown qu'ils ont arrêté (d'ailleurs dans l'interface web, on sait lancer un redémarrage, mais pas un arrêt, de la box)

  • Like 1
Posté(e)

hello j'ai un problème avec cette ligne de commande même quand la consommation est supérieure à 30 W je reçois le message et je vois pas ce que j'ai fait de Traver merci de votre aide 

GEA.add({"Power-", 569, 2}, 30, "Le Jaccuzi Est Sûrment eteint - #date# à #time#.", {{"Repeat"}, {"Email", 2}, {"Portable",33}}) -- Jaccuzi Eteint

 

×
×
  • Créer...