IMPORTANT
S’il n’y a pas d’information sur la mise à jour, c’est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte.
Ce plugin pour Jeedom permet de gérer ses équipements Google Home (type Nest, Nest Mini, Nest Hub, Nest Hub Max, Chromecast TV, SmartClock, etc…). Il permet de générer des notifications via synthèse vocale (TTS : Text To Speech) et de les diffuser sur les équipements Google. Différents moteurs de TTS sont disponibles parmi lesquels : JeedomTTS (incluant PicoTTS et eSpeak), Google Translate API, Google Cloud TTS et Voice RSS. Le tout avec différentes voix et différentes langues.
Le plugin permet également de diffuser des sons personnalisés (au format .mp3), des vidéos YouTube, une page Web (Dashcast), ou encore une radio en streaming, ou tout autre média (vidéo ou mp3) à partir de votre NAS (DLNA) par exemple.
L’ensemble est accessible via le dashboard de Jeedom, et/ou peut être programmé à travers des scénarios.
Exemples de scénarios :
L’installation des dépendances a été testée sur différents systèmes, dans différentes versions d’OS et de Jeedom. Voici un retour (non exhaustif) de configurations testées :
ATTENTION
Debian 10 étant en fin de vie (obsolète) depuis juin 2024 : L’installation n’est plus garantie sur cet OS. Dis autrement : Si le système est à jour et accède encore à ses dépôts Linux, alors cela devrait fonctionner, dans le cas contraire, il faudra migrer votre OS vers une version à jour (Debian 11 64bits, Debian 12, Raspbian 11 64bits, Raspbian 12)
ATTENTION
L’installation ne fonctionnera pas sur un OS 32 bits, par exemple sur un Raspberry 3B+ avec Raspbian 10 ou 11 (32 bits)
Pour vérifier si votre Jeedom (pour un Raspberry par ex.) tourne sur un OS 32 bits ou 64 bits, vous pouvez vous connecter en SSH dessus et lancer la commande
uname -m
, si le résultat estarmv7l
votre OS est 32 bits, si le résultat estaarch64
alors votre OS est en 64 bitsVous pouvez également trouver cette information via le plugin “Monitoring”, c’est indiqué sur le Dashboard de l’équipement
local
L’installation des dépendances peut prendre du temps, voici à titre d’exemples les temps d’installation sur différents systèmes :
IMPORTANT
L’installation des dépendances peut prendre du temps (de 2 minutes jusqu’à 40 minutes suivant votre Jeedom) et des ressources (jusqu’à 100% de CPU dans la phase de compilation et 340Mo d’espace disque). Soyez patient (Vous pouvez suivre les phases d’installation des dépendances dans les logs ‘ttscast_update’ du plugin)
PS : L’usage élevé des ressources de votre Jeedom (CPU notamment) ne concerne QUE la phase d’installation des dépendances !
Si l’installation des dépendances échoue, ou bien si celles-ci semblent s’être bien déroulées mais que le démon refuse de démarrer, vous pouvez utiliser les options avancées de la page de configuration du plugin pour procéder à la “réparation” de ces dépendances.
Si votre système (OS) sur lequel est installé votre Jeedom n’est pas à jour, il va manquer des librairies systèmes nécessaires au bon fonctionnement de Python et donc du plugin TTSCast.
3 options sont à votre disposition dans la page de configuration du plugin pour réparer les dépendances et mettre à jour votre système (OS) :
Le principe pour utiliser ces options est le suivant :
Sauvegarder
en haut à droite du panneau Configuration
)
IMPORTANT
Après avoir lancé l’installation des dépendances, ces options que vous avez coché juste avant se désactiveront automatiquement !
C’est tout à fait normal. Cela permet de s’assurer que ces options ne sont utilisées qu’une seule fois lors de l’installation des dépendances
(1) “Force les mises à jour Système” :
IMPORTANT
Le système de “mises à jour systèmes” (OS) est là pour “simplifier” les actions de l’utilisateur et lui éviter d’avoir à se connecter sur son système (OS) en SSH pour le mettre à jour.
Cette action de mises à jour automatiques, si elle ne se déroule pas comme attendu, peut corrompre votre système et rendre votre Jeedom totalement inutilisable.
Je ne saurais être tenu responsable si votre Jeedom n’est plus opérationnel après le lancement de ces options !
Il est déconseillé d’utiliser cette option sur une Box Jeedom officielle.
(2) “Force la réinitialisation de PyEnv” :
(3) “Force la réinitialisation de Venv” :
Il est conseillé de procéder en deux temps et ne pas cocher les 3 options simultanément :
N’hésitez pas à demander conseil sur le forum Community de Jeedom en cas de doute sur la procédure à suivre.
Plugin :
Démon :
TTS (Text To Speech) :
Tests :
Pour plus d’informations sur la syntaxe SSML, allez voir la FAQ
Options :
ding
des commandes : Cochez cette case pour ne plus entendre le ‘ding’ joué par vos équipements Google à chaque lancement d’une notification (fonctionne sur les équipements individuels mais pas sur les groupes d’enceintes)wait
(secondes) : Permet de définir le timeout au bout duquel une commande utilisant l’option wait
sera malgré tout diffusée, même si une autre diffusion est déjà en cours. (60 secondes par défaut)GenerateTTS
(secondes) : Permet de définir le timeout d’attente pour la génération d’un fichier TTS lors d’un appel à partir du core de Jeedom (API TTS - 30 secondes par défaut)
ASTUCE
Concernant la durée maximale (timeout) pour l’option
wait
: Faites en sorte que cette valeur soit supérieure à la durée du plus long de vos messages / sons à diffuser !Par exemple, si vous avez une notification TTS qui dure 4 minutes, mettez une valeur du timeout de l’option
wait
à au moins 4 min 30 (soit 270 sec), sinon cette notification sera coupée avant la fin si vous utilisez l’optionwait
pendant sa diffusion !
Listes :
Custom Sounds
via cette page de configuration (fichier .json d’exemple disponible dans la FAQ)Custom Sounds
via cette page de configurationCustom Sound
au pluginCustom Radios
au plugin (IMPORTANT : Tout nouveau fichier envoyé au plugin écrasera l’ancien !)
IMPORTANT
Toute option suivie d’un “triangle orange (warning)” nécessite le redémarrage du démon après modification
Pour définir le plugin comme moteur TTS par défaut de Jeedom, rendez-vous sur la page de configuration (Menu : Réglages / Système / Configuration
, onglet Général
).
A la ligne Moteur TTS
, choisissez dans la liste Plugin TTS Cast
. Cela le définira comme moteur par défaut pour tout plugin qui y ferait appel.
Pour pouvoir utiliser le moteur TTS de Google Cloud, il faut être inscrit chez eux, activer l’API Google Text-To-Speech et générer une clé (qui servira au plugin pour s’authentifier chez Google au moment de générer le fichier TTS)
A partir de la page de configuration du plugin, cliquez sur le bouton “SITE”, après avoir sélectionné le moteur TTS “Google Cloud TTS”, ou bien cliquez sur le lien : Console Google Cloud
Connectez-vous avez un compte Google (adresse email en @gmail.com) ou bien créer en un (ce compte est obligatoire pour pouvoir profiter des services de synthèse vocale de Google)
Créez un nouveau projet (ou utilisez un projet déjà existant) et nommez-le (par ex. : Jeedom Speech)
ASTUCE : Si vous aviez déjà un projet avec l’API TTS de Google et comme méthode d’authentification une “clé API”, vous pouvez passer directement à l’étape “CREER DES IDENTIFIANTS” un peu plus loin dans la documentation
Sur la page du projet, cliquez sur le bouton “API et services”
Sur la nouvelle page, cliquez sur “ACTIVER LES API ET LES SERVICES”
Dans la barre de recherche, tapez “Cloud Text-To-Speech API”
ATTENTION : Google va vous sortir 3 résultats, et il est facile de se tromper entre “Cloud Text-to-Speech API” et “Cloud Speech-to-Text API” ;)
Choisissez bien “Cloud Text-to-Speech API”
Activez cette API.
Cliquez ensuite sur “GERER”
Donnez un nom à ce compte de service (par exemple TTSCast), l’id du compte est automatiquement créé à partir du nom que vous allez donner. Cliquez ensuite sur “CREER et CONTINUER”
Concernant la partie “(2) Autoriser ce compte de service à accéder au projet (facultatif)”, cliquez simplement sur “CONTINUER” (aucune information n’est à rentrer pour cette partie)
Concernant la partie “(3) Autoriser les utilisateurs à accéder à ce compte de service”, pareil : ne rien mettre comme informations et cliquez sur “OK”
Ensuite, on revient sur la page des comptes de service, et le compte nouvellement créé doit apparaître dans la liste (avec comme indication “Aucune clé”, jusque là c’est normal !) :
A droite du compte qui se trouve dans la liste, cliquez sur les 3 points verticaux, et choisissez dans le menu “Gérer les clés” :
Sur la nouvelle page qui apparaît, cliquez sur le bouton “AJOUTER UNE CLE” et dans le menu choisissez : “Créer une clé” :
Dans la fenêtre qui apparaît, dans “type de clé”, choisissez “JSON”, et cliquez sur le bouton “CREER” :
Là la clé va être créée et AUTOMATIQUEMENT téléchargée sur votre ordinateur (par défaut dans le répertoire “Téléchargements”), le site vous affiche alors l’information :
IMPORTANT :
Une clé ne peut être téléchargée qu’UNE SEULE FOIS, au moment de sa création. Il n’est plus possible ensuite de venir sur cette console pour la récupérer à nouveau ! Ne la perdez pas, et stockez là en lieu sûr.
Si vous perdez cette clé (pensez alors à l’effacer de votre console), vous pourrez à tout moment en recréer une nouvelle en suivant la même méthode décrite ci-dessus.
La clé JSON nécessaire pour se connecter à Google Cloud Text-to-Speech est maintenant sur votre ordinateur. C’est ce fichier qu’il faut charger dans le plugin, via la page de configuration (un bouton dédié est là pour cela).
Activez la partie “facturation” (“billing” en anglais) pour ce service : Il est nécessaire d’activer la partie facturation (même si au final, dans un usage raisonnable, vous ne serez pas facturé !). Pour cela, sur la console Google, rendez-vous sur la partie facturation, soit via le menu en haut à gauche, soit directement dans la barre de recherche située en haut du site, tapez “facturation”, et choisissez dans la liste “Compte de facturation” (ou bien “Créer un compte de facturation si vous n’en avez pas)
Il vous faut alors activer la facturation en ajoutant notamment un mode de paiement, et en vous assurant que la facturation est bien active pour le projet sur lequel vous avez activé le Text-to-Speech (il doit apparaître dans la page du menu “Gestion des comptes”)
IMPORTANT : L’activation du service “billing” est nécessaire pour utiliser cette API, même si rien ne sera facturé à l’usage (sauf si vous dépassez les quotas).
Les quotas dépendent de la voix utilisée (Une voix “Standard” utilisera moins de “crédits” qu’une voix “Studio” par ex.). Ces quotas sont malgré tout très élevés (usage par nombre de caractères envoyés et par mois), donc pour un usage “normal” de la synthèse vocale, vous devriez rester bien en dessous de la limite des quotas.
Il est possible, à tout moment, de suivre sa consommation (sur la console Google) pour ce service TTS.
Pour générer une clé API pour le moteur RSS Voice, vous avez besoin d’un compte chez eux (gratuit) : Voice RSS : Page ‘Profile’
Après avoir créé votre compte, une clé API est générée automatiquement (dans le champ API Key, sur votre page de profil). Copiez cette clé, et rentrez la sur la page de configuration du plugin, dans le champ prévu à cet effet.
ATTENTION
Le rafraîchissement des listes va avoir des impacts sur vos scénarios existants (ceux utilisant ces commandes), notamment en supprimant (dans le scénario) la valeur sélectionnée de la liste en question (même si cette valeur existait et existe toujours après la mise à jour)
N’utilisez ces boutons de mise à jour qu’en cas de besoin et en connaissance de cause !
ASTUCE
Pour éviter la modification automatique (suppression de la valeur) de vos scénarios suite à la mise à jour d’une des listes, utilisez la commande
Custom Cmd
à la place de la commande liste directement.
Ce bouton permet de rafraîchir la liste des radios de chaque équipement
Ce bouton permet de rafraîchir la liste des ‘custom radios’ de chaque équipement
Ce bouton permet de rafraîchir la liste des sons de chaque équipement
Ce bouton permet de rafraîchir la liste des sons personnalisés de chaque équipement
Pour ajouter un son personnalisé au plugin, cliquez sur ce bouton, dans la page de configuration du plugin.
Sélectionnez un fichier “.mp3” dans la fenêtre qui s’ouvre, et cliquez sur le bouton “Ouvrir”.
Un message s’affiche indiquant si le fichier a bien été envoyé.
IMPORTANT
Vous devrez rafraîchir la liste des sons personnalisés (Custom Sounds) via le bouton “MàJ Custom Sounds” à chaque fois que vous aurez ajouté un ou plusieurs fichiers .mp3 !
Avant d’ajouter le fichier JSON contenant vos radios personnalisées, vous devez générer ce fichier. Pour cela, vous pouvez utiliser le fichier exemple fourni dans la FAQ : ICI
Une fois le fichier personnalisé, retournez sur la page de configuration du plugin, et cliquez sur le bouton dédié pour charger votre fichier dans le plugin.
IMPORTANT
Vous devrez rafraîchir la liste des ‘Custom Radios’ via le bouton “MàJ Custom Radios” à chaque fois que vous ajouterez un fichier de radios !
Rendez-vous sur la page du plugin et cliquez sur le bouton “Scan” pour détecter automatiquement les équipements Google présents sur votre réseau. Le plugin va alors les ajouter dans Jeedom.
Re-cliquez sur le bouton “Stop Scan” ou attendez 60 secondes pour arrêter automatiquement le Scan et rafraîchir la page.
Vos équipements détectés apparaissent alors sur la page.
Une fois l’équipement ajouté à Jeedom, plusieurs commandes sont disponibles.
Ces deux paramètres Idle
et Busy
sont disponibles pour chaque équipement. Ils vous permettent de tester l’état dans lequel se trouve votre équipement (occupé ou non).
Vous pouvez par exemple utiliser le paramètre Busy
dans un scénario pour savoir si votre équipement est déjà utilisé pour écouter de la musique ou bien une radio :
Ces deux paramètres (qui peuvent au premier abord sembler l’exact contraire l’un de l’autre) ne sont pas basés sur la même logique, ils peuvent ainsi se comporter différemment suivant les cas d’usage :
Busy
s’il est dans l’un des états suivants : PLAYING
, BUFFERING
, PAUSED
Idle
si le paramètre Cast Media State
a l’une des valeurs suivantes : IDLE
ou UNKNOWN
ASTUCE
Si vous vous demandez lequel de ces deux paramètres il vaut mieux utiliser dans vos scénarios, alors préférez le paramètre
Busy
qui répondra à la plupart des cas d’usages.
Valeurs possibles des différents champs de la commande TTS
:
JSON
Le champ Options
Peut contenir différentes variables, qu’il est possible de combiner :
volume
: Permet de définir le volume (de 0 à 100) de diffusion (Ex: "volume": 30
)ding
: Si cette option est mise à false
: Permet d’enlever le “ding” présent au début de l’annonce sur un Google Home (Ex: "ding": false
)wait
: Permet de définir l’ordre de passage de plusieurs des commandes (Ex: "wait": 1
)ssml
: Si cette option est mise à true
: Permet d’utiliser la syntaxe SSML dans le texte à diffuser (Ex: "ssml": true
)before
: Permet d’insérer un silence avant la diffusion d’un TTS (Ex: "before": "3s"
)force
: Permet de rendre cette commande prioritaire (cela coupe toute diffusion en cours pour diffuser cette commande)Les options
ssml
etbefore
sont disponibles pour les moteurs TTS : Google Cloud TTS et VoiceRSS (pour VoiceRSS, cela implique d’avoir une licence payante, au minimum le niveau “Business”)Les options
ssml
etbefore
ne peuvent être utilisées dans la même commande !Pour plus d’informations sur la syntaxe SSML, voir la FAQ.
Exemples :
Options
(laissez le vide)Options
le paramètre :
"volume": 30
Options
le paramètre :
"ding": false
Options
le paramètre :
"wait": 1
"wait": 2
Il est possible, pour cette option wait
de mélanger des notifications TTS
et CustomCmd
dans le même scénario (il suffit alors de mettre le bon numéro pour l’option wait en fonction de l’ordre souhaité de diffusion)
Voici un exemple de scénario utilisant la commande TTS :
Voici un exemple de scénario utilisant l’option wait
:
Voici un exemple de scénario utilisant l’option before
:
Voici un exemple de scénario utilisant l’option ssml
:
Voici un exemple de scénario utilisant l’option force
:
Lorsque vous regardez une vidéo YouTube, il y a une URL associée (visible dans la barre d’adresse de votre navigateur), cette adresse est de la forme :
Pour une simple Vidéo : https://www.youtube.com/watch?v=ID_VIDEO
Pour une PlayList : https://www.youtube.com/watch?v=ID_VIDEO&list=ID_PLAYLIST
Notez bien les deux paramètres ID_VIDEO
et ID_PLAYLIST
(seulement pour jouer une playlist, sinon ce 2ème paramètre n’est pas utile)
Valeurs possibles des différents champs de la commande YouTube
:
JSON
Le champ Options
peut contenir différentes variables, comme "volume"
, ou "playlist"
ou encore "enqueue"
, ou "force": true
.
Pour ceux qui connaissent, la syntaxe est celle du JSON (sans les { }
), et pour ceux qui ne savent pas ce qu’est le format JSON, pas de panique, il y a des exemples de paramétrage qui suivent :-)
Exemples :
30%
, entrez dans le champ Options
le paramètre :
"volume": 30
"enqueue"
), entrez :
"volume": 30, "playlist": ID_PLAYLIST, "enqueue": false
Options
, les valeurs par défaut seront utilisées :
L’ordre des paramètres dans la ligne n’a pas d’importance (vous pouvez rentrer le paramètre
volume
en premier, en dernier, au milieu, comme vous voulez), et certains paramètres sont optionnels.Par contre, le fait de mettre en majuscule ou minuscule une variable (la casse) a une incidence, les
"
la,
et les:
pour séparer ou indiquer la valeur d’une variable sont très importants, et il faut également entrertrue
oufalse
tout en minuscule pour les paramètres ayant besoin de ces valeurs.
Voici un exemple de scénario utilisant les commandes YouTube
(simple vidéo, et playlist) :
Cette commande permet d’afficher une page Web sur un équipement Google muni d’un écran. Pour cela, plusieurs paramètres sont disponibles.
Valeurs possibles des différents champs :
Options
: [Paramètres au format JSON
]Page Web (URL)
: URL de la page à ouvrirParamètres du champ Options :
force
(défaut = false) :
true
(c’était le cas avec la plupart des sites que j’ai testé…)true
, le paramètre reload_seconds
est ignoré !reload_seconds
(défaut = None) :
x secondes
(valeur x à rentrer)quit_app
(défaut = false) : si DashCast (l’afficheur de page web) est déjà lancé, dans certains cas, cela empêche d’afficher une autre page, mettez alors ce paramètre à true
pour forcer à quitter l’application actuellement lancée sur l’équipement Google.Exemples :
https://news.google.fr
sur mon équipement Google, entrez ces valeurs pour les différents champs :
"force": true, "quit_app": true
https://news.google.fr
"force": true, "quit_app": true
https://community.jeedom.com/latest
"reload_seconds": 30, quit_app": true
https://community.jeedom.com/latest
A l’usage, DashCast est assez “capricieux” et lent à afficher des pages, mais il reste néanmoins pratique !
Voici un exemple de scénario utilisant la commande Web
:
Il y a deux commandes dédiées : Radios et Custom Radios :
Radios
: Commande sous forme d’une liste de radios fournie avec le pluginCustom Radios
: Commande dédiée sous forme de liste personnalisable de radios (à ajouter via la page de configuration du plugin)Vous avez trois manières de diffuser une radio :
Radios
ou Custom Radios
et la radio correspondante dans la listeCustom Cmd
, et en rentrant la commande (exemple) : "action": "radios", "value": "voltage_2000", "volume": 25, "ding": false
Custom Cmd
, vous devez indiquer le “code” (champ “value”) et non pas le nom de la radio ! La correspondance entre les deux peut être trouvée dans la FAQ - Liste des Radios : c’est la valeur entre parenthèses.Vous avez trois manières de diffuser un son (fichiers .mp3 inclus dans le plugin) :
Sounds
un son à diffuserSounds
et le son correspondant dans la listeCustom Cmd
, et en rentrant la commande : "action": "sounds", "value": "bigben1.mp3", "volume": 40
"volume"
ou bien le "ding"
, ou bien le "wait"
au lancement de la lecture du sonCustom Cmd
, vous devez indiquer le nom du fichier .mp3 (champ “value”) et non pas le nom indiqué dans la liste ! La correspondance entre les deux peut être trouvée dans la FAQ - Liste des Sons : c’est la valeur entre parenthèses."force": true
pour rendre la diffusion de ce son prioritaire (cela coupe toute diffusion en cours pour diffuser cette commande)Voici un exemple de Sons diffusés les uns après les autres dans un scénario (avec l’option "wait"
) :
Avant de pouvoir utiliser un “Custom Sound”, vous devez les ajouter au plugin, à partir de la page de configuration, comme indiqué dans cette section de la documention. Vous avez ensuite trois manières de diffuser un son personnalisé :
Sounds
et le son correspondant dans la listeCustom Cmd
, et en rentrant la commande : "action": "customsounds", "value": "telephone-dial-and-call-ring.mp3", "volume": 40, "wait": 1
"volume"
ou bien le "ding"
, ou encore le "wait"
au lancement de la lecture du son personnaliséCustom Cmd
, vous devez indiquer le nom du fichier .mp3 (champ “value”) et non pas le nom indiqué dans la liste !"force": true
pour rendre la diffusion de ce “custom sounds” prioritaire (cela coupe toute diffusion en cours pour diffuser cette commande)La commande Media
permet de diffuser des vidéos ou des mp3 (musique) stockés en dehors de Jeedom (sur votre NAS par exemple) et accessible via une URL (via le protocole DLNA par exemple). Plusieurs paramètres sont disponibles.
Valeurs possibles des différents champs :
Options
: [Paramètres au format JSON
]Media
: URL du média à diffuserParamètres du champ Options :
type
(défaut = “video/mp4”) :
"type": "video/mp4
(pour diffuser une vidéo) ou "type": "audio/mp3
(pour diffuser de la musique)"video/mp4"
"volume": 30
, ou bien le ding : "ding": false
"force": true
pour rendre la diffusion de ce media prioritaire (cela coupe toute diffusion en cours pour diffuser cette commande)Exemples d’usage de la commande Media :
Vous pouvez utiliser cette commande de différentes manières : Soit à partir du dashboard directement, soit via un scénario (voir l’exemple ci-dessous) :
Vous avez également la possibilité d’utiliser la commande Custom Cmd
pour lancer un média (cf. exemple ci-dessous) :
Cette commande personnalisée vous permet d’utiliser toutes les commandes en mode “texte”. Elle est essentiellement utilisée dans les scénarios et permet une personnalisation et un contrôle plus fin sur les commandes.
Dans un scénario, ajoutez une commande Action
et allez chercher la command “Custom Cmd” de votre équipement. Dans le champ texte à droite, entrez votre commande, en utilisant la syntaxe suivante :
Variables / Valeurs disponibles :
"action":
= (Paramètre obligatoire) Permet d’indiquer l’action à lancer :
"tts"
"youtube"
"dashcast"
"radios"
(cf. la FAQ pour la liste des radios disponibles)"customradios"
"sounds"
(cf. la FAQ pour la liste des sons disponibles)"customsounds"
"media"
La variable “action” peut aussi prendre toutes les valeurs permettant de contrôler un équipement Google :
"action":
= (Paramètre obligatoire) Permet de contrôler un paramètre d’un équipement :
"volumeup"
"volumedown"
"volumeset"
(en ajoutant le paramètre "value": 30
par exemple pour passer le volume à 30%)"mute_on"
"mute_off"
"media_previous"
"media_rewind"
"media_play"
"media_pause"
"media_previous"
"media_stop"
"media_next"
"media_quit"
La variable “value” :
"value":
= (Paramètre obligatoire sauf pour le contrôle d’un équipement) Permet de rentrer la valeur à envoyer, comme par exemple :
"value": "Ceci est un test de synthèse vocale à partir de TTS Cast"
pour une phrase TTS"value": "Mh2ZUxBgBo8"
pour l’ID vidéo de la vidéo YouTube à diffuserAutres variables :
"volume":
= (Paramètre optionnel) valeur en % du volume (30% par ex.) Permet d’indiquer le volume de diffusion du média"force":
= (Paramètre optionnel pour la commande DashCast) valeur à true
ou false
(cf. Paragraphe concernant “DashCast / Web”)"force":
= (Paramètre optionnel pour toutes les autres commandes) valeur à true
ou false
: Permet de rendre la diffusion de la commande prioritaire (cela coupe toute diffusion en cours pour diffuser cette commande)"quit_app":
= (Paramètre optionnel pour DashCast exclusivement) valeur à true
ou false
(cf. Paragraphe concernant “DashCast / Web”)"playlist":
= (Paramètre optionnel pour YouTube exclusivement) valeur de l’ID de la Playlist YouTube (cf. Paragraphe concernant “YouTube”)"enqueue":
= (Paramètre optionnel pour YouTube exclusivement) valeur à true
ou false
(cf. Paragraphe concernant “YouTube”)"ding":
= (Paramètre optionnel pour les commandes TTS, YouTube, Radios, Custom Radios, Sounds, Custom Sounds, Media) valeur à true
ou false
: Permet d’enlever le “ding” au lancement d’une application sur un Google Home"type":
= (Paramètre optionnel pour la commande Media) valeur à video/mp4
ou audio/mp3
: Permet de spécifier le type de média à diffuser. Si aucune valeur n’est spécifiée, le type video/mp4
sera utilisé par défaut"wait":
= (Paramètre optionnel pour les commandes TTS, Sounds, Custom Sounds) valeur à 1
puis 2
, puis 3
(en fonction de l’ordre souhaité) : permet de diffuser plusieurs notifications à la suite et de spécifier l’ordre"ssml":
= (Paramètre optionnel pour les commandes TTS) valeur à true
ou false
: Permet d’utiliser la syntaxe SSML dans une commande TTS (Pour les moteurs Google Cloud TTS et VoiceRSS)"before":
= (Paramètre optionnel pour les commandes TTS) valeur en secondes ("before": "3s"
) ou en millisecondes ("before": "200ms"
) : Permet d’insérer un silence avant la diffusion d’un TTS (Pour les moteurs Google Cloud TTS et VoiceRSS)Voici des exemples d’usage de la commande “Custom Cmd” :
Exemple de scénario utilisant l’option wait
:
Exemple de scénario utilisant l’option ssml
:
Une option est disponible dans les paramètres d’affichage de la commande Cast Media Image
pour définir la largeur maximale de l’image affichée sur le Dashboard :
max-width
: indiquez la valeur en pixel (valeur maximale = 200). Ex: 100
Voici la liste des radios disponibles via la commande Radios
:
"africa_n1_paris"
)"bfm_business"
)"cherie_fm_80"
)"cherie_fm_90"
)"cherie_fm_acoustic"
)"cherie_fm"
)"europe_1"
)"fip"
)"fip_jazz"
)"fip_monde"
)"fip_nouveaute"
)"france_bleue"
)"france_culture"
)"france_info"
)"france_inter"
)"france_musique"
)"fun_radio"
)"jazz_ladies_crooners"
)"jazz_radio"
)"latina"
)"m_radio"
)"mix_x_fm"
)"mouv"
)"nrj"
)"nrj_uhd"
)"nostalgie"
)"nova"
)"oui_fm"
)"phare_fm"
)"pulsradio_2000"
)"pulsradio_80"
)"pulsradio_90"
)"pulsradio_club"
)"pulsradio_dance"
)"pulsradio_hits"
)"pulsradio_lounge"
)"pulsradio_trance"
)"rcf"
)"rfi_monde"
)"rfi_monde_hd"
)"rfm"
)"rmc"
)"rtl"
)"rtl_2"
)"radio_classique"
)radio_contact
)"fg"
)"radio_suisse_classique"
)"rire_et_chansons"
)"skyrock"
)"sud_radio"
)"sweet_fm"
)"tsf_jazz"
)"vibration"
)"virage"
)"virgin_radio"
)"voltage"
)"voltage_2000"
)"voltage_80"
)"voltage_90"
)"voltage_work"
)"voltage_club"
)"voltage_lounge"
)"voltage_love"
)"wit_fm"
)Pour diffuser une radio avec la commande Custom Cmd
: "action": "radios", "value": "voltage_2000", "volume": 20
Voici un exemple de fichier JSON pour ajouter sa liste personnalisée de radios au plugin : Fichier Exemple - Custom Radios (.json)
Ce fichier est à compléter, puis à charger dans le plugin à l’aide du bouton prévu à cet effet sur la page de configuration.
ASTUCE
L’avantage d’utiliser cette méthode pour ajouter des radios personnalisées est que vous êtes assurés de ne pas perdre ces personnalisations à chaque mise à jour du plugin !
Voici la liste des sons disponibles via la commande Sounds
:
"bigben1.mp3"
)"bigben2.mp3"
)"house_firealarm.mp3"
)"railroad_crossing_bell.mp3"
)"submarine_diving.mp3"
)"tornado_siren.mp3"
)Pour diffuser un son avec la commande Custom Cmd
: "action": "sounds", "value": "bigben1.mp3", "volume": 40
La syntaxe SSML pour les commandes TTS est supportée pour les 2 moteurs : Google Cloud TTS et VoiceRSS (pour VoiceRSS, cela implique d’avoir une licence payante : Au minimum le niveau “Business”)
Pour plus d’informations concernant la syntaxe SSML, visitez le site : Langage de balisage de synthèse vocale (SSML)