96. Exercice 18¶
96.1 Réveil, départ, retour, coucher¶
Cet exercice se déroule en deux parties.
Partie 1¶
Si vous n'avez pas réalisé l'exercice optionnel sur la base de données Home Assistant, vous devez au moins réaliser les étapes suivantes.
- Installez le module complémentaire SQLite Web,web.
- Faites afficher le contenu de la table states.
- À la ligne de commande SQLite,hassos, faites afficher les 10 derniers enregistrements ajoutés à la table statistics_meta (l'identifiant fera foi de l'ordre d'enregistrement).
- Copiez la base de données de Home Assistant vers votre ordinateur,terminal.
Partie 2¶
Dans un système de chauffage intelligent, il y a typiquement trois principaux états de présence : présent et éveillé (température normale), présent et endormi (température plus basse), absent (température encore plus basse).
Dans cet exercice, nous allons modifier un peu ceci puisque nous gérerons d'autres choses en plus du chauffage.
Plutôt que de travailler avec des états, nous allons gérer des changements d'état : réveil, départ, retour et coucher.
Vous utiliserez ici seulement des capteurs virtuels.
- Créez un nouveau tableau de bord nommé « Réveil, départ, retour, coucher ».
Dans ce tableau de bord, vous devez voir :
- case de saisie pour votre heure de réveil
- case de saisie pour votre heure de départ pour l'école ou le travail
- case de saisie pour votre heure de retour
- case de saisie pour votre heure de coucher
- capteur de température virtuel
- état des stores virtuels (levés ou baissés)
- état de la cafetière (ouverte ou fermée)
- état de la lumière virtuelle de la chambre (allumée ou éteinte)
- état de la lumière virtuelle de la cuisine
- état d'un détecteur de mouvement dans la cuisine
- autres objets virtuels selon vos besoins
Vous devez créer les capteurs virtuels requis et les exploiter dans des cartes du tableau de bord. Choisissez une icône appropriée pour chacun. 2. Raffinez la carte qui affiche l'état des stores. Plutôt que d'afficher un mot pour indiquer leur état, elle doit afficher une image de stores ouverts ou fermés selon l'état du capteur virtuel. À vous de trouver les images sur le Web. 3. Entrez des valeurs plausibles dans les capteurs virtuels de réveil, départ, retour et coucher de même que pour la température normale de la maison. 4. Copiez le code YAML de ce tableau de bord dans un fichier texte. 5. Écrivez un modèle qui retourne true si vous êtes endormi selon les heures entrées dans vos capteurs virtuels.
Supposez que l'heure du coucher ne peut pas être après 23h59.
Optionnel : raffinez le modèle pour qu'il fonctionne même si l'heure du coucher est après 23h59.
Copiez le code du modèle dans le fichier texte. Vous ferez de même pour chacun des numéros suivants. 6. Écrivez un modèle qui retourne true si vous êtes absent selon les heures entrées dans vos capteurs virtuels. Vous ne devez pas travailler avec les zones ici, seulement avec les heures. 7. Écrivez un modèle qui retourne true si vous êtes à la maison et réveillé selon les heures entrées dans vos capteurs virtuels. Même chose ici : Vous ne devez pas travailler avec les zones, seulement avec les heures. 8. Écrivez un script nommé « Réveil » qui ajuste vos objets connectés virtuels : * monte le chauffage de 3 degrés * monte les stores * allume la lumière de la chambre * attend que le détecteur de mouvements de la cuisine détecte votre présence * allume la lumière de la cuisine * si désiré, effectue d'autres actions à votre choixCopiez le code YAML du script au bas de votre fichier texte. 9. Écrivez un script nommé « Départ » qui ajuste vos objets connectés virtuels selon ce qui vous semble intéressant. 10. Écrivez un script nommé « Retour » qui ajuste vos objets connectés virtuels selon ce qui vous semble intéressant. 11. Écrivez un script nommé « Coucher » qui ajuste vos objets connectés virtuels selon ce qui vous semble intéressant. 12. Faites rouler vos scripts l'un à la suite de l'autre à l'aide du bouton que vous aurez créé pour chacun sur le tablau de bord et assurez-vous que tout soit cohérent (ex : la température revient à sa valeur originale après un cycle complet). Notez que vous n'avez rien à inscrire dans le fichier texte pour ce numéro. 13. Écrivez une automatisation qui : * 5 minutes avant l'heure programmée de votre réveil, démarre la cafetière (déclencheur de type template, vous devrez utiliser l'attribut timestamp du capteur virtuel de l'heure de réveil) * à l'heure programmée de votre réveil, lance le script « réveil ».Copiez le code YAML de l'automatisation au bas de votre fichier texte. 14. Ajoutez dans le tableau de bord un bouton pour lancer cette automatisation afin faciliter vos tests. Vous ferez de même pour les autres automatisations. Faites une impression d'écran de l'écran d'édition du bouton. On doit bien voir tous les paramètres du bouton. Nommez le fichier au format NomPrenom-Bouton.png. 15. Écrivez l'automatisation qui réagira lorsque vous quittez la maison (selon l'heure programmée). 16. Écrivez l'automatisation qui réagira lorsque vous revenez à la maison(selon l'heure programmée). 17. Écrivez l'automatisaiton qui réagira lorsque vous vous couchez (selon l'heure programmée). 18. OPTIONNEL : écrivez une automatisation qui réagit quand la porte d'entrée s'ouvre. Si vous êtes absent, elle vous envoie un courriel pour vous informer de la situation. Si vous êtes endormi, elle active une sonnette pour vous réveiller (vous pouvez simuler la sonnette à l'aide d'un interrupteur virtuel qui s'activera pendant 3 secondes puis se désactivera). 19. OPTIONNEL : l'automatisation qui réagit à l'heure de votre retour à la maison doit se déclencher également lorsque vous êtes dans la zone maison et que la porte d'entrée s'ouvre. 20. Remettez votre fichier texte et votre impression d'écran sur la plateforme électronique du cours.