Salut,
Je viens de faire la màj et j’ai ça
J’ai pas pourrais tu faire F12 console puis F5 et cliquer sur VMXXXX et mettre une capture ?
Alors, j’ai pas d’autres codes que des 200 mais j’ai ça
VM1142:60 Uncaught SyntaxError: Unexpected token ,
at b (getResource.php?file…a9f3ae&lang=fr_FR:2)
at Ie (getResource.php?file…a9f3ae&lang=fr_FR:2)
at k.fn.init.append (getResource.php?file…a9f3ae&lang=fr_FR:2)
at k.fn.init.<anonymous> (getResource.php?file…a9f3ae&lang=fr_FR:2)
at _ (getResource.php?file…a9f3ae&lang=fr_FR:2)
at k.fn.init.html (getResource.php?file…a9f3ae&lang=fr_FR:2)
at Object.success (getResource.php?file…31c3&lang=fr_FR:197)
at Object.success (getResource.php?file…3668&lang=fr_FR:117)
at c (getResource.php?file…a9f3ae&lang=fr_FR:2)
at Object.fireWith [as resolveWith] (getResource.php?file…a9f3ae&lang=fr_FR:2)
b @ getResource.php?file…a9f3ae&lang=fr_FR:2
Ie @ getResource.php?file…a9f3ae&lang=fr_FR:2
append @ getResource.php?file…a9f3ae&lang=fr_FR:2
(anonymous) @ getResource.php?file…a9f3ae&lang=fr_FR:2
_ @ getResource.php?file…a9f3ae&lang=fr_FR:2
html @ getResource.php?file…a9f3ae&lang=fr_FR:2
success @ getResource.php?file…31c3&lang=fr_FR:197
success @ getResource.php?file…3668&lang=fr_FR:117
c @ getResource.php?file…a9f3ae&lang=fr_FR:2
fireWith @ getResource.php?file…a9f3ae&lang=fr_FR:2
l @ getResource.php?file…a9f3ae&lang=fr_FR:2
(anonymous) @ getResource.php?file…a9f3ae&lang=fr_FR:2
load (async)
send @ getResource.php?file…a9f3ae&lang=fr_FR:2
ajax @ getResource.php?file…a9f3ae&lang=fr_FR:2
jeedom.object.toHtml @ getResource.php?file…0357&lang=fr_FR:113
getObjectHtml @ getResource.php?file…31c3&lang=fr_FR:186
(anonymous) @ index.php?v=d&p=dashboard:194
Et le warning
VM1175:3 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
J’ai cherché un peu plus loin en vérifiant les objets 1 à 1, c’est lié à un virtuel plutôt basique que j’ai depuis très longtemps, que n’utilise pas vraiment donc pas de modification récente.
On y a voit une anomalie d’affichage pour la puissance et le courant (normalement c’est un widget de base/ jauge demi-cercle)
INSERT INTO `cmd` (`id`, `eqLogic_id`, `eqType`, `logicalId`, `order`, `name`, `configuration`, `template`, `isHistorized`, `type`, `subType`, `unite`, `display`, `isVisible`, `value`, `alert`, `generic_type`) VALUES
(3145, 258, 'virtual', '', 1, 'Puissance', '{\"calcul\":\"#3125#\",\"returnStateValue\":\"\",\"returnStateTime\":\"\",\"minValue\":\"\",\"maxValue\":\"\",\"timeline::enable\":\"0\",\"interact::auto::disable\":\"0\",\"calculValueOffset\":\"\",\"historizeRound\":\"\",\"jeedomCheckCmdOperator\":\"==\",\"jeedomCheckCmdTest\":\"\",\"jeedomCheckCmdTime\":\"\",\"historizeMode\":\"avg\",\"historyPurge\":\"-3 month\",\"denyValues\":\"\",\"repeatEventManagement\":\"auto\",\"jeedomPushUrl\":\"\",\"actionCheckCmd\":[],\"jeedomPreExecCmd\":[],\"jeedomPostExecCmd\":[],\"updateCmdId\":\"\",\"listValue\":\"\"}', '{\"dashboard\":\"core::default\",\"mobile\":\"core::default\"}', '1', 'info', 'numeric', 'W', '{\"invertBinary\":\"0\",\"icon\":\"\",\"showOndashboard\":\"1\",\"showOnplan\":\"1\",\"showOnview\":\"1\",\"showOnmobile\":\"1\",\"showNameOndashboard\":\"1\",\"showNameOnplan\":\"1\",\"showNameOnview\":\"1\",\"showNameOnmobile\":\"1\",\"showIconAndNamedashboard\":\"0\",\"showIconAndNameplan\":\"0\",\"showIconAndNameview\":\"0\",\"showIconAndNamemobile\":\"0\",\"showStatsOndashboard\":\"1\",\"showStatsOnplan\":\"1\",\"showStatsOnview\":\"1\",\"showStatsOnmobile\":\"1\",\"forceReturnLineBefore\":\"0\",\"forceReturnLineAfter\":\"0\",\"parameters\":[]}', 1, '#3125#', '{\"warningif\":\"\",\"warningduring\":\"\",\"dangerif\":\"\",\"dangerduring\":\"\"}', ''),
(3146, 258, 'virtual', '', 2, 'Courant', '{\"calcul\":\"#3124#\",\"returnStateValue\":\"\",\"returnStateTime\":\"\",\"minValue\":\"\",\"maxValue\":\"\",\"timeline::enable\":\"0\",\"interact::auto::disable\":\"0\",\"calculValueOffset\":\"\",\"historizeRound\":\"\",\"jeedomCheckCmdOperator\":\"==\",\"jeedomCheckCmdTest\":\"\",\"jeedomCheckCmdTime\":\"\",\"historizeMode\":\"avg\",\"historyPurge\":\"\",\"denyValues\":\"\",\"repeatEventManagement\":\"auto\",\"jeedomPushUrl\":\"\",\"actionCheckCmd\":[],\"jeedomPreExecCmd\":[],\"jeedomPostExecCmd\":[],\"updateCmdId\":\"\",\"listValue\":\"\"}', '{\"dashboard\":\"core::default\",\"mobile\":\"core::default\"}', '1', 'info', 'numeric', 'A', '{\"invertBinary\":\"0\",\"icon\":\"\",\"showOndashboard\":\"1\",\"showOnplan\":\"1\",\"showOnview\":\"1\",\"showOnmobile\":\"1\",\"showNameOndashboard\":\"1\",\"showNameOnplan\":\"1\",\"showNameOnview\":\"1\",\"showNameOnmobile\":\"1\",\"showIconAndNamedashboard\":\"0\",\"showIconAndNameplan\":\"0\",\"showIconAndNameview\":\"0\",\"showIconAndNamemobile\":\"0\",\"showStatsOndashboard\":\"1\",\"showStatsOnplan\":\"1\",\"showStatsOnview\":\"1\",\"showStatsOnmobile\":\"1\",\"forceReturnLineBefore\":\"0\",\"forceReturnLineAfter\":\"0\",\"parameters\":[],\"groupingType\":\"\"}', 1, '#3124#', '{\"warningif\":\"\",\"warningduring\":\"\",\"dangerif\":\"\",\"dangerduring\":\"\"}', '');
@Loic C’est lié au widget par défaut… Dès que je le sélectionne : erreur… Si je le mets autre chose (line par exemple) ça fonctionne
Et sur le widget par défaut, si j’ajoute les bornes Min/Max et que je vire l’unité ça remarche et l’erreur n’est plus là
Si je vire les bornes et je remets les unités, de nouveau KO
Un autre effet de bord ??
https://communaute.jeedom.com/t/probleme-sur-min-max/2026/16
Oui je pensais à ça !
Bornes seules = OK
Unité seule = KO
Bornes et unités = OK
Attention à bien virer le cache widget à chaque modif, sinon ça marche …
Je confirme !
Même soucis même erreur sur une alpha de test:
info avec unité sans min/max, KO
action curseur sans min/max, KO !
Aïe… J’aimais bien l’idée d’avoir les bornes automatiques selon l’historique…
J’espère que c’est pas trop compliqué à corriger et qu’il n’y aura pas besoin de faire un retour arrière
Perso j’ai mis dans tous mes widget ce code, repris des widget core et adapté selon les besoins:
var minValue = (’#minValue#’ == ‹ ›) ? 0 : parseInt(’#minValue#’);
var maxValue = (’#maxValue#’ == ‹ ›) ? 100 : parseInt(’#maxValue#’);
Cela permet d’utiliser les min/max du paramétrage uniquement quand c’est nécessaires et VOULU, si pas de min/max renseignés on peut mettre la valeur que l’on veut (0/99, 1/255, 199, -10/50, …) dans le code du widget.
Le fait de ne plus initialiser arbitrairement les min/max offre une beaucoup plus grande souplesse via le code des widget.
Par exemple pour le range d’une jauge :
1 - Je ne renseigne pas les min/max, le widget va utiliser par exemple les min et max History
2 - Je renseigne le min à 1 , le widget va utiliser 1 comme min et non ‹ 0 › !!! (indispensable avec une échelle logarithmique)
3 - Si l’histo n’est pas dispo, le code va mettre les min/max aux valeurs par défaut qui lui convient (cf les deux lignes ci dessus).
Comme je le disais à Loïc, ce n’est pas au core d’initialiser à de manière arbitraire des valeurs qui sont totalement dépendantes de l’usage que l’on en fait. (Thermomètre -10/+50, volet 0.1/199, certain variateur 0/255), etc
Dans l’ancienne version, si l’on voulait dans un code de thermomètre, par exemple, mettre les min max à -10/50 il fallait faire
var minValue = (’#minValue#’ == ‹ 0 ›) ? -10 : parseInt(’#minValue#’);
var maxValue = (’#maxValue#’ == ‹ 100 ›) ? 50 : parseInt(’#maxValue#’);
Mais cela n’autorisait plus utilisateur à utiliser les valeurs 0/100 comme min/max !!!
Bon j’ai du faire un retour arrière sur cette modification elle est trop impactante en plus dans certain cas de devoir ajouter un peu de code et donc de ralentir jeedom (surtout en mobile ou le min/max sont en attribut de balise html)
Bonjour @Loic
Après mise à jour, plus d’erreur mais je partage l’avis de @m.georgein , c’est une vraie évolution, et c’est vraiment dommage de faire un retour arrière.
Que ce soit pénible à maintenir, et/ou compliquer de contenter tous les utilisateurs et/ou même une volonté personnelle, ça je peux comprendre. Par contre, je suis vachement moins réceptif à l’argument de la performance… aujourd’hui un mobile c’est loin d’être faible en puissance de calcul…
D’un point de vue personnel, la partie mobile/vue mobile j’ai abandonné car pas pratique/ergonomique. Avec le même téléphone (un oneplus 7 pro) je trouve la version classique plus lisible, plus facile à manipuler. Alors je suis surement pas dans un cas classique mais avec une résolution de 3120 x 1440, c’est pas la place qui manque
Oui, dommage de repartir en arrière …
Désolé mais niveau changement c’était trop lourd a faire. Et oui il y aurait eu un impact sur les performance en mobile car vu que je peux pas setter l’attribut en meme temps que je pose le html car il faut le calculer en js ca m’oblige a le faire après et donc a reload une nouvelle fois les widgets interne a jquery qui sont très lourd
Lourd, compliqué, pénible et pas optimal sans doute.
Mais ajouter quelques 100aines de ms sur le temps de chargement de la page c’est pas significatif à mon sens… alors, oui s effectivement, si tu es avec une connexion EDGE à la traîne ça va se voir, mais je reste pas convaincu parce que c’est pas là qu’il faut chercher un réel gain
C’est avec des petit gain que tout s’accélère
Oui, sur le principe mais seulement si tout le reste est optimal…10 gains à 1% ne vaut pas 1 gain à 10%
Faut bien commencer quelque part ce genre de gain je passe des journées a les chercher des fois même des truc a 0.0001% un gain et un gain
Loin de moi l’idée de dire que c’est facile, hein… C’est pas le sens de mon propos.
Mais clairement on mets en opposition « un gain » versus « une fonctionnalité ». A chacun de voir de quel coté penche la balance.