Besoin d'aide pour une configuration message sur awtrix

Bonjour la com

j’ai un awtrix piloté par jmqtt pour les notifications, j’ai 8 panneaux solaire qui fonctionnent avec 4 onduleurs, je récupère les 4 valeurs.

Via jmqtt j’envois la valeur d’un onduleur avec une notification, voir ci-dessous.

  • Comment envoyer le total de mes 4 onduleurs pour avoir ma fabrication totale vers mon awtrix ?
  • Comment faire répéter toutes les 30 secondes vers mon awtrix ?

Merci pour votre aide CARI

Bonjour @CARI

Pour avoir ta production solaire totale il suffit de faire la somme de tes 4 onduleurs. Tu peux passer par une variable ou un virtuel et afficher le résultat.
Pour répéter toutes les 30s (quel est l’intérêt d’ailleurs ?) il te faut calculer et rafraichir cette valeur dans un scenario qui se répète toutes les 30s.

Pour afficher ce genre d’information qui est rafraichie régulièrement, utilise plutôt un customApp et non un notify.

Quelle version AWTRIX utilises-tu, V2 ou light ?
Si AWTRIX light tu trouveras ci dessous un exemple de scenario avec customApp et mqtt

merci elmer, j’ai les 2 version awtrix
pour le scenario je le construit comment ?
sur le virtuel quelle variable je dois utiliser , tu n’aurais pas un exemple STP ?

cdt

ok pourquoi pas, mais sur lequel tu veux faire afficher?

Bon peut importe en fait si tu envois un notify:
En regardant l’exemple dans le tuto que je t’ai mis, changes ta commande mqtt en sous-type message et en affectant la valeur #message#

ensuite dans un scenario bloc code tu peux coller et tester ce bout de code en modifiant le nom complet de ta commande (remplacer [toto] et [tata] par le bon nom de ta commande mqtt)

//récupération puissance des 4 onduleurs
$puissance_1 = cmd::byString('#[Technique][Solaire][Puissance N°1]#')->execCmd();
$puissance_2 = cmd::byString('#[Technique][Solaire][Puissance N°2]#')->execCmd();
$puissance_3 = cmd::byString('#[Technique][Solaire][Puissance N°3]#')->execCmd();
$puissance_4 = cmd::byString('#[Technique][Solaire][Puissance N°4]#')->execCmd();
//calcul somme puissance prod solaire
$puissanceProdSolaire = $puissance_1+$puissance_2+$puissance_3+$puissance_4

// envoi message vers AWTRIX
$message = "{"text\":\"$puissanceProdSolaire\"}";
$options = array('title'=>'', 'message'=> $message);
cmd::byString("#[toto][tata][Solaire]#")->execCmd($options, $cache=0);

bien entendu je n’ai pas pu tester de mon coté si ça marche
Ensuite à toi de compléter le texte à afficher avec ce que tu veux rajouter

Et pour finir le scénario ne pourra être programmé qu’une fois par minute au plus rapide et pas moins. Pourquoi cherches-tu a rafraichir plus souvent?

non je ne veux pas rafraichir forcement toutes les minutes, par contre sur mon awtrix je veux qu’il affiche le résultat de la puissance créé par exemple toutes les 30 secondes, c’est pour mon épouse, quand elle est à la maison elle ne sait pas a quel moment il y a suffisamment d’énergie pour faire tourner une machine à laver par exemple.

merci pour ton code j’essaye ce soir et te tiens au jus

Pourquoi faire compliqué ?
Si c’est juste pour afficher la valeur et pas l’historiser on peut directement faire l’adittion de plusieurs capteurs sans forcément passer par un virtuel ou un scénario

image

ok compris, ce n’est pas la même chose. Là c’est l’affichage dans AWTRIX que tu veux rafraichir. Dans ce cas passe par une customApp (voir le tuto) et l’AWTRIX gèrera l’affichage tout seul. Tu n’as juste qu’à exécuter ton scenario une première fois pour lancer la custopApp et ensuite à chaque fois que tu veux la recalculer et rafraichir l’affichage.

Une fois de plus je me répète mais dans le lien que je t’ai donné, ça ne fonctionne qu’avec l’AWTRIX light. Avec l’AWTRIX V2 l’api des custom app est différente et mon exemple ne marche pas.