130 lines
4.1 KiB
Markdown
130 lines
4.1 KiB
Markdown
# OK Google — Bons Points sur Nest
|
||
|
||
## Important : Dialogflow « conversation » ne marche plus sur Nest
|
||
|
||
Depuis le **13 juin 2023**, Google a arrêté les **Conversational Actions** (Dialogflow + « Dis à Bons Points… »).
|
||
|
||
L’endpoint `/api/voice/dialogflow` reste utile pour **tests** et pour d’autres intégrations Dialogflow, mais **ne peut plus être invoqué directement sur une enceinte Nest** via une action conversationnelle.
|
||
|
||
La voie officielle aujourd’hui : **Google Home Smart Home** (capteurs virtuels).
|
||
|
||
---
|
||
|
||
## Ce qui est déjà prêt côté serveur
|
||
|
||
| URL | Rôle |
|
||
|-----|------|
|
||
| `GET /api/voice/ariana` | Réponse JSON (test) |
|
||
| `GET /api/voice?prenom=pablo` | Idem |
|
||
| `POST /api/voice/dialogflow` | Webhook Dialogflow (tests) |
|
||
| `POST /api/smarthome` | Fulfillment Google Home (SYNC / QUERY) |
|
||
|
||
Test rapide :
|
||
|
||
```bash
|
||
curl -s https://bonpoint.ptits-pas.fr/api/voice/ariana
|
||
curl -s -X POST https://bonpoint.ptits-pas.fr/api/smarthome \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"requestId":"test","inputs":[{"intent":"action.devices.SYNC"}]}'
|
||
```
|
||
|
||
---
|
||
|
||
## Principe Smart Home (recommandé)
|
||
|
||
Chaque enfant apparaît comme un **capteur de batterie** (0–100 %) = son score de bons points.
|
||
|
||
Phrases à essayer sur le Nest (en français) :
|
||
|
||
- « OK Google, **quel est le niveau de batterie d’Ariana** ? »
|
||
- « OK Google, **quelle est la batterie de Pablo** ? »
|
||
- « OK Google, **niveau de batterie Hélia** »
|
||
|
||
> Astuce famille : expliquer aux enfants que la « batterie » = leurs bons points.
|
||
|
||
Les scores au-dessus de 100 s’affichent comme 100 % (limite Google).
|
||
|
||
---
|
||
|
||
## Configuration Google Home Developer (à faire une fois)
|
||
|
||
### 1. Créer le projet
|
||
|
||
1. Ouvrir [Google Home Developer Console](https://console.home.google.com/)
|
||
2. **Create project** → nom : `Bons Points`
|
||
3. Type d’intégration : **Cloud-to-cloud**
|
||
|
||
### 2. Fulfillment
|
||
|
||
1. Menu **Integrations** → votre intégration Cloud-to-cloud
|
||
2. **Fulfillment URL** :
|
||
|
||
```
|
||
https://bonpoint.ptits-pas.fr/api/smarthome
|
||
```
|
||
|
||
3. Enregistrer
|
||
|
||
### 3. Account linking (obligatoire pour le Nest)
|
||
|
||
Google exige un **OAuth 2.0** pour lier le compte dans l’app Google Home.
|
||
|
||
Options possibles :
|
||
|
||
- **Auth0** ou **Firebase Auth** (gratuit, adapté à un usage familial)
|
||
- OAuth maison (plus technique)
|
||
|
||
Une fois OAuth configuré, vous liez l’intégration dans **Google Home** → **Paramètres** → **Travaille avec Google**.
|
||
|
||
### 4. Test avant production
|
||
|
||
1. Dans la console : **Test Suite** → lancer SYNC et QUERY
|
||
2. Vérifier que 3 appareils apparaissent (Ariana, Pablo, Hélia)
|
||
3. Tester une QUERY sur un appareil → le score doit correspondre à l’app
|
||
|
||
### 5. Utilisation au quotidien
|
||
|
||
1. Lier l’intégration sur le compte Google du foyer
|
||
2. Les 3 « capteurs » sont découverts automatiquement
|
||
3. Les enfants demandent le niveau de batterie / points à voix haute
|
||
|
||
---
|
||
|
||
## Dialogflow (optionnel, tests uniquement)
|
||
|
||
Si vous voulez quand même un agent Dialogflow pour tester le webhook :
|
||
|
||
1. [Dialogflow ES](https://dialogflow.cloud.google.com/) → nouvel agent **fr**
|
||
2. Intent `score_enfant` avec phrases :
|
||
- Combien de points a Ariana ?
|
||
- Quel est le score de Pablo ?
|
||
- Et Hélia elle a combien ?
|
||
3. Paramètre `@sys.given-name` ou entité custom `prenom` : Ariana, Pablo, Hélia
|
||
4. Intent `score_tous` : Combien de points ? / Les scores ?
|
||
5. **Fulfillment** → activer webhook :
|
||
|
||
```
|
||
https://bonpoint.ptits-pas.fr/api/voice/dialogflow
|
||
```
|
||
|
||
6. Tester dans la console Dialogflow (simulateur) — **pas sur le Nest**.
|
||
|
||
---
|
||
|
||
## Dépannage
|
||
|
||
| Problème | Piste |
|
||
|----------|--------|
|
||
| Nest ne connaît pas l’action | Normal si vous utilisez encore Dialogflow conversationnel |
|
||
| Appareils invisibles | Vérifier account linking + SYNC dans Test Suite |
|
||
| Mauvais score | Vérifier `GET /api/public/scores` |
|
||
| Hélia mal reconnue | Dire « Hélia » clairement ; le serveur accepte avec/sans accent |
|
||
|
||
---
|
||
|
||
## Évolutions possibles
|
||
|
||
- OAuth simplifié intégré à l’app (panneau parent)
|
||
- Cast TTS vers le Nest après une routine (plus complexe)
|
||
- Phrases personnalisées via Home Assistant (si un jour vous l’adoptez)
|