Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 515
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. Pourquoi avoir supprimé les VG Globales ? Comment est-ce que tu exploites les info. ? Comment est-ce que tu fais pour déclencher un événement sur changement d'une valeur ?
  2. regarde par ici : https://forum.fibaro.com/index.php?/topic/24342-vd-to-change-line-in-sonos/
  3. Hello @pepite est-ce que tu pourras STP à l'occasion refaire un test avec la nouvelle version VD afin de savoir si ton problème avec le push est corrigé avec cette version ?
  4. Update VD Vacances Scolaires version MAM78 08/01/2017 : version V1.4 (Création automatique des variables globales + Quelques petites améliorations cosmétiques)
  5. 08/01/2017 : version V1.4 (Création automatique des variables globales + Quelques petites améliorations cosmétiques)
  6. Top, je ne vois pas ce qui posait problème sur les iPhones, mais l'essentiel c'est que ça marche. C'était donc bien entièrement de ma faute
  7. 08/01/2017 : version V1.3 (Correction de la mise à jour de la variable globale qui contient le nombre de jours jusqu'au prochaines vacances)
  8. Pas de PB, merci d'avance pour les tests. C'était ma toute première adaptation d'un VD et de codage en LUA
  9. Bon, par acquis de conscience, j'ai revisité mon code du VD Vacances Scolaires et corrigé et optimiser le code. Même si je ne vois pas le rapport, peut-être que cette nouvelle version va résoudre le problème de perte de connexion que certaine personne rencontrait avec leur iPhone. Merci d'avance pour vos tests et retour sur cette nouvelle version 1.2 qui est disponible sur le premier post.
  10. Bon, par acquis de conscience, j'ai revisité mon code du VD Vacances Scolaires et corrigé et optimiser le code. Même si je ne vois pas le rapport, peut-être que cette nouvelle version va résoudre le problème de perte de connexion que certaine personne rencontrait avec leur iPhone. Merci d'avance pour vos tests et retour sur cette nouvelle version 1.2. Elle est disponible ici.
  11. MAM78

    Support Gea

    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.
  12. Pas de PB si vous avez besoins un coupable, je veux bien. Mais ce qui serait sympathique, ce serait de trouver la cause du PB. Parce que chez moi, tout fonctionne !
  13. MAM78

    Support Gea

    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 ...
  14. MAM78

    Support Gea

    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 : 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
  15. MAM78

    Support Gea

    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()))
  16. J'ai aussi constaté que : La zone de recherche les caractères sont masqués par du texte bizarroïde, je suis sous safari. Lors de la saisie de messages, il n'y a plus la fonction pour décaler le texte (tabulation)
  17. MAM78

    Support Gea

    Voici une mise à jour de la version 6.04 toujours en beta en attente de validation par @Steven et @pepite gea_6_04.lua Elle intègre les modifications suivantes : -- ========================================================== -- v.6.04 modify by MAM78 the 7 jan. 2018 -- add : Sonos TTS message function -- add : Sonos MP3 message function and add sonosMP3foldername variable, -- mod : debug the transpose function -- add : #tempsext# substitution text for the external temperature rounded without decimals -- mod : modify the action message in debug windows with the transposed values -- mod : correction of the #datefull# substitution text -- mod : Sonos TTS message function, -- optional volume parameter, if not specified the value will be 30 -- mod : Sonos MP3 message function and add sonosMP3foldername variable, -- optional volume parameter, if not specified the value will be 30 -- language parameter is no longer needed, automatically determine based on GEA.language -- ==========================================================
  18. MAM78

    Support Gea

    En fait, la ligne ci-dessous retourne une valeur string et non numérique local jour = os.date("%w") J'ai modifié le code de cette façon : if (message:find("#datefull#")) then local jour = tonumber(os.date("%w")) if (jour == 0) then jour = 6 else jour = jour-1 end message = message:gsub("#datefull#", GEA.trad.week[tonumber(jour)+1] .. " " .. os.date("%d").. " " .. GEA.trad.months[tonumber(os.date("%m"))].. " " .. os.date("%Y")) end
  19. MAM78

    Support Gea

    hello @Steven Il semblerait que ta réécriture de la fonction #datefull# ne fonctionne pas le dimanche : if (message:find("#datefull#")) then local jour = os.date("%w") if (jour == 0) then jour = 6 else jour = jour-1 end message = message:gsub("#datefull#", GEA.trad.week[tonumber(jour)+1] .. " " .. os.date("%d").. " " .. GEA.trad.months[tonumber(os.date("%m"))].. " " .. os.date("%Y")) end J'ai l'erreur suivant sur la ligne message : message:sub ................. [DEBUG] 17:01:23: line 1475: attempt to concatenate field '?' (a nil value)
  20. Il me semble qu'il manque la notion de version du code. Il conviendrait d'ajouter ceci dans l'entête : Version : 1.00 Date Update : 07 janv. 2018 Comment vous voyez, les évolutions/corrections/optimisations des codes en question ? MAJ du post par l'auteur ? Nouveau post ? Est-ce tout ça ne devrait pas être écrit en anglais afin que ce soit ouvert aux autres utilisateurs que ceux de la langue de Molière ?
  21. chez moi c’est dispo. dans l’appli. fibaro sur mon iphone. Envoyé de mon iPhone en utilisant Tapatalk Pro
  22. MAM78

    VD Sonos TTS Remote

    Dans ce cas, je pourrais contribuer aux tests de ton futur VD.
  23. MAM78

    VD Sonos TTS Remote

    Si ça s'instal également dans un Docker sur un Synology, ça pourrait également m'intéresser.
  24. Ta WAF peut utiliser la modification de consignes via l’interface de gestion des zones en utilisant le mode manuel dans lequel elle peut definir une température, une durée (de 1 à 24h maxi) et les zones qu’elles souhaitent modifier ponctuellement. Envoyé de mon iPhone en utilisant Tapatalk Pro
  25. Je ne vois pas bien où est ton problème. Tes têtes sont localisées dans la même pièce. Au niveau du panneau de chauffage tu crées une zone à laquelle tu associes cette même pièces. L'ensemble des têtes présentes dans cette pièce seront pilotées automatiquement par ce panneau de chauffage selon les consignes que tu auras déterminées (jour, horaire, température). Probablement, il te faudra néanmoins garder un thermostat qui va réguler la température d'une pièce pour piloter ta chaudière. Dans mon cas, c'est mon salon, c'est ma pièce la plus chaude de ma maison.
×
×
  • Créer...