2

Domotique Home Assistant version Blade Runner

Objectif

Concevoir un Home Assistant customisé aux petits oignons :

  • Etape 1 : Plein les yeux, l’interface
  • Etape 2 : Plein les oreilles, le TTS
  • Etape 3 : SweetHome3D et l’effet Tropico
  • Etape 4 : IA locales et le syndrome du sarcasme robotique génératif

Hardware

  • Serveur Intel Core i7-9800X 32GB + SSD 1To + NVidia Quadro P2000 5GB (pour la détection IA)
  • Leds RGBIC Govee H6143
  • Plugs Meross pour les consommations électriques, la température et l’humidité (MS310, MS210 et MS100)
  • Caméras 4K Reolink et Ezviz
  • Détecteur de présence Aqara FP2
  • Google Nest et enceintes JBL pour le TTS
  • Périphériques et capteurs IP/Bluetooth de différentes marques

Prérequis hardware

Software

  • Home Assistant + HACS (Home Assistant Community Store)
  • NVR : Frigate et MotionEye
  • IA locales et cloudless (générative + reconnaissance faciale et objets) : Double Take et Compreface (via Docker)
  • MQTT : Mosquito Broker
  • TTS et voix : Chime TTS, Whisper et openWakeWord
  • Intégrations diverses : Plex / Tautulli / Sonarr / Ombi / Deluge / Slack / StableDiffusion / SambaShare / DuckDNS…
  • 3D et WebGL : SweetHome3D

Prérequis software

OUT OF THE BOX : ça ressemble à quoi Home Assistant ?

Home Assistant, thème clair :

Home Assistant, thème sombre :

C’est épuré, cross-browser, ça ressemble à du flat-design sans en être tellement c’est épuré. Et puis c’est triste. Toutes les interfaces se ressemblent, et c’est très peu customisable.

ETAPE 1 – L’interface graphique et Card-mod

Les cards sont des boites empilables. Il y en a pour la météo, les thermostats, les caméras, les graphiques, les boutons à presser… Nativement dans Home Assistant, la trentaine de cards fournies est suffisante. Et puis rapidement, on veut faire ceci cela, et on ne peut pas, en particulier sur les graphiques qui ne sont pas très personnalisables. L’idée c’est d’avoir ceci en interface graphique :

1.1 Card Apex

Disponible ici, pour des graphiques ultra personnalisables.

1.2 Card Mini Graph

Disponible ici, l’alternative pour des graphiques minimalistes.

1.3 Card Gauge

Disponible ici, pour les fétichistes des aiguilles.

1.4 Card Auto-entities

Disponible ici, permet de constituer des listes automatiques d’entités selon des critères.

1.5 Card-mod

Card-mod permet de personnaliser l’interface graphique de Home Assistant avec du CSS. C’est une usine à gaz mais tout est customisable.

Avec des animations CSS

Avec du HOVER

Animation CSS

Epilogue de l’étape 1 : Glassmorphism par CSS

Il suffit d’ajouter une card avec une vidéo sous les autres, et le glassmorphism apparait (très atténué pour garder les cards visibles).

ETAPE 2 – TTS : You talkin’ to me ?

L’interface graphique de Home Assistant est terminée. Ce qui manque maintenant, c’est la voix : le TTS.

Le TTS fourni par Google fonctionne correctement. Il y en a beaucoup d’autres, plus respectueux de la vie privée. On peut en installer localement pour ne plus être dépendant du cloud et d’un tiers.

  • L’intégration openWakeWord permet de réveiller l’assistant vocal de Home Assistant avec nos propres mots, comme “Ok Bender !
  • L’intégration Chime TTS permet de concaténer un jingle, une voix et un fond sonore avec beaucoup d’options disponibles

Exemple de Chime TTS lancé par une automation simple (coucher de soleil)

Pris et J.F. Sebastian (Blade Runner, 1982)

Globalement, ça ressemble à ça avec Google :

action:
  - service: tts.google_say
    data:
      cache: false
      entity_id: media_player.google_nest
      message: >-
        Consommation de l'aspirateur excessive : {{ states    
        ('sensor.consommation_vador') }} watts/heure
      language: fr

Et avec Chime TTS :

