Aller au contenu

Support Gea


Steven

Messages recommandés

en relisant la syntaxe je vois que pour open ou close il y a open+ open- etc... maintenant

 

don pour cette ligne

qui ouvre les volets du salon, sauf si c'était deja le cas --> value- ; 90

    GEA.add({Present,id["MOV_SALON"], {"Value-", id["VOLETS_CUISINE"], 90},{"Time", "07:00", "09:00"}}, 30, "#time# - Ouverture Volets", {{"Open",id["VOLETS_SALON"]},{"Open",id["VOLETS_CUISINE"]},{"VirtualDevice", id["SURVEILLANCE_STATION"], 8},{"VirtualDevice", id["SURVEILLANCE_STATION"], 12}})

je devrais plutôt la modifier en

    GEA.add({Present,id["MOV_SALON"], {"Open+", id["VOLETS_CUISINE"], 90},{"Time", "07:00", "09:00"}}, 30, "#time# - Ouverture Volets", {{"Open",id["VOLETS_SALON"]},{"Open",id["VOLETS_CUISINE"]},{"VirtualDevice", id["SURVEILLANCE_STATION"], 8},{"VirtualDevice", id["SURVEILLANCE_STATION"], 12}})

? ou value- ca marcher quand meme ?

Modifié par Sakkhho
Lien vers le commentaire
Partager sur d’autres sites

v.6.04 7 janvier  2018 

  • add : Roomlights ... {"RoomLights", <nom de la pièce>, "turnOn"|"turnOff"}
  • add : Sectionlights ... {"SectionLights", <nom de la séction>, "turnOn"|"turnOff"}
  • mod : correct Weather, erreur ajoutée en V6.03
  • mod : #datefull# erreur sur le dimanche
  • mod : correction déclenchement instantané qui stop la mauvaise tache
  • mod : correction déclenchement instantané avec plusieurs conditions
  • add : Slider
  • mod : Close 100 = tout fermé, 0 tout ouvert
  • mod : Open et Close peuvent recevoir plusieurs ids {"Open", {id1, id2}, valeur}
  • mod : optimisation des déclenchements immédiats (1ère passe)

Le script est ici : 

 

@MAM78, @pepite le support de Sonos et Backup seront pour la future version. Les corrections avant tout :-)

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

il y a 12 minutes, Sakkhho a dit :

en relisant la syntaxe je vois que pour open ou close il y a open+ open- etc... maintenant

...

? ou value- ca marcher quand meme ?

"Open" et "Close" redirigent sur "Value" donc cela revient exactement au même, c'est plus un soucis de lisibilité de ton code. Si je lit "Open+" je vois de suite de quoi il s'agit alors que "Value+" me semble moins approprié.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, Steven a dit :

@MAM78, @pepite le support de Sonos et Backup seront pour la future version. Les corrections avant tout :-)

 

Hello @Steven merci pour cette livraison.

 

Snif pour mes propositions :( mais, il n'y a pas seulement des corrections dans cette V6.04 :P 

 

Pour ne pas oublier, il reste si tu veux bien intégrer dans la prochaine version les corrections / évolutions ci-dessous : :13:

 

En attendant, je ferais des copier / coller :P

 

Pour ceux qui souhaitent continuer à tester ma version, voici le fichier construite sur la base de la V6.04 officielle de Steven et dans laquelle j'ai réintégré mes add-ons :

 

     gea_6_04-MAM78.lua

 

Change log :

 

-- ==========================================================
-- v.6.04 MAM78 modified the 7 jan. 2018 on the base of V6.04 from Steven
-- add : Sonos TTS message function
--       Exemple :

GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", 40}, "Annonce de la météo")
GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "We are #datefull# the outside temperature is #tempsext# degrees and the weather is #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "We are the #datefull# the outside temperature is #tempsext# degrees and the weather is #value[2]#", 40}, "Wheater annonce")

-- add : Sonos MP3 message function and add sonosMP3foldername variable,
--       Exemple :

GEA.add({id["DETECTEUR_PORTE_GARAGE"], {"Time", "Sunset-15", "Sunrise+5"}}, -1, "La porte du garage vient d être fermée", {{"Inverse"}, {"Sleep", 7, {"sonosmp3", id["VD_SONOS"], id["VD_SONOS_BT"], "Fermeture Porte Cave.mp3", 40}}}, "Fermeture porte Garage")

-- add : #tempsext# substitution text for the external temperature rounded without decimals

-- mod : debug the transpose function
-- mod : modify the action message in debug windows with the transposed values
-- ==========================================================

 

1) Fonctions Sonos

 

Ajouter :

    sonosmp3 = {name = "Sonos MP3",
                    action = function(vd_id, button_id, filename, volume)
                      if (not volume) then volume = 30 end
                      local _f = fibaro
                      local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end}
                      _x:set(tostring(vd_id), { stream = {stream=GEA.sonosMP3foldername..filename, source="local", duration="auto", volume=volume} })
                      _f:call(vd_id, "pressButton", button_id)
                    end
                },

    sonostts = {name = "Sonos TTS",
                    action = function(vd_id, button_id, message, volume)
                      local message = GEA.getMessage(message)
                      local langue = "en-US"
                      if GEA.language:lower() == "fr" then
                        langue = "fr-FR"
                      end
                      if (not volume) then volume = 30 end
                      local _f = fibaro
                      local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end}
                      _x:set(tostring(vd_id), { tts = {message=message, duration='auto', language=langue, volume=volume} })
                      _f:call(vd_id, "pressButton", button_id)
                    end
                }

Ajouter dans la partie -- CONFIGURATON GENERALE : 

  GEA.sonosMP3foldername = "//xxxxxxxx/music/Domotique/Domotique/iTunes Media/Music/Sons Domotiques/Sons Domotiques/"

 

3) Substitutions de valeurs #tempsext#

 

Ajouter :

      if (message:find("#tempsext#")) then
      	message = message:gsub("#tempsext#", tonumber(string.format("%.0f", GEA.getOption({"weather", "Temperature"}).getValue())))
      end

 

3) Fonction transpose

 

Remplacer :

      transpose = {name = "Transpose", 
                  getValue=function(table1, table2, value) tools.error(table1) return GEA.translate(value, table1, table2) end
                },

par :

    transpose = {name = "Transpose",
                     getValue=function(value, table1, table2) return GEA.translate(value, table1, table2) end,
                     action  =function(value, table1, table2) return GEA.translate(value, table1, table2) end
                },

 

3) Clarifier le contenu du mode debug, en ligne 1341 :

 

Remplacer :

          tools.debug("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;["..GEA.trad.action.."] " .. entry.actions[i].getLog())

Par :

          tools.debug("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;["..GEA.trad.action.."] " .. GEA.getMessage(entry.actions[i].getLog()))

 

Modifié par MAM78
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 3 minutes, MAM78 a dit :

 

Hello @Steven merci pour cette livraison.

 

