From b4540504f88cc6b6f34725b3a76300279eae7aa0 Mon Sep 17 00:00:00 2001 From: Gilles MOREL Date: Sun, 27 Sep 2020 17:41:15 +0200 Subject: [PATCH] =?UTF-8?q?R=C3=A9cup=C3=A9ration=20de=20la=20temp=C3=A9ra?= =?UTF-8?q?ture=20et=20l'humidit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homesfr.py | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/homesfr.py b/homesfr.py index 65524a0..6566985 100644 --- a/homesfr.py +++ b/homesfr.py @@ -100,6 +100,13 @@ sensors_signal_field = 'signalLevel' sensors_status_field = 'status' sensors_status_value_ok = 'OK' +# Capteurs de température et humidité +sensors_temphum_root_field = 'sensorValues' +sensors_temp_name = 'name' +sensors_temp_text = 'Temperature' +sensors_hum_name = 'name' +sensors_hum_text = 'Humidity' + # Fil d'événements logs_path = '/getlog?page=1&nbparpage=10000' # je pense qu'on récupère tous les événements avec cette valeur logs_labels = 'LOG' @@ -363,7 +370,7 @@ class Sensor (): for i in lst: if i [0] == key: return (i [2]) - raise KeyError () + raise KeyError ('no value ' + key) def get_mac (self): ''' @@ -439,19 +446,37 @@ class Sensor (): def get_camera_petmode (self): ''' - Gets the pet mode value - Pet mode is a setting on movement sensibility, to avoid trigger on pet movements + Retourne l'état du mode animaux domestiques + Ce mode réduit la sensibilité du capteur pour éviter des déclanchements d'alarme dus aux animaux ''' return (self.sensor_dict [camera_get_config_petmode] == '1') def get_camera_recording (self): ''' - Gets if the camera records or not + Retourne l'état de l'enregistrement vidéo 24/24 ''' return (self.sensor_dict [camera_get_config_recording] == '1') def get_camera_privacy (self): ''' - Gets if the camera records or not + Si cette méthode retourne True, la caméra est paramétrée pour ne pas capture d'image ''' - return (self.sensor_dict [camera_get_config_privacy] == '1') \ No newline at end of file + return (self.sensor_dict [camera_get_config_privacy] == '1') + + def get_temperature (self): + ''' + Retourne la température donnée par le capteur + ''' + a = self.get_value (self.sensor_dict, sensors_temphum_root_field) + for i in a: + if i [1] [sensors_temp_name] == sensors_temp_text: + return (float (i [2].replace ('°C', ''))) + + def get_humidity (self): + ''' + Retourne l'humidité donnée par le capteur + ''' + a = self.get_value (self.sensor_dict, sensors_temphum_root_field) + for i in a: + if i [1] [sensors_hum_name] == sensors_hum_text: + return (int (i [2].replace ('%', ''))) \ No newline at end of file