Plugin ThermoAlternateView et V4.4

Bonjour @supradolph

Je suis passé (enfin :wink: ) en 4.4.6.
J’ai corriger mon design pour les quelques problèmes graphiques. Cependant j’ai un soucis avec les tuiles du plugin ThermoAlternateView.

J’ai mon design qui repose sur l’utilisation de popup ([TUTO] Popup dans un design) pour afficher un certains nombre de tuiles dont celles du plugin:

Le problème est que certains éléments de la tuile ne se cachent pas quand j’applique le paramètre visibility:hidden


Les boutons de Modes, Température Extérieure, Humidité, Puissance, Verrou restent affichés.

As tu pris en compte ce bug ( si bug il y a) ?

Bonjour,

Il m’est malheureusement impossible de te répondre pour plusieurs raisons.

  • Je n’ai plus d’instance Jeedom, j’ai migré sous Home Assistant
  • Je n’ai jamais utilisé le tuto Popup
  • Je ne sais pas sur quel tag tu appliques le visibility: hidden
  • Je ne peux pas voir ton code

La piste serait que le visibility: hidden est appliqué sur un tag enfant et il faut remonter à la div parente ou masquer le bloc des modes de la même façon.

OK je comprends.

Pour cacher la tuile j’utilise la fonction javascript suivante dans le fichier custom.js
document.querySelector(‹ [data-plan_id=« 2166 »] ›).style.visibility=‹ hidden ›;

Théoriquement le widget est englobé dans une div ayant pour classe « eqLogiq », j’essayerai de la masquer vie le data-eqLogic_uid mais normalement l’effet devrait être le même.

Bonjour supradolph

dommage que tu nous ai quitté…
Je ne sais pas si tu peux m’orienter pour régler un problème de rafraichissement de la valeur qui reste inchangée alors qu’elle est bien prise en compte par le thermostat, elle se met àjour en rafraichissant l’écran F5, comme je suis passé sur debian 12. merci d’avance
Animation

Disons que je suis passé sur la solution concurrente qui me convient d’avantage. Mais avec la création de ma boite dans le secteur je ne quitte pas la domotique :wink:
Pour t’orienter je captais les évènements JS en provenance de Jeedom pour actualiser la valeur. La dernière fois qu’il y a eu un bug du genre l’évènement avait été modifié par le core Jeedom.

Bonsoir @supradolph,
Pour cette partie de problème de refresh, j’ai un PR sous le coude.
Le repo n’est pas public ?
Je sais que, d’après un autre post, le plugin est en cours de transfert de dev.
Est-ce transferé ?
Je peut sinon te donner ce PR ici si besoin.

Merci.
Bonne soirée.

Je post le PR au cas ou, sa peut intéresser d’autre users :

plugins/thermoAlternateView_Display.js (beta)

image

ajout de :
this.cmd_id = this.cmd_id.toString() // php8 -> number

Ajouter cette ligne pour chaque template (L125, L293, L421)

3 « J'aime »

Merci Phpvarious, ca marche super.

Merci également, ça me rend bien service. C’est top

Bonjour,

Merci @Phpvarious mais je viens de modifier sur les lignes 125, 293, 421, sur mon Jeedom 4.5 et le plugin en stable, cela ne change rien malgré le rajout de cette ligne.
Si je change de mode de chauffage (eco, confort etc…) je dois rafraichir via F5 la page de mon navigateur.
J’ai modifié le fichier :
html/plugins/thermoAlternateView/core/template/thermoAlternateView_Display.js

Je dois installer la version beta de ce plugin ? Merci

Bonjour,
Avez vous bien appliqué la modification sur chacun des templates ?
Cette ligne est à ajouter sur les lignes 125, 293 et 421

Bonjour,

J’ai modifié le fichier html/plugins/thermoAlternateView/core/template/thermoAlternateView_Display.js :
Ligne 125 :
image

Ligne 293 :
image

Ligne 420 :
image

J’utilise le template : SimpleLight sur mes thermostats mais j’ai testé plusieurs et cela est toujours pareil je dois rafraichir :
image

