Awtrix 3 (ex-Awtrix Light) et MQTT

Bonjour, ce customapp m’interesse beaucoup mais je n’arrive pas à le faire fonctionner.
En notify, les messages partent bien par contre.
Là, je vois le message dans MQTT mais rien à l’affichage.

Peux tu m’éclairer sur l’utilisation du topic customapp que je ne trouve pas dans la doc awtrix ?

J’ai un ulanzi avec Awtrix light en v0.94.
Merci d’avance pour ton aide.

Plugin : jMQTT
Hardware : Ulanzi TC001
Firmware : Awtrix light v0.94 (GitHub - Blueforcer/awtrix-light: Custom firmware for the Ulanzi Smart Pixel clock or self made awtrix. Getting started is easy as 1-2-3)

Salut

Tu utilises quel plugin ici?
Plugin-mqtt = mqtt par lunarok (je suis pass
Sur qu’il soit encore très utilisé)
Plugin-mqtt2 = mqtt manager (ton plugin?)
Plugin-jmqtt = jmqtt (le meilleur plugin mqtt)
Mqtt = le mqtt sans lien avec un plugin

C’est important, enfin il me semble, vu ce que tu veux faire.

Antoine

Bonjour @fredlamour ,

Déjà pour commencer tu devrais ouvrir un post sur l’AWTRIX light. Ici c’est un topic sur l’AWTRIX V2, qui n’est plus supporté par Blueforcer, et qui a un mode de fonctionnement un poil différent que le light.

Ensuite je suppose que tu as bien configuré ip et port du brocker et que tu vois remonter toutes les valeurs stats de l’AWTRIX.

Et enfin bonne remarque de Tonio16, quel plugin MQTT utilises-tu ?

Bonjour,

J’utilise JMQTT, les fonctions de base (reboot, notify, music …) fonctionnent très bien.
J’utilise notify avec des variables pour afficher le programme TV en cours, un avertissement pour les poubelles … et ca marche sauf que je suis obligé de relancer l’affichage toutes les x secondes selon le type d’info.

Ma compréhension de customapp est qu’il s’insère dans la boucle d’affichage (actuellement j’ai seulement l’heure et la date) donc cela m’éviterait de faire tourner des scenarios en boucle …

Merci.

Bonjour @fredlamour,
je veux bien t’aider à faire tourner un customapp sur ton AWTRIX Light avec jMQTT, mais une fois de plus ouvre un post AWTRIX Light car ici c’est dédié à l’AWTRIX V2 et l’API est différente.
Si d’autres utilisateurs cherchent de l’aide, ils ne vont plus s’y retrouver.

ta compréhension est la bonne

1 « J'aime »

Voilà c’est fait

Bonjour @fredlamour

Pour faire un custopapp avec AWTRIX Light, rien de bien compliqué, je détaille ci-dessous comment faire.
Déjà pour commencer l’API Custom App et Notifications est documentée → ici

Dans l’équipement AWTRIX dans le pluggin jMQTT :

  • créer une commande Action avec comme topic « awtrix/custom/maCustomApp »
    (maCustomApp => on l’appelle comme on veut)
    Laisser le sous-type par Défaut pour commencer, mais moi je l’utilise en sous-type Message afin de simplifier son utilisation dans les scénarios.

  • Ensuite dans valeur mettre le json qui correspond au message à envoyer.

Voici un exemple :

Et là après avoir exécuter la commande :

  • une nouvelle application appelée « exemple » va être créée
  • qui sera bouclée avec les autres déjà programmées
  • et qui va afficher le texte « Hello, un exemple AWTRIX Light! » en couleur arc en ciel pendant 10s.

A chaque boucle le message sera affiché, pas besoin d’exécuter la commande une fois de plus.

Pour supprimer l’application « exemple » il suffit d’envoyer un message vide.
.
.
On peut bien sûr utiliser des variables dans le message de la commande, mais ce qui est bien plus puissant c’est de créer le message json à partir d’un scenario et d’afficher le message en fonction de conditions.

Voici un autre exemple où dans la commande je vais utiliser le sous-type Message afin d’envoyer un message construit par un scenario

La valeur de la commande ne contient plus que #message# ce qui va permettre de le créer le json à parti d’un scénario :

Ou bien encore plus puissant, dans un bloc code :

$myVarAnniversaire = $scenario->getData('anniversaire');

// il y a un anniversaire aujourd'hui
if ($myVarAnniversaire != 'aucun') {
  $icon = 'geburtstagstorte';
  $color = '[188,112,243]';
  $message = "{\"icon\":\"$icon\",\"text\":\"$myVarAnniversaire\",\"color\":$color,\"repeat\":3,\"pushIcon\":0,\"scrollSpeed\":40,\"rainbow\":1}";
// pas d'anniversaire aujourd'hui
} else {
  $message = '';
}

