Les jauges teleinfo ne s'affichent plus sur les Design en Jeedom v4.4

Bonsoir,
petit souci dans l’affichage des jauges de PAPP sur des design.
La jauge ne s’affiche plus si on utilise les widgets.

  • Teleinfo/Teleinfo_base_teleinfo_conso_inst
  • Teleinfo/Teleinfo_bleu_teleinfo_conso_inst
  • Teleinfo/Teleinfo_conso_inst

Les widgets _new_index affichent bien la conso, mais dans une pastille bleue, pas dans une jauge.
Le widget standard « Gauge » fonctionne bien, mais est bien moins joli et utile que le vôtre.

image

il y a cette erreur dans la console
image

je suis en version BETA 2024-03-27 15:16:46
Core Teleinfo 4.8.4

Merci par avance pour votre aide et pour ce super plugin

Bonsoir, tu viens de passer à cette version de teleinfo? cela faisait longtemps que tu avais la précédente? Les jauges ne fonctionnent plus depuis une évolution de jeedom mais je ne me souviens plus laquelle. Il faudrait que je les reprennes toutes. Je pensais que personne ne les utilisaient

Le problème vient d’apparaître suite au passage en Jeedom v4.4 aujourd’hui avant je devais être en v4.3 ou un truc du genre.

Oui j’utilise tes jauges :+1:, car elles sont bien plus jolies que les standards, avec la zone rouge en haut de graphe quand je suis à la limite de conso (merci la charge du VE).

D’ailleurs tu m’avais dit que tu rajouterais le code de ce topics Rafraichissement auto non fonctionnel dans un design
pour le moment j’ai simplement dupliqué le fichier …/plugins/teleinfo/core/dashboard/Teleinfo_bleu_teleinfo_conso_inst et fait m’on ajout dans la copie pour avoir le rafraîchissement auto.

ah c’était toi… désolé mais j’ai un peu zappé ça et l’actualité pour moi est un peu chargée…

Par contre si ce qu’on avait fait en 4.3 ne fonctionne plus en 4.4 là je ne sais pas trop quoi faire. Il va falloir se repencher sur le sujet.

Pas de souci, je comprends très bien.
Surtout que tu fais cela sans aucune rémunération et donc probablement sur ton temps libre.

Il y a pas mal de soucis avec les design sur le passage en v4.4 (cf mes autres topics dans le core) donc le mieux est peut-être d’attendre de voir si les corrections qui vont être apportées au core corrigent le souci d’affichage.

Sinon j’essayerai de regarde de mon côté si je trouve quelque chose.

Bonne fin de semaine et bon week-end

Salut,

De mémoire, j’espère ne pas me tromper, il te suffit de charger toi-même le module solidgauge.

Edit :
Je viens de percuter que c’est dans un widget grâce à un sujet + ou - en lien, il doit donc falloir charger le module directement dans le widget tu peux essayer ça :

<script src="core/php/getJS.php?file=3rdparty/highstock/modules/solid-gauge.js"></script>
<div class="cmd cmd-widget" data-type="info" data-subtype="numeric"....>
// et le reste de ton code actuel à la suite

Merci @Salvialf , j’avais bien repéré qu’il fallait charger ce module grâce à une erreur #17 de highstock mais je ne voyais pas trop comment faire ça…

Je teste rapidement et je te dis

Je te confirme que, en rajoutant, <script src="core/php/getJS.php?file=3rdparty/highstock/modules/solid-gauge.js"></script> la jauge apparaît de nouveau mais seulement pendant la modification du design.

ensuite après validation du design et rechargement de la page, le graph disparait :sob:

merci @Salvialf pour le coup de main.

J’ai toujours l’erreur en console, mais elle ne vient peut-être pas de ton plugin.

chez moi l’erreur #17 a disparu avec cette modification, tu dois donc avoir autre chose qui te le provoque

Il n’ y a pas plusieurs widgets à modifier dans ton plugin ?

Tu peux me dire quel Widget de Dashboard tu a testé et me donner le code du widget ?
J’ai peut-être une version différente du code. Vu que j’avais fait des essais pour le rafraîchissement auto en fin d’année dernière.

pour info, si je passe sur le widget standard Jauge de Jeedom, je n’ai plus l’erreur #17

il y en a 3 mais ils sont quasi tous identiques. Pour qu’ils refonctionnent il fallait mettre la fonction update mais j’avais oublié de le faire et au passage de le 4.4 de jeedom il a fallu maintenant rajouter la référence à solid-gauge

le bleu_teleinfo_conso…

tu as peut être un des deux autres encore en affichage

oups j’avais loupé ça:

<script src="core/php/getJS.php?file=3rdparty/highstock/modules/solid-gauge.js"></script>
<div style="min-width : 20px;min-height : 60px;" class="cmd #history# container-fluid tooltips cmd-widget conso#id#"
    data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
    <div id="gauge#id#" style="width:100px; height:55px"></div>