J’ai ce problème sur les changements de mode de chauffage et de température.
Je suis en stable faut il passer en beta et appliquer le correctif ? Merci

Personnellement, j’utilise le thème Dark et tout fonctionne parfaitement.

J’ai testé identique avec le theme dark :frowning:
Tu as bien modifié que ce fichier : html/plugins/thermoAlternateView/core/template/thermoAlternateView_Display.js :
sur les 3 lignes que j’indique ?
Merci

Oui, c’est bien ce fichier.

A toutes fins utiles, voilà le contenu de mon fichier :

function initialize(parametres, template) {
    var incrementTemperature = 0.5;

    //Gestion des fichiers SVG (pour IE)
    svg4everybody();

    if (template === undefined) {
        template = "";
    } else {
        template = template.capitalize();
    }

    switch (template) {
        case "Dark":
            initialize_Dark_Template(parametres, template);
            break;
        case "Darkatmo":
            initialize_Default_Template(parametres, template);
            break;
        case "Simplelight":
        case "Simpledark":
            incrementTemperature = 1;
            initialize_Simple_Template(parametres, template);
            break;
        default:
            initialize_Default_Template(parametres, "");
            break;
    }

    //Position des boutons mode
    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-switch-off, .eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-switch-on").click(function() {
        var cmdId = $(this).find(".thermo" + template + "-mode-switch").attr("data-cmd_id");
        if (cmdId != undefined) {
            jeedom.cmd.execute({
                id: cmdId
            });
        }
    });

    //Statistiques
    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-statistics").click(function() {
        $('#md_modal').dialog({ title: "Statistiques" });
        $("#md_modal").load(parametres.statisticsUrl + '&ajax=1', function() {
            $("#md_modal .bs-sidebar").parent().hide();
            $("#md_modal #div_object").parent().removeClass("col-lg-10").addClass("col-lg-12");
        }).dialog('open');
    });

    //Plus / Moins
    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button").click(function() {
        var cmdId = $(this).attr("data-cmd_id");
        var consigne = $(this).attr("data-cmd_val");

        if ($(this).hasClass("thermo" + template + "-button-plus")) {
            var $self = $(this);
            consigne = parseFloat(consigne) + incrementTemperature;

            jeedom.cmd.execute({
                id: cmdId,
                value: {
                    slider: consigne
                }
            });
        } else {
            if ($(this).hasClass("thermo" + template + "-button-moins")) {
                var $self = $(this);
                consigne = parseFloat(consigne) - incrementTemperature;

                jeedom.cmd.execute({
                    id: cmdId,
                    value: {
                        slider: consigne
                    }
                });
            } else {
                jeedom.cmd.execute({
                    id: cmdId
                });
            }
        }

    });

    setTimeout(() => {
        $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] use").css("visibility", "visible");
    }, 50);
}

function toggleSwitchMode(switchElement, uid, template) {

    //Le switch sur ON passe à OFF
    $(".eqLogic[data-eqlogic_uid=" + uid + "] .thermo" + template + "-switch-on").each(function() {
        $(this).removeClass("thermo" + template + "-switch-on");
        $(this).addClass("thermo" + template + "-switch-off");
        $(this).find(".thermo" + template + "-mode-switch use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-switch-off");
        $(this).find(".thermo" + template + "-mode-label").removeClass("thermo" + template + "-mode-label-on");
    });

    //On bascule le switch cliqué sur ON
    var $parentSwitch = $(switchElement).closest(".thermo" + template + "-switch-off");
    $parentSwitch.removeClass("thermo" + template + "-switch-off");
    $parentSwitch.addClass("thermo" + template + "-switch-on");
    $(switchElement).find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-switch-on");
    $(switchElement).prevAll(".thermo" + template + "-mode-label").addClass("thermo" + template + "-mode-label-on");
}

