schwinny Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Encore une fois merci @Steven pour ton GEA. Je viens de le remettre en place de facon minimale comparé aux autres et c'est vraiment une tuerie !!! 1
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 (modifié) 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é le 7 janvier 2018 par Sakkhho
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 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 :-) 2
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 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é.
Sakkhho Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 Ok. Parfait je corrigerai. Quand je mettrai a jour cette version. Merci Steven 1
MAM78 Posté(e) le 7 janvier 2018 Signaler Posté(e) le 7 janvier 2018 (modifié) 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 Pour ne pas oublier, il reste si tu veux bien intégrer dans la prochaine version les corrections / évolutions ci-dessous : En attendant, je ferais des copier / coller 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(" ["..GEA.trad.action.."] " .. entry.actions[i].getLog()) Par : tools.debug(" ["..GEA.trad.action.."] " .. GEA.getMessage(entry.actions[i].getLog())) Modifié le 7 janvier 2018 par MAM78 1
Steven Posté(e) le 7 janvier 2018 Auteur Signaler Posté(e) le 7 janvier 2018 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 En effet, il y a aussi des nouveautés mais qui ont été testées et validées . 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 qui ne saurait tarder. Purée ... ça c'est un long roman. 3
MAM78 Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 (modifié) 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é le 8 janvier 2018 par MAM78 1
pepite Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 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 ?
fredokl Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 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.
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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 1
MAM78 Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 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 ... 1
fredokl Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 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). 1
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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"})
pepite Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 Ah oui, je n'en ai pas parlé dans le fichier Syntaxe ;-) Il va vraiment falloir le sous forum GEA-Config()
MAM78 Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 Houla attention @pepite tu vas encore fatiguer notre @Steven. Déjà que celui sur les snippet n'est toujours pas ouvert, tu veux en ouvrir un autre Sinon plus sérieusement, sur le fond l'idée est bonne. 1
Sakkhho Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 (modifié) 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é le 8 janvier 2018 par Sakkhho
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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.
Sakkhho Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 Ok j ai peut être fait qq modif trop rapide. Je regarde. Merci.
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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:
Sakkhho Posté(e) le 8 janvier 2018 Signaler Posté(e) le 8 janvier 2018 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
Steven Posté(e) le 8 janvier 2018 Auteur Signaler Posté(e) le 8 janvier 2018 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.
Messages recommandés