La série des Light AlarM (LAM et SLAM) sont dotées de nouvelles API qui seront bientôt enrichies de fonctionnalités supplémentaires.

Pour compatibilité, les anciennes API restent disponibles, toutefois sans les futures fonctionnalités.

Retrouvez le descriptif des Light AlaM et les anciennes API sur ces liens Light AlarM – LAM et Super Light AlarM – SLAM-Switch.

Au sommaire des nouvelles fonctionnalités, on trouve :

  • Une interface plus rapide dans la navigation des menus et dans la réponse des API.
  • Une surveillance d’accessibilité réseau (watchdog) paramétrable qui test la passerelle, et en cas de non disponibilité de celle-ci reboot l’objet.
  • D’un « Backup / Restore » pour sauvegarder et restaurer une configuration.
  • L’indication du signal WiFi (RSSI) dans la page « Information » et l’API correspondante.
  • La saisie obligatoire de votre adresse email afin uniquement de vous informer des mises à jour.

Mais aussi de nouveaux produits à venir dans la même gamme de témoins lumineux disponibles en WiFi et LoRa :

  • Le LAM toujours avec 7 leds (que WiFi).
  • Le SLAM avec ou sans l’option Switch (WiFi ou LoRa) devient le Small Light AlarM avec 12 leds, disponible également en version Celiane ou Lexman.
  • Le MLAM (WiFi ou LoRa) Medium Light AlarM avec 16 leds.
  • Le LLAM (WiFi ou LoRa) Large Light AlarM avec 24 leds.
  • Le LSTP (WiFi ou LoRa) version Led STriP pour les rubans de leds.
  • Le LDPY (WiFi ou LoRa) version Led DisPlaY pour un affichage matriciel textuel et d’icônes.

La configuration reste inchangée, seules les options spécifiques aux produits peuvent varier.

Les versions LoRa incluent le paramétrage WiFi dans le but des mises à jour.

API de la version 2 (12/05/2021)

Pour déclencher une action sur la gamme des LAM, il suffit d’envoyer une commande à partir de votre box domotique ou bien d’un navigateur internet, d’un PC, smartphone ou tablette.
Dans les exemples qui vont suivre, nous utiliserons le nom « lam » qui peut être remplacé par le nom du produit ou son adresse IP.

http://lam/api/set?cmd=xxx&color=xxx&bright=xxx&led=xxx&speed=xxx&iteration=xxx&delay=xxx[&user=……&pwd=…..]

Nota : L’ordre des mots clés n’a pas d’importance. Tous les mots clés ne sont pas forcément nécessaires, dans le doute, faites des tests avec un navigateur internet.

cmd=[ on | off | pause| restart | wheel | strobe | fade | random ]

  • on, allume les leds en fixe avec la dernière couleur et dernière luminosité
  • off, éteint les leds, arrête définitivement l’animation en cours et supprime les couleurs fixées
  • pause, suspend l’animation en cours sans éteindre les leds
  • stop, arrête l’animation en cours et éteint les leds
  • restart, reprend l’animation qui était en pause ou en stop
  • wheel, animation roue
  • strobe, animation flash
  • fade, animation progressive fondue in/out
  • random, animation aléatoire des couleurs (le paramètre &color sera ignoré)

color=[red | green | blue | yellow | cyan | orange | purple | pink | white | black | rgb(r,g,b) | xrgb ]
avec une couleur prédéfinie : red, green, blue, yellow, cyan, orange, purple, pink, white, black
avec rgb(r,g,b) en valeur décimale ou hexadécimale commençant par la lette ‘x’, exemple pour du bleu : rgb(0,0,255) ou rgb(x0,x0,xff)
avec xrgb un triplet en hexadécimal commençant par la lettre ‘x’, exemple pour du bleu : x0000ff

bright=0 à 255, correspondant à la luminosité (brightness) des leds (valeur par défaut 31 soit 1/8 de la luminosité au démarrage)

led=0 à nombre de leds-1 pour allumer une led de façon indépendante (cmd=on obligatoire)

speed=0 à 4 294 967 295, correspondant à la vitesse de l’animation en millisecondes, valeur par défaut 50ms

