Reprise plugin Google Cast

Hello à tous,

Je vois que le plugin GoogleCast n’est plus maintenu à jour depuis 3 ans.

J’ai donc fait un fork, et je peux voir pour assurer la maintenance :

Si jamais je ne répond pas aux ping (normalement un email est bien reçu), passez par les issues Github, je suis très actif.

Merci, et n’hésitez pas en cas de besoin/aide, ou pour participer.

Je vais voir pour préparer la migration 4.4 selon les contraintes, et ensuite soumettre la validation au store.

Have fun !

12 « J'aime »

Je vais commencer par fixer ce soucis récent :

Attention je pense qu’il y a un soucis avec le démon que j’ai relancé plus de 3 fois consécutivement

ERROR : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
INFO : Lancement démon googlecast : /usr/bin/python3 /var/www/html/plugins/googlecast/resources/googlecast.py --loglevel debug --socketport 55012 --sockethost 127.0.0.1 --callback http://XX.XX.XX.XX/plugins/googlecast/core/php/googlecast.api.php --apikey XXXXXXXX --ttsweb http://XX.XX.XX.XX --ttslang fr-FR --ttsengine gttsapi --ttsspeed 1.2 --ttscache 1 --ttsgapikey XXXXXXXXX --gcttsvoice fr-FR-Standard-A --ttsdefaultrestoretime 1300 --ttsdefaultsilenceduration 300 --daemonname local --cyclefactor 1 --defaultstatus ' '

Début de réparation :

pip3 uninstall protobuf && pip3 install 'protobuf==3.19.0'
pip3 install --upgrade --force-reinstall click
pip3 install --upgrade --force-reinstall zeroconf
4 « J'aime »

C’est cool ca. Merci.
D’autres évolutions prévues ?

1 « J'aime »

Bonjours à toi et merci pour la reprise du plugin :star_struck:

1 « J'aime »

Pas dans l’immédiat, et j’utilise peu le service (surtout pour les notifs TTS via Home mini), mais dans l’avenir pourquoi pas selon ma charge ma quotidienne.

Déjà au moins pour maintenir les update, que cela soit de la lib, comme des dépendances, et de Python/jQuery qui bougent pas mal, et histoire d’avoir quelque chose durable dans le temps.

4 « J'aime »

Excellente nouvelle ! Merci beaucoup :slight_smile:

1 « J'aime »

Très bonne nouvelle. Un grand merci a toi :+1:

1 « J'aime »

Salut merci beaucoup,
il fonctionne aussi avec protobuf 3.20.3

perso je l’utilise pour faire sonnette (jingle des Minions), donc hyper utile (nécessaire) pour moi :slight_smile:

Très bonne initiative merci a toi !

Ca varie, j’ai testé des upgrades ZeroConf & Protobuf, et ça m’as quand même fait des bugs sur le démon ce week-end donc je suis revenu en arrière. (et Python2 semble embêter parfois).

Salut

C’est à dire?

Antoine

Y’a des cas où j’ai vu dans les logs que le /usr/bin/python3 n’était pas utilisé, et que ça passait via pip2(.7), et donc les requirements étaient erronnés

Bonjour,

Arffff :frowning: Pour information, je n’avais pas encore communiqué sur le forum (je souhaitais le faire ce we, et faute de temps j’ai remis ca à plus tard :stuck_out_tongue: ) :

Cela fait quelques semaines que je travailler à la réécriture complète du plugin (en repartant de zéro, avec la dernière version de la librairie tierce, ainsi que l’environnement python isolé via venv), car après avoir étudié le code, je m’étais aperçu qu’il y avait bcp de bouts de code obsolètes en commencant par les librairies tierces utilisées (pychromecast notamment), mais aussi la méthode de connexion à Google Cloud TTS, et les API google cast ont bcp évoluées depuis 3 ans, et certaines fonctions ont été déclarées obsolètes ce qui va rendre le support plus compliqué.

Quant au code utilisé côté jeedom, pareil il y a un grand ménage à faire.

Maintenant, la réécriture de zéro prend énormément de temps, et à date, je n’ai pas encore une version « diffusable à grande échelle », même si le plugin tourne sur mes jeedom avec un démon qui tourne avec le scan et le TTS opérationnel (via google translation, jeedom tts et google cloud tts via clé api json), mais il manquait encore bcp de choses avant de sortir un plugin complet.

Au plaisir d’échanger sur le sujet,
TiTidom.

4 « J'aime »

Hello,

Avec plaisir alors, techniquement je n’ai pas fait grand chose donc je ne vais pas te couper l’herbe sous le pied, j’avais mis les venv dans ma todo car ça aidera pas mal mais possiblement pas faisable avant 1 an pour ma part alors no soucis !

A l’inverse je viendrais faire des PR avec grand plaisir pour aider dans ce cas là :wink:

1 « J'aime »

Hello,

Je rajouterai que c’est pas plus mal de repartir sur un plugin « remis à neuf » au moins pour le plugin ID.

Sinon je me demande si en installant un plugin depuis github avec le même ID qu’un plugin existant sur le market, jeedom risque de continuer à proposer des mises à jour sur le plugin venant du market?

et pour ce genre de plugin largement utilisé, ca sera qd meme plus simple qu’il soit installable depuis le market :wink:

Hello,

Si tu es sûr et que cela ne te dérange pas, alors je prendrai le relai (bon, ca me met un coup de pression pour le coup :stuck_out_tongue: )

Et pour les PR, ce sera avec le plus grand des plaisirs, toute aide est la bienvenue, car c’est un « gros » morceau (pour moi en tout cas !) et le temps défile trop vite (avec la famille, le boulot…) du coup les nuits sont trop courtes :stuck_out_tongue:

Si cela intéresse du monde de jeter un premier coup d’oeil, le code est ici :

PS : la branche béta est « testable » même si c’est vraiment du « early access » !!!

TiTidom.

3 « J'aime »

Non tu ne peux pas mettre le même ID, moi j’ai mis googlecast2, et du coup j’ai les deux en //

ah oui l’idée n’est d’avoir que des plugins market en tout cas, mais les sources du market sont sur le github

Bonjour,
Je me sers de GoogleCast pour :

  • Envoyer un TTS d’alerte & notification,
  • Caster une radio pour le réveil-matin.

le readme de TTSCast indique :

Ce plugin sert de synthèse vocale (TTS) et de diffuseur sur les équipements Google pour Jeedom.

Est-ce que la radio sera gérée à terme ?
La lib utilisée PyChromecast semble proposer du cast de musique et

Start the default media receiver and play any online media

Si tu peux, si tu désinstalles le premier (venant du market), tu peux un installer un autre venant de github;

et ton fork a toujours comme id « googlecast » (cf info.json) et la class du plugin est toujours « googlecast » donc si tu as les deux en // … je ne vois pas comment jeedom peut savoir quelle class il doit charger; c’est précisément le genre de conflits qui j’envisageais :wink:

Bonjour,

Non ça change simplement la source et l’update de version se base sur le hash donc plus de mise à jour venant du Market :