Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Version V15.01 du routeur
#31
dans l'IDE Arduino,
  Menu Croquis puis exportés les binaires compilés
   
  quand la compilation termine, [ça peut durer plusieurs minutes pour la première compilation, après les bibliothèques sont mise en cache]
  soit il y a des erreurs (dans le programme ou bibliothèque manquante)  => Lire et corriger les erreurs / ajouter les bib manquantes  [Il peut y a quelques Warning qui ne gène pas]

  soit ça c'est bien passé et le chemin où est disponible le .bin est disponible dans la fenêtres "Sortie"
   
Merci André Smile ,
Routeur V15.01 (since V2.01) / 1xESP32 (IP fixe) / Source UxI / 5 actions
Panneaux 1680Wc
1 Triac : ECS 2000W
1 SSR (multi) : ECS 1800W
1 SSR (On-Off) : Circulateur plancher chauffant eau 50W
1 SSR (multi) : circuit d'eau 1500W
1 SSR (multi) : Ultime 2000W
Répondre
#32
(14-08-2025, 10:25 PM)michy a écrit : dans l'IDE Arduino,
  Menu Croquis puis exportés les binaires compilés

  quand la compilation termine, [ça peut durer plusieurs minutes pour la première compilation, après les bibliothèques sont mise en cache]
  soit il y a des erreurs (dans le programme ou bibliothèque manquante)  => Lire et corriger les erreurs / ajouter les bib manquantes  [Il peut y a quelques Warning qui ne gène pas]

  soit ça c'est bien passé et le chemin où est disponible le .bin est disponible dans la fenêtres "Sortie"

C'est ce que j'avais fait mais il me met un message erreur avec un probléme de place de stockage

Je poste des que possible le message


Pièces jointes Miniature(s)
   
Répondre
#33
Oui, c'est un peu bizarre. En principe il devrait utiliser les infos du fichier partitions.csv pour configurer la mémoire, et donc ne pas avoir besoin de la configuration dans Arduino IDE. Sauf que dans ce cas tu as effectivement une erreur à la compilation.
Pour l'éviter, il suffit de choisir le dernier choix dans la liste (désolé, je n'ai pas Arduino IDE dispo en ce moment, donc pas de copie d'écran) et relancer la compilation.
Répondre
#34
il faut sélectionner partition Scheme: Custom

André a mis a disposition le fichier partitions.csv qui va bien


Pièces jointes Miniature(s)
   
Merci André Smile ,
Routeur V15.01 (since V2.01) / 1xESP32 (IP fixe) / Source UxI / 5 actions
Panneaux 1680Wc
1 Triac : ECS 2000W
1 SSR (multi) : ECS 1800W
1 SSR (On-Off) : Circulateur plancher chauffant eau 50W
1 SSR (multi) : circuit d'eau 1500W
1 SSR (multi) : Ultime 2000W
Répondre
#35
(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é.
Répondre
#36
Fastfrench tu saoules pas. Ton analyse est excellente et je suis de ton avis.
Mais bon plus facile à dire qu à faire.
En tout cas ma methode de refermer à chaque fois est suffisante , l ouverture de socket est suffisamment rapide pour traiter en 100ms

PS: Cupriste & Fastrench ouvrez un autre sujet pour les problèmes d arduino. Je viendrai vous répondre, vous n’etes pas tres loin de la solution ;-)
Répondre
#37
J'ai toujours ces alarmes avec tes modifs

Je posséde un shelly pro em50 pour info


Pièces jointes Miniature(s)
   
Répondre
#38
Pour ce type de problème comme les TimeOut, il est important pour moi de faire la part des choses: identifier si le problème est lié à l'installation (Wifi et Shelly) ou au routeur (matériel ou logiciel).
C'est pour cela que j'ai réalisé ce script en Python: il permet de savoir d'où viennent les TimeOut. Dans mon cas, je sais que le Shelly répond toujours en 2,5 secondes maxi (et le plus souvent en 100ms). Donc si je rencontre encore des TimeOut (avec 3 secondes de timeout, et toujours un second essai quand le premier échoue), je sais où chercher. J'ai aussi modifié le code du routeur pour envoyer sur une console Debug le détail des temps à chaque mesure de la puissance (temps de connexion, temps d'envoi de la requête, temps d'attente de la réponse, durée de la réception des données et enfin durée des traitements effectués pour traiter les données). Sans cette information, tu pars en aveugle. Si le problème ne vient pas du routeur, tu auras beau peaufiner le soft, tu ne pourras pas corriger les problèmes de cette façon.
Accessoirement, le fait de connaitre les temps de réponse dans ton cas te permettra éventuellement d'ajuster les délais pour que ça colle dans ton cas.
Répondre
#39
Le plus sur c est de sniffer les trames avec wireshark ;-) et quand tu vois des milliers d ouvertures contre quelques fermeture tu etudies le code ;/)
Répondre
#40
De mon côté je n'ai plus aucun messages d'échec de connexion ou de timeout avec vraiment une impression de régulation plus efficace  Tongue
Routeur v15.01, mesures Shelly EM + sonde de température DS18B20
Triac Robodyn 24A/600V avec radiateur externe
Réglages réactivité 5, seuil de déclenchement -50, multi sinus
3 panneaux photovoltaïques Sunology Play 405W
Cumulus 200L 2200W méca 62°
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : cdlnd, F1ATB, glu3, marek, 2 visiteur(s)