Snif pour mes propositions :( mais, il n'y a pas seulement des corrections dans cette V6.04 :P 

 

 

En effet, il y a aussi des nouveautés mais qui ont été testées et validées :D. Et je n'ai pas annulé tes modifications, j'ai bien précisé qu'elles seraient pour la prochaine version.

 

Pour transpose, j'ai mis ta proposition pour la future version.

Pour Sonos, c'est en attente de validation, par contre, je n'aime pas la  variable GEA.sonosMP3foldername ... pourquoi ? Simplement parce que les variable GEA.<nom> sont liée au fonctionnement de GEA. Hors la il s'agit d'une option utilisée par peu de personne.

 

Rien n’empêche de faire quelque chose ainsi

local folder = "xxxxxx/music.../"
GEA.add(..., ..., "", {"SonosMP3", 140, 1, folder.."mon_fichier.mp3", 40})

Juste dans le but de garder la logique de GEA.

 

Autre petite chose qui m'ennuie est le #tempsext# car il s'agit d'un usage propre à toi et non pas à une généralité de personne. L'idée de base de GEA est de fournir un outil de base. Après libre à tous de l'adapter selon leur besoin, mais dans ce cas précis, je te propose plutôt de créer ta propre option dans config() ainsi : 

GEA.options.tempsext = {name="Temps Ext", getValue=function() return tonumber(string.format("%.0f", GEA.getOption({"weather", "Temperature"}).getValue())) end}

Et de l'utilisé directement ainsi :

GEA.add(..., ..., "Il fait {tempsext} aujourd'hui") 

Et oui, tu peux maintenant appeler directement une condition dans les messages (pour autant qu'il n'y aille pas d'accolade dans la condition même).

Ainsi tu as un code propre à toi sans toucher au coeur de GEA et donc d'amoindrir les performances, même si je sais bien que l'impact est vraiment négligeable.

 

Pour le "clarifier le debug", je n'ai pas compris pourquoi un getMessage (j'ai loupé quelque chose) ?

 

Pour Sonos, dès que Pepite aura eu le temps de tester, on le mettra en place. Bien que honnêtement, je le préférerais dans la config() plutôt que dans le coeur de GEA puisque peu de personne en ont vraiment besoin et qu'il utilise un VD externe (que je ne connais pas, même si j'ai entièrement confiance car écrit par @Krikroff).

Ce qui je souhaiterais faire, c'est un topic ou un post avec les options des utilisateurs, un peu comme le Showroom. Les utilisateurs viendraient y piocher les options supplémentaires qu'ils ont besoin, comme ton tempsext, sonosmp3 ou sonostts.  Ils leur suffiraient de les copier/coller dans leur config()

Dernièrement, je lisais rapidement le code d'un utilisateur (qui se reconnaîtra ;)) ou il y avait plus de 12 fois le code suivant 

GEA.add({id["DETEC_FENETRE_BURO_GAUCHE"],{"Global","Notifications","ON"}}, ...)

je me disais : "mais pourquoi ne pas faire une option pour cela ?" On ajoute cela dans config()

GEA.options.detectionnotif = {name="Détection notifiée",
  getValue=function(id) return GEA.getOption(id).check() and GEA.getOption({"Global","Notifications","ON"}).check() end}

Puis on l'utilise facilement :

GEA.add({"DetectionNotif", id["DETEC_FENETRE_BURO_GAUCHE"]}, 30, ".....")

Bien évidement, c'est un exemple très simpliste qui n'apporte pas grand chose de plus qu'une lecture simplifiée et qui n'a rien à voir avec sonosmp3 ou sonostts mais c'est dans l'idée de base. Et c'est surtout là dessus que tout le monde peu apporter son savoir sans pour autant alourdir le code de GEA avec des options personnels.

 

Pour le code suivant :

local langue = "en-US"
if GEA.language:lower() == "fr" then
   local langue = "fr-FR"
end

Hormis la faute de syntaxe (double local), je préférerais l'ajouter dans les traductions car si quelqu'un utilise une autre langue que l'anglais ou le francais (et je sais que c'est le cas) il se retrouverais en en-US. Donc si on ajouter 

GEA.traduction.en.locale = "en-US"
GEA.traduction.fr.locale = "fr-FR"

On peut directement remplacer ton code par 

GEA.trad.locale

 

Maintenant pour sonosmp3 et sonostts .. je l'intègre plus que volontiers dès que c'est validé. Car même s'il touche peu de personne, il fait parti intégrante de la domotique.

 

Donc vive la 6.05 :60: qui ne saurait tarder.

 

 

Purée ... ça c'est un long roman.

 

  • Like 3
Lien vers le commentaire
Partager sur d’autres sites

1) Concernant transpose, merci.

 

2) Concernant ma suggestion #tempsext# et comme indiqué dans l'un de mes précédents messages, cette proposition n'était effectivement pas idéale. Ta proposition GEA.option.tempext ma convient parfaitement. Testée et approuvée.

 

