Aller au contenu

Piloter votre afficheur depuis votre domotique

Votre afficheur possède une adresse personnelle. Tout système capable d'appeler une adresse web peut y écrire : Home Assistant, Jeedom, Node-RED, un script, un bouton connecté. Rien à installer.

Le principe

Une seule adresse, deux paramètres. Appelez-la, le texte remplace votre message personnel et défile sur le bandeau dans la minute.

https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message=Le+lave-linge+est+termin%C3%A9
ParamètreRôle
key Votre clé personnelle. Elle vous identifie : ne la publiez pas, quiconque la possède peut écrire sur votre afficheur.
message Le texte à afficher, encodé pour une adresse web : les espaces deviennent + ou %20, les accents des séquences comme %C3%A9. Presque tous les outils le font pour vous.

Où trouver votre clé

Connectez-vous à votre espace client, encadré « Votre URL personnelle », puis « Afficher mon URL ». Vous obtenez l'adresse complète, clé incluse.

Obtenir mon adresse personnelle

Recopiez l'adresse telle qu'elle s'affiche, sans la retoucher. La clé contient des caractères déjà encodés — des %2B, des %3D — qui doivent rester tels quels. Ne remplacez que le mot MONNOUVEAUMESSAGE à la fin.

Trois choses à savoir avant de commencer

Elles expliquent la quasi-totalité des « ça ne marche pas » que nous recevons.

1. La réponse « OK » ne prouve rien

L'adresse répond OK même lorsque rien ne s'est passé — clé absente, paramètres mal placés. C'est volontaire : votre domotique ne doit jamais tomber en erreur à cause de l'afficheur.

Vérifiez sur le bandeau, ou dans votre espace client où le champ « Message personnel » doit contenir votre texte.

2. Les paramètres vont dans l'adresse, jamais dans le corps

Si votre outil propose d'envoyer les données « en POST » sous forme de formulaire, elles seront ignorées et vous recevrez quand même OK. C'est l'erreur la plus fréquente.

key et message doivent figurer dans l'adresse, après le ?. La méthode GET ou POST importe peu.

3. Le message reste jusqu'au suivant

Il n'y a ni durée ni expiration : le texte envoyé défile jusqu'à ce qu'un autre appel le remplace. Pour un message éphémère, prévoyez un second appel qui l'efface, avec message= vide.

Pour un texte qui doit disparaître de lui-même, il y a mieux : l'emplacement « événement ».

Envoyer un message active aussi l'option « Message personnel » si elle était désactivée. Vos autres options — heure, météo, date — continuent de défiler autour.

Les événements, qui disparaissent seuls

Un message reste jusqu'au suivant. Un événement — « Portail ouvert », « Lumière salon allumée » — est vrai quelques minutes. Ajoutez slot=evenement et il s'efface tout seul.

https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message=Portail+ouvert&slot=evenement&duree=5
ParamètreRôle
slot evenement pour un texte éphémère. Absent, l'adresse se comporte exactement comme avant : vos liens existants ne changent pas.
duree Durée d'affichage en minutes. Par défaut 5, au maximum 120. Une valeur hors bornes y est ramenée plutôt que refusée.
Ce que l'emplacement « événement » change

Il ne touche pas à votre message personnel et n'active pas son affichage. Vous pouvez donc annoncer un portail dix fois par jour sans perdre le texte que vous avez écrit.

Il faut en revanche que l'option « Événements domotiques » soit active dans votre espace client : le premier événement envoyé l'active d'office.

Pour retirer un événement avant sa fin, rappelez la même adresse avec message= vide.

Home Assistant

Deux chemins. Une commande déclarée à la main, décrite ci-dessous, qui convient pour un texte que vous écrivez. Ou l'intégration Smart Led Messenger, qui met vos capteurs en phrases toute seule.

L'intégration est open source (licence MIT) : le code se consulte et se modifie sur GitHub. Pas de boîte noire — vous pouvez vérifier vous-même ce qu'elle envoie et reçoit.

L'intégration, pour les événements de la maison

Vous choisissez des entités ; elle compose la phrase — « Portail ouvert », « Porte garage ouverte », « Lumière salon allumée » — et l'envoie sur l'emplacement événement, sans toucher à votre message personnel. Pas d'automatisation à écrire par capteur, pas d'encodage à surveiller.

