Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 501
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

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

    VD Sonos TTS Remote

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

    VD Sonos TTS Remote

    Si ça s'instal également dans un Docker sur un Synology, ça pourrait également m'intéresser.
  10. 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
  11. 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.
  12. 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
  13. 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
  14. 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
  15. 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":{}}}
  16. MAM78

    Support Gea

    ton id est bien déclaré dans l'entête ? --[[ %% autostart %% properties 87 value
  17. 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)
  18. MAM78

    VD Sonos TTS Remote

    Idem
  19. 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
  20. MAM78

    VD Sonos TTS Remote

    Oups, mode boulet. J'avais pas lu l'indication sur le nombre de secondes.
  21. MAM78

    VD Sonos TTS Remote

    Je n'arrive pas à faire fonctionner le VD, la variable x_sonos_tts ne semble pas être alimenté ? Par ailleurs, je n'arrive pas à utiliser la fonction clavier, passage en numérique et utilisation de la deuxième lettre de chaque bouton ?
  22. MAM78

    VD Sonos TTS Remote

    Très sympathique ton VD, même si pour le moment je n'en vois pas encore l'usage dans mon contexte, notamment la saisie via les boutons. Sauf peut-être pour envoyer à distance un message de type depuis sont smart phone qui serait diffuser sur une Sonos afin par exemple d'inviter à quitter les lieux lors d'une détection d'intrusion ou s'il l'on veux envoyer un message vocal aux personnes présentes à la maison. Tu vois d'autres usages ? Concernant les messages de type favori (fixe), je préfère utiliser les messages de type MP3 qui se diffusent beaucoup plus rapidement. Merci pour le partage
  23. MAM78

    VD Yeelight Controller

    Merci pour ce petit rappel des basiques de la programmation
  24. Ok, j'ai capté. Ok pas d'exécution mais lecture du code de la scène
  25. MAM78

    VD Yeelight Controller

    J'ignorais cette subtilité, tu veux dire que la ligne ci-dessus est exécuter autant de fois que la valeur nbr. Je supposais qu'elle n'était exécutée qu'une fois et que c'était uniquement le contenu de la boucle qui était exécuté autant de fois que la valeur nbr. Il y énormément de codes sur le forum qui sont écrit comme ça : for a=1, #r do
×
×
  • Créer...