action
  - service: chime_tts.say
    data:
      chime_path: mp3-jingle
      message: >-
        Attention, la batterie de la tablette S7 est basse 
      tts_platform: google_translate
    target:
      device_id:
        - 9ea94fe4df633f4566d7445569b2d498
        - 7ad9336afe1a6568f36ea9e0456715f5

ETAPE 3 – Sweet Home 3D et l’effet Tropico

A ce stade, l’effet Tropico (“Quand c’est trop, c’est Tropico !“) commence à se faire ressentir sur l’interface : trop d’informations à afficher et pas assez de pixels. C’est là qu’intervient Sweet Home 3D, un logiciel open-source dédié à la modélisation d’habitats. Ses particularités :

  • Libre et gratuit
  • Hautement personnalisable
  • Possibilité d’afficher les modèles 3D directement sur le web avec WebGL (déplacement, rotation, zoom, vues aérienne et virtuelle…)

L’idée est de centraliser toutes les datas en temps réel sur une seule image affichable sur un smartphone, une télé ou un large écran 4K. Toute la domo en une seule image pour éviter l’effet Tropico et contrôlable avec le doigt. La vue 3D est gérée en OpenGL, elle permet d’afficher fluidement des rendus 3D sur tous les supports supposément modernes. On peut tourner, zoomer sur une pièce, être en vue aérienne ou en vue subjective façon Doom… Seules les informations relatives à la pièce et utiles sur le moment s’affichent (température, consommation électrique, présence, éclairage…)

ETAPE 4 – IA locales et sarcasme robotique génératif

Le paramètre humour de Tars (Interstellar, 2014)

Paramètres à prendre en compte avant d’activer une IA et du TTS sur la domotique

  • Une IA comme Fregate avec Compreface et Double Take est capable de :
    • relever le niveau d’une bouteille à 10m en vision nocturne, estimer les verres consommés et le degré d’alcool en fonction de l’étiquette de la bouteille
    • compter les personnes dans une pièce et les nommer, si elle a été entrainée préalablement
    • dire combien de temps chaque personne connue est restée aux toilettes (sans aucun détecteur dans les toilettes, hein)
    • savoir où ont été oubliées les clés de voiture et où est la télécommande perdue
    • prévenir que les lunettes ont été oubliées avant de partir au travail
    • savoir si le chat est sorti et depuis combien de temps
    • savoir qui, du poisson rouge ou du chat, a mangé les feuilles du ficus la nuit dernière
  • L’IA et la technologie 2024 d’un Aqara FP2 détectent à 8m si le chat a pissé dans sa litière (ou ailleurs), ou si quelqu’un respire dans la pièce d’à coté.
  • Une prise connectée de consommation est généralement précise à 0.01 Watt et envoie un top toutes les 30 secondes.
  • Les caméras intégrant de l’IA s’orientent vers la cible avant que celle-ci entre effectivement dans son champs de vision (parce qu’il y a du bruit dans cette direction, ou que la luminosité a légèrement changé)

HAL et Dave (2001: A Space Odyssey, 1968)

Ma domotique agrège 250K datas par jour (90 millions par an).

Toutes ces données peuvent être captées et compilées par une IA globale qui les interprète et produit une réponse verbale en TTS. Des IA locales sont aussi capables de décrire une image, par exemple celle d’une caméra. On peut alors imaginer une infinité de scenarii rigolos, et mettre un pied dans la quatrième dimension, entre Jarvis et HAL 9000.

Fregate et la reconnaissance de trucs organiques non humains

Vous pouvez évaluer cet article en un clic. Garanti sans gluten. Merci !
(Evaluations : 0 / Moyenne : 0)

Krak

Machine prolifique à pisser du code de merde jamais optimisé depuis 1986, Maître des traditions et Grand malade à WoW, chasseur de gardiens à Ingress de 2014 à 2019, sapiosexuel nerd, amateur de piments 🌶️ au delà de 300.000 Scoville grâce à Stéphane Pécaut et de pizzas maison 🍕 grâce à Marloin, j'apprécie particulièrement les 3C (les chats 😼, le code et les choux de Bruxelles 🥦) & la philosophie du CCC + la domotique open-source et les IA locales cloudless.

2 commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *