Aller au contenu
Lazer

Quick App - Yamaha MusicCast

Recommended Posts

QuickApp Yamaha MusicCast

Version 2.00

 

large.MusicCast.png.ca8c209dff4455026432

large.Yamaha-MusicCast.jpg.c45108d8e7564

 

 

Présentation : 

 

Ce QuickApp permet de piloter les enceintes et amplificateurs connectés Yamaha MusicCast depuis la box Fibaro Home Center 3. 

 

large.Screenshot-QuickApp-Yamaha-MusicCast.png.7ab15618ff4c8131d2f8b73d529ff0a8.png

 

Les fonctionnalités suivantes sont disponibles :

  • PowerON / PowerOFF
  • Lecture, Pause, Stop
  • Précédent, Suivant
  • Slider de réglage du volume
  • Baisser ou monter le volume d'un cran
  • Silencieux
  • Choix de la source
  • Si l'ampli le permet : choix du DSP et du volume des dialogues

Un retour d'état est rafraichit à intervalle régulier (paramétrable), indiquant les informations suivantes :

  • Statut de l'alimentation
  • Statut du lecteur (playing, paused, stopped)
  • Source de la musique
  • Artiste/Album/Titre du média en cours de lecture
  • Niveau du volume via le slider

Remarques :

  • Le QuickApp est multi-langue, c'est à dire que son affichage (labels) change selon le langage paramétré dans la box HC3. Actuellement l'anglais et le français sont supportés (l'anglais est la langue par défaut si la langue est inconnue).
  • Le module est de type Lecteur "com.fibaro.player".

  • Il n'y a pas d'utilisation de modules enfants. Par conséquent, si vous avez plusieurs appareils MusicCast, il faut importer autant de QuickApps que nécessaire, chacun gérant un seul appareil.

  • Le QuickApp détecte automatiquement les Sources et crée les boutons correspondants lors de la première connexion à l'appareil. Il est possible de suppimer les boutons inutiles pour alléger l'affichage.

 

Ce QuickApp fait suite au Module Virtuel initialement développé pour HC2 :

 

 

Installation du QuickApp :

 

Importer le QuickApp (fichier fqa) de façon habituelle sur la box Home Center 3, puis changer les paramètres suivants dans l'onglet Variables :

 

large.Screenshot-QuickApp-Yamaha-MusicCast-Variables.png.8f035413d101f3977d34991d6923760e.png

 

  • Protocol : protocole à utiliser, normalement : http
  • Address : adresse IP de l'appareil, par exemple : 192.168.1.1
  • Port : port de communication, normalement : 80
  • Zone : si l'ampli home-cinéma est configuré et câblé pour gérer des zones supplémentaires : main, zone2, zone3, zone4
  • RefreshON : intervalle de rafraichissement des informations en secondes, quand l'ampli est allumé
  • RefreshOFF : intervalle de rafraichissement des informations en secondes, quand l'ampli est éteint

 

Note : l'intervalle de raffraichissement variable permet de conserver une bonne réactivité de mise à jour lorsque l'appareil est en fonctionnement, sans pour autant surcharger inutilement de requête réseau le reste du temps.

 

 

Utilisation :

 

  • Depuis l'interface Web ou l'application mobile :
    • Un clic sur les boutons permet de piloter l'appareil
    • Glisser le slider permet de régler le volume sonore
  • Dans le code LUA d'un QuickApp ou d'une Scène, utiliser la fonction fibaro.call() avec l'une des syntaxes suivantes :
    • fibaro.call(123, "turnOn")                      -- Power ON
    • fibaro.call(123, "turnOff")                     -- Power OFF
    • fibaro.call(123, "play")                        -- Lecture
    • fibaro.call(123, "pause")                       -- Pause
    • fibaro.call(123, "stop")                        -- Stop
    • fibaro.call(123, "prev")                        -- Précédent
    • fibaro.call(123, "next")                        -- Suivant
    • fibaro.call(123, "setVolume", 100)              -- Règle le volume audio au niveau spécifié (en pourcents : 0 à 100)
    • fibaro.call(123, "setVolume", "up")             -- Diminue le volume audio d'un pourcent
    • fibaro.call(123, "setVolume", "down")           -- Augmente le volume audio d'un pourcent
    • fibaro.call(123, "setMute", true)               -- Audio en sourdine
    • fibaro.call(123, "setMute", false)              -- Audio normal
    • fibaro.call(123, "setInput", "bluetooth")       -- Sélectionne une source (et allume automatiquement l'appareil si celui-ci est éteint)
    • fibaro.call(123, "setSoundProgram", "enhanced") -- Sélectionne un mode traitement audio DSP (si l'ampli le supporte)
    • fibaro.call(123, "setDialogueLevel", 1)         -- Sélectionne le niveau des voix (si l'ampli le supporte)
    • fibaro.call(123, "setSleep", 60)                -- Programme l'extinction automatique (en minutes : 0, 30, 60, 90, 120)
    • fibaro.call(123, "setDimmer", 2)                -- Règle le niveau d'intensité des LED (si l'appareil le supporte)
    • fibaro.call(123, "recallPreset",                -- Rappelle un favori préenregistré
  • Les propriétés suivantes peuvent être lues dans le JSON du module :
    • power           : boolean : true|false              -- Statut d'alimentation de l'appareil

    • state           : string  : ""|"play|"pause"|"stop" -- Statut du lecteur

    • volume          : integer : 0-100                   -- Volume audio

    • mute            : boolean : true|false              -- Silencieux audio

    • dead            : boolean : true|false              -- Appareil connecté/déconnecté du réseau

    • model           : string : "XXX"                    -- Référence de l'appareil

    • userDescription : string : "XXX"                    -- Pièce (zone) de l'appareil telle que paramétrée dans l'application mobile

 

 

Changelog :

 

  • v2.00 : Août 2021
    • Version initiale

 

 

Téléchargement :

 

 

 

  • Like 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour

Fonctionne très bien sur mon RXA-2080

Mais ne fonctionne pas sur mon RXV-2067

J'ai ce message

[22.08.2021] [12:22:22] [TRACE] [QA_YAMAHA_501]: QuickApp Yamaha MusicCast v2.00 - Initialization
[22.08.2021] [12:22:22] [TRACE] [QA_YAMAHA_501]: 
[22.08.2021] [12:22:22] [DEBUG] [QA_YAMAHA_501]: Using tools library v2.20
[22.08.2021] [12:22:22] [DEBUG] [QA_YAMAHA_501]: Using MusicCast library v1.00
[22.08.2021] [12:22:22] [DEBUG] [QA_YAMAHA_501]: MusicCast library v1.00 successfully initialized
[22.08.2021] [12:22:22] [DEBUG] [QA_YAMAHA_501]: MusicCast URL : http://192.168.1.147:80 
[22.08.2021] [12:22:22] [DEBUG] [QA_YAMAHA_501]: Refresh interval when MusicCast device is ON : 10 seconds
[22.08.2021] [12:22:22] [DEBUG] [QA_YAMAHA_501]: Refresh interval when MusicCast device is OFF : 60 seconds
[22.08.2021] [12:22:22] [ERROR] [QA_YAMAHA_501]: Can't get device info : HTTP Status code = 404

Je suppose que c'est peut être a cause de la façon d’interroger l'ampli, car j'avais un VD sur HC2 qui fonctionnait avec mes deux ampli

 

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

Il date de quand cet ampli RX-V2067 ?

Après une rapide recherche, j'ai l'impression qu'il est trop vieux et non compatible MusicCast.

 

En regardant le code que tu as partagé sur l'autre topic, ce n'est clairement pas du MusicCast, donc ce vieil ampli doit être piloté avec une vieille API, avec des balises XML bien lourdes...

 

Bref désolé mais cet ampli ne sera jamais compatible avec mon QuickApp.

Partager ce message


Lien à poster
Partager sur d’autres sites

pas de probleme, merci d'avoir regardé

effectivement mon rxv-2067 n'est pas compatible musicast

Le mod sur HC2 fonctionnait effectivement avec des balises XML

une requête par fonction, mais cela fonctionnait...

Il faudrait que j’essaie de faire de même sous HC3, car il fonctionne encore très bien cet ampli, j'ai pas envi d'en changer

 

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

Un QA avec quelques boutons, et dans la fonction de chaque bouton tu mets la requête http pour envoyer la chaîne XML, c'est assez facile à faire.

 

Tu n'auras pas de retour d'état avec cette méthode, mais tu pourras facilement contrôler l'ampli.

Partager ce message


Lien à poster
Partager sur d’autres sites

oui c'est se que je recherche

pouvoir l'allumer et éteindre, et changer quelques sources rien de plus

 

cela pourrait fonctionner sous HC3?

 

function QuickApp:aud2(event)
YAM = Net.FHttp("192.168.1.147",80)
payload = '<YAMAHA_AV cmd="PUT"><Main_Zone><Input><Input_Sel>AUDIO1</Input_Sel></Input></Main_Zone></YAMAHA_AV> '
YAM:POST('/YamahaRemoteControl/ctrl', payload)
end

 

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

Non pas du tout, c'était pour les VD sur HC2 uniquement ça.

 

Va voir par là :

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Est-il possible d'ajouter une option à QA qui permet de régler le volume initial de l'appareil après sa mise en marche ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Normalement c'est un paramètre qui se règle dans l'ampli, si il propose cette option.

Sinon par défaut tous les appareils MusicCast que j'ai conservent le dernier volume utilisé.

 

Si tu souhaites forcer une autre valeur depuis la box HC3 via le QuickApp, il faut que tu le fasses en 2 temps.

D'abord allumer l'appareil, puis définir le volume.

Tu as tout dans le tuto du 1er post.

 

Ex :

fibaro.call(123, "turnOn")
fibaro.call(123, "setVolume", 50)

Note : il faut faire des essais avec ton appareil, mais un délai entre les 2 commandes peut être nécessaire : fibaro.sleep(...)

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour l'astuce.
C'est vrai, vous pouvez configurer le volume de démarrage dans le récepteur, mais dans les haut-parleurs de zone, ou au moins le WX-30, il n'y a pas une telle option.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

J'essaye de récupérer la valeur de la "Source", je n'ai rien vu dans le JSON, ni dans la doc du QA, je suis passé à coté ?

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, en effet, il n'y avait aucune propriété disponible dans le JSON du QuickApp pour y stocker la source.

Et on ne peut pas créer nos propres propriétés personnalisées.

 

Du coup.... à priori pas d'autre solution que de devoir aller lire la valeur de la source directement dans le label.

Je ne sais pas comment tu comptais récupérer cette valeur, ou plutôt comment la traiter ?

On a parlé très récemment sur le topic du Support GEA de comment lire le label avec GEA.

Mais si tu veux le faire en LUA directement, c'est un peu plus compliqué, car il n'y a pas de méthode directe.

L'astuce était passée sur le forum, il faudrait la retrouver, mais le principe c'est d'aller interroger la "view" du QA, puis de parcourir les éléments jusqu'à trouver le bon label :

/api/plugins/getView?id=123

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Lazer,

Pour l’instant je me suis dépanner en allant lire la valeur de la source dans le label, je sais que cela n'est pas très correcte.

En fonction de cette valeur, j'effectue un TurnOff sur un WP.

Je vais essayer de retrouver le post pour interroger la "view" du QA, pour que cela soit plus propre.

Merci :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Oupsss ha waiiii, je viens de voir le code mais malheureusement n'étant pas développeur je n'y comprend rien. :4:

Merci quand même, pour l'info, pour autant, je ne lache pas l'affaire, j'ai envie d'apprendre et de bien faire les choses...

:77:

Partager ce message


Lien à poster
Partager sur d’autres sites

×