v1.4.3 — Payload UDP bruit cur_leq + cur_level, améliorations page database

- UDP bytes 22-23: noise_cur_leq, 24-25: noise_cur_level, 26-27: max_noise (réservé)
- Page database: validation dates obligatoire + bouton télécharger toute la table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-03-16 10:03:08 +01:00
parent e0e8a4cefe
commit 5bffec10a1
3 changed files with 34 additions and 12 deletions

View File

@@ -1 +1 @@
1.4.2 1.4.3

View File

@@ -1,5 +1,24 @@
{ {
"versions": [ "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", "version": "1.4.2",
"date": "2026-03-14", "date": "2026-03-14",

View File

@@ -60,7 +60,7 @@ CSV PAYLOAD (AirCarto Servers)
28 -> envea_O3 28 -> envea_O3
CSV FOR UDP (miotiq) 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 0 -> device ID
1 -> timestamp 1 -> timestamp
2 -> PM1 2 -> PM1
@@ -298,14 +298,18 @@ class SensorPayload:
if pressure is not None: if pressure is not None:
self.payload[20:22] = struct.pack('>H', int(pressure)) self.payload[20:22] = struct.pack('>H', int(pressure))
def set_noise(self, avg_noise, max_noise=None, min_noise=None): def set_noise(self, cur_leq, cur_level, max_noise=None):
"""Set noise values (bytes 22-27)""" """Set noise values (bytes 22-27)
if avg_noise is not None: 22-23: noise_cur_leq (dBA × 10)
self.payload[22:24] = struct.pack('>H', int(avg_noise * 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: if max_noise is not None:
self.payload[24:26] = struct.pack('>H', int(max_noise * 10)) self.payload[26:28] = struct.pack('>H', int(max_noise * 10))
if min_noise is not None:
self.payload[26:28] = struct.pack('>H', int(min_noise * 10))
def set_envea(self, no2, h2s, nh3, co, o3): def set_envea(self, no2, h2s, nh3, co, o3):
"""Set ENVEA gas sensor values (bytes 28-37)""" """Set ENVEA gas sensor values (bytes 28-37)"""
@@ -974,9 +978,8 @@ try:
#Add data to payload UDP #Add data to payload UDP
payload.set_noise( payload.set_noise(
avg_noise=last_row[2], # DB_A_value cur_leq=cur_LEQ, # current LEQ (dBA)
max_noise=None, # Add if available cur_level=cur_level # current level (dBA)
min_noise=None # Add if available
) )
#print("Verify SARA connection (AT)") #print("Verify SARA connection (AT)")