Genèse de CNX Lunar Pro for Bubble Card v1.0

J’adore cet astre, il a tellement d’impacts sur nos vies et parfois on a tendance à l’oublier. C’est éclairé par la lueur froide de mon écran pendant une nuit de développement, que l’évidence m’a frappé : il manquait à ce tableau de bord l’ultime capteur naturel, le plus ancien trigger de l’humanité : la Lune.

Créer CNX Lunar Pro for Bubble Card n’a pas été qu’un simple défi technique consistant à dompter des Canvas HTML5 et des Z-index. C’est né d’une volonté profonde de réintégrer l’organique dans le numérique.

  • Le Symbole et le Mystère : La lune est le symbole absolu des cycles naturels et de l’inconscient. Face à l’immédiateté de nos notifications push, elle nous rappelle que le temps s’écoule selon un rythme qui nous dépasse.
  • L’Influence sur les Émotions : Si nos sondes mesurent la température avec rigueur, en astrologie, la lune représente notre âme, influençant notre humeur et notre parcours. Afficher sa phase, c’est offrir un contexte subtil à nos propres états d’âme.
  • Les Mythes et les Rituels : L’être humain a toujours levé les yeux vers la lune pour forger ses mythes. Aujourd’hui, nous baissons les yeux vers nos écrans. Ramener la pleine lune dans notre interface perpétue cette fascination millénaire.
  • L’Impact sur le Vivant : La lune est à l’origine de la plus grande automatisation terrestre. Elle sculpte nos marées, influence la biologie et modifie notre comportement. Calculer ses éphémérides, c’est s’interfacer avec le chef d’orchestre de la nature.

Les Fondations Backend : Le choix de « Moon Astro »

Pour afficher cette mécanique céleste avec une exactitude irréprochable, il fallait un backend solide. Il existe bien entendu l’intégration officielle Moon de Home Assistant, mais pour ce que je voulais accomplir, elle n’était tout simplement pas assez complète.

Pour obtenir des données fiables et absolues, je me sers de l’intégration HACS Moon Astro (svalsemey/hassio-moon-astro).

Si vous cherchez la précision ultime pour un projet domotique pointu, c’est la solution la plus robuste du moment :

  • Moteur Mathématique : Elle utilise la puissante bibliothèque astronomique professionnelle Skyfield (DE440) pour calculer les éphémérides.
  • Richesse des Données : Elle fournit l’Azimut, l’Élévation (Altitude topocentrique), l’Illumination, la distance, et tous les événements lunaires clés (phases, apogée, périgée).
  • Fiabilité Locale : Il n’y a aucun appel réseau (Cloud) à part le téléchargement initial du modèle mathématique d’éphéméride au premier lancement.

Lien du dépôt GitHub : svalsemey/hassio-moon-astro

Le Maillon Manquant : Calculer l’Âge de la Lune

Malgré le fait que Moon Astro soit extrêmement complet dans les données calculées, il y manque une information que j’aime particulièrement avoir sous les yeux : l’âge de la lune (en jours).

Ce n’est pas très grave, la force de Home Assistant réside dans sa flexibilité. Nous allons créer un petit Template Sensor en Jinja2 pour compenser ce manque à partir des données de l’intégration.

Voici le code à ajouter dans votre fichier templates.yaml :

YAML

template:
  - sensor:
      - name: "Âge de la Lune"
        unique_id: calcul_age_de_la_lune
        unit_of_measurement: "jours"
        icon: "mdi:progress-clock"
        state: >
          {% set last_new_moon = states('sensor.moon_astro_nouvelle_lune_precedente') %}
          {% set ts_last = as_timestamp(last_new_moon, default=None) %}
          
          {% if ts_last != None %}
            {% set ts_now = as_timestamp(now()) %}
            {% set age_in_seconds = ts_now - ts_last %}
            
            {# Diviser par 86400 (secondes dans une journée) et arrondir #}
            {{ (age_in_seconds / 86400) | round(2) }}
          {% else %}
            unavailable
          {% endif %}

Explications du code (Jinja2) :

  • as_timestamp(...) : Cette fonction prend la valeur brute de votre sensor (ex: 2026-05-16T20:01:00+00:00) et la transforme en un nombre de secondes écoulées depuis le 1er janvier 1970 (Timestamp Unix). Elle gère automatiquement le décalage horaire UTC.
  • default=None : C’est une sécurité indispensable. Si jamais l’intégration astro plante, ou que le sensor source est indisponible lors d’un redémarrage, le calcul ne générera pas d’erreur critique dans vos logs et affichera simplement l’état unavailable.
  • 86400 : C’est le nombre exact de secondes contenues dans 24 heures (60 * 60 * 24), nécessaire pour convertir l’âge en jours.
  • round(2) : Permet d’obtenir un résultat propre (ex: 11.14 jours). Vous pouvez utiliser round(1) si vous préférez n’avoir qu’une seule décimale sur vos cartes.

Une fois ce code ajouté, un redémarrage rapide suffira pour faire remonter votre nouveau sensor.age_de_la_lune.

Avec des fondations Backend aussi solides grâce à Moon Astro et notre capteur d’âge personnalisé, la voie était libre pour développer le Frontend. C’est ainsi qu’est né CNX Lunar Pro for Bubble Card, un module graphique capable de marier la poésie de la mécanique céleste à l’exigence de notre architecture domotique.

Le Module CNX Lunar Pro for Bubble Card

Exemple de CNX Lunar Pro for Bubble Card

Le module CNX Lunar Pro for Bubble Card est un moteur de rendu pour la carte Home Assistant Bubble Card de Clooos. Sa fonction principale est de remplacer l’icône native d’une carte par une représentation graphique réaliste et dynamique de la Lune en temps réel.

Installation rapide

Pas besoin de télécharger des fichiers externes ou de modifier vos ressources Lovelace. Le module s’installe directement dans la section Modules de votre Bubble Card. Tout est contenu dans le code YAML.

Prêt à transformer votre Dashboard ? Téléchargez le code via le lien ci-dessous (cliquez sur l’image)

Commentaires

Laisser un commentaire

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