3) Concernant le point ci-dessous :

Il y a 1 heure, Steven a dit :

Pour le "clarifier le debug", je n'ai pas compris pourquoi un getMessage (j'ai loupé quelque chose) ?

    Lorsque l'ont est en mode debug, les chaines de substitution de type #xxx# ne sont pas interprétées. En ajoutant GEA.getMessage(), la trace contient le texte des actions avec leurs valeurs de substitution.

 

4) Hormis la faute de syntaxe (double local). Vu et corrigé. Nos messages se sont croisés.

    C'était à la base une suggestion de @pepite mais ta proposition GEA.trad.locale me convient très bien. De plus elle permet de s'ouvrir à d'autres langues.

    Je n'avais pas osé l'ajouter dans les tables de traductions pour ne pas alourdir le code GEA ;)

 

En attendant, la V6.05 et les tests de @pepite, vous trouverez ci-dessous ma version corrigée/complétée des suggestions de @Steven

 

   gea_6_04-MAM78.lua

 

Merci pour tes suggestions et conseils @Steven

Modifié par MAM78
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Oui désolé pour ma faute de syntaxe du sonosTTS, c'est bien moi le fautif.

 

Merci @Steven pour les corrections.

 

Et ma question bête : j'ai bien compris ce que faisait le "Transpose", mais je ne comprends pas quel pourrait en etre l'utilité ? tu penses a quoi @MAM78

 exactement, j'ai l'impression que ca fait doublon avec les GEA.trad non ? ou le WeatherLocal ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je n'arrive pas à mettre à jour une variable avec GEA.

Je souhaite que lorsque ma lampe RGBW soit allumée, elle mette la variable sur OFN et OFF quand c'est éteint.

Voici ce que j'ai fait, le principe fonctionne bien sur une lampe normale mais pas sur une lampe RGBW. J'ai dû louper un truc.

   --Mise à jour Variable Prédéfinie LampeBureau
GEA.add({"Value+", id["LAMPE_RGBW_BUREAU"], 0}, -1, "", {"Global", "LampeBureau", "ON"})
GEA.add({"Value", id["LAMPE_RGBW_BUREAU"], 0}, -1, "", {"Global", "LampeBureau", "OFF"})

Merci pour vos éclaircissement.

Lien vers le commentaire
Partager sur d’autres sites

Alors, ne pas oublié de mettre l'ID de ta lampe dans l'entête de GEA.

--[[
%% autostart
%% properties
XXXXXXXXX value
%% globals
--]]

 

Ensuite, tu peux simplifier ton code ainsi : 

GEA.add(id["LAMPE_RGBW_BUREAU"], -1, "", {"Global", "LampeBureau", "ON"})
GEA.add(id["LAMPE_RGBW_BUREAU"], -1, "", {{"Inverse"}, {"Global", "LampeBureau", "OFF"}})

-- ou 

GEA.add({"TurnOn", id["LAMPE_RGBW_BUREAU"]}, -1, "", {"Global", "LampeBureau", "ON"})
GEA.add({"TurnOff", id["LAMPE_RGBW_BUREAU"]}, -1, "", {"Global", "LampeBureau", "OFF"})

C'est une question de goût. Je trouve la 2ème façon plus facile à lire mais plus longue a écrire :)

  • Thanks 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 43 minutes, pepite a dit :

Et ma question bête : j'ai bien compris ce que faisait le "Transpose", mais je ne comprends pas quel pourrait en etre l'utilité ? tu penses a quoi

J'avais déjà commancé à répondre à cette question ici. Voir mon post ci-dessous :

 

Cela permètrait d'obtenir dans un message (popup, mail, sonos, ...) ou de renseigner une variable globale selon une donnée source (Etat d'un VD, donnée recupérer via les API, Contenu d'une variable globale, en fait n'importe qu'elle source) sa transposition selon un premier tableau qui contient l'ensemble des valeurs possibles (clé) et restituer une valeur en claire (resultat).

 

