Smart Led Messenger et Vera

 

 

Suite à la lecture d’un article récent de CÉDRIC LOCQUENEUX (lien de l’article) j’ai acheté un Smart Led Messenger que j’ai reçu en début d’été.
L’installation se fait suivant la notice jointe et décrit dans l’article de Cedric.
L’intérêt pour moi était de pouvoir l’interfacer avec mes Vera’s (Lite sous UI5, Edge et Plus sous UI7) avec l’aide de l’API fournit.
Je veux afficher des événements (activation/désactivation de l’alarme, sortie des poubelles, …), des états (volets roulants ouverts/fermés, …) et des valeurs de capteurs (température extérieure, température piscine …) sur une interface lisible tout simplement.
Il y a un an, j’avais pensé acheter LaMetric qui répondait à mon besoin mais le prix m’a fait temporiser mon achat.

J’ai d’abord suivi la notice d’installation pour faire quelques tests au travers de l’application Android, et sur un navigateur internet Google Chrome sur mon ordinateur Windows.
Ensuite, j’ai récupéré la clé API et j’ai écrit rapidement en recopiant une fonction existante, la fonction suivante sauvegardée dans le code de démarrage Lua


— **************************************************
— Fonction Notification SmartLedMessenger
— **************************************************
function notification_smartled(type_message, message)

local url = “https://www.smartledmessenger.com/push.ashx?key=”
local var_key = “/7bpKGv/G74Cg5WUyvGh4Q==”

local varDate = os.date(“%d/%m/%Y %H:%M”, os.time())
local msg = varDate .. ” – ” .. type_message .. ” – ” .. message
local varmsg = url .. var_key .. “&message=” .. url_encode(msg)
luup.log(“SmartLed: “.. varmsg)
local StatusCode, content = luup.inet.wget(varmsg, 5)
luup.log(“SmartLed: “.. StatusCode)
return true
end

 

Un premier test est réalisé en utilisant la fonction Test Lua

notification_smartled(“Alerte”, “Ceci est un message de Test”)
return true

Et cela fonctionne : le résultat est un message qui défile

05/08/2018 18:06 – Alerte – Ceci est message de Test

 

On s’aperçoit que nous avons alors un temps de réaction de quelques dizaines de secondes, ce qui peut sembler assez long au niveau domotique.
Suite à une remarque dans les commentaire de l’article de Cedric, j’ai donné une adresse Ip fixe à mon appareil et j’ai essayé de l’adresser directement sans passer par le Cloud.
J’ai réécrit la fonction en mettant l’adresse de mon SmartLed (192.168.1.88).
Et cela fonctionne correctement.

function notification_smartledlocal(type_message, message)

local url = “http://192.168.1.88/?message=”
local varDate = os.date(“%d/%m/%Y %H:%M”, os.time())
local msg = varDate .. ” – ” .. type_message .. ” – ” .. message
local varmsg = url .. url_encode(msg)
—  luup.log(“SmartLed1: “.. varmsg)
local StatusCode, content = luup.inet.wget(varmsg, 2)
— luup.log(“SmartLed1: “.. StatusCode)
return true
end

 

Le deuxième Test est fait en créant une simple scène pour afficher les températures Extérieure et du Séjour, actualisées toutes les minutes

où SID_TS = “urn:upnp-org:serviceId:TemperatureSensor1”, T_Ext = Id Capteur Température Extérieur, T_Sejour = Id Capteur Température du Sejour sont définis dans le fichier StartLua

 

local TypeMess = “Infos”
local TExt = luup.variable_get(SID_TS, “CurrentTemperature”, T_Ext).. “°C”
local TSejour = luup.variable_get(SID_TS, “CurrentTemperature”, T_Sejour).. “°C”
local NewMessage = “Température Extérieure : ” .. TExt .. ” / ” .. “Température Séjour : ” .. TSejour
notification_smartledlocal(TypeMess, NewMessage)

Le résultat :

 

 

La suite à donner :

Créer une gestion du SmartLedMessenger pour afficher :

  • un message de fond permanent en boucle, par exemple Date, heure et température
  • entrecoupé par différents événements, comme l’activation/ désactivation de l’alarme, la demande de sortie des poubelles … qui resteront affichés un temps défini avant la reprise du message de fond. Ces types de message sont aujourd’hui pris en charge par mon Google Home. Le message visuel pourrait accompagner le message vocal …

Je compléterai mon article dès que cela sera réalisé.

 

En Conclusion :

Le SmartLedMessenger me donne pleinement satisfaction depuis quelques mois.
Il fonctionne 24h/24h sans problème.
Je le conseille fortement aux personnes qui veulent une solution d’affichage pas très cher.

 


23/09/2018 – Mise à jour du Smart Led Messenger

Suite à la lecture d’un article de Abavala du 17/09/2018 (lien de l’article), j’ai contacté le fabricant pour recevoir la nouvelle mise à jour.
J’ai reçu rapidement par mail le nouveau logiciel et son mode d’installation. La manip est simple et rapide.
Au redémarrage du Smart Led Messenger, il affiche maintenant l’adresse Ip locale de connexion.
Deux nouveaux paramètres ont été ajoutés à l’API locale : l’intensité de luminosité des Leds et la vitesse de défilement.

l’URL à appeler en local s’écrit :

http://Ip_Locale/?message=votre texte&intensity=LL&speed=NN

Avec :

  • Ip_Locale : adresse Ip de votre Smart Led Messenger dans votre réseau (ex : 192.168.1.88)
  • votre texte : le message à afficher
  • LL : intensité lumineuse –  nombre allant de 0 (sombre) à 15 (super lumineux)
  • NN : vitesse de défilement du message – nombre allant de 10 (rapide) à 50 (normal

Le fait d’appeler le Smart Led Messenger avec son Ip locale, celui ci ne réagira qu’aux sollicitations locales.
Pour revenir sur l’API Cloud, on peut envoyer en local l’URL suivante avec le paramètre : local=0

http://Ip_Locale/?local=0

Cette nouvelle version est intéressante avec ses nouvelles possibilités.
Elle présente quand même quelques inconvénients par rapport à la version précédente, elle ne prend pas en compte les caractères accentués et certains  caractères spéciaux.
J’ai fait part de mes remarques au fabricant qui m’a répondu rapidement que cette anomalie était connue et devrait être rapidement corrigée.

 


08/10/2018 – Nouvelle Mise à jour du Smart Led Messenger

Cette nouvelle mise à jour corrige le défaut de la précédente version et supporte maintenant les caractères accentués et spéciaux.

Un nouveau paramètre a été ajouté.

http://Ip_Locale/?message=votre texte&intensity=LL&speed=NN&static=0

static
 
: 0/1  avec 0 défilement et 1 pas de défilement