Python-xsense
L'utilisation des capteurs x-sense en dehors des applications classiques est assez mal documentée. J'ai seulement trouvé un module python : python-xsense sur github.
Installation
Pour moi elle a été relativement douloureuse mais avec les infos ci-dessous ca va tout seul.
Il vaut mieux créer un environnement virtuel python pour cela.
python -m venv x-sense-env
source x-sense-env/bin/activate
On clone le repository git.
git clone https://github.com/theosnel/python-xsense.git
cd python-xsense
On y est mais avant de lancer le test.py il y a beaucoup de modules a installer.
python -m pip install requests
python -m pip install boto3
python -m pip install pycognito
python -m pip install paho-mqtt
python -m pip install aiohttp
Attention pour paho. Le programme dit qu'il manque le module paho mais, si on le trouves pour windows, pour linux il faut bien préciser paho-mqtt! Ensuite on lance le programme de test avec les identifiants que l'on a entrés avec l'application lors de la création du compte.
python test.py --username 'mail@mondomaine.com' --password 'monmotdepasse'
----[ Paris Eugène Millon (XXXX7AD2F07111EXXXX711521EXXXXAA) ]-----------------
Station de base (SBS50):
serial : 14BXXXX
online : yes
values : {'type': 'SBS50', 'stationSN': '14B9XXXX', 'deviceSN': '14B9XXXX', 'sw': 'v1.5.7', 'rfFreq': '868', 'voiceVol': '75', 'alarmVol': '75', 'alarmTone': '1', 'ledBrt': '8', 'ssid': 'XXX', 'ip': 'X.Y.Z.101', 'mac': 'EC:C9:FF:7A:XX:XX', 'macBT': 'EC:C9:FF:7A:XX:XX', 'wifiRSSI': '-61'}
# Station de base (XXXXE563F07111EFB406B141D849XXXX)
Thermo-hygromètre (STH51):
serial : 00000001
online : yes
values : {'type': 'STH51', 'batInfo': 3, 'rfLevel': 3, 'online': '1', 'alarmStatus': False, 'temperature': 19.8, 'humidity': 45.6, 'temperatureUnit': '1', 'temperatureRange': [-20, 60], 'humidityRange': [0, 100], 'alarmEnabled': True, 'continuedAlarm': False, 'time': '20250221181904'}
Thermo-hygromètre 2 (STH51):
serial : 00000002
online : yes
values : {'type': 'STH51', 'batInfo': 3, 'rfLevel': 3, 'online': '1', 'alarmStatus': False, 'temperature': 18.4, 'humidity': 51.2, 'temperatureUnit': '1', 'temperatureRange': [-20, 60], 'humidityRange': [0, 100], 'alarmEnabled': True, 'continuedAlarm': False, 'time': '20250221181904'}
Thermo-hygromètre 3 (STH51):
serial : 00000003
online : yes
values : {'type': 'STH51', 'batInfo': 3, 'rfLevel': 3, 'online': '1', 'alarmStatus': False, 'temperature': 18.7, 'humidity': 48.8, 'temperatureUnit': '1', 'temperatureRange': [-20, 60], 'humidityRange': [0, 100], 'alarmEnabled': True, 'continuedAlarm': False, 'time': '20250221181905'}
On voit bien comment obtenir toutes les informations sur les capteurs installés. En particulier la température et l'humidité des 3 capteurs.
L'étude du code nous en apprendra beaucoup.