Reprise plugin Google Cast

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 :

Hello,

Oui cela fait parti de la todo :wink:, la todo est tellement longue que pour l’instant je me concentre sur le TTS (celui là est plutôt bien avancé) et sur le contrôle du Google (volume, online, info de lecture, retour d’état en temps réel, etc…)

Mais encore avant, je continue à me familiarise avec la communication entre un démon, les multi thread python, jeedom (retour mais aussi l’aller vers le démon) en essayant de faire attention aux ressources pour m’assurer que cela fonctionnera dans de bonnes conditions pour tout le monde.

TiTidom.

3 « J'aime »

Parfait. Prend ton temps.
Je ne pourrai peut-être pas t’aider pour le dev, car je ne maitrise pas assez l’API Jeedom, mais je pourrai voir si je peux te proposer des PR, sinon je pourrai aussi t’aider pour tester.
Bon courage.

Bonjour, top car il est bien utile ce plug in !
du coup je n’ai pas compris ce qu’il fallait faire pour les futures maj, il faut installer un nouveau plug in ou celui existant se mettra a jour ?
Encore merci

Ca sera un nouveau et il faut attendre

Bonjour,

As-tu prévu (je suppose :slight_smile: ) la lecture de fichier .mp3 ?

Perso je génére mes TTS via Voice RSS ( http://www.voicerss.org ) qui permet d’avoir des voix superbes sans limitation de volume et gratos !

Depuis des années je génère tous les matins 10-15 mn de TTS qui résume l’actualité et la génération ne prend que #15-20 sec avec leur API.

Actuellement pour le lire j’utilise une VM dédiée avec uniquement jeedom et Google Cast dans les anciennes versions !!! Autant dire que j’attends ton plugin avec impatience ! (si tu as besoin de testeur n’hésite pas non plus)

Si cela t’interesse pour le futur plugin, il suffit d’une dizaine de ligne pour exploiter leur api !!

1 « J'aime »

Hello,

Si tu m’envoies des exemples d’implémentations pour générer du TTS à partir de cette source (oui je suis allé voir le site, mais ca ira plus vite ainsi avec un vrai exemple :stuck_out_tongue: ), je pourrai l’ajouter directement au plugin TTS Cast et du coup mettre à disposition de tous ce moteur TTS en plus des 3 autres :wink:

TiTidom.

EDIT : je vous propose que l’on continue à discuter du plugin TTS Cast sur ce post dédié :

2 « J'aime »

Voila le code de la routine, difficile de faire plus simple :slight_smile:

remarque : « self::getParam(‹ System ›, ‹ pathRef ›); » renvoi le chemin du rep incluant les ressources externe (API)

/************************************************************************************************************************
* DOMO														VOICE_RSS													*
*************************************************************************************************************************
*	Génération TTS via VoiceRSS : http://www.voicerss.org/api/															*
*	Paramètres :																										*
*		nom_File_TTS : Nom du fichier à générer dans le rep '/var/.../PathMedia' de Jeedom								*
*		message : Message à transposer																					*
************************************************************************************************************************/
	public static function VoiceRSS($nom_File_TTS, $message, $pathMedia) {
			// Nettoyage du message
			$message = htmlspecialchars ($message);
			$pathRef = self::getParam('System', 'pathRef');	// Répertoire de référence de domoMG
			include_once getRootPath() . ("$pathRef/_ressources/voicerss_tts.php");
			$tts = new VoiceRSS;
			$params = [
				'key' => self::getParam('Media', 'API_VoiceRSS'),
				'hl' => 'fr-fr',
				'v' => 'Axel',
				'src' => $message,
				'r' => '-1',
				'c' => 'mp3',
				'f' => '44khz_16bit_stereo',
				'ssml' => 'false',
				'b64' => 'false'
				];
			$voice = $tts->speech($params);
			$fileTTS = getRootPath() . "$pathMedia/$nom_File_TTS";
			sleep(1);
			file_put_contents($fileTTS, $voice['response']);
			sleep(5); /////////////////////////////////////////////////////////////////////
	}
1 « J'aime »

Alors GO !!!

  • Install, pas un message d’erreur, tout semble OK, par contre le daemon ne démarre pas tout seul, il faut le lancer à la main

  • Le bouton « test lecture mp3 » envoi bien bigben à fond les manettes :slight_smile:

  • dans la liste des commandes, « en ligne » reste à 0, les autres valeurs sont vides

  • Le widget semble fonctionnel mais pour l’instant « inerte »

image

bonjour à tous.

Merci beaucoup pour la reprise du plugin !!! :wink:

Cependant, n’est il pas possible de mettre à jour le plugin existant au lieu d’en refaire un ?
En effet, cela va « encore » obliger de modifier toutes les commandes… :unamused:

Merci encore

Non puisqu’on n’a aucun accès au plugin existant et plus aucune réponse de l’auteur;

Non, l’outil « remplacer » du core est là pour ca

1 « J'aime »

Ok, merci pour ta réponse.

En effet, si l’auteur ne répond plus je comprends qu’il faille en recréer un…

Pour l’outil du corps ‹ ‹ remplacer › ›, je ne trouve pas de tuto expliquant par des exemples concrets comment s’en servir…

Jusqu’à présent, j’utilise plus les outils ‹ ‹ remplacer cette commande par › ›…

Merci encore

Effectivement c’est aussi ce que j’utilise (remplacer les commandes par), mais ça peut être long et fastidieux

Ouf…je ne suis pas le seul ! :wink: C’est vrai que certaines fonctions sont claires et faciles d’utilisation surtout pour ceux qui les ont développées. L’outil ‹ ‹ remplacer › › peut-être dangereux si mal utilisé. D’où ma question : y a-t-il des tutos avec des exemples pour comprendre comment utiliser cet outil ?

Merci

Il y’a ça sur la doc, mais effectivement un exemple concret pourrait nous aider :
https://doc.jeedom.com/fr_FR/core/4.3/replace#Remplacements