Comme par exemple transposer des valeurs de type :

  • code (numérique ou textuel) --> libellé.
  • booleen --> libellé
  • texte anglais --> texte français ou autres langues
  • ...

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Merci @StevenJe suis un gros boulet! Ce n'est pas la première fois que j'oubli de mettre ID d'un module dans l'entête de GEA.

Le code fonctionne parfaitement. J'en profite pour encore te remercier pour tout ce travail de titan réalisé sur GEA (quelque soit la version).

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 12 heures, MAM78 a dit :

2) Concernant ma suggestion #tempsext# et comme indiqué dans l'un de mes précédents messages, cette proposition n'était effectivement pas idéale. Ta proposition GEA.option.tempext ma convient parfaitement. Testée et approuvée.

 

3) Concernant le point ci-dessous :

    Lorsque l'ont est en mode debug, les chaines de substitution de type #xxx# ne sont pas interprétées. En ajoutant GEA.getMessage(), la trace contient le texte des actions avec leurs valeurs de substitution.

 

2) Tiens, un exemple bête pour moi #tempsext# ne serait pas la valeur de la météo mais la température relevé par mon Netatmo qui automatiquement est plus fiable.

 

3) Compris, trouvé et modifié pour la future version :60:

Lien vers le commentaire
Partager sur d’autres sites

J'oubliais, il est maintenant, depuis la V6 tout à fait possible de "surcharger" (écraser) une option avec son propre code. 

 

Je prends un exemple 

 

{"ThermostatLevel", 12, 20} qui envoi donc 20° au thermostat id 12.

 

Perso, je n'ai pas de Thermostat car je n'ai qu'un poêle à pellet. Par contre, j'ai un VD qui pilote mon poêle. Je pourrais donc très bien mettre dans ma config()

 

GEA.options.thermostatlevel   = {name="ThermostatLevel", 
                    getValue=function(id) return fibaro:getValue(id, "ui.target.value") end,
                    action=function(id, value) fibaro:call(id, "setProperty", "ui.target.value", value) end
                },

Et voilà, je peux donc moi aussi piloter mon poêle via mon VD en faisant ainsi 

 

{"ThermostatLevel", 137, 20}

 

Et comme mon code se trouve dans config() je n'ai pas peur de le perdre à chaque mise à jour.

 

Idem pour le Open et Close .. pour piloter mes volets, je passe par un IPX donc les Open et Close fournis par GEA ne me vont pas du tout ... et ben je pourrais les adaptés facilement pour qu'il appuie sur un bouton d'un VD qui demande à l'IPX de les fermer ou ouvrir.

GEA.options.open   = {name="open", action=function() fibaro:call(135, "pressButton", "5") end },
GEA.options.close   = {name="close", action=function() fibaro:call(135, "pressButton", "6") end },

Et voilà, moi aussi je peux faire 

GEA.add( {"Time", "Sunrise"}, 0, "", {"Open"})

Lien vers le commentaire
Partager sur d’autres sites

hello petite question

comme j'avais les 2 GEA en parallèle (mais pas actif en meme temps) 

 

j'ai mis dans le config 

 

  GEA.globalvariables = "GEA_Tasks6"

 

mais je vois plus bas dans le code

 

- ==========================================================
-- NE PLUS RIEN TOUCHER
-- ==========================================================

if (not GEA) then
  
.........

  GEA = {}
  
  GEA.globalvariables   = "GEA_Tasks"

 

donc coup est ce qu'il y a un conflit ? laquelle des variables est utilisée?

 

et j'ai mis en prod la 6.04 et

 

[DEBUG] 20:29:21: line 564: Assertion failed: Expected number

GEA.options = {
    number    = {name="ID",
                    control=function(id) if (type(id) ~= "table") then id = {id} end local res, msg = true, "" for i=1, #id do if (not fibaro:getName(id[i])) then res = false msg = msg .. id[i] .. " " end end return res, string.format(GEA.trad.id_missing, msg) end,
                    getValue=function(id) return tonumber(fibaro:getValue(id, "value")) end, 
  

 

Modifié par Sakkhho
Lien vers le commentaire
Partager sur d’autres sites

C'est celle que tu as mis dans ta config() qui écrase l'autre, c'est donc normal.

 

Pour ton erreur c'est que tu as une ligne qui devrait contenir un ID et qui contient autre chose.

 

Pour les StopTask, RestartTask, il semblerait que le problème persiste, je m'y attache de suite.

Lien vers le commentaire
Partager sur d’autres sites

Voici mes lignes de tests ... rien de bien méchant

 

Ligne 1 : Entre 21h07 et 21h30, je rallume la lumière toutes les 0 (soit 30 secondes)

Ligne 2 : Si j'éteins manuellement ma lampe, je stop la tache qui rallume automatiquement

  local allumage_auto = GEA.add({"Time", "21:07", "21:30"}, 0, "Allumage auto", {{"TurnOn", 73}, {"Repeat"}}, "Allumage auto tte les 30s" )
  GEA.add(73, -1, "Stop allumage auto", {{"Inverse"}, {"StopTask", allumage_auto}}, "STOP allumage auto")
  

Résultat :

On vois bien au début que l'allumage se lance toutes les 30 secondes, puis lorsque je l'éteint manuellement, plus rien ne se passe. La tache est bien stoppée

[DEBUG] 21:18:39: ... vérification en cours #2 ...
[DEBUG] 21:18:39: @60s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:18:39:
[DEBUG] 21:19:10: ... vérification en cours #3 ...
[DEBUG] 21:19:10: @90s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:19:10:
[DEBUG] 21:19:39: ... vérification en cours #4 ...
[DEBUG] 21:19:39: @120s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:19:39:
[DEBUG] 21:19:43: --------------------------------------------------------------------------------
[DEBUG] 21:19:43: Démarrage par évenement de GEA 6.05 (mode property [73])
[DEBUG] 21:19:43: Chargement du code utilisateur setEvents() ...
[DEBUG] 21:19:43: --------------------------------------------------------------------------------
[DEBUG] 21:19:43: Ajout immédiat : #2 STOP allumage auto
[DEBUG] 21:19:43: --------------------------------------------------------------------------------
[DEBUG] 21:19:43: @0s [Démarrage] #2 STOP allumage auto
[DEBUG] 21:19:43:
[DEBUG] 21:20:09: ... vérification en cours #5 ...
[DEBUG] 21:20:39: ... vérification en cours #6 ...
[DEBUG] 21:21:09: ... vérification en cours #7 ...
[DEBUG] 21:21:39: ... vérification en cours #8 ...

 

Donc le principe fonctionne .. ceux qui semble avoir ce genre de soucis ont tous plusieurs instances de GEA qui tourne ? @Sakkhho @kioneoranga

Lien vers le commentaire
Partager sur d’autres sites

J'ai encore compliqué en mettant un RestartTask lorsque je rallume la lampe ... résultat, pas de soucis apparent.

 

[DEBUG] 21:33:41: ... vérification en cours #2 ...
[DEBUG] 21:33:41: @60s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:33:41:
[DEBUG] 21:34:11: ... vérification en cours #3 ...
[DEBUG] 21:34:11: @90s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:34:11:
[DEBUG] 21:34:41: ... vérification en cours #4 ...
[DEBUG] 21:34:41: @120s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:34:41:
[DEBUG] 21:35:11: ... vérification en cours #5 ...
[DEBUG] 21:35:11: @150s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:35:11:
[DEBUG] 21:35:34: --------------------------------------------------------------------------------
[DEBUG] 21:35:34: Démarrage par évenement de GEA 6.05 (mode property [73])
[DEBUG] 21:35:34: Chargement du code utilisateur setEvents() ...
[DEBUG] 21:35:34: --------------------------------------------------------------------------------
[DEBUG] 21:35:34: Ajout immédiat : #2 STOP allumage auto
[DEBUG] 21:35:34: Ajout immédiat : #3 Restart allumage auto
[DEBUG] 21:35:34: --------------------------------------------------------------------------------
[DEBUG] 21:35:34: @0s [Démarrage] #2 STOP allumage auto
[DEBUG] 21:35:34:
[DEBUG] 21:35:41: ... vérification en cours #6 ...
[DEBUG] 21:36:11: ... vérification en cours #7 ...
[DEBUG] 21:36:19: --------------------------------------------------------------------------------
[DEBUG] 21:36:19: Démarrage par évenement de GEA 6.05 (mode property [73])
[DEBUG] 21:36:19: Chargement du code utilisateur setEvents() ...
[DEBUG] 21:36:19: --------------------------------------------------------------------------------
[DEBUG] 21:36:19: Ajout immédiat : #2 STOP allumage auto
[DEBUG] 21:36:19: Ajout immédiat : #3 Restart allumage auto
[DEBUG] 21:36:19: --------------------------------------------------------------------------------
[DEBUG] 21:36:19: @0s [Démarrage] #3 Restart allumage auto
[DEBUG] 21:36:19:
[DEBUG] 21:36:41: ... vérification en cours #8 ...
[DEBUG] 21:36:41: @240s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:36:41:
[DEBUG] 21:37:11: ... vérification en cours #9 ...
[DEBUG] 21:37:11: @270s [Démarrage] #1 Allumage auto tte les 30s *répété*
[DEBUG] 21:37:11:

 

Lien vers le commentaire
Partager sur d’autres sites

bon j'ai mis la 6.04 en prod j'avais effectivement fait une erreur en oubliant un close qq part.

pour le restart task j'ai testé tel quel la c'est à dire avec  tout ceci

 

 -- Eclairage Cave
    local Ecl_Cave1 = GEA.add({id["MOV_CAVE"], {"Value+", id["ECL_CAVE"], 0}}, 2*60,"Lumière OFF cave", {{"Inverse"}, {"turnOff", id["ECL_CAVE"]}, {"Repeat"}})
    local Ecl_Cave2 = GEA.add({id["MOV_CAVE"], {"Value+", id["ECL_BUANDERIE"], 0}}, 2*60,"Lumière OFF buanderie", {{"Inverse"}, {"turnOff", id["ECL_BUANDERIE"]}, {"Repeat"}})
    GEA.add(id["OUV_SDB_BAS"], 60,"", {"StopTask", {Ecl_Cave1, Ecl_Cave2}})
    GEA.add(id["OUV_SDB_BAS"], 60,"", {{"Inverse"},{"RestartTask", {Ecl_Cave1, Ecl_Cave2}}})
    GEA.add(id["ECL_CAVE"], 30, "", {{"Inverse"},{"turnOff",id["ECL_BUANDERIE"]}}) -- Eclairaige Buanderie éteint si on eteint Eclairage Cave  

 

et bien ca à l'air de fonctionner.

en tout cas la derniere ligne fonctionne si j'éteins ECL_CAVE (l'autre jour non car j'avais la notification "Lumière OFF buanderie" donc c'était la 2nde ligne qui passait avant

et les 2 premieres lignes passent bien si je laisse allumé le tout

et rien ne semble s'éteindre si je laisse ouvert 

 

bravo

 

Lien vers le commentaire
Partager sur d’autres sites

Réjouis toi pas trop vite car @kioneoranga semble toujours avoir des soucis et vu qu'il a une grosse config, c'est très dur de comprendre. 

 

Son code est propre et organisé et pour l'instant je n'y vois aucun problème dans sa config.

 

@kioneoranga pourrais-tu pour essayer, supprimer LAMPE_COULOIR1 des déclencheurs dans l'entête de ton GEA Maison et refaire des tests s'il te plaît. Je suis vraiment à la recherche de ton soucis et je nage dans de l'eau gelée.

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...