J’ai refais une fresh install, cette fois le bluetooth est bon fallait réinstaller les dépendances…
Comme j’ai modifié les fichiers comme indiqué par Spine, python 2 ne s’est pas installé (ouf). Encore merci @Spine je comprenais pas comment je m’étais retrouvé avec une ancienne version de python.
Cela viens de me permettre de me rendre compte que le plugin tvDomSamsung ne fonctionne pas car il doit utiliser python 2 et la commande python n’est plus présente.
Je ne pensais pas que cela serait aussi compliqué de passer de Debian 10 à 11 car de 9 à 10 j’avais pas eu de problème (visiblement c’est surtout python 2 à 3 qui pose problème).
J’ai réussi à faire fonctionner le TTS Jeedom avec cette correction :
Cela n’a rien à voir avec Debian 11 et Python (j’ai la même erreur sur Debian 10), c’est dû à une modification du core qui n’est pas très récente (4.1 il me semble), donc j’avoue ne pas comprendre comment cela pouvait fonctionner chez vous.
Le TTS Jeedom propose deux moteurs par défaut, Pico et Espeak, on peut en rajouter en installant le plugin-songs en Beta par exemple (TTS Cloud) :
Cette configuration n’existait pas quand le plugin a été développé d’où le fait qu’on puisse aussi configurer Pico dans le plugin (ça revient au même).
Par contre, d’après mes essais Espeak est pire que Pico donc ça ne colle pas avec :
PS : vous pouvez aussi utiliser un moteur Cloud et faire un bloc code pour basculer sur un moteur Local et redémarrer le démon en cas de connexion internet HS.
Merci pour votre travail, j’avoue ne pas trop comprendre pourquoi j’avais un son audible sous debian 10…
Je vais essayer de restaurer un backup dans un vm pour voir ce qu’il y avait comme moteur de configurer.
Effectivement les moteurs TTS Pico et Espeak sont très robotique.
Oui.
Je vais étudier cette piste, c’est une bonne idée
Merci
Edit: Je suis confus , après restauration, ma sauvegarde sous debian 10 utilisait Google Translate API… Je n’ai pas compris pourquoi lors de la réinstallation je suis passé sur un autre.
Je vais essayer de passer sur le plugin-songs.
J’ai bien mis dans Jeedom Plugin Sons et TTS, en revanche que dois-je choisir dans le plugin Google Cast ?
Merci
Merci pour ton travail sur ce plugin, c’est vraiment top ! Tu es trop fort. J’ai vu que tu as soumis les correctifs au dev du plugin (Guirem) dans GitHub.
Sais-tu si @guirem a vu tes correctifs dans GitHub ? (Guirem, je me permet de te contacter ici, pour que tu aies connaissances des correctifs soumis par Spine pour le #plugin-googlecast. Vas-tu les intégrer prochainement)
Le fichier mp3 est bien présent mais est vide. Je vais basculer sur la version « Google Translate API (internet requis) » en attendant.
Si quelqu’un à une idée, je suis preneur.
Pour le TTS de Jeedom je suis passé par le plugin songs (beta) 2021-04-07 01:12:09.
Hier matin j’avais testé la version stable mais le test de la commande Parle ! dans Google Cast n’avait pas fonctionné (contrairement à la beta). Mais avec du recul, c’est peut-être le même problème.
Je vais essayer de reproduire sur un environnement non prod.
Merci
Edit:
Je viens de voir que j’ai une log dataservice, j’imagine que c’est lié la dernière ligne correspondant à ma log de ce matin. Il y aurait un quota dépassé mais j’avoue ne pas trop comprendre ou il faut chercher.
[2023-05-31 14:52:06][ERROR] : [TTS] Erreur sur la récuperation des données : {"state":"nok","error":"Quotas exceeded"}
[2023-05-31 16:56:01][ERROR] : [TTS] Erreur sur la récuperation des données : {"state":"nok","error":"Quotas exceeded"}
[2023-05-31 17:00:09][ERROR] : [TTS] Erreur sur la récuperation des données : {"state":"nok","error":"Quotas exceeded"}
[2023-06-01 07:45:03][ERROR] : [TTS] Erreur sur la récuperation des données : {"state":"nok","error":"Quotas exceeded"}
Je n’ai pas encore soumis les correctifs à Guirem (c’est les commits sur mon fork que vous avez vu), je vais le faire mais aux dernières nouvelles il n’était plus sur Jeedom donc c’est compliqué de maintenir un plugin sur un logiciel qu’on utilise plus.
Le plugin crée un mp3 vide quand le moteur TTS ne répond pas, l’erreur est trompeuse et n’a rien a voir avec ffmpeg.
C’est bien la version Beta du plugin-songs qu’il faut utiliser, le moteur TTS n’est pas implémenté dans la version Stable.
Vous avez dépassé le quota de requêtes autorisés, le plus probable est que vous ayez involontairement effectué trop de requêtes d’un coup en faisant des tests et vous vous êtes fait bannir pour une durée indéterminée. Patientez 24h ou 48h et réessayez, c’est peut-être bon depuis votre dernier message.
Si cela se reproduit, il faudra demander à Jeedom quels sont les quotas autorisés car le moteur TTS du plugin-songs requête le Market Jeedom et je n’ai aucune idée de ce qu’il y a derrière.
Ceci étant dit, leur serveur doit être prévu pour une utilisation « classique » du TTS et je reste donc sur ma première idée d’un trop grand nombre de tests effectués sur une courte durée.
Je ne savais pas qu’il y avait des quotas sur ce plugin songs, j’étais bien sur la version beta car j’avais constaté que sinon ça ne fonctionnait pas. J’ai fais 2 ou 3 tests avec la version stable avant de passer à la beta et de l’activer. Je suis repasser sur Google, ça fonctionne bien surtout que j’ai que 4-6 annonces TTS par jour.
Effectivement ça va être compliquer de soumettre les correctifs s’il ne l’utilise plus… On va devoir se brancher sur votre fork
Bonjour je suis passé sous Débian 11.
Et le plugin Google Cast ne fonctionne plus.
Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
import pychromecast.pychromecast as pychromecast
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
from . import socket_client
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
from . import cast_channel_pb2
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 33, in <module>
_descriptor.EnumValueDescriptor(
File "/usr/local/lib/python3.9/dist-packages/google/protobuf/descriptor.py", line 796, in __new__
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 45, in <module>
import pychromecast.pychromecast as pychromecast
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/__init__.py", line 12, in <module>
from . import socket_client
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 23, in <module>
from . import cast_channel_pb2
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/cast_channel_pb2.py", line 33, in <module>
_descriptor.EnumValueDescriptor(
File "/usr/local/lib/python3.9/dist-packages/google/protobuf/descriptor.py", line 796, in __new__
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
J’ai pas trop envie de tout bricoler.
Existe t’il un autre moyen de faire parler les Ghome ?
Collecting protobuf==3.19.0
Downloading protobuf-3.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 17.2 MB/s eta 0:00:00
DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
Installing collected packages: protobuf
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pychromecast 13.0.7 requires protobuf>=3.19.1, but you have protobuf 3.19.0 which is incompatible.
ghome-foyer-api 1.0.0 requires protobuf<5.0.0,>=4.21.12, but you have protobuf 3.19.0 which is incompatible.
Successfully installed protobuf-3.19.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv