After a few days monitoring the MetPi, some tweaks were necessary. The main problem: the Sense Hat's proximity to the Pi board and USB ports, both of which generate heat, affecting the sensors.
AprÚs quelques jours de surveillance du MetPi, des ajustements s'imposaient. Le problÚme principal : la proximité du Sense Hat avec la carte Pi et les ports USB, qui génÚrent tous deux de la chaleur affectant les capteurs.
Fix #1: raise the Sense Hat
Correctif #1 : surélever le Sense Hat
I raised the Sense Hat with standoffs to keep it away from the Pi board and let more air circulate.
J'ai surélevé le Sense Hat avec des entretoises pour l'éloigner de la carte Pi et laisser l'air circuler.

It made a huge difference. The temperature readings became much more consistent with those of other sensors.
Ăa a fait une Ă©norme diffĂ©rence. Les relevĂ©s de tempĂ©rature sont devenus bien plus cohĂ©rents avec ceux des autres capteurs.
Fix #2: better formula
Correctif #2 : meilleure formule
I eventually abandoned averaging all 3 temperature sensors since 2 were always giving identical readings (likely both reading from the humidity sensor). I now use only the humidity sensor's temperature reading.
J'ai finalement abandonné la moyenne des 3 capteurs de température, car 2 donnaient toujours des valeurs identiques (probablement les deux lisant le capteur d'humidité). J'utilise maintenant uniquement la lecture de température du capteur d'humidité.
Fix #3: smooth readings
Correctif #3 : lisser les relevés
A rotating buffer averaging the last 3 readings avoids local peaks from wind or other external factors:
Un buffer tournant faisant la moyenne des 3 derniers relevés évite les pics locaux dus au vent ou à d'autres facteurs externes :
# Buffer glissant (3 derniers relevés)
buffer = []
def smooth(new_reading):
buffer.append(new_reading)
if len(buffer) > 3:
buffer.pop(0)
return sum(buffer) / len(buffer)