Lazer Posté(e) le 7 février 2018 Signaler Posté(e) le 7 février 2018 (modifié) Yamaha MusicCast Voici un module virtuel et une scène permettant de piloter les éléments audio multiroom Yamaha MusicCast depuis la box Fibaro HC2. Principe de fonctionnement Il faut créer autant de module virtuel que d'élément MusicCast à piloter, en spécifiant l'adresse IP de chacun. Chaque VD est l'interface utilisateur qui permet de piloter un élément MusicCast et de remonter son statut. Il faut créer une seule et unique scène, laquelle est utilisée par tous les modules virtuels. Cette scène peut être cachée dans l'interface car elle n'a qu'un rôle technique. Une variable globale unique sera automatiquement créée pour les besoins internes des VD et de la scène, il ne faut pas y toucher. Le code LUA de la scène et le fichier vfib du module virtuel sont disponibles en bas de ce tuto, ainsi que différentes icônes. Installation Scène : Créer une nouvelle scène LUA, et lui donner obligatoirement le nom exact "Yamaha MusicCast" (faites un copier/coller), car ce nom est utilisé par les VD pour trouver automatiquement la scène sans devoir spécifier manuellement son ID. Copier/coller le contenu du code LUA téléchargé dans la scène (il n'y a rien à modifier dans ce code LUA) Choisir un nombre d'instance maximal au moins égal au nombre de VD qui seront déployés, cela permet de piloter tous les éléments MusicCast simultanément. Sauvegarder la scène En option : choisir une pièce pour cette scène, la cacher dans l'interface, et lui affecter une icône. Virtual Device : Importer le fichier vfib Donner un nom au VD et choisir une pièce Entrer l'adresse IP de l'élément MusciCast à piloter, et le port (toujours 80) Sauvegarder le VD. A ce moment là, attendre au moins 10 secondes. En effet, le VD va automatiquement détecter les sources audio disponibles sur l'appareil MusicCast, et se reconfigurer tout seul afin d'ajouter les boutons correspondants. Après les 10 secondes minimum d'attente, recharger la page (touche F5 ou bouton dédié du navigateur) afin de visualiser la nouvelle version du VD avec ses boutons dédiés aux différentes Sources Audio. Il est fort probable que plusieurs sources audio ne vous seront jamais utiles, dans ce cas il faut simplement supprimer les boutons et enregistrer à nouveau le VD. Changer l'icône du VD, et seulement des boutons ON et OFF. Il est inutile de changer l'icône des autres boutons, le code LUA de la Main Loop le fera tout seul. Si nécessaire, dans l'onglet Avancé des propriétés du module, modifier le code LUA de la Main Loop afin de configurer les options suivantes : local zone = "main" -- main | zone2 | zone3 | zone4 local refreshOFF = 15 -- seconds local refreshON = 3 -- seconds zone : si l'ampli home-cinéma est configuré et câblé pour gérer des zones supplémentaires refreshOFF : intervalle de rafraichissement quand l'ampli est éteint refreshON : intervalle de rafraichissement quand l'ampli est allumé (l'intervalle ne peut pas être inférieur à 3s). Recommencer toute la phase d'import pour les autres éléments MusicCast du réseau à piloter. Screenshot Identification des ID des Boutons Comme le VD s'auto-configure avec les boutons correspondants aux entrées audio de chaque ampli MusicCast, les ID de chaque boutons peuvent être différents d'un VD à l'autre si vous avez plusieurs éléments MusicCast à piloter. Utiliser le module virtuel suivant afin d'identifier facilement les ID de chaque bouton si vous souhaitez les utiliser dans vos scénarios (GEA, etc) : Lister les ID des boutons et sliders dans un VD Monitoring avec le Watchdog Il faut juste spécifier l'ID correct de chaque VD (autant de lignes différentes que de VD à surveiller) : {type = "VD", id = 0, match = {text="Total memory in use", interval=6*60}, no_match = {text="", type="ERROR"}, restart=true, notification = {"push", "email"}}, Icônes Changelog v1.0 : Janvier 2018 Version initiale v1.1 : Février 2018 Détection automatique des icônes (il n'est plus nécessaire de spécifier manuellement les ID dans le code LUA de la Main Loop) Vérification régulière de l'existence et de la validité de la variable globale contenant les paramètres du VD (au cas où l'utilisateur ferait une modification involontaire via le panneau de variables) Ajout d'émoji dans les boutons Corrections et optimisations mineures Téléchargements Yamaha MusicCast - Scene v1.0.lua Yamaha MusicCast - VD v1.1.vfib Modifié le 18 février 2018 par Lazer 4 1
Lazer Posté(e) le 7 février 2018 Auteur Signaler Posté(e) le 7 février 2018 Informations techniques complémentaires Dans ce module virtuel, seule la Main Loop est autonome, c'est à dire qu'elle est capable d'interroger toute seule l'état de l'élément MusicCast afin de mettre à jour les différentes informations sur les labels du VD. La zone de debug donne aussi des informations sur les événements. Le code LUA de chaque bouton est réduit au maximum, seulement 2 lignes. En effet, la première ligne récupère le contenu de la variable globale "Yamaha_MusicCast_Parameters", et la seconde ligne appelle la scène avec la fonction fibaro:startScene() local p=json.decode(fibaro:getGlobalValue("Yamaha_MusicCast_Parameters")) fibaro:startScene(p.SceneID, {{VD_Text = "Xxx"}, {action = "xxx"}, {value = "xxx"}, {VD_ID = fibaro:getSelfId()}, {VD_Button_ID = _elementID_}}) Les informations suivantes sont passées en paramètres à la scène : VD_Text (optionnel) : Information textuelle qui sera affichée sur le VD afin d'effectuer un retour d'état immédiat pour l'utilisateur qui clique sur un bouton action (obligatoire) : Action à effectuer, voir ci-dessous pour les actions permises value (obligatoire) : Valeur liée à l'action à effectuer, voir ci-dessous pour les valeurs permises VD_ID (obligatoire) : ID du virtual device qui appelle la fonction. Cela est nécessaire pour que la scène puisse mettre à jour les labels du VD, et le log (en vert) sous la tuile du VD. VD_Button_ID (optionnel) : ID du bouton qui appelle la fonction. Cela est nécessaire pour que la scène puisse mettre à jour la zone de debug du bouton. Actions et Valeurs : power < on | standby | toggle > Allume ou éteint l'ampli. playback < play | stop | pause | play_pause | previous | next > Lecture, Arrêt, Pause, Précédent, Suivant. Ne fonctionne que si la source de lecture le permet (USB, Server, etc) input < cd | tuner | multi_ch | phono | hdmi1 | hdmi2 | hdmi3 | hdmi4 | hdmi5 | hdmi6 | hdmi7 | hdmi8 | hdmi | av1 | av2 | av3 | av4 | av5 | av6 | av7 | v_aux | aux1 | aux2 | aux | audio1 | audio2 | audio3 | audio4 | audio_cd | audio | optical1 | optical2 | optical | coaxial1 | coaxial2 | coaxial | digital1 | digital2 | digital | line1 | line2 | line3 | line_cd | analog | tv | bd_dvd | usb_dac | usb | bluetooth | server | net_radio | rhapsody | napster | pandora | siriusxm | spotify | juke | airplay | radiko | qobuz | mc_link | main_sync | none > Sélection de l'entrée audio. Selon l'élément MusicCast utilisé, seules certaine sources sont disponibles. volume < value | up | down > Augmente ou diminue le volume. Il est possible de spécifier une valeur pour régler immédiatement le volume à la puissance désirée (attention aux oreilles, en pratique cela peut être pratique pour remettre le volume à un volume prédéfini d'ambiance, ou carrément le mettre à zéro pour remonter progressivement (réveil matin, etc)). Pour connaitre les bornes mini et maxi, regarder la zone de debug de la Main Loop au démarrage du VD. mute < true | false > Coupe ou remet le son. soundProgram < munich_a | munich_b | munich | frankfurt | stuttgart | vienna | amsterdam | usa_a | usa_b | tokyo | freiburg | royaumont | chamber | concert | village_gate | village_vanguard | warehouse_loft | cellar_club | jazz_club | roxy_theatre | bottom_line | arena | sports | action_game | roleplaying_game | game | music_video | music | recital_opera | pavilion | disco | standard | spectacle | sci-fi | adventure | drama | talk_show | tv_program | mono_movie | movie | enhanced | 2ch_stereo | 5ch_stereo | 7ch_stereo | 9ch_stereo | 11ch_stereo | stereo | surr_decoder | my_surround | target | straight | off > Règle de DSP. Les DSP ne sont disponibles que sur les amplis Home-Cinéma de la gamme Yamaha. Selon le modèle d'ampli, seuls certains DSP sont disponibles. Pour connaitre les DSP utilisables, regarder la zone de debug de la Main Loop au démarrage du VD. dialogueLevel < value > Règle le niveau des voix sur l'enceinte centrale des amplis home-cinéma. Utile pour certains films ou si votre enceinte centrale est un peu faible comparée aux frontales gauche et droite. Les valeurs autorisées sont 0 (position normale), 1, 2, 3. preset < value > Démarre la lecture d'un favori MusicCast (netradio, médiathèque locale, ...) La valeur doit spécifier l'index du favori (listé dans l'application mobile MusicCast) dimmer < value > Règle l'intensité lumineuse du panneau LCD ou des diodes de façade, seulement pour les éléments MusicCast qui le supportent. sleep < 0 | 30 | 60 | 90 | 120 > Programme de l'extinction automatique de l'ampli, en minutes. Utile pour s'endormir en musique. link < VD_ID > Associe et synchronise la lecture d'un élément MusicCast avec un autre élément. Il faut spécifier l'ID du module virtuel qui doit être associé avec l'élément en cours. On peut associer autant d'éléments qu'on souhaite en rappelant plusieurs fois la commande. unlink < VD_ID > Dissocie l'élément MusicCast dont l'ID du module virtuel est spécifié. Avec ces informations, vous pouvez créer vos propres boutons afin d'ajouter les fonctions dont vous avez besoin, que je n'ai pas inclus de base sur le VD, afin de ne pas surcharger inutilement ce module virtuel. Par exemple sur mon ampli home-cinéma, je me suis créé des boutons pour activer automatiquement les DSP que j'aime bien, ainsi que le contrôle du niveau des dialogues sur l'enceinte centrale (que je trouve trop bas sur certains films) De plus, dans vos scénarios, plutôt que de cliquer virtuellement sur les boutons des modules virtuels avec la fonction fibaro:call(id_VD, "pressButton", "id_Button") (qui nécessite de connaitre l'ID du bouton, qui peut changer en cas de réorganisation du VD), il est possible d'appeler directement la scène : local p=json.decode(fibaro:getGlobalValue("Yamaha_MusicCast_Parameters")) fibaro:startScene(p.SceneID, {{VD_Text = "Xxx"}, {action = "xxx"}, {value = "xxx"}, {VD_ID = fibaro:getSelfId()}}) On remarque que le code LUA est identique au contenu des boutons du VD, à l'exception de l'argument {VD_Button_ID = _elementID_} qui n'est plus nécessaire. Documentation API YXC_API_Spec_Basic_v1.1.pdf YXC_API_Spec_Advanced.pdf 1
pepite Posté(e) le 8 février 2018 Signaler Posté(e) le 8 février 2018 Yez, merci@Lazer. Du gros gros boulotn. Felicitations. On change de niveau ; VD dynamique, création des boutons automatique selo' besoin. Et ben :-). Va falloir lire ca:-)Question subsidiaire, sans l ampli cela fonctionne aussi? Encore merciii Envoyé de mon Nexus 5X en utilisant Tapatalk
Bloug Posté(e) le 8 février 2018 Signaler Posté(e) le 8 février 2018 Arff du très lourd ! Bravo Tu m'étonnes que fibaro ne sortent pas les plugins .....
Lazer Posté(e) le 8 février 2018 Auteur Signaler Posté(e) le 8 février 2018 Il y a 2 heures, pepite a dit : Question subsidiaire, sans l ampli cela fonctionne aussi? Non, il y a une sécurité dans la fonction init() de la main loop, si il n'arrive pas à se connecter à l'ampli, il tourne ne boucle et attend sagement sans mettre à jour aucun label, sauf le LabelDebug tout en bas du VD pour informer qu'il n'arrive pas à se connecter. En réalité, j'ai mis en place ce mécanisme car le VD ne doit pas fonctionner tant qu'on n'arrive pas à se connecter à l'ampli. En effet, à l'initialisation, la main loop récupère un certain nombre d'informations nécessaires, par exemple les bornes mini et maxi du volume (différentes selon l'ampli) afin de calculer le pourcentage du Slider de volume, qui lui est toujours sur 0-100% dans chaque VD. Bref, tu peux importer le VD, et tu verras qu'il ne se passe rien (enfin, normalement... !) 1
pepite Posté(e) le 8 février 2018 Signaler Posté(e) le 8 février 2018 Merci @Lazer Well done, bon, tu incites à la consommation, enceintes et ampli ;-) .. digne du marketing de la pomme ;-) 1 1
Lazer Posté(e) le 8 février 2018 Auteur Signaler Posté(e) le 8 février 2018 Teint d'ailleurs je me tâte à créer un topic dédié au Homepod dans la section des assistants vocaux du forum, les première review sont terribles (au sens premier du terme). C'est pas cette fois-ci que la pomme fera sa révolution comme ils ont su le faire avec l'iPhone. 1
pepite Posté(e) le 8 février 2018 Signaler Posté(e) le 8 février 2018 J'ai lu je ne sais plus où que même dans le mcirocosme de la pomme, avec Siri, l'enceinte était limitée ;- ) mais la qualité sonore serait au RDV ;-) c'ets déjà bien pour une enceinte ;-) L'ouverture de ce forum impose presque le topic dédié, mais pas sûr du nombre de sujets ;-)
domo Posté(e) le 11 février 2018 Signaler Posté(e) le 11 février 2018 Super ton Vd Lazer dommage j’ai pas de yamaha pour tester
Lazer Posté(e) le 18 février 2018 Auteur Signaler Posté(e) le 18 février 2018 Mise en ligne d'une nouvelle version 1.1 dans le premier post : v1.1 : Février 2018 Détection automatique des icônes (il n'est plus nécessaire de spécifier manuellement les ID dans le code LUA de la Main Loop) Vérification régulière de l'existence et de la validité de la variable globale contenant les paramètres du VD (au cas où l'utilisateur ferait une modification involontaire via le panneau de variables) Ajout d'émoji dans les boutons Corrections et optimisations mineures 2
Nico Posté(e) le 23 février 2018 Signaler Posté(e) le 23 février 2018 La classe... Vais changer de marque moi 1
Lazer Posté(e) le 26 avril 2018 Auteur Signaler Posté(e) le 26 avril 2018 (modifié) Yamaha commence à annoncer ses nouveautés 2018. Le protocole évolue, et devient MusicCast Surround.... donc comme chez Sonos, on pourra utiliser des enceintes satellites sans-fils comme enceintes surround arrière. Avantage non négligeable par rapport à Sonos, ces enceintes surrounds bénéficieront de la calibration au micro de l'ampli (réglage des niveaux, retards, etc), et du décodage des vrais sources cinéma, ce que Sonos ne sait toujours pas faire aux dernières nouvelles (limité au vieux Dolby Digital d'il y a 30 ans...). Pour celui qui ne veut pas d'ampli et qui veut une installation 100% sans fil comme chez Sonos (enfin, faut quand même un fil électrique 230V), ça semble aussi possible, mais on perd bien sur les possibilités de l'ampli HC. Attendons d'avoir plus de détails. En parallèle, ils sortent de nouveaux modèles d'enceintes sans fil, et prochainement un caisson de basse sans fil (comme Sonos, tiens donc....) Bref, la concurrence ça a du bon, et je suis content de voir que Yamaha investi massivement ce secteur sans fil (bon par contre toujours pas de trace de Google Assistant...) https://www.digitaltrends.com/home-theater/yamaha-musiccast-surround-av-receivers-speakers/ https://www.lesnumeriques.com/enceintes-home-cinema/deux-nouvelles-enceintes-multiroom-chez-yamaha-musiccast-20-50-n73779.html PS : ce qu'il était déjà possible de faire avec MusicCast de base, c'était d'envoyer le son de l'ampli en miroir sur n'importe quelle enceinte de la maison... amusant pour écouter dans le salon/chambre/SDB le son du film joué dans la salle cinéma... Plus concrètement, je m'en suis servi réellement pour lire un CD Audio (souvenez-vous, c'était un technologie inventé en 1980) dans la platine Bluray, et envoyer le son dans le salon. Modifié le 26 avril 2018 par Lazer
PITP2 Posté(e) le 26 avril 2018 Signaler Posté(e) le 26 avril 2018 manque toujours le TTS et la possibilité de faire une recherche mais ils y arriveront un jour ils partent de plus loin.
Lazer Posté(e) le 26 avril 2018 Auteur Signaler Posté(e) le 26 avril 2018 Exact. Cela dit Sonos ne propose pas non plus de TTS, ni aucune marque à ma connaissance. Le TTS reste une affaire de geeks bidouilleurs, pas certain que ça soit proposé sur un produit grand public un jour. (j'exclus les assistants vocaux puisque ce n'est pas du TTS)
PITP2 Posté(e) le 26 avril 2018 Signaler Posté(e) le 26 avril 2018 je suis d'accord qu'aucune marque ne le propose mais c'est pourtant fait par des amateurs éclairés. Est ce le cas sur Yamaha ? C'est une fonction importante pour moi qui justifie l'intégration à la domotique. L'autre fonction du pilotage est pour la salle de cine par exemple et là l'intégration domotique du Yamaha fait très bien le job Ainsi je milite Sonos pour les pièces non "audiophiles" et Yam ou autre pour le ciné car il ne faut pas oublier notre bon vieux infrarouge qui fait treès bien le job dans ce cas de pilotage de salle de home cinema avec un irtrans ou autre. Ainsi on pilote des amplis et systèmes bien plus haut de gamme que Yamaha sans ip ni api
Lazer Posté(e) le 26 avril 2018 Auteur Signaler Posté(e) le 26 avril 2018 Yamaha peut lire un flux DLNA, donc on peut envoyer du TTS si généré par une source externe. J'ai fait un test rapide il y a pas mal de temps, j'ai pu faire du TTS avec source DLNA en local, mais ça n'a pas fonctionné avec une URL externe (un des sites web de TTS bien connus). Alors je ne sais pas si je m'y suis mal prix ou si c'est une limitation de Yamaha de n'accepter que du flux DLNA local. Bon moi ça me va de faire du local, mais c'est clair que la majorité préfère le cloud. Encore que perso, je n'utilise pas du tout le TTS, donc je n'ai pas creusé plus la question, par manque d'intérêt. Peut être que je m'y remettrai ultérieurement. Sonos a l'avantage d'être pionnier, d'être connu par tous, d'avoir des produits design, d'être supporté en standard par beaucoup d'appareils et applications connectés (dont les contrôleurs domotiques), d'être le premier à supporter à la fois Alexa et G Assistant (enfin, ils ont promis pour 2018), mais je suis satisfait de constater que Yamaha n'est pas en reste, malgré leur retard ils ont énormément bossé en peu de temps, au final ils proposent aussi pas mal d'options et de fonctions qui n'existent pas chez Sonos. Après dans le monde des salles de cinéma privés, c'est souvent dans des villas très haut de gamme, où les propriétaires n'ont généralement pas de compétence techniques, s'appuient sur un pro, et là je crois comprendre qu'on trouve beaucoup de systèmes historiques Crestron, Control 4, etc.... je ne connais rien à ces systèmes, je ne sais pas ce qu'ils sont capables de faire, mais je ne serais pas surpris que l'infra-rouge historique soit massivement utilisé. Tu en vois peut être. Ce qui est certain, c'est que les passionnés qu'on croise sur les forums avec leur salles privées DIY n'ont rien de tout cela, au mieux ils ont une Logitech Harmony, et certains, rares, font un peu de Z-Wave avec Jeedom ou autre. PS : Là je suis à l'hôtel, sur mon téléphone je vois ce que mes dames regardent comme film en live à la maison, et le timing exact qui défile en temps réel sur le VD (enfin, à 3s près comme chacun sait, du fait de la main loop)... mine de rien, il n'y a pas beaucoup de propriétaires de salles cinéma qui ont ce niveau de domotisation.
jojo Posté(e) le 27 avril 2018 Signaler Posté(e) le 27 avril 2018 Moi, ce qui fait que je ne peux pas quitter sonos, c’est que Yamaha ne propose pas de fonction alarme. Elle est utilisée tous les jours par toute là famille pour aller bosser/à l’école 1
PITP2 Posté(e) le 27 avril 2018 Signaler Posté(e) le 27 avril 2018 Comment dire, avoir l'info de ce que regarde sa petite famille en déplacement fait vraiment très geek tu aurais du dire, avec cela je suis capable de mettre une ambiance lumineuse appropriée si je passe telle ou telle film ou musique etc ca c'est plus percutant Pour les salles de cine privées réalisées par des pros il y a en effet du C4 (pas l'explosif ;-) ) et ou du Crestron. Ce sont grâce à eux et surtout C4 que les projos et autre matos hifi ont des API de contrôle. Avant c'était du RS232 maintenant c'est de l'IP. Cependant maintenant y compris chez les pros ils se retournent vers des solutions plus ouvertes et moins onéreuses pour faire du contrôle basique de salle de cine. La logitech ayant toujours été beaucoup utilisé même par les pros. Voici un petit lien d'un installateur de salle de home cinema pro qui utilise du Jeedom pour un controle super basique de la salle. https://www.mirabelle.tv/societe-tvhd-a-landonvillers-une-salle-de-cinema-a-la-maison/ 1
pepite Posté(e) le 27 avril 2018 Signaler Posté(e) le 27 avril 2018 Ca suffit messieurs, j'ai envie de passer à Yam ;-) Bon, un peu comme @PITP2, SONOS me suffit amplement hors salle de ciné. Je mettrai du Yam certainement quand j'en serai à la salle ciné. Mais encore une fois, la concurrence a vraiment du bon ;-) Ca fait bouger et j'aime beaucoup. @Lazer c'est pas très serieux l'espionnage familial ;-) Tu inventes un nouveau concept, la DOMO-PROTECTION, apr_s la VIDEO-PROTECTION ;-)
Lazer Posté(e) le 27 avril 2018 Auteur Signaler Posté(e) le 27 avril 2018 Ouais c'est clair, en écrivant hier je pensais pareil, c'est un peu flippant cet espionnage. Mais bon, le vrai intérêt, ce n'est pas de d'espionner, mais bien de piloter et automatiser. Pour l'éclairage, je pourrais faire une lumière d'ambiance, mais un film ça se regarde dans l'obscurité... Du coup ça limite la couleur de l'éclairage... Au noir ! Alors c'est très simple, la lumière descend progressivement, jusqu'à s'éteindre totalement dès que le film commence. Comme au cinéma, et ça va très bien comme ça Merci pour les infos de l'état de l'art chez les pros du HC. PS : Mirabelle TV, non mais franchement 1
PITP2 Posté(e) le 27 avril 2018 Signaler Posté(e) le 27 avril 2018 Mirabelle TV c'est la télé de @mprinfo c'est lui derrière la caméra 2 1 1
mprinfo Posté(e) le 27 avril 2018 Signaler Posté(e) le 27 avril 2018 @pitp2 désolé mais la je suis en grève j'ai plus de RTTEnvoyé de mon Smartphone ANDROID 3
PITP2 Posté(e) le 27 avril 2018 Signaler Posté(e) le 27 avril 2018 Je ne vais pas réagir sinon je sens que l'on va pourrir le post de @Lazer ..... et il ne faut pas provoquer une légende Oups j'ai posté quand même 2 1
Vince Posté(e) le 8 mai 2018 Signaler Posté(e) le 8 mai 2018 Excellent cette télécommande pour Yam ! @Lazer : Une seule remarque, est ce qu'il pourrait y avoir un retour de "Power" et "Input" en variable globale pour pouvoir interagir. Par ex, dans mon cas, je souhaiterai que dès que je met une musique sur le téléphone par "Air play", dès que la chaîne s'allume, le wallplug du caisson s'allume aussi. Merci en tout cas, pour ce beau travail !
Vince Posté(e) le 8 mai 2018 Signaler Posté(e) le 8 mai 2018 (modifié) @LazerJ'ai modifié un peu la boucle du VD à la ligne 469 et ajouté les 2 variables globales "YamahaPower" et "YamahaInput" : self:updateLabel("LabelPower", self.power) fibaro:setGlobal("YamahaPower", self.power); -- Power self:updateLabel("LabelInput", self.input_text) fibaro:setGlobal("YamahaInput", self.input_text); -- Input En espérant que ça soit la bonne solution Modifié le 8 mai 2018 par Vince
Messages recommandés