function initialize_Default_Template(parametres, template) {

    if (!$("script[src='plugins/thermoAlternateView/3rparty/jquery.fittext.js']").length) {
        $('<script type="text/javascript" src="plugins/thermoAlternateView/3rparty/jquery.fittext.js"><//script>').appendTo("head");
    }

    if (!$("link[href='plugins/thermoAlternateView/desktop/css/thermoAlternateView" + (template.length > 0 ? "_" + template.toLowerCase() : "") + ".css']").length) {
        $('<link rel="stylesheet" type="text/css" href="plugins/thermoAlternateView/desktop/css/thermoAlternateView' + (template.length > 0 ? "_" + template.toLowerCase() : "") + '.css">').appendTo("head");
    }

    //Mise à jour des valeurs
    $('body').on('cmd::update', function(_event, _options) {
        //Jeedom <4.4 _options est passé en paramètre
        //Jeedom >4.4 _event.originalEvent.detail
        if (_options === undefined) {
            _options = _event.originalEvent.detail;
        }
        $(_options).each(function() {
			this.cmd_id = this.cmd_id.toString() // php8 -> number
            switch (this.cmd_id) {
                case parametres.tempInterieureId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-temperature").children();
                    $domElement.text("");

                    this.value.toString().split(/\./).forEach(function(elem) {
                        $domElement.first().text(elem);
                        $domElement = $domElement.next("span").first();
                    });
                    break;

                case parametres.tempExterieureId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-temperature-ext");
                    $domElement.text(this.value);
                    break;

                case parametres.hygrometrieId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-hygrometrie");
                    $domElement.text(this.value);
                    break;

                case parametres.puissanceId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-puissance");
                    $domElement.text(this.value);
                    break;

                case parametres.consigneId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne").children();
                    $domElement.text("");

                    this.value.toString().split(/\./).forEach(function(elem) {
                        $domElement.first().text(elem);
                        $domElement = $domElement.next("span").first();
                    });

                    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button-plus, .eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button-moins").attr("data-cmd_val", this.value);

                    //Prochaine consigne
                    setNextEventCalendar(parametres.eqLogicId, $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-next-consigne"));
                    break;

                case parametres.statutId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-icon");

                    switch (this.value) {
                        case "Chauffage":
                            $domElement.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-icon-flame");
                            $domElement.css("fill", parametres.flameColor);
                            break;

                        case "Suspendu":
                            $domElement.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-icon-wait");
                            $domElement.css("fill", parametres.waitColor);
                            break;

                        case "Climatisation":
                            $domElement.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-icon-fan");
                            $domElement.css("fill", parametres.fanColor);
                            break;

                        default:
                            $domElement.find("use").attr("xlink:href", "");
                    }
                    break;

                case parametres.lockId:
                    var $lockIcon = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-lock-icon");
                    var lockId1 = $lockIcon.attr("data-cmd_id");
                    var lockId2 = $lockIcon.attr("data-cmd_id2");

                    $lockIcon.attr("data-cmd_id", lockId2);
                    $lockIcon.attr("data-cmd_id2", lockId1);
                    if (this.value === 1) {
                        $lockIcon.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-lock-on");
                        $lockIcon.css("fill", parametres.lockColor);
                    } else {
                        $lockIcon.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-lock-off");
                        $lockIcon.css("fill", "");
                    }
                    break;

                case parametres.modeId:
                    var escapeMode = this.value.toLowerCase().replace(/ /g, "");
                    var $cmdMode = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] [data-mode=" + escapeMode + "]").nextAll(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-switch");
                    toggleSwitchMode($cmdMode, parametres.uid, template);
                    break;
            }

        });


    });

    setTimeout(() => {
        fitTextTemp(template);
    }, 300);

}

var animTimeout = [];

function initialize_Simple_Template(parametres, template) {

    if (!$("link[href='plugins/thermoAlternateView/desktop/css/thermoAlternateView" + (template.length > 0 ? "_" + template.toLowerCase() : "") + ".css']").length) {
        $('<link rel="stylesheet" type="text/css" href="plugins/thermoAlternateView/desktop/css/thermoAlternateView' + (template.length > 0 ? "_" + template.toLowerCase() : "") + '.css">').appendTo("head");
    }

    //Affichage de la température si le thermostat est coupé


    if ($(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-label-on").attr("data-mode") === 'off') {
        let domElem = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-main-consigne")
        if (!domElem.hasClass("d-none")) {
            domElem.addClass("d-none")
            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-main-temperature").removeClass("d-none");
            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").css("transform", "rotateY(180deg) translateX(50%) translateY(-50%)");
            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").addClass("animation180")
        }
    }

    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").on('click', function() {

        switchConsigneTemperature($(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-label-on").attr("data-mode"),
                                  $(this));

        if ($(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-label-on").attr("data-mode") === 'off') {
            if ($(this).hasClass("animation180")) {
                if (animTimeout[parametres.uid] !== undefined) {
                    clearTimeout(animTimeout[parametres.uid]);
                }
            } else {
                animTimeout[parametres.uid] = setTimeout(() => {
                    $(this).click();
                }, 5000);
            }
        } else {
            if (!$(this).hasClass("animation180")) {
                if (animTimeout[parametres.uid] !== undefined) {
                    clearTimeout(animTimeout[parametres.uid]);
                }
            } else {
                animTimeout[parametres.uid] = setTimeout(() => {
                    $(this).click();
                }, 5000);
            }
        }

    });


    //Consigne supérieure et inférieure (labels)
    var domElemOder = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne > span").first();
    setUpDownRef(parametres, template, domElemOder);

    domElemOder.on('DOMSubtreeModified', function() {
        setUpDownRef(parametres, template, $(this));
    });


    //Mise à jour des valeurs
    $('body').on('cmd::update', function(_event, _options) {
        //Jeedom <4.4 _options est passé en paramètre
        //Jeedom >4.4 _event.originalEvent.detail
        if (_options === undefined) {
            _options = _event.originalEvent.detail;
        }
        $(_options).each(function() {
			this.cmd_id = this.cmd_id.toString() // php8 -> number
            switch (this.cmd_id) {
                case parametres.tempInterieureId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-main-temperature .thermo" + template + "-consigne").children().first();
                    $domElement.text(this.value);
                    break;

                case parametres.tempExterieureId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-temperature-ext");
                    $domElement.text(this.value);
                    break;

                case parametres.hygrometrieId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-hygrometrie");
                    $domElement.text(this.value);
                    break;

                case parametres.puissanceId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-puissance");
                    $domElement.text(this.value);
                    break;

                case parametres.consigneId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne > span").first();
                    //Consigne
                    $domElement.text(this.value);

                    /*$domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne-m1 > span").first();
                    //Consigne -1
                    $domElement.text(this.value - 1);
                    $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne-p1 > span").first();
                    //Consigne +1
                    $domElement.text(this.value + 1);*/

                    //Boutons +/-
                    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button-plus, .eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button-moins").attr("data-cmd_val", this.value);

                    //Prochaine consigne
                    setNextEventCalendar(parametres.eqLogicId, $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-next-consigne"));
                    break;

                case parametres.statutId:
                    switch (this.value) {
                        case "Chauffage":
                            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").each(function() {
                                $(this).css("border-color", parametres.flameColor);
                                $(this).css("box-shadow", "-1px 0px 10px 0px " + parametres.flameColor + " inset");
                            });
                            break;

                        case "Suspendu":
                            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").each(function() {
                                $(this).css("border-color", parametres.waitColor);
                                $(this).css("box-shadow", "-1px 0px 10px 0px " + parametres.waitColor + " inset");
                            });
                            break;

                        case "Climatisation":
                            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").each(function() {
                                $(this).css("border-color", parametres.fanColor);
                                $(this).css("box-shadow", "-1px 0px 10px 0px " + parametres.fanColor + " inset");
                            });
                            break;

                        default:
                            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").css("border-color", "#2D2D2D");
                            $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back").each(function() {
                                $(this).css("border-color", "");
                                $(this).css("box-shadow", "");
                            });
                    }
                    break;

                case parametres.lockId:
                    var $lockIcon = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-lock-icon");
                    var lockId1 = $lockIcon.attr("data-cmd_id");
                    var lockId2 = $lockIcon.attr("data-cmd_id2");

                    $lockIcon.attr("data-cmd_id", lockId2);
                    $lockIcon.attr("data-cmd_id2", lockId1);
                    if (this.value === 1) {
                        $lockIcon.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-lock-on");
                        $lockIcon.css("fill", parametres.lockColor);
                    } else {
                        $lockIcon.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-lock-off");
                        $lockIcon.css("fill", "");
                    }
                    break;

                case parametres.modeId:
                    var escapeMode = this.value.toLowerCase().replace(/ /g, "");
                    var $cmdMode = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] [data-mode=" + escapeMode + "]").nextAll(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-switch");
                    toggleSwitchMode($cmdMode, parametres.uid, template);

                    //Affichage de la température si le thermostat est coupé
                    selectConsigneTemperature (escapeMode, 
                                               $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-back"))
                    break;
            }

        });


    });

}