iteration=n, (cmd=[ wheel | strobe | fade | random] obligatoire) n=-1 pour une animation permanente, ou n de 1 à 2147483647 après quoi la commande cmd=stop sera automatiquement exécutée

delay=n, n=0 pour une animation permanente, à n=4294967295, (cmd=[ on | wheel | strobe | fade | random ] obligatoire) pour une durée en secondes après quoi la commande cmd=stop sera automatiquement exécutée

Nota : itération travaille en numérique à la led ou avec un groupe de leds ce qui permet à une animation un cycle complet, alors que delay arrête une animation au bout de n secondes même si le cycle n’est pas complet. En cas de doute, utilisez le mot clé delay.

Optionnel, user (ou api_user) et pwd (ou api_secret) est un utilisateur et mot de passe associé pour exécuter les API s’ils sont définis dans la page « Passwords ».

En retour des API, vous obtiendrez la structure JSON suivante si la commande est valide :

{
  "success": 1
}

Quelques exemples :

  • http://lam/api/set?cmd=on&color=blue, allume les leds en bleu
  • http://lam/api/set?cmd=pause, suspend l’animation en cours
  • http://lam/api/set?cmd=strobe&color=white&speed=50, stroboscope blanc, à une vitesse de 20 flashs par seconde, ATTENTION AUX YEUX ça flashe, risque de cécité si vous regardez les leds
  • http://lam/api/set?cmd=strobe&color=blue&speed=1000&bright=20, allume les leds en bleu pendant 1 seconde puis éteint les leds pendant 1 seconde de façon périodique avec une luminosité de 8% environ
  • http://lam/api/set?cmd=wheel&color=red&speed=50, animation roue en rouge à une vitesse de 50 millisecondes par led soit 1/3 de seconde environ par tour
  • http://lam/api/set?cmd=restart, reprend l’animation mis en pause
  • http://lam/api/set?cmd=fade&color=green&speed=3, fondue in/out en vert avec 3 millisecondes entre chaque pas des 256 intensités soit un peu moins d’une seconde entre chaque fondue
  • http://lam/api/set?cmd=off, éteint les leds
  • http://lam/api/set?cmd=on&color=cyan&bright=20, allume les leds en cyan avec une luminosité de 8% environ
  • http://lam/api/set?cmd=random, allume les leds de façon aléatoire

http://lam/api/get?cmd=system&version[&user=……&pwd=…..]

Cette API renvoie une structure JSON :

{
  "product": "LAM-W",                   Nom du produit
  "version": "2.00",                    Version
  "build": "May 11 2021 19:49",         Réalisé le ...
  "sn": "XXXXXXXXXXXX",                 Numéro de série
  "success": 1
}

http://lam/api/get?cmd=system&information[&user=……&pwd=…..]

{
  "product": "LAM-W",                   Nom du produit
  "version": "2.00",                    Version
  "build": "May 11 2021 19:49",         Réalisé le ...
  "sn": "XXXXXXXXXXXX",                 Numéro de série
  "device": "LAM-W",                    Nom du device donné dans la page de configuration
  "uptime": "0 day 0 hour 9 minutes"    En service depuis ...
  "ssid": ".........",                  Nom deu réseau WiFi
  "rssi": "-39",                        Signal et qualité du réseau WiFi
  "success": 1
}

http://lam/api/set?cmd=system&auto_update=[ yes | no]&restore_last_set=[ yes | no]&brightness=x&first_led=x[&user=……&pwd=…..]

Nota : L’ordre des mots clés n’a pas d’importance. Tous les mots clés ne sont pas forcément nécessaires.

  • auto_update, permet d’automatiser les mises à jour au démarrage du LAM
  • restore_last_set, permet de reprendre l’état en cours après une coupure de courant
  • brightness, luminosité des leds de 1 à 255
  • first_led, première led pour la translation de 0 à nombre de leds-1.

http://lam/api/set?cmd=system&reboot[&user=……&pwd=…..]

Permet de redémarrer le LAM à distance.

http://lam/api/set?cmd=system&reset_all[&user=……&pwd=…..]

Efface tous les paramètres y compris le WiFi, mots de passe, etc …