Mes deux lignes de logs remontent bien la valeur avant et après le changement.
En revanche, le save() ne fait rien du tout… pas d’erreur, mais la nouvelle valeur n’est pas sauvegardée…
Pas eu l’occasion de tester ni d’y regarder de plus près mais juste pour voir ça passe mieux en ajoutant un argument true à la fonction save() de la commande ? ça permet de sauver direct en base :
$cmdCounter->save(true);
Sinon la commande est bien une info/numérique ? Tu vois la valeur en BDD en allant dans la modale de configuration de la commande puis le bouton informations en haut à droite / champ configuration ?
le save(true) permet surtout de ne pas exécuter les éventuels preSave, postSave etc, important pour ne pas tourner en rond le cas échéant
Pour le reste c’est curieux, je fais pareil, je ne vois pas ce qui cloche dans ce bout de code.
Essaye de convertir en int avant de faire le setConfiguration p-e?
où vérifies tu la prise en compte du changement de configuration dans ta commande ?
en Jeedom 4.1.20, j’ai fait un test et de mon côté je vois le changement.
click Engrenages sur ta commande, puis informations en haut à droite, tu as une section « configuration »
si c’est à jour, je pencherais plus pour un clearCacheWidget() à la fin de ta méthode postSave()
Merci pour ton aide @ddelec24…
Malheureusement, non, la configuration ne se met pas à jour. Donc pas un problème de cache widget mais vraiment un problème d’update de la base de données…
Je progresse dans mon investigation mais sans solution pour l’instant.
Mon bout de code fonctionne correctement au premier postUpdate, quand les commandes n’ont pas encore été créées (elles sont créées just avant dans la même fonction).
En revanche, lors d’une mise à jour de l’équipement (et donc de la configuration) la mise à jour de la commande ne fonctionne pas…
EDIT:
Lorsque je fais une mise à jour du plugin, la valeur maxValue est bien mise à jour avec la dernière valeur de la configuration !! Je deviens fou