bonjour , j ai des enceintes sonos play 5 et play 1
j 'aimerais les faire parler avec des texte a moi. exemple : ouverture du portail
est ce possible avec la V5 ?
merci a vous
Bonjour,
Voici un petit tuto aidé par IA pour les explications :
Faire parler des enceintes Sonos via Node-RED et l’IPX800 V5
Objectif :
Permettre à votre IPX800 V5 d’envoyer un message vocal sur vos enceintes Sonos, soit :
- Par API Push HTTP (méthode conseillée, fiable et rapide)
- Par MQTT (possible aussi si vous utilisez un serveur MQTT dans votre domotique)
Matériel et logiciels nécessaires :
- IPX800 V5 (automate GCE)
- Node-RED installé ( NRX800 – Automate Industriel Raspberry CM4, PC ou Raspberry Pi)
- Plugin Node-RED « node-red-contrib-tts-ultimate » (pour convertir texte → Sonos)
- Plugin Node-RED « node-red-contrib-sonos-plus » (optionnel pour d’autres commandes Sonos)
- Enceintes Sonos connectées à votre réseau
- (Optionnel) Broker MQTT comme Mosquitto si vous voulez utiliser MQTT
- (Optionnel) Dashboard Node-RED pour écrire vos messages à la main
Fonctionnement général :
- L’IPX800 V5 envoie une commande :
- soit un PUSH HTTP directement vers Node-RED
- soit un message MQTT sur un broker
- Node-RED reçoit cette commande :
- Il interprète le message
- Il génère un texte ou joue une radio selon le message
- Il envoie l’audio sur les Sonos (via TTS Ultimate ou commande Sonos)
Comment configurer tout ça (étapes complètes) :
1. Préparer Node-RED
- Installer Node-RED sur un serveur accessible 24/7.
- Installer dans Node-RED :
node-red-contrib-tts-ultimate
node-red-contrib-sonos-plus
(optionnel pour commandes avancées)
2. Créer le flux Node-RED
- Recevoir un message :
- Si API PUSH : utiliser un
http in
(POST) - Si MQTT : utiliser un
mqtt in
(écoute d’un topic)
- Si API PUSH : utiliser un
- Interpréter le message :
- Utiliser un
switch
oufunction
pour transformer les codes en phrases (exemple :1 = alarme OFF
,2 = alarme ON
,5 = appeler à table
, etc.)
- Utiliser un
- Envoyer vers les Sonos :
- Utiliser un bloc TTS Ultimate en configurant l’IP de votre enceinte, volume, langue, etc.
Important : TTS Ultimate génère un fichier audio temporaire que le Sonos lit immédiatement.
3. Configurer l’IPX800 V5
- Dans Push API : créer une commande Push qui envoie un code ou un texte.
- URL :
http://IP_NODERED:PORT/http-in-path
- Méthode : POST
- Corps (body) : code ou texte à envoyer
- URL :
Exemple :
Envoyer un 1
pour « Alarme désactivée » ou un texte direct comme "Attention : Détection dans la maison !"
- En MQTT : dans la V5, envoyer un publish MQTT sur un topic comme
IPX800V5/Sonos1
si votre serveur domotique utilise MQTT.
4. (Optionnel) Dashboard Node-RED
- Créer un petit formulaire pour taper manuellement votre message et choisir sur quelles enceintes il sera diffusé (cuisine, salon, chambre…).
- Utiliser un
ui_form
→function
→tts-ultimate
pour chaque Sonos.
Super pratique pour envoyer un message rapide directement depuis votre téléphone sans repasser par l’IPX800 !
Exemple de scénario :
- Alarme désactivée → IPX push vers Node-RED → « L’alarme est désactivée. » annoncé sur les Sonos.
- Détection intrusion → MQTT vers Node-RED → « Attention, détection dans la maison. »
- Appel à table → Message aléatoire fun qui fait sourire votre famille.
Détails utiles :
Équipement | Détail |
---|---|
Node-RED | Serveur qui fait le lien entre l’IPX800 et les Sonos |
Push API | Appel HTTP simple depuis l’IPX800 sans besoin de MQTT |
TTS Ultimate | Transforme le texte en audio pour Sonos |
Sonos-Universal | Contrôle avancé : Play, Stop, Volume, Radio, etc. |
Pour aller plus loin :
- Ajouter des fonctions qui sélectionnent automatiquement la Sonos disponible.
- Définir des volumes spécifiques selon l’heure (par ex. plus bas la nuit).
- Ajouter une musique ou radio après le message vocal.
Résultat ?
Vos Sonos parlent toute seules en fonction des actions de votre IPX800 : parfait pour la sécurité, la domotique ou juste pour s’amuser !
Voilà pour commencer, si tu as besoin de plus d’info n’hésite pas à demander
Bonne soirée
Mehdi
bonjour et merci
j 'ai un broker mqtt j 'aurais aime le faire en mqtt si possible
merci a vous