14-08-2025, 11:34 PM
(14-08-2025, 09:08 AM)Lolo69 a écrit : idem pour les module RMS_Externes et source_externe, source_smartG il manque un clientESP_RMS.stop apres le dernier get ( sans erreur de timeout)
Bon, j'ai revérifié le code, et en fait on ne ferme la connexion qu'en cas d'erreur, jamais quand tout va bien.
Par contre on établit une nouvelle connexion systématiquement à chaque utilisation (donc deux fois au premier passage, une seule fois ensuite).
Ce serait plus facile à maintenir si on avait une classe de base pour gérer la mesure des puissances, avec une classe dérivée pour chaque cas particulier. Dans le cas de Shelly, et probablement d'autres qui partagent l'essentiel, une classe intermédiaire traitant tout ce que les Shelly ont en commun, permettrait d'avoir un code plus lisible et maintenable (beaucoup moins redondant).
PowerProviderBase
-> ShellyBase : PowerProviderBase
-> ShellyEM : ShellyBase
-> ShellyProEM : ShellyBase
-> UxIBase : PowerProviderBase
-> UxI : UxIBase
-> Ux2I : UxIBase
-> Linky : PowerProviderBase
-> MQTT : PowerProviderBase
Mais bon, je sais: je vous saoule à prêcher dans le désert. Désolé.