$options = array('title'=>'', 'message'=> $message);
cmd::byString("#[Salon][AWTRIX][action_app_anniversaire]#")->execCmd($options, $cache=0);

Voilà c’est tout…
L’API permet vraiment de personnaliser aux maximum la custom app avec les différentes propriétés mais aussi avec le fonction Drawing

4 « J'aime »

Merci beaucoup je vais regarder et essayer cela dans la semaine.

Bonjour,

Je viens enfin de m’y mettre.
Je commence avec l’affichage des températures et de la météo :

Lorsque je l’execute je vois bien dans mqtt explorer :

Mais il ne se passe rien sur l’afficheur.

Les mêmes données dans un scénario fonctionnent et s’affichent sur l’awtrix :


Je ne comprends pas trop. J’ai l’impression que la customapp ne s’insère pas dans la boucle d’affichage.

Dans le premier cas, je pense que tu as une erreur de syntaxe avec les "

Et dans le 2eme tu es sur action notify avec une syntaxe correcte. D’où l’affichage sur l’Awtrix mais pas en tant que custom app

Bonjour, comment faite vous pour intégrer des icones?
Il faut en insérer dans [IP] > files > icon ? Il faut un format spécial ?

Bonjour,

As-tu lu la doc ?

The icon ID or filename (without extension) to display on the app. 

Il faut avant télécharger l’icône :

Plus facile avec l’appli (quand elle veut bien se connecter).

Exemple de notification :

{
  "textCase": 0,
  "textOffset": 0,
  "color": "FFFFFF",
  "center": true,
  "background": "000000",
  "rainbow": false,
  "icon": "ani_halloween",
  "pushIcon": 0,
  "hold": false,
  "progress": -1,
  "text": "AWTRIX",
  "stack": false
} 
1 « J'aime »

Bonjour,
De ce que j’arrive à faire avec je vois que Awtrix light n’affiche qu’en majuscule, y a t’il une astuce que je n’ai pas vu pour avoir maj et min ?
Le top serait avec les accents :grinning:

Bonjour,
est de que tu as un exemple de ce que tu envois sur le bandeau ?

Salut @rennais35000
c’est une config de l’Awtrix que tu peux modifier avec l’appli mobile

2 « J'aime »

Bonjour,
Je prépare dans un virtuel mon message dans une info :

#[NOTIFHEURE][NotifAwtrix1 prépa valeurs][NotifAwtrix1_message_a_afficher]#

formatTime(#time#) #[TEMPERATURES][Température extérieure Nord][Température]#° Production solaire = #[MAISON][Paramètres Scénarios][Papp Solaire]# W Puissance Linky = #[MAISON][Paramètres Scénarios][Papp Linky]# W Injection vers reseau = #[MAISON][Paramètres Scénarios][AOETEC Calcul Injection_Totale]# W

qui est donc :

12h11 7.9° Production solaire = 1362 W Puissance Linky = 520 W Injection vers reseau = 0 W

Je le publie vers Awtrix en json :

Je le vois sous Mqtt explorer comme ceci :

{"text":"12h12 7.9° Production solaire = 1219 W Puissance Linky = 1740 W Injection vers reseau = 0 W","rainbow":true,"repeat":1}

Et quand il s’affiche sur Awtrix tout est en majuscule.

@rennais35000
si tu n’as pas vu ma réponse

et tu peux aussi modifier la config via l’api avec la clé UPPERCASE

2 « J'aime »

Bonjour et merci,
:grinning: effectivement je n’avais pas vu la réponse qui a du arriver lorsque j’étais en rédaction.
Je n’ai pas pris pour le moment l’app qui est payante sur Iphone, je vais donc essayer de me dépatouiller avec l’api. Je découvre en douceur cet afficheur bien plus joli pour mes petits enfants que mon sobre (mais efficace) NotifHeure.
Bien cordialement

Les minuscules c’est OK avec la config modifiée via l’api.
Y compris la partie accentuation.

1 « J'aime »

Bonsoir,
Ca marche pas trop mal, mais j’ai qq plantages et l’awtrix reboot seul.
Du coup je me dis est ce que j’ai bien compris et l’utilise bien ?

C’est un affichage dynamique déclenché par la remontée des valeur de puissance de mes valeurs de Consommation/Production solaire.

Je prépare mes différents messages dans un virtuel.
Cette info virtuelle qui contient mon message 1 :
#[NOTIFHEURE][Notif][mes1]#

Dans ce virtuel j’ai une info virtuelle :
#[NOTIFHEURE][Notif][message_a_afficher]#

Un scénario copie sur demande le message du moment dans l’info virtuelle (message_a_afficher) par un event.

Ensuite je lance l’action de ma customapp notify :

{"text":#[NOTIFHEURE][Notif][message_a_afficher]#,"rainbow":true,"repeat":1,"scrollSpeed":120}