[Plugin] Yamaha - Jeedom V4 Erreur "Class Object" [Résolu]

Bonjour,

J’ai l’erreur suivante lorsque je veux créer l’équipement: « Class ‹ object › not found ».

Le statut et la config du daemon sont au vert.

La V4?!

Bonjour,

il faut que @granddam regarde c’est juste un souci de renommé une class object:: en jeeObject:: :wink:

@Eddie ne pas oublier de mettre le tag des plugins associé a ton souci :wink:

Bonne journée

Merci pour ton retour @Alexandre

A te lire cela parait simple, vous touchez pas aux plugins tiers les devs Jeedom? :sweat_smile:

Non désolé on n’y touche pas, on en a déjà assez de notre coté ^^

Voici la solution:

Dans jeedom:

-Menu réglages puis configuration, onglet: _OS/DB

-Editeur de fichiers: Cliquer sur Lancer

-Se rendre sur le ficher /plugins/musiccast/desktop/php/musiccast.php

-Modifier comme suit à la ligne 105:

foreach (jeeObject::all() as $object) {

-Sauvegarder

-Vous pouvez désormais créer votre équipement.

De rechercher m’a pris 2 jours en mettant en corrélation d’autres sujets de même type pour trouver la solution.
Cela aurait pris 2 minutes au dev de le faire…

1 « J'aime »

Bonjour Eddie,

Suite à ton poste et ton travail, je me suis permis de proposer la modification à l’adresse suivante.

1 « J'aime »

Bonsoir

Gros coup de gueule ON

@granddam n’est visiblement pas souvent présent pour répondre aux différents problèmes de ce plugin
(voir ancien sujet https://www.jeedom.com/forum/viewtopic.php?f=142&t=45483&start=140)

Personnellement, je viens d’acquérir ce plugin et je regrette déjà.

Après avoir mis des traces débug (je suis informaticien depuis plus de 20 ans) pour comprendre pourquoi je n’arrivais pas à trouver mon ampli, même en le configurant manuellement, je suis arrivé à la fonction protected function getDevices() du fichier Network.php

Visiblement, la variable $response est vide.
La variable $sock n’est pas vide.
La variable $level vaut 0

@granddam répond ne pas pouvoir corriger le problème car il est non reproductible.
Ceci étant, avec les traces minimales communiquées par les différentes personnes qui ont le problème (je ne suis pas le seul), si on connait son code, personnellement, je serai arrivé à la conclusion qu’il y a un soucis dans cette fonction.
Maintenant, je ne vais pas aller plus loin dans l’investigation, car je n’ai pas payé un plugin pour le débugger pour les autres.
S’il avait été gratuit, pourquoi pas (je viens d’en débugger 3 avec la classe jeeObject)

Pour rappel, voici les traces du pb au démarrage du démon:
[2019-12-06 20:38:10][DEBUG] : creating speaker instances
[2019-12-06 20:38:10][DEBUG] : discovering devices…
[2019-12-06 20:38:10][DEBUG] : M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: « ssdp:discover » MX: 2 ST: urn:schemas-upnp-org:device:MediaRenderer:1
[2019-12-06 20:38:11][DEBUG] :
[2019-12-06 20:38:11][DEBUG] : creating speaker instances
[2019-12-06 20:38:11][DEBUG] : discovering devices…
[2019-12-06 20:38:11][DEBUG] : M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: « ssdp:discover » MX: 2 ST: urn:schemas-upnp-org:device:MediaRenderer:1
[2019-12-06 20:38:12][DEBUG] :

M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: « ssdp:discover » MX: 2 ST: urn:schemas-upnp-org:device:MediaRenderer:1 correspond à la ligne $this->logger->debug($data);
de la fonction protected function getDevices()
La ligne de débug suivante correspond à la ligne $this->logger->debug($response); de la fonction protected function getDevices()

Du coup getDevices retourne vide.
Et dans la fonction getSpeakers(), l’exception \RuntimeException(« No devices found on the current network ») est lancée.

Gros coup de gueule OFF

Bonne soirée à tous

Bien cordialement

2 « J'aime »

Bonjour @Snoopy28,

Tu as quel modèle d’ampli?
Celui-ci fonctionne t’il avec l’application mobile « MusicCast Controller »?

As-tu renseigné l’IP manuellement dans l’équipement?

Veux tu mon log quand je restart le demon?

Bonjour @Eddie,

Tout fonctionne avec l’appli MusicCast Controller.
J’ai une piste sérieuse.
Sous MAC OSX, la commande sudo tcpdump -ni en0 udp and port 1900 me trouve bien l’ip de mon ampli (remplacer en0 par eth0 sous un autre OS)
Sous la VM Debian, la commande sudo tcpdump -ni eth0 udp and port 1900 me retourne rien
La commande commande sudo tcpdump -ni eth0 me retourne des ip mais pas celle de mon ampli
Du coup, je suis sur la piste d’une problématique de paramétrage de la connection de la VM sur le réseau

Si ça peut aider… enfin le propriétaire du plugin devrait le savoir, et connaitre ces commandes de test permettant de diagnostiquer le pb.

Bien cordialement et merci

Bonjour à tous,

J’ai constaté que ce problème existe uniquement sur une nouveau JEEDOM V4 fraîchement installé, et non lors d’une migration V3→V4.

J’ai constaté à plusieurs reprise que lors de mise à jour du core du Jeedom, les fichiers non existant dans la nouvelle version reste en place après l’installation. ex : le fichier html/core/class/object.class.php existe lors d’une migration. Il n’y a donc pas de problème dans ce cas là.

Lors de la mise à jour de plugin cette problématique existe aussi.

@Alexandre est-ce que je doit faire un autre ticket dans le core concernant ce sujet ?
Voilà c’est fait : Problème de fichier non supprimé après une mise à jour. (Core et Plugins)

Pour les utilisateurs de musiccast, n’ayant pas de réponse à mes tickets de @granddam. Je vous propose une version fonctionnel pour jeedomv4 : https://github.com/lucguinchard/plugin-musiccast/tree/jeedomV4.

Bonne journée.
Luc

@Snoopy28,

Sous une VM ou Docker il faut bien vérifier les configurations réseaux, Il faut que ta VM soit sur le même réseau que tes appareils Musiccast. quels sont les IPs de ton Jeedom et de ton ampli ?

@luc

J’ai abandonné le projet sous Docker au vu du délai de réponse du propriétaire du plugin.
Bon pour encaisser, rien d’autre.
Je verrai plus tard si je peux sous un Raspberry Pi 4.

Bien cordialement

J’ai envie d’acheter le plugin pour mon ampli rx-a850, mais même si c’est 4€, je vois que le développeur n’est pas très réactif. Du coup j’hésite. Savez-vous si il est possible de piloter l’ampli via des simples commander http? genre http://ipdelampli/HDMI

Merci d’avance,
C

vérifie que l’appli android musiccast fonctionne avec ton ampli, si oui pas de raison que ca ne fonctionne pas si tu n’es pas en virtualisation.

Utilise la version github modifié de lucinchard sur tu es en V4.

Merci du retour, je suis sur un raspberry, mais c’est ce que je disais, apparemment c’est une autre personne qui a pris le relais. Donc est ce qu’il est toujours viable ou pas de faire l’achat.
C.

oui c’est un avantage des amplis yamaha, l’API est simple et publique.

Perso c’est comme ca que je pilote mon ampli avec Alexa et HA-Bridge

Merci du retour mais au cas ou auriez-vous les les liens htmls ou au moins un exemple afin d’essayer?
Car pour l’instant je passe par un lien jeedom et ce n’est pas l’idéal.
Merci d’avance,
C.

J’ai trouvé ca: http://habitech.s3.amazonaws.com/PDFs/YAM/MusicCast/Yamaha%20MusicCast%20HTTP%20simplified%20API%20for%20ControlSystems.pdf

2 « J'aime »

alors c’est exactement ce que j’avais besoin! Si j’avais eu ce pdf je n’aurai pas acheté le plugin (qui d’ailleurs ne se lance plus !)

C.

1 « J'aime »

Chez moi, il fonctionne, me remonte des erreurs de temps en temps, mais je sais qu’il fonctionne car j’utilise un scénario utilisé régulièrement. Mais il est vrai qu’avec les url, ca permet de créer soit même des widgets ou commandes indépendantes.