J’ai un peu avancé et trouvé au moins une partie du problème…
@lunarok
Dans shelly.php, les champs de saisie peuvent être instanciés jusqu’à 3 fois ( ex : shortpush_url0 ). En fonction du module ( input/button1/relay ) et des « .hide() » et « .show() » dans le .js cela n’apparait pas, mais ils sont bien présents et provoquent une confusion lors du stockage de la configuration. Dans le cas du i3, en ne conservant dans le php que le bloc « input », cela rentre dans l’ordre.
Mes connaissances en php et js étant un peu limitées, je ne me lance pas davantage dnas le debug