Repository navigation
Feature Release: Rain Support / Ajout de Fonctionnalité : Support de la Pluie
Release Date / Date de Sortie: October 6, 2025 / 6 octobre 2025
Major Enhancements and Reliability / Améliorations Majeures et Fiabilité
-
Rain Delta Calculation Integrated into the Driver (Robust Solution):
- The calculation of interval rain (
rain) has been moved from the internal WeeWX service (StdDelta) directly into theModbusTcpDriver. - Critical Fix: This change resolves recurring failures and
NULLvalues in therainfield, which were caused by unreliable persistence of the cumulative value (rain_total) in the database (specifically MariaDB) and synchronization issues with theStdDeltaservice. - The driver now uses internal memory (
self.last_rain) to subtract the new cumulative reading from the old one, ensuring that the delta (rain) is always correctly calculated and inserted into the packet before archiving.
- The calculation of interval rain (
-
Calcul du Delta de Pluie intégré au Driver (Solution Robuste) :
- Le calcul de la pluie par intervalle (
rain) a été déplacé du service interne de WeeWX (StdDelta) directement dans leModbusTcpDriver. - Correction Critique : Cette modification résout les échecs récurrents et les valeurs
NULLdans le champrain, qui étaient causés par la persistance peu fiable de la valeur cumulative (rain_total) dans la base de données (notamment MariaDB) et des problèmes de synchronisation avec le serviceStdDelta. - Le driver utilise désormais sa mémoire interne (
self.last_rain) pour soustraire la nouvelle lecture cumulative de l'ancienne, garantissant que le delta (rain) est toujours correctement calculé et inséré dans le paquet avant l'archivage.
- Le calcul de la pluie par intervalle (
Code Changes / Modifications du Code
genLoopPacketsMethod: Delta logic is fully implemented. If the field read israin_total, the driver calculatespkt['rain'] = calculate_rain(value, self.last_rain)and updatesself.last_rain. / La logique de delta est entièrement implémentée. Si le champ lu estrain_total, le driver calculepkt['rain'] = calculate_rain(value, self.last_rain)et met à jourself.last_rain.- Unit System Update: Changed the default packet unit system from
weewx.METRICtoweewx.METRICWX(Standard Weather Metric) for generated loop packets. / Le système d'unités par défaut des paquets a été changé deweewx.METRICàweewx.METRICWX(Météo Métrique Standard) pour les paquets de boucle générés.
Impact on Configuration (weewx.conf) / Impact sur la Configuration (weewx.conf)
- Required / Obligatoire : The sensor field name for the cumulative reading must be named
rain_totalinweewx.conffor the internal delta calculation to activate. / Le nom du champ de capteur pour la lecture cumulative doit être nommérain_totaldansweewx.confpour que le calcul de delta interne s'active. - Recommended / Recommandé : It is strongly advised to remove the
weewx.wxxtypes.StdDeltaservice from thextype_serviceslist in the[Engine]section to avoid conflicts and simplify the processing pipeline. / Il est fortement conseillé de retirer le serviceweewx.wxxtypes.StdDeltade la listextype_servicesdans la section[Engine]pour éviter les conflits et simplifier le pipeline de traitement.