14-09-2025, 10:05 PM
(Modification du message : 14-09-2025, 10:49 PM par FastFrench.)
Bonjour,
je reste confronté au problème récurrent du temps d'accès au Shelly (Pro 3EM dans mon cas) par l'API REST.
A tel point que j'ai plusieurs messages de TimeOut au niveau du routeur chaque jour.
Dans 80% des lectures, j'ai un temps d'accès très correct autour de 80ms.
Il y a environ 15% des requêtes restantes qui se font en-dessous de 120ms, ce qui reste correct.
Mais pour les 5% restant, ça peut monter jusqu'à 1200ms voire plus (moins de 1% des requêtes dépassent 800ms).
J'ai essayé de supprimer tout ce qui n'est pas nécessaire au niveau du Shelly (tout désactivé sauf la connexion Ethernet): aucun changement flagrant.
Et en arrêtant les autres clients qui se connectent au Shelly, là c'est sensiblement mieux, mais trop contraignant !
![[Image: S3WaWIz.png]](https://i.imgur.com/S3WaWIz.png)
J'ai donc tenté une autre approche: expérimenter l'accès avec ModBus. Mais si en l'activant au niveau du Shelly, celui-ci semble bien à l'écoute du port dédié (502), mais c'est tout.
Je n'est pas réussi à lire le moindre registre par ModBus (Par exemple le registre 1013 qui devrait contenir la puissance active).
Et cela aussi bien avec une implémentation perso, qu'avec des outils dédiés comme ModPoll et Modscan64 en testant toutes les plages de registres possible dans les 4 modes.
Quelqu'un aurait-il réussi à communiquer avec un Shelly Pro en utilisant ModBus ?
Sinon, il reste bien d'autres options: MQTT (en s'abonnant aux notifications), ou les WebSockets (mais il semble que ce soit limité à un seul client).
Ce que je n'aime pas avec MQTT, c'est que le Shelly publie des messages à rallonge, avec des tonnes d'informations inutiles. On peut toujours les filtrer, mais ce n'est pas très optimal comme implémentation. De plus le fait de passer par un broker MQTT augmente d'autant la latence (donc le délai entre lequel la mesure est effectuée et le moment où le routeur en prend connaissance). On peut espérer des temps de l'ordre de 100 à 300ms d'après des retours utilisateurs. Donc à priori nettementmoins bons que par l'API REST dans au moins 80% des cas.
je reste confronté au problème récurrent du temps d'accès au Shelly (Pro 3EM dans mon cas) par l'API REST.
A tel point que j'ai plusieurs messages de TimeOut au niveau du routeur chaque jour.
Dans 80% des lectures, j'ai un temps d'accès très correct autour de 80ms.
Il y a environ 15% des requêtes restantes qui se font en-dessous de 120ms, ce qui reste correct.
Mais pour les 5% restant, ça peut monter jusqu'à 1200ms voire plus (moins de 1% des requêtes dépassent 800ms).
J'ai essayé de supprimer tout ce qui n'est pas nécessaire au niveau du Shelly (tout désactivé sauf la connexion Ethernet): aucun changement flagrant.
Et en arrêtant les autres clients qui se connectent au Shelly, là c'est sensiblement mieux, mais trop contraignant !
![[Image: S3WaWIz.png]](https://i.imgur.com/S3WaWIz.png)
J'ai donc tenté une autre approche: expérimenter l'accès avec ModBus. Mais si en l'activant au niveau du Shelly, celui-ci semble bien à l'écoute du port dédié (502), mais c'est tout.
Je n'est pas réussi à lire le moindre registre par ModBus (Par exemple le registre 1013 qui devrait contenir la puissance active).
Et cela aussi bien avec une implémentation perso, qu'avec des outils dédiés comme ModPoll et Modscan64 en testant toutes les plages de registres possible dans les 4 modes.
Quelqu'un aurait-il réussi à communiquer avec un Shelly Pro en utilisant ModBus ?
Sinon, il reste bien d'autres options: MQTT (en s'abonnant aux notifications), ou les WebSockets (mais il semble que ce soit limité à un seul client).
Ce que je n'aime pas avec MQTT, c'est que le Shelly publie des messages à rallonge, avec des tonnes d'informations inutiles. On peut toujours les filtrer, mais ce n'est pas très optimal comme implémentation. De plus le fait de passer par un broker MQTT augmente d'autant la latence (donc le délai entre lequel la mesure est effectuée et le moment où le routeur en prend connaissance). On peut espérer des temps de l'ordre de 100 à 300ms d'après des retours utilisateurs. Donc à priori nettementmoins bons que par l'API REST dans au moins 80% des cas.
GibHub repository: https://github.com/FastFrench/F1ATB_Router
Ma config:
P.V. 3kWc
Ballon E.C.S. 3kW
Routeur F1ATB 15.09 sur CYD, Shelly Pro 3EM (Ethernet), SSR (train de sinus)
Ma config:
P.V. 3kWc
Ballon E.C.S. 3kW
Routeur F1ATB 15.09 sur CYD, Shelly Pro 3EM (Ethernet), SSR (train de sinus)