J’ai bricolé un widget pour faire afficher dans mon équipement NotifHeure sur le dashboard la customapp qui est en cours d’affichage. Mais ça ne se met à jour qu’au rechargement de la page.
Il me semble que ce n’était pas possible avant mais est ce que c’est possible maintenant en 4.5.2 ?
Le voici, c’est que j’avais surement un peu honte de mes maigres capacité
C’est du code pompé sur des exemples et soumis à l’ia pour correction.
Mais bon j’assume
Bonsoir, #state# ça ne marchait pas, elle ne prenait pas la valeur du texte. Pourtant c’est sensé marcher d’après les docs, j’avais essayé.
C’est que je mets à jour une commande d’un équipement mqtt avec un event dans un scénario, et j’applique le widget sur cette commande ce qui explique sans doute la non mise à jour de #state#
J’ai du coup quand même réussi a faire ce que je voulais, mais je pense plus compliqué car au début ça marchait mais dés que je l’appliquais sur 2 commandes, seule une se mettait à jour.
J’ai testé et ça marche ta version, donc je ne jette pas, je garde pour tester plus longuement en //
Merci
<style>
.led-display {
width: 90%;
overflow: hidden;
white-space: nowrap;
background: #4A4646;
font-family: monospace;
font-size: 18px;
padding: 5px 15px;
box-sizing: border-box;
border-radius: 5px;
}
.led-display span {
display: inline-block;
padding-left: 100%;
animation: scrollText 10s linear infinite, rainbowText 5s linear infinite;
background: linear-gradient(90deg, red, orange, yellow, #75F077, #FA6B83, #66ADFF, violet);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
@keyframes scrollText {
0% { transform: translateX(0%); }
100% { transform: translateX(-100%); }
}
@keyframes rainbowText {
0% { background-position: 0% 0%; }
100% { background-position: 100% 0%; }
}
</style>
<div class="led-display cmd-widget" id="ledDisplay_#id#">
<span class="ledState" data-cmdid="#id#">#state#</span>
</div>
<script>
(function(){
var cmdId = '#id#';
// Fonction de mise à jour globale pour tous les widgets affichant cette commande
jeedom.cmd.update[cmdId] = function(_options) {
if(_options && _options.display_value !== undefined) {
// Sélectionne tous les spans correspondant à cette commande
var spans = document.querySelectorAll('.ledState[data-cmdid="'+cmdId+'"]');
spans.forEach(function(span){
span.innerHTML = _options.display_value;
});
}
};
})();
</script>
Bonjour Noyax,
Ma dernière version fonctionne bien appliquée sur plusieurs commandes
J’ai 3 afficheurs répartis dans la maison, donc 3 équipements Jmqtt sur le dashboard. Ce widget est sur une commande text qui est le message en cours d’affichage.
Cordialement
Edit :
J’ai peaufiné un peu ce matin le rendu pour refléter le mieux possible les leds awtrix. Ca me convient c’est assez réaliste