Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 506
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. 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.
  2. 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.
  3. 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 !
  4. 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 ...
  5. 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
  6. 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()))
  7. 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)
  8. 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 -- ==========================================================
  9. 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
  10. 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)
  11. 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 ?
  12. chez moi c’est dispo. dans l’appli. fibaro sur mon iphone. Envoyé de mon iPhone en utilisant Tapatalk Pro
  13. MAM78

    VD Sonos TTS Remote

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

    VD Sonos TTS Remote

    Si ça s'instal également dans un Docker sur un Synology, ça pourrait également m'intéresser.
  15. 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
  16. 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.
  17. MAM78

    VD Sonos TTS Remote

    Effectivement vu sous cet angle technique ça semble moins évident. Ah ces utilisateurs qui qui se mettent à rêver de fonctionnalités que la technique ne sait pas adresser
  18. MAM78

    VD Sonos TTS Remote

    Mode boulet, Effectivement c'était bien le volume, j'avais oublié de le remonter le rechargement de ta dernière version Maintenant que cela fonctionne, j'ai une petite suggestion à te faire concernant la saisie textuelle Ce serait TOP de basculer en mode numérique lorsque l'on clique sur le bouton du milieu en bas "_123" un peu comme sur nos anciens téléphones portables en mode T9
  19. MAM78

    VD Sonos TTS Remote

    Marche toujours pas : [DEBUG] 19:48:53: {"174":{"stream":"","action":"","zpStatus":{"zoneName":"Salle de bains","localUID":"RINCON_949F3E0BF25E01400","macAddress":"94:9F:3E:0B:F2:5E"},"zonePlayers":{"uuid":"RINCON_949F3E0BF25E01400","coordinator":"true","group":"RINCON_949F3E0BF25E01400:1849025896","location":"","ip":"192.168.0.102"},"tts":{"message":"Favori numéro 2.","duration":"auto","language":"fr-FR","volume":0},"radioStations":[{"title":"ABC Lounge","res":"x-rincon-mp3radio:\/\/http:\/\/listen.radionomy.com\/abc-lounge.m3u"},{"title":"Europe 1","res":"x-sonosapi-stream:s6566?sid=254&flags=8224&sn=0"},{"title":"France Inter 87.8 (Émissions-débats France)","res":"x-sonosapi-stream:s24875?sid=254&flags=8224&sn=0"},{"title":"franceinfo","res":"x-sonosapi-stream:s9948?sid=254&flags=8224&sn=0"},{"title":"RFM","res":"x-sonosapi-stream:s6616?sid=254&flags=8224&sn=0"}]},"214":{"stream":"","action":"","zpStatus":{"zoneName":"","localUID":"","macAddress":""},"zonePlayers":{"uuid":"","coordinator":false,"group":"","location":"","ip":""},"tts":"","radioStations":{}}} Mais la variable x_sonos_tts est bien crée et elle contient ça : [DEBUG] 19:51:29: {"remote":302,"sonos":[{"id":"174","name":"SONOS Remote"},{"id":"214"}]} Pour info, j'avais avant un deuxième VD Sonos Remote, que j'ai supprimer depuis, il correspondait à l'ID 214 ci-dessus. J'ai du supprimer la variable x_sonos_tts pour qu'elle soit a nouveau générée pour contenir ça : [DEBUG] 19:54:10: {"remote":302,"sonos":[{"id":"174","name":"SONOS Remote"}]} Mais ça ne fonctionne toujours pas
  20. MAM78

    VD Sonos TTS Remote

    Version 1.0.1 [DEBUG] 18:27:15: {"174":{"stream":"","tts":"","zpStatus":{"zoneName":"Salle de bains","localUID":"RINCON_949F3E0BF25E01400","macAddress":"94:9F:3E:0B:F2:5E"},"action":"","zonePlayers":{"uuid":"RINCON_949F3E0BF25E01400","coordinator":"true","location":"","group":"RINCON_949F3E0BF25E01400:1849025896","ip":"192.168.0.102"},"radioStations":[{"title":"ABC Lounge","res":"x-rincon-mp3radio:\/\/http:\/\/listen.radionomy.com\/abc-lounge.m3u"},{"title":"Europe 1","res":"x-sonosapi-stream:s6566?sid=254&flags=8224&sn=0"},{"title":"France Inter 87.8 (Émissions-débats France)","res":"x-sonosapi-stream:s24875?sid=254&flags=8224&sn=0"},{"title":"franceinfo","res":"x-sonosapi-stream:s9948?sid=254&flags=8224&sn=0"},{"title":"RFM","res":"x-sonosapi-stream:s6616?sid=254&flags=8224&sn=0"}]},"214":{"stream":"","tts":"","zpStatus":{"zoneName":"","localUID":"","macAddress":""},"action":"","zonePlayers":{"uuid":"","coordinator":false,"location":"","group":"","ip":""},"radioStations":{}}}
  21. MAM78

    Support Gea

    ton id est bien déclaré dans l'entête ? --[[ %% autostart %% properties 87 value
  22. MAM78

    VD Sonos TTS Remote

    Oui j'ai bien x_sonos_object et le VD. Effectivement, j'ai une erreur dans le debug du main loop. [DEBUG] 18:05:02: Starting Sonos TTS Remote...[ERROR] 18:05:02: line 30: bad argument #1 to 'decode' (string expected, got nil)
  23. MAM78

    VD Sonos TTS Remote

    Idem
  24. MAM78

    VD Sonos TTS Remote

    [DEBUG] 17:52:29: [Sonos TTS Remote] Unable to set x_sonos_tts, please check variable lors de l'appui sur le premier favori. La variable n'est pas créée automatiquement
  25. MAM78

    VD Sonos TTS Remote

    Oups, mode boulet. J'avais pas lu l'indication sur le nombre de secondes.
×
×
  • Créer...