12-03-2025, 08:01 PM
Bonjour,
Il peut-être intéressant quand on a un système domotique et plusieurs routeurs de pouvoir les activer à la demande.
Si on pousse le raisonnement, il n'est pas forcément utile qu'un routeur interroge l'appareil de collecte (autre routeur, shelly, etc..) si aucune action n'est réalisable (parce que consigne déjà atteinte, en dehors des plages horaires, etc..)
Je vous propose d'ajouter un mode de fonctionnement à 3 états: maitre, actif, standby et un mode d'économie réseau facultatif.
Les règles sont les suivantes:
- un routeur qui utilise un système de collecte local (uxi) est forcément maître
- un routeur qui est interrogé sur des puissances est forcément maître ou le devient
- un routeur en mode standby... ne fait rien !
- un routeur en mode actif collecte les puissances seulement si des actions sont applicables et que le mode eco n'est pas activé.
- l' économie réseau ne concerne que la collecte des puissances, les échanges mqtt continuent d'être actifs.
- le mode est modifiable par mqtt
J'ai modifié les sources de la 13.03 pour que ce soit fonctionnel tel que décrit.
On peut facilement retrouver les ajouts/modifications effectués en cherchant "Chris mode" dans la console arduino.
Les sources sont disponibles ici: Solar_Router_V13_03_ethernet_mode.zip
Un binaire est également disponible: bin
Pour modifier le mode de fonctionnement, il faut envoyer par exemple {"mode":"active","eco":1} ou encore {"mode":"standby"} dans le topic (prefixe)/(nom_routeur)_commands.
C'est le même principe que pour l'état remonté par le routeur. Si le topic d'état est f1atb/routeur_rms_state, le topic de commandes est f1atb/routeur_rms_commands
J'ai ajouté une variable "EcranOn" qu'on peut passer à true ponctuellement pour que l'écran affiche les puissances quand l'écran est allumé même si on est en mode eco.
Par exemple, avec le code de Raphaël, elle prend la valeur de OledState dans les procédures OledAffiche et OledBouton
Pour ceux qui utilisent un écran déporté externe, il faudra probablement jouer avec l'url /ajax_data ou /ajax_dataSlave selon ce que vous voulez comme comportement (voir modifs server.ino)
Enfin ce serait pas mal d'avoir une case à cocher pour activer le mode eco et une liste déroulante pour sélectionner le mode voulu au démarrage mais ça implique de modifier le stockage.
Il peut-être intéressant quand on a un système domotique et plusieurs routeurs de pouvoir les activer à la demande.
Si on pousse le raisonnement, il n'est pas forcément utile qu'un routeur interroge l'appareil de collecte (autre routeur, shelly, etc..) si aucune action n'est réalisable (parce que consigne déjà atteinte, en dehors des plages horaires, etc..)
Je vous propose d'ajouter un mode de fonctionnement à 3 états: maitre, actif, standby et un mode d'économie réseau facultatif.
Les règles sont les suivantes:
- un routeur qui utilise un système de collecte local (uxi) est forcément maître
- un routeur qui est interrogé sur des puissances est forcément maître ou le devient
- un routeur en mode standby... ne fait rien !
- un routeur en mode actif collecte les puissances seulement si des actions sont applicables et que le mode eco n'est pas activé.
- l' économie réseau ne concerne que la collecte des puissances, les échanges mqtt continuent d'être actifs.
- le mode est modifiable par mqtt
J'ai modifié les sources de la 13.03 pour que ce soit fonctionnel tel que décrit.
On peut facilement retrouver les ajouts/modifications effectués en cherchant "Chris mode" dans la console arduino.
Les sources sont disponibles ici: Solar_Router_V13_03_ethernet_mode.zip
Un binaire est également disponible: bin
Pour modifier le mode de fonctionnement, il faut envoyer par exemple {"mode":"active","eco":1} ou encore {"mode":"standby"} dans le topic (prefixe)/(nom_routeur)_commands.
C'est le même principe que pour l'état remonté par le routeur. Si le topic d'état est f1atb/routeur_rms_state, le topic de commandes est f1atb/routeur_rms_commands
J'ai ajouté une variable "EcranOn" qu'on peut passer à true ponctuellement pour que l'écran affiche les puissances quand l'écran est allumé même si on est en mode eco.
Par exemple, avec le code de Raphaël, elle prend la valeur de OledState dans les procédures OledAffiche et OledBouton
Pour ceux qui utilisent un écran déporté externe, il faudra probablement jouer avec l'url /ajax_data ou /ajax_dataSlave selon ce que vous voulez comme comportement (voir modifs server.ino)
Enfin ce serait pas mal d'avoir une case à cocher pour activer le mode eco et une liste déroulante pour sélectionner le mode voulu au démarrage mais ça implique de modifier le stockage.