Skip to content

Un script python utilisant deux capteurs de température/humidité BeeWi SmartClim pour comparer les températures intérieure et extérieure, avec alerte quand les deux sont égales (utile lors des canicules).

License

Notifications You must be signed in to change notification settings

vmagnin/climatiser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

climatiser.py

Un script python utilisant deux capteurs de température/humidité BeeWi SmartClim BBW200 pour comparer les températures intérieure et extérieure, avec alerte quand les deux sont égales (utile lors des canicules). Ces capteurs fonctionnent avec deux piles AAA. En juillet 2022, ils deviennent difficiles à trouver mais sont encore disponibles par exemple sur Rakuten ou Conkt.me.

Le script affiche les données des deux capteurs à intervalles réguliers et les enregistre dans un fichier au format CSV.

Installation

Clonez le dépôt GitHub ou téléchargez et extrayez le zip dans un répertoire.

Installez la dépendance principale permettant d'accéder aux capteurs :

$ pip3 install beewi-smartclim

Pour profiter pleinement des fonctionnalités d'alerte du script, il vous faudra installer les paquets suivants (commande pour Ubuntu) :

$ sudo apt install espeak-ng mbrola-fr1 kdeconnect sox

Vous pouvez bien sûr également supprimer ces commandes si vous ne souhaitez pas installer certains paquets : en particulier, si vous n'êtes pas sous KDE, vous pouvez par exemple ne pas souhaiter installer KDE Connect et ses nombreuses dépendances.

Références :

Configuration

Créez un fichier perso_beewi.py sur le modèle de defaut_beewi.py et paramétrez-le :

  • INTERVALLE : intervalle en secondes entre les mesures.
  • ID_MOBILE : identifiant KDE Connect de votre téléphone portable ou tablette. Vous pouvez l'obtenir avec la commande kdeconnect-cli -l
  • SON : chemin du fichier son à utiliser pour l'alerte sur ordinateur.
  • CAPTEUR_EXT et CAPTEUR_INT : adresses MAC des deux capteurs Bluetooth, que vous pouvez obtenir avec la commande :
$ bluetoothctl
[*] [bluetooth]# devices
Device 26:E2:48:48:E2:E2 BeeWi SmartClim
Device D2:7F:B9:23:19:D0 BeeWi SmartClim
...

Utilisation

Une fois définie votre configuration, n'oubliez pas d'apairer les deux capteurs BeeWi SmartClim avec votre ordinateur. Si vous voulez être alerté par votre mobile, n'oubliez pas d'y lancer au préalable l'application KDE Connect.

Il n'y a alors plus qu'à lancer le script dans un terminal :

$ ./climatiser.py
Batteries : Ext= 100 %    Int= 100 %
   0) 16:04:42 | Ext 22.2°C 65 % | Int 21.9°C 63 %
   1) 16:05:12 | Ext 22.2°C 65 % | Int 21.9°C 63 %
   2) 16:05:32 | Ext 22.2°C 65 % | Int 21.9°C 63 %
   3) 16:05:49 | Ext 22.2°C 65 % | Int 21.9°C 63 %
   4) 16:06:06 | Ext 22.2°C 65 % | Int 21.9°C 63 %

Le fichier climatiser.csv contient quelques informations supplémentaires telles que la date, l'heure depuis l'epoch, le niveau des batteries :

31/10/2020;16:04:42;1604156682.8563292;22.2;65;100;21.9;63;100
31/10/2020;16:05:12;1604156712.794185;22.2;65;100;21.9;63;100
31/10/2020;16:05:32;1604156732.8461037;22.2;65;100;21.9;63;100
31/10/2020;16:05:49;1604156749.4508488;22.2;65;100;21.9;63;100
31/10/2020;16:06:06;1604156766.0521727;22.2;65;100;21.9;63;100

On pourra l'utiliser pour tracer les courbes de température et d'humidité à l'aide d'une application telle que LibreOffice ou gnuplot.

Où placer les capteurs BeeWi ?

Mesurer une température est moins simple qu'il n'y paraît. En intérieur, on placera idéalement le capteur loin du sol et des murs qui peuvent avoir emmagasiné de la chaleur, et à une hauteur d'environ 1,50 m, loin bien sûr de toute source de chaleur et sans exposition possible au soleil.

En extérieur, les capteurs doivent être idéalement loin des murs et des sols bétonnés, donc des habitations, et loin des arbres. On pourra s'inspirer des abris Stevenson utilisés pour les mesures météorologiques. Ces abris sont peints en blanc et protègent les instruments à la fois du soleil et des intempéries, tout en laissant circuler l'air à travers des doubles persiennes. La porte est orientée vers le nord. Et les thermomètres doivent être à une hauteur comprise entre 1,25 et 2 m.

Voir également : https://www.canada.ca/fr/environnement-changement-climatique/services/meteo-a-oeil/visite-instruments-meteo/thermometres-thermistors.html

Limitations des capteurs BeeWi BBW200

Il ne faut pas confondre la précision de l'affichage (0,1°C) et la précision de la mesure. D'après leur manuel, les BBW200 ont une précision de mesure typique de ±0,5°C, et dans le pire des cas de ±1°C. Mais pour l'application que nous visons, le paramètre important est le différentiel entre les deux capteurs. Dans mon cas, les deux capteurs posés l'un à côté de l'autre donnent des températures qui diffèrent de 0,2°C ou 0,3°C. Cela reste négligeable quand il s'agit de décider à quel moment de la journée il faut ouvrir ou fermer les fenêtres. Et on mettra à l'extérieur le capteur qui donne la plus grande valeur.

On pourrait calibrer ces capteurs, mais il faudrait disposer d'un thermomètre dont on est sûr de la précision. Or, si l'on dispose plusieurs thermomètres les uns à côtés des autres, les mesures s'étaleront facilement sur une plage de 1°C.

Concernant les mesures d'humidité relative, la notice annonce une précision de ±4,5 %, ce qui correspond à l'écart que j'observe typiquement entre mes deux capteurs.

Aspects techniques

Options des commandes

play

  • -q : supprime l'affichage (quiet).

espeak-ng

  • -v : nom de la voix utilisée. Nous utilisons ici les voix MBROLA qui sonnent beaucoup moins synthétiques que la voix robotique de espeak-ng.
  • -s : vitesse en mots par minute.

kdeconnect-cli

  • --refresh : cherche les périphériques disponibles et rétablit les connexions.
  • --device : identifiant du périphérique.
  • --ping-msg : message textuel à envoyer.
  • --ping : envoie d'un ping.
  • --ring : fait sonner le mobile.

Pour aller plus loin

Ce petit projet a été inspiré par l'article suivant, qui va beaucoup plus loin :

Références

About

Un script python utilisant deux capteurs de température/humidité BeeWi SmartClim pour comparer les températures intérieure et extérieure, avec alerte quand les deux sont égales (utile lors des canicules).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages