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ètre | Rô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.
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.
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.
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.