labomatik Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 snif: [DEBUG] 14:29:42: SONOS Player Remote Plugin V 0.0.7 loaded in memory...[DEBUG] 14:29:42: Benchmark [sONOS Player Remote Plugin V 0.0.7 lib]: elapsed time: 0.010 cpu secs[ERROR] 14:29:42: line 914: attempt to index local 'value' (a function value)
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 @labomatik, peux-tu remplacer ligne 908 le pairs de la boucle for par ipairs comme ceci for key, value in ipairs(children) do et me dire ? Merci
labomatik Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 plus d'erreur. Parcontre pas possible de piloter les radios via les presets.
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Oui je rencontre un bug avec l'analyse xml du BrowseDirectChildren donc pour utiliser les raccourcis des radios il faut définir au minimum deux radios favorites depuis l'application "desktop/ios etc" du SONOS. Est-ce que les radios sont en favorites ? juste dans "mes radios" ? ou les deux ?
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Peux-tu pour faire un test ajouter aussi dans "mes radios" ? Edit: aussi tout en bas du script du mainloop il y a Tk.isTraceEnabled = false; tu peux passer sur true pour avoir les "traces", par contre ne pas utiliser en production avec les traces activées
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Cool , merci pour ton aide
labomatik Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 parcontre bête question, une idée pourquoi l'image du VD disparait tout le temps?
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Oui c'est lourd mais logiquement une image doit être associée par bouton et même si il n'y a pas d’association un appui sur un bouton change l'image du vd...
JM13 Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Je ne suis pas sur de bien répondre mais j'ai mis 2 icones différents à un virtual device (un pour le device et un pour le bouton) et ensuite local selfId = fibaro:getSelfId(); local icon = fibaro:get (selfId, "deviceIcon"); -- conserver la même icône que le device -- ici le code du bouton dans le VD -- Après 500ms on remet l'icone principal fibaro:sleep(500); fibaro:call(selfId, "setProperty", "currentIcon", icon); L'icone change lors de l'appuie bouton et reviens ensuite... C'était le question, non ?
labomatik Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 merci àvous 2, je comprend mieux maintenant ces changements...
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 @JM13, oui tu as parfaitement raison, j'utilisais le même type de technique avant mais tant que la gestion des images dans le HC2 restera ainsi: upload douteux , gestionnaire , perte totale en cas de recovery les images et bien @labomatik, j'ajoute cela dans la prochaine version pour toi
Shad Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Bon et bien le cache fonctionne extrêmement bien, si je peux me permettre krikroff tu devrais regarder cette histoire de cache en passant par un serveur externe. Maintenant faut que je regarde pour modifier ton code pour reprendre la musique ^^.
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Comme je le disais j'utilise le cache de mon coté sur mon serveur et oui c'est très clair cela marche très bien, chez moi c'est en dessous de la seconde pour lancer un stream (voir instantanément ) Tu veux modifier quoi, le module SONOS ou le bout de code que j'avais publié pour lancer un stream ? PS: @Labomatik: le patch de la ligne 914 et l'update de l'image principale du vd sont dans le v0.0.8
Shad Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Ha j'ai peut-etre loupé un passage alors ^^. En faite je veux pouvoir utilisé ton device pour coupé, lancer le message et reprendre la musique. Je vais reprendre le post depuis le début pour voir comment tu fais chez toi ^^.
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 @Shad, Oui le device Sonos fait cela: couper, lancer un message (TTS) puis reprendre la musique tout seul . Juste le fonctionnement du cache que je n'ai pas exposé ici car je l'utilise autrement. Après si cela vous intéresse je peux ajouter la possibilité dans le device de gérer le TTS depuis un serveur externe (Serveur, NAS, RPI etc...) pas de problème, si c'était cela ta demande dans les précédents messages je n'avais bien compris alors
Shad Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Oui sa m’intéresse fortement et je pense que sa pourra en intéresser plus d'un .
labomatik Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Comme je le disais j'utilise le cache de mon coté sur mon serveur et oui c'est très clair cela marche très bien, chez moi c'est en dessous de la seconde pour lancer un stream (voir instantanément ) Tu veux modifier quoi, le module SONOS ou le bout de code que j'avais publié pour lancer un stream ? PS: @Labomatik: le patch de la ligne 914 et l'update de l'image principale du vd sont dans le v0.0.8 génial ;-)
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Actuellement ma méthode playFile permet de lancer un stream de type local sur serveur, un stream de type mp3 depuis Internet (radio, etc.) ou un tts. Il ressemble à cela ... -- Stream object paramters are -- stream: the file / uri -- source: "local" or "http", "local" is setted by default -- duration: play duration in seconds (option) -- volume: the volume for playing the stream -- TTS Object parameters are -- lng: the language -- message: the message -- provider: "google", "tts-api" (only english) local dtChangeOfSeasons = { stream = "//HOME-SERVER/Musique/CD/Dream Theater/A Change of Seasons/01-A Change of Seasons [Medley].flac", source = "local", volume = 3}; local bell1 = { stream = "//s3.amazonaws.com/smartapp-media/sonos/bell1.mp3", source = "http", duration = 8, volume = 3}; local bell2 = { stream = "//s3.amazonaws.com/smartapp-media/sonos/bell2.mp3", source = "http", duration = 8, volume = 3}; local fireAlarm = { stream = "//s3.amazonaws.com/smartapp-media/sonos/alarm.mp3", source = "http", duration = 17, volume = 3}; local tts = { tts = { lng = "fr", message = "Google parle maintenant en Français.", provider = "google" }, duration = 15, volume = 10 }; -- tts playFile(tts); -- stream playFile(dtChangeOfSeasons); -- radio type playFile(bell1); cela vous semble clair ou pas ?
JM13 Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Pas trop (au moins pour moi) Ma situation : J'utilise les 2 scripts que tu as proposé pour SONOS 1) Pour le premier, j'utilise fibaro:setGlobal("SonosTTS", "lng="..langue.."|dr=auto|vol="..volume.."|txt="..Mon_Message..". . .|"); -- dans un bouton du VD Le script V0.0.07 dans le main loop Temps de latence important mais je peux "construire" des messages en dynamique (inclusion de température par exemple dans le message) 2) Pour le deuxième, j'utilise playFile("//"..IP_NAS.."/web/Sonos/audio/fr/TTS-MSG"..Num_Message..".mp3", tonumber(Volume_Message)); où j'ai une base de messages en mp3 enregistrés et sockés sur mon NAS pour les messages répétitifs Pas de latence Semble plus robuste Une latence constatée entre 2 messages consécutifs Pour répondre à ta question, comme le format du paramètre n'est pas le même...ai-je le bon fichier "playFile ?
Krikroff Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Pas de problème, la méthode par le setGlobal va évoluée et prendra en paramètre un objet, le tout reste dynamique il y aura juste la possibilité d'utiliser le cache (au second passage) local object = { tts = { lng = "fr", message = "Google parle maintenant en Français.", provider = "google", cache = { activated = true, ip = "192.168.1.250", port = 81, uri = "/handlers/tts.ashx" } }, duration = 15, volume = 10 }; playFile(object); -- ou depuis une scène ou autre... fibaro:setGlobal("SonoTTS", json.encode(object)) je travail aussi àéliminer totalement la latence inhérente au vd, technique déjàen place sur d'autres vd perso mais du taff pour le faire ici... c'est en cours
Shad Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Que demandes le peuple, et bien si tu travailles sur le cache et la latence j'ai juste a attendre et je vais pouvoir passer àla suite Bravo
Moicphil Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 oui, j'attend aussi ta prochaine version avec impatience!... // si on est plusieurs à te mettre la pression J-c, on peut peut être espérer l'avoir avant la V4? // 1
Messages recommandés