function initialize_Dark_Template(parametres, template) {

    if (!$("link[href='plugins/thermoAlternateView/desktop/css/thermoAlternateView_" + template.toLowerCase() + ".css']").length) {
        $('<link rel="stylesheet" type="text/css" href="plugins/thermoAlternateView/desktop/css/thermoAlternateView_' + template.toLowerCase() + '.css">').appendTo("head");
    }

    //Ajout des labels sur les modes
    if (parametres.mobile !== true) {
        $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-label").each(function() {
            $(this).after("<span>" + $(this).attr("data-mode-humanname").capitalize() + "</span>");
        });
    }

    //Mise à jour des valeurs
    $('body').on('cmd::update', function(_event, _options) {
        //Jeedom <4.4 _options est passé en paramètre
        //Jeedom >4.4 _event.originalEvent.detail
        if (_options === undefined) {
            _options = _event.originalEvent.detail;
        }
        $(_options).each(function() {
			this.cmd_id = this.cmd_id.toString() // php8 -> number
            switch (this.cmd_id) {

                case parametres.tempInterieureId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-temperature");
                    $domElement.text(this.value);
                    break;

                case parametres.tempExterieureId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-temperature-ext");
                    $domElement.text(this.value);
                    break;

                case parametres.hygrometrieId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-hygrometrie");
                    $domElement.text(this.value);
                    break;

                case parametres.puissanceId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-puissance");
                    $domElement.text(this.value);
                    break;

                case parametres.consigneId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne > span").first();
                    //Consigne
                    $domElement.text(this.value);

                    //Boutons +/-
                    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button-plus, .eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-button-moins").attr("data-cmd_val", this.value);

                    //Prochaine consigne
                    setNextEventCalendar(parametres.eqLogicId, $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-next-consigne"));
                    break;

                case parametres.statutId:
                    var $domElement = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-mode-icon");

                    switch (this.value) {
                        case "Chauffage":
                            $domElement.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-icon-flame");
                            $domElement.css("fill", parametres.flameColor);
                            break;

                        case "Suspendu":
                            $domElement.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-icon-wait");
                            $domElement.css("fill", parametres.waitColor);
                            break;

                        case "Climatisation":
                            $domElement.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-icon-fan");
                            $domElement.css("fill", parametres.fanColor);
                            break;


                        default:
                            $domElement.find("use").attr("xlink:href", "");
                    }
                    break;

                case parametres.lockId:
                    var $lockIcon = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-lock-icon");
                    var lockId1 = $lockIcon.attr("data-cmd_id");
                    var lockId2 = $lockIcon.attr("data-cmd_id2");

                    $lockIcon.attr("data-cmd_id", lockId2);
                    $lockIcon.attr("data-cmd_id2", lockId1);
                    if (this.value === 1) {
                        $lockIcon.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-lock-on");
                        $lockIcon.css("fill", parametres.lockColor);
                    } else {
                        $lockIcon.find("use").attr("xlink:href", "plugins/thermoAlternateView/desktop/images/images.svg#shape-lock-off");
                        $lockIcon.css("fill", "");
                    }

                    break;

                case parametres.modeId:
                    var escapeMode = this.value.toLowerCase().replace(/ /g, "");
                    var $cmdMode = $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] [data-mode=" + escapeMode + "]").nextAll(".thermo" + template + "-mode-switch");
                    toggleSwitchMode($cmdMode, parametres.uid, template);
                    break;
            }

        });


    });

}