</div>
<script>
    console.log('charts: ');
    $('#gauge#id#').highcharts({
        chart: {
            events: {
                click: function (event) {
                    if (!$.mobile && '#history#' == 'history cursor') {
                        $('#md_modal').dialog({ title: "Historique" });
                        $("#md_modal").load('index.php?v=d&modal=cmd.history&id=#id#').dialog('open');
                    }
                }
            },
            type: 'solidgauge',
            height: 80,
            plotBackgroundColor: null,
            plotBackgroundImage: null,
            backgroundColor: null,
            plotBorderWidth: 0,
            plotShadow: false,
            spacingTop: 0,
            spacingLeft: 0,
            spacingRight: 0,
            spacingBottom: 0,
            borderWidth: 0
        },
        title: null,
        pane: {
            center: ['50%', '60%'],
            size: '100%',
            startAngle: - 90,
            endAngle: 90,
            background: {
                backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
                innerRadius: '60%',
                outerRadius: '100%',
                shape: 'arc'
            }
        },
        tooltip: {
            enabled: false
        },
        // the value axis
        yAxis: {
            stops: [
                [0.1, '#55BF3B'], // green
                [0.5, '#DDDF0D'], // yellow
                [0.9, '#DF5353'] // red
            ],
            lineWidth: 0,
            minorTickInterval: null,
            tickPixelInterval: 400,
            labels: { enabled: false },
            tickWidth: 0,
            min: #minValue#,
            max: #maxValue#,
            title: {
                text: '',
                y: - 0
            }
        },
        labels: { enabled: false },
        plotOptions: {
            solidgauge: {
                dataLabels: {
                    y: 5,
                    borderWidth: 0,
                    useHTML: true
                }
            }
        },
        credits: {
            enabled: false
        },
        exporting: {
            enabled: false
        },
        series: [{
            name: '',
            data: [Math.round(parseFloat('#state#') * 10) / 10],
            dataLabels: {
                y: -20,
                format: '<span style="font-size:9px; color:white;">{y} #unite#</span>'
            },
        }]
    });
    jeedom.cmd.addUpdateFunction('#id#', function (_options) {
        if (isNaN(_options.value)) { _options.value = '#state#' };
        $('.cmd[data-cmd_id=#id#]').attr('title', '{{Date de valeur}} : ' + _options.valueDate + '<br/>{{Date de collecte}} : ' + _options.collectDate)
        $('#gauge#id#').highcharts().series[0].update({ data: [Math.round(parseFloat(_options.value) * 10) / 10] }, false);
        $('#gauge#id#').highcharts().series[0].redraw();
        console.log('charts: '); // + [Math.round(parseFloat(_options.value) * 10) / 10] + ' | ' + '{{Date de valeur}} : ' + _options.valueDate + ' | ' + '{{Date de collecte}} : ' + _options.collectDate);
    });
    jeedom.cmd.refreshValue([{ cmd_id: '#id#', display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }])

</script>

J’ai remis ce code dans bleu_teleinfo_conso et ça ne marche toujours pas.

la jauge ne disparaît pas avec un changement de plan (aller sur un autre plan et revenir sur celui avec la jauge)

jeephp2js.planHeader_id = planID;
jeeFrontEnd.plan.displayPlan();

elle est présente lors de la première ouverture du design via le menu accueil, mais disparaît si je fais F5 sur le navigateur et revient si je change de plan et reviens sur la page avec la Jauge :exploding_head:

moi je suis sur le dashboard, je n’utilise pas les design. Tu as des copies d’écran pour montrer le comportement?

C’est pour ça! on parlait pas du même endroit :sweat_smile:
c’est OK au niveau du Dashboard, c’est dans les Design que ça déconne.
J’utilise les design pour mes écrans d’affichage de la tablette fixé au mur et qui sert de gestion centralisée de la domotique.

A l’ouverture de la page :

après un F5 :

Et le graphe réapparaît si je change de page de design et reviens sur celle-là.

Juste pour m’ôter d’un doute, tu peux essayer en déplaçant la ligne

<script src="core/php/getJS.php?file=3rdparty/highstock/modules/solid-gauge.js"></script>

juste après la 1ère div ?

<div class="cmd cmd-widget" data-type="info" data-subtype="numeric"....>

Ce qui donnerait au tout début du code du widget :

<div class="cmd cmd-widget" data-type="info" data-subtype="numeric" .... data-cmd_id="#id#" data-cmd_uid="#uid#" data-eqLogic_id="#eqLogic_id#">
<script src="core/php/getJS.php?file=3rdparty/highstock/modules/solid-gauge.js"></script>

je viens de tester

  • entre les <div></div>
  • après les <div></div> et juste avant <script>
  • à la toute fin du widget, après </script>

çà ne change rien

là je vais avoir du mal à t’aider… tu as d’autres widget que tu utilises et qui permettraient de localiser des différences?