Installer l'intégration avec HACS

HACS est le gestionnaire d'extensions de Home Assistant. Il doit être déjà installé : si « HACS » n'apparaît pas dans votre menu de gauche, commencez par la notice d'installation de HACS, puis revenez ici.

Notre intégration n'est pas dans la liste par défaut de HACS : il faut lui indiquer une fois où la chercher. C'est ce qu'on appelle un dépôt personnalisé. Une seule fois, puis les mises à jour arrivent comme celles des autres extensions.

  1. Dans le menu de gauche, ouvrez HACS.
  2. En haut à droite, cliquez sur les trois points ⋮, puis sur Dépôts personnalisés.
  3. Dans le champ Dépôt, collez cette adresse :
    https://github.com/SmartLedMessenger/ha-smart-led-messenger
  4. Dans la liste Type, choisissez Integration. C'est l'étape la plus souvent oubliée : sans elle, HACS refuse le dépôt.
  5. Cliquez sur Ajouter, puis fermez la fenêtre.
  6. Dans HACS, cherchez Smart Led Messenger, ouvrez la fiche, puis Télécharger.
  7. Redémarrez Home Assistant : Paramètres → Système → bouton Redémarrer en haut à droite. Tant que ce redémarrage n'a pas eu lieu, l'intégration reste invisible — c'est normal.
  8. Enfin, Paramètres → Appareils et services → Ajouter une intégration, cherchez Smart Led Messenger, et collez votre clé.

Une fois ajoutée, le bouton Configurer ouvre la liste de vos entités : cochez celles qui doivent s'annoncer. Trois ou quatre valent mieux que trente — le bandeau n'a qu'une ligne.

Les mises à jour arrivent ensuite d'elles-mêmes : HACS signale la nouvelle version sur la fiche de l'intégration, vous téléchargez et vous redémarrez Home Assistant. Vos réglages sont conservés. Si rien n'apparaît alors qu'une version est sortie, HACS ne l'a pas encore vue : menu ⋮ → Recharger les données.

Installer sans HACS, en copiant les fichiers

Possible, mais il faut accéder au dossier de configuration de Home Assistant, celui qui contient configuration.yaml. Sur une installation Home Assistant OS, ce dossier ne se voit pas depuis l'interface : il faut un module complémentaire.

Le plus simple est Studio Code Server — Paramètres → Modules complémentaires → Boutique, cherchez-le, installez, démarrez, puis Ouvrir l'interface web. Vous obtenez un explorateur de fichiers dans le navigateur. Samba share (le dossier apparaît sur votre réseau) ou Terminal & SSH font la même chose autrement.

  1. Téléchargez le dépôt : archive ZIP, puis décompressez-la.
  2. À côté de configuration.yaml, créez un dossier custom_components s'il n'existe pas déjà.
  3. Copiez-y le dossier smart_led_messengerle dossier lui-même, pas les fichiers en vrac. C'est l'erreur classique.
  4. Vérifiez que vous obtenez bien ce chemin :
    config/custom_components/smart_led_messenger/manifest.json
  5. Redémarrez Home Assistant, puis ajoutez l'intégration comme ci-dessus.

Installée ainsi, elle ne se mettra pas à jour toute seule : il faudra recommencer à chaque version. C'est la raison d'être de HACS.

L'autre chemin, sans rien installer : une commande déclarée dans configuration.yaml, que vous appelez depuis vos automatisations. C'est ce qu'il faut pour un texte que vous écrivez vous-même.

1. Déclarer la commande

Dans configuration.yaml, puis redémarrez Home Assistant :

# configuration.yaml
rest_command:
  afficheur:
    # Collez ici votre adresse, en gardant la cle exactement telle
    # qu'affichee dans l'espace client, y compris les %2B et %3D.
    url: >-
      https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message={{ texte | urlencode }}
    method: get

Le filtre urlencode est indispensable : sans lui, un message contenant un espace, un accent ou une esperluette casserait l'adresse.

2. L'appeler

# Depuis une automatisation, un script, ou les outils de developpement
action: rest_command.afficheur
data:
  texte: "Le lave-linge est terminé"

3. Quelques automatisations utiles

Le lave-linge a fini — détecté par la consommation qui retombe :

automation:
  - alias: "Afficheur - lave-linge termine"
    triggers:
      - trigger: numeric_state
        entity_id: sensor.lave_linge_puissance
        below: 5
        for: "00:05:00"
    actions:
      - action: rest_command.afficheur
        data:
          texte: "Le lave-linge est terminé"

Le temps qu'il fera, chaque matin :

automation:
  - alias: "Afficheur - meteo du matin"
    triggers:
      - trigger: time
        at: "07:15:00"
    actions:
      - action: rest_command.afficheur
        data:
          texte: >-
            Aujourd'hui {{ state_attr('weather.maison','temperature') }} degrés,
            {{ states('sensor.qualite_air') }}

Effacer le message le soir — l'afficheur reprend ses autres options :

automation:
  - alias: "Afficheur - effacer le soir"
    triggers:
      - trigger: time
        at: "22:00:00"
    actions:
      - action: rest_command.afficheur
        data:
          texte: ""

Un bouton dans votre tableau de bord ? Créez un script appelant rest_command.afficheur avec un texte fixe, et posez-le en carte bouton. Pratique pour un « À table ! » familial.

Jeedom

Deux façons de faire, selon que vous préfériez les scénarios graphiques ou le code.

Dans un scénario

Ajoutez un bloc Action, choisissez « Requête HTTP » et collez l'adresse. Les balises Jeedom fonctionnent dans le message :

https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message=Temperature+salon+#[Salon][Thermometre][Temperature]#+degres

Attention aux espaces. Jeedom ne les encode pas toujours : écrivez + à la place des espaces dans le texte fixe, comme ci-dessus. Pour les accents, préférez un bloc Code.

Dans un bloc Code

$texte = "Alarme déclenchée dans le garage";
$url = "https://www.smartledmessenger.com/push.ashx"
     . "?key=VOTRE_CLE"
     . "&message=" . urlencode($texte);
file_get_contents($url);

urlencode() se charge des espaces et des accents : c'est la méthode la plus sûre.

Node-RED

Un nœud function pour construire l'adresse, un nœud http request pour l'appeler.

Nœud « function »

// msg.payload contient le texte a afficher
const cle = "VOTRE_CLE";
msg.url = "https://www.smartledmessenger.com/push.ashx"
        + "?key=" + cle
        + "&message=" + encodeURIComponent(msg.payload);
return msg;

Nœud « http request »

  • Method : GET
  • URL : laisser vide — elle vient de msg.url
  • Return : a UTF-8 string

encodeURIComponent gère les espaces et les accents. Ne l'appliquez pas à la clé, qui est déjà encodée.

Script, terminal, tâche planifiée

Le plus direct, et le meilleur moyen de vérifier que votre clé fonctionne avant de la mettre dans une automatisation.

Linux, macOS, Raspberry Pi

# --data-urlencode encode espaces et accents a votre place
curl --get \
     --data-urlencode "key=VOTRE_CLE_EN_CLAIR" \
     --data-urlencode "message=Bonjour depuis le Raspberry" \
     https://www.smartledmessenger.com/push.ashx

Avec --data-urlencode, donnez la clé en clair — celle affichée dans l'adresse, mais avec les %2B retransformés en + et les %3D en =. Curl s'occupe de l'encodage.

Plus simple : recopiez l'adresse entière entre guillemets et n'utilisez pas --data-urlencode.

Windows, PowerShell

$texte = "Sauvegarde terminée"
$url = "https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message=" `
     + [uri]::EscapeDataString($texte)
Invoke-RestMethod $url

Chaque matin, par cron

# Rappel des poubelles le mardi et le vendredi a 7h
0 7 * * 2,5 curl -s "https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message=Sortir+les+poubelles"

Depuis Claude, en langage naturel

Votre afficheur parle aussi le MCP (Model Context Protocol), le protocole des assistants IA. Une fois connecté, dites simplement « affiche la météo de Paris sur mon panneau » ou « envoie BON ANNIVERSAIRE MAMIE » : Claude règle votre afficheur tout seul.

Connecter votre afficheur à Claude

Sur claude.ai (ou dans l'application Claude) : ParamètresConnecteursAjouter un connecteur personnalisé, puis renseignez :

ChampValeur
NomSmart Led Messenger
URL https://www.smartledmessenger.com/mcp?key=VOTRE_CLE

VOTRE_CLE est la même que pour le lien push ci-dessus : la valeur qui suit key= dans votre adresse personnelle, recopiée telle quelle (cf. « Où trouver votre clé »).

Une alternative, sans clé à recopier : connectez le serveur avec l'adresse https://www.smartledmessenger.com/mcp (sans ?key=…). Claude ouvre alors une page où vous vous connectez avec votre e-mail et votre mot de passe habituels, et vous autorisez l'accès en un clic — rien à copier. C'est ce parcours qui sera proposé si vous ajoutez Smart Led Messenger depuis l'annuaire des connecteurs de Claude.

Pas seulement Claude : tout assistant compatible MCP peut piloter votre afficheur. Avec Mistral Vibe, choisissez Vibe/Work pour ajouter un connecteur MCP personnalisé, avec l'adresse https://www.smartledmessenger.com/mcp : vous personnalisez alors l'affichage en langage naturel, comme depuis Claude.

Ce que Claude sait faire

Vous ditesCe qui se passe
« Affiche la météo de Nantes » Active la météo et règle la ville sur Nantes
« Envoie LE REPAS EST PRÊT » Le message défile sur le bandeau dans la minute
« Enlève le dicton et mets les infos du Monde » Ajuste les options correspondantes
« Qu'affiche mon panneau en ce moment ? » Lit vos réglages et montre l'aperçu du bandeau

L'URL contient votre clé personnelle : le connecteur vaut donc commande sur votre afficheur. Ne partagez pas cette URL, pas plus que votre lien push.

En cas de difficulté

J'obtiens « OK » mais rien ne s'affiche

C'est le symptôme le plus courant, et « OK » ne veut rien dire. Trois causes, par ordre de fréquence :

Les paramètres sont dans le corps de la requête au lieu de l'adresse. Vérifiez que votre outil met bien ?key=…&message=… dans l'URL.

La clé a été retouchée. Un %2B devenu +, ou un + devenu espace au copier-coller. Réaffichez-la depuis l'espace client et recollez-la.

Vous n'avez pas attendu. L'afficheur consulte le site toutes les trente secondes et termine le message en cours : comptez jusqu'à une minute.

Pour trancher, ouvrez votre espace client : si le champ « Message personnel » contient votre texte, l'appel a fonctionné et le problème est côté afficheur.

J'obtiens « Clé invalide »

La clé est illisible pour le serveur. Réaffichez-la depuis l'espace client et recopiez l'adresse entière, sans rien modifier.

Cette réponse est plutôt bon signe : elle prouve que votre appel atteint bien le serveur avec un paramètre key.

Les accents s'affichent bizarrement

Le texte n'a pas été encodé. Utilisez le filtre prévu par votre outil : urlencode pour Home Assistant et Jeedom, encodeURIComponent pour Node-RED, --data-urlencode pour curl.

À savoir aussi : le bandeau ne dispose pas des majuscules accentuées. À s'affichera A, et ÉTÉ deviendra ETE. Les minuscules accentuées, elles, s'affichent correctement.

Comment effacer le message

Appelez l'adresse avec un message vide :

https://www.smartledmessenger.com/push.ashx?key=VOTRE_CLE&message=

Le bandeau reprend alors ses autres options. Si aucune n'est activée, il n'affiche plus rien.

Quelle longueur de message ?

Techniquement il n'y a pas de limite, mais gardez à l'esprit qu'un bandeau ne montre qu'une chose à la fois : à vitesse normale, cent caractères prennent une douzaine de secondes à défiler, et vos autres options s'ajoutent derrière.

Une phrase courte se lit ; un paragraphe se subit.

Puis-je piloter plusieurs afficheurs séparément ?

Pas aujourd'hui. La clé désigne votre compte, pas un appareil : tous les afficheurs associés à un même compte montrent le même message.

Pour des messages différents, il faut aujourd'hui un compte par afficheur. Écrivez-nous si le besoin se présente, cela nous aidera à le prioriser.

Ma clé a-t-elle une date d'expiration ?

Non, elle reste valable. En contrepartie elle ne peut pas être révoquée en libre-service : si vous pensez qu'elle a été divulguée, écrivez-nous.

Traitez-la comme un mot de passe. Ne la publiez pas dans une configuration partagée sur un forum ou sur GitHub.

Un cas d'usage qui ne rentre pas dans ces exemples ? Écrivez-nous — ces pages s'écrivent avec vos retours.