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.

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.

Home Assistant

Déclarez une commande une fois pour toutes, puis appelez-la depuis n'importe quelle automatisation.

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"

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.