diff --git a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/camera_worker/camera_oak.py b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/camera_worker/camera_oak.py index 8424b3820..3c46866be 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/camera_worker/camera_oak.py +++ b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/camera_worker/camera_oak.py @@ -826,11 +826,11 @@ class CameraOak: self._op_mode += 1 self._last_mode_change_ts = now # desce se está pesado - elif util > 85 and self._op_mode > 0: + elif util > 75 and self._op_mode > 0: self._op_mode -= 1 self._last_mode_change_ts = now # emergência: muito alto, cai mais - if util > 90 and self._op_mode > 0: + if util > 85 and self._op_mode > 0: self._op_mode = max(0, self._op_mode - 1) self._last_mode_change_ts = now diff --git a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/gps.py b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/gps.py index e89695abc..dca1a1f48 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/gps.py +++ b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/gps.py @@ -34,7 +34,7 @@ class ModuloGPS(ModuloDiagnosticoBase): saude = 100 motivos = [] - if not conectado or fail_pos or fail_ori: + if not conectado: motivos.append("desconectado") saude = 0 elif freq_pos <= FREQ_MIN or fail_pos: diff --git a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/ponte_ip.py b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/ponte_ip.py index d56d5df32..9ea624794 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/ponte_ip.py +++ b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/ponte_ip.py @@ -75,9 +75,9 @@ class ModuloIPBribge(ModuloDiagnosticoBase): self._ping_count = 2 # recomendado: 1 (janela já suaviza) self._ping_min_interval = 0.6 # não precisa pingar a cada 100ms - self.bw_max_mbps = 2.0 # capacidade aproximada do link (ajuste por teste) - self.bw_safe_mbps = 1.2 # alvo saudável (até aqui não penaliza) - self.bw_hard_mbps = 1.8 # acima disso é zona vermelha + self.bw_max_mbps = 3.0 # capacidade aproximada do link (ajuste por teste) + self.bw_safe_mbps = 2.0 # alvo saudável (até aqui não penaliza) + self.bw_hard_mbps = 2.5 # acima disso é zona vermelha diff --git a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/trajetoria.py b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/trajetoria.py index fa5c12b1e..b96404a34 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/trajetoria.py +++ b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/health_worker/modulos/trajetoria.py @@ -35,6 +35,8 @@ class ModuloTrajetorira(ModuloDiagnosticoBase): status = StatusModulo.OPERANTE if not iniciado: status = StatusModulo.DESCONECTADO + elif saude <= 0: + status = StatusModulo.FALHA elif saude < SAUDE_MIN_ALERTA: status = StatusModulo.ALERTA diff --git a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/shared/contexto_global_redis.py b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/shared/contexto_global_redis.py index e066dc697..19a56e1b7 100644 --- a/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/shared/contexto_global_redis.py +++ b/AgroBase/AgroBase/bin/x64/Debug/Python/Scripts/workers/shared/contexto_global_redis.py @@ -211,15 +211,14 @@ class ContextoGlobalRedis: @classmethod def _atualizar_operacao_liberada(cls): _operacao = cls.get_operacao() - _contexto = cls.get_contexto() # 🔹 Conjuntos de módulos modulos_mandatorios = set(_operacao.get("modulos_mandatorios", [])) modulos_opcionais = set(_operacao.get("modulos_opcionais", [])) emergencia = _operacao.get("emergencia", False) pausa = _operacao.get("pausa", False) - _t = _contexto.get("Trajetoria", {}) - trajetoria_liberada = True if _t is None or _t == "" else _t.get("CorredorAtual", {}).get("liberado", False) + _t = cls.get_modulo(T_Code.Trj) + trajetoria_liberada = _t.get("liberado", False) if _t.get("iniciado", False) else True modulos_presentes = set() status_modulos = [] @@ -383,7 +382,7 @@ class ContextoGlobalRedis: trajetoria_ok = True if not trajetoria_liberada: trajetoria_ok = False - _motivo_traj = _contexto.get("Trajetoria", {}).get("CorredorAtual", {}).get("motivo") + _motivo_traj = _t.get("motivo") if _motivo_traj: motivos_dos_modulos_mandatorios.append(_motivo_traj)