function selectConsigneTemperature (mode, back) {
    let consigne = back.find('[class*="-main-consigne"]');
    let temperature = back.find('[class*="-main-temperature"]');

    if (mode === 'off') {
        if (!consigne.hasClass("d-none")) {
            consigne.addClass("d-none")
            temperature.removeClass("d-none");
            back.addClass("animation180")
            back.removeClass("animation180Back")
        }
    } else {
        if (!temperature.hasClass("d-none")) {
            temperature.addClass("d-none")
            consigne.removeClass("d-none");
            back.addClass("animation180Back")
            back.removeClass("animation180")
        }
    }
}

function switchConsigneTemperature (mode, back) {
    let consigne = back.find('[class*="-main-consigne"]');
    let temperature = back.find('[class*="-main-temperature"]');

    if (mode === 'off') {
        if (!consigne.hasClass("d-none")) {
            consigne.addClass("d-none")
            temperature.removeClass("d-none");
            back.addClass("animation180")
            back.removeClass("animation180Back")
        }
        else {
            temperature.addClass("d-none")
            consigne.removeClass("d-none");
            back.addClass("animation180Back")
            back.removeClass("animation180")
        }
    } else {
        if (!temperature.hasClass("d-none")) {
            temperature.addClass("d-none")
            consigne.removeClass("d-none");
            back.addClass("animation180Back")
            back.removeClass("animation180")
        }
        else {
            consigne.addClass("d-none")
            temperature.removeClass("d-none");
            back.addClass("animation180")
            back.removeClass("animation180Back")
        }
    }
}

function setUpDownRef(parametres, template, reference) {
    //Consigne -1
    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne-m1 > span").first().text((parseFloat(reference.text()) - 1).round(1));
    //Consigne +1
    $(".eqLogic[data-eqlogic_uid=" + parametres.uid + "] .thermo" + template + "-consigne-p1 > span").first().text((parseFloat(reference.text()) + 1).round(1));
}

function fitTextTemp(template) {

    //Taille du texte
    $(".thermo" + template + "-temperature").fitText(0.165);
    $(".thermo" + template + "-consigne").fitText(0.165);
    //$(".thermo" + template + "-temperature-ext").fitText(0.165);
}

String.prototype.capitalize = function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
}

Number.prototype.round = function(p) {
    p = p || 10;
    return parseFloat(this.toFixed(p));
};

// Récupère l'heure de la prochaine consigne
function setNextEventCalendar(eqLogicId, $domElement) {
    if ($domElement.css('display') != "none") {
        $.ajax({
            type: "POST",
            url: "plugins/thermoAlternateView/core/ajax/thermoAlternateView.ajax.php",
            data: {
                action: "getNextEventCalendar",
                eqLogic_id: eqLogicId
            },
            dataType: 'json',
            success: function(data) {
                if (data.state === 'ok') {
                    $domElement.text(data.result);
                }
            }
        });
    }
}

Merci j’ai testé avec un copier/coller d’appliquer ton fichier et bien cela ne change rien.

Merci quand même

Voici la page Santé de mon jeedom hébergé sous Proxmox :

Quel navigateur ?

1 « J'aime »

Ah bien vue, le problème vient de chrome (j’ai la dernière version)…
Je viens de tester sur Firefox et FullyKiosk (sur ma tablette) et je n’ai pas ce problème, le correctif fonctionne mais pas avec Chrome :frowning: …

J’utilise Chrome.
Par contre, tout composant additionnel (genre Adblock) est désactivé sur la page Jeedom.
image