Skip to content

Version 1.2

Latest

Choose a tag to compare

@FColinet FColinet released this 06 Oct 00:04

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 the ModbusTcpDriver.
    • Critical Fix: This change resolves recurring failures and NULL values in the rain field, which were caused by unreliable persistence of the cumulative value (rain_total) in the database (specifically MariaDB) and synchronization issues with the StdDelta service.
    • 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.
  • 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 le ModbusTcpDriver.
    • Correction Critique : Cette modification résout les échecs récurrents et les valeurs NULL dans le champ rain, 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 service StdDelta.
    • 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.

Code Changes / Modifications du Code

  • genLoopPackets Method: Delta logic is fully implemented. If the field read is rain_total, the driver calculates pkt['rain'] = calculate_rain(value, self.last_rain) and updates self.last_rain. / La logique de delta est entièrement implémentée. Si le champ lu est rain_total, le driver calcule pkt['rain'] = calculate_rain(value, self.last_rain) et met à jour self.last_rain.
  • Unit System Update: Changed the default packet unit system from weewx.METRIC to weewx.METRICWX (Standard Weather Metric) for generated loop packets. / Le système d'unités par défaut des paquets a été changé de weewx.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_total in weewx.conf for the internal delta calculation to activate. / Le nom du champ de capteur pour la lecture cumulative doit être nommé rain_total dans weewx.conf pour que le calcul de delta interne s'active.
  • Recommended / Recommandé : It is strongly advised to remove the weewx.wxxtypes.StdDelta service from the xtype_services list in the [Engine] section to avoid conflicts and simplify the processing pipeline. / Il est fortement conseillé de retirer le service weewx.wxxtypes.StdDelta de la liste xtype_services dans la section [Engine] pour éviter les conflits et simplifier le pipeline de traitement.