diff --git a/VERSION b/VERSION index 9df886c..428b770 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.4.2 +1.4.3 diff --git a/changelog.json b/changelog.json index be401f5..0d638e7 100644 --- a/changelog.json +++ b/changelog.json @@ -1,5 +1,24 @@ { "versions": [ + { + "version": "1.4.3", + "date": "2026-03-16", + "changes": { + "features": [ + "Page database: bouton telecharger toute la table (bypass filtre dates)", + "Page database: validation obligatoire des dates avant telechargement par periode" + ], + "improvements": [ + "Payload UDP bruit: bytes 22-23 = noise_cur_leq, 24-25 = noise_cur_level, 26-27 = max_noise (reserve)", + "Envoi des deux valeurs bruit (cur_LEQ + DB_A_value) en UDP Miotiq au lieu d'une seule" + ], + "fixes": [], + "compatibility": [ + "Necessite mise a jour du parser Miotiq pour decoder les nouveaux champs noise_cur_leq et noise_cur_level" + ] + }, + "notes": "Mise a jour structure UDP bruit pour alignement avec parser Miotiq et ameliorations page database." + }, { "version": "1.4.2", "date": "2026-03-14", diff --git a/loop/SARA_send_data_v2.py b/loop/SARA_send_data_v2.py index 4ddb38d..91881c3 100755 --- a/loop/SARA_send_data_v2.py +++ b/loop/SARA_send_data_v2.py @@ -60,7 +60,7 @@ CSV PAYLOAD (AirCarto Servers) 28 -> envea_O3 CSV FOR UDP (miotiq) - {device_id},{timestamp},{PM1},{PM25},{PM10},{temp},{hum},{press},{avg_noise},{max_noise},{min_noise},{envea_no2},{envea_h2s},{envea_o3},{4g_signal_quality} + {device_id},{timestamp},{PM1},{PM25},{PM10},{temp},{hum},{press},{noise_cur_leq},{noise_cur_level},{max_noise},{envea_no2},{envea_h2s},{envea_o3},{4g_signal_quality} 0 -> device ID 1 -> timestamp 2 -> PM1 @@ -298,14 +298,18 @@ class SensorPayload: if pressure is not None: self.payload[20:22] = struct.pack('>H', int(pressure)) - def set_noise(self, avg_noise, max_noise=None, min_noise=None): - """Set noise values (bytes 22-27)""" - if avg_noise is not None: - self.payload[22:24] = struct.pack('>H', int(avg_noise * 10)) + def set_noise(self, cur_leq, cur_level, max_noise=None): + """Set noise values (bytes 22-27) + 22-23: noise_cur_leq (dBA × 10) + 24-25: noise_cur_level (dBA × 10) + 26-27: max_noise (dBA × 10, reserved for future use) + """ + if cur_leq is not None: + self.payload[22:24] = struct.pack('>H', int(cur_leq * 10)) + if cur_level is not None: + self.payload[24:26] = struct.pack('>H', int(cur_level * 10)) if max_noise is not None: - self.payload[24:26] = struct.pack('>H', int(max_noise * 10)) - if min_noise is not None: - self.payload[26:28] = struct.pack('>H', int(min_noise * 10)) + self.payload[26:28] = struct.pack('>H', int(max_noise * 10)) def set_envea(self, no2, h2s, nh3, co, o3): """Set ENVEA gas sensor values (bytes 28-37)""" @@ -974,9 +978,8 @@ try: #Add data to payload UDP payload.set_noise( - avg_noise=last_row[2], # DB_A_value - max_noise=None, # Add if available - min_noise=None # Add if available + cur_leq=cur_LEQ, # current LEQ (dBA) + cur_level=cur_level # current level (dBA) ) #print("Verify SARA connection (AT)")