v1.7.2: Detection SIM aussi dans la branche CSQ=99

Sans SIM, le modem retourne CSQ=99 systematique et le script
sortait avant d'atteindre le check SIM ajoute en v1.7.1.

- Branche CSQ=99: appelle aussi check_sim_status()
- Si SIM absente: alerte rouge + notification WiFi
- Si SIM OK: message vert (coupure reseau temporaire)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-05-12 11:32:43 +02:00
parent c004d32f0b
commit 71211e281a
3 changed files with 45 additions and 13 deletions

View File

@@ -1 +1 @@
1.7.1
1.7.2

View File

@@ -1,5 +1,21 @@
{
"versions": [
{
"version": "1.7.2",
"date": "2026-05-12",
"changes": {
"features": [],
"improvements": [
"Loop SARA: detection SIM injoignable etendue au cas 'signal CSQ=99' (sans SIM, le modem ne peut pas s'enregistrer donc CSQ=99 systematique)",
"Distinction claire entre 'SIM absente' (alerte rouge + notification) et 'coupure reseau temporaire' (message vert, retry au prochain cycle)"
],
"fixes": [
"v1.7.1 ne detectait pas la SIM absente quand CSQ=99 (le script sortait avant d'atteindre le check SIM dans la branche USOCR)"
],
"compatibility": []
},
"notes": "Complement v1.7.1: le check SIM est maintenant appele dans les deux branches d'echec (CSQ=99 et USOCR ERROR). Couvre tous les cas de SIM injoignable."
},
{
"version": "1.7.1",
"date": "2026-05-12",

View File

@@ -1156,19 +1156,35 @@ try:
if signal_quality == 99:
print('<span style="color: red;font-weight: bold;">⚠ATTENTION: Signal Quality indicates no signal (99)⚠️</span>')
#Pas besoin d'essayer de se reconnecter car reconnection automatique
#print("TRY TO RECONNECT:")
#command = f'AT+COPS=1,2,{selected_networkID}\r'
#command = f'AT+COPS=0\r'
#ser_sara.write(command.encode('utf-8'))
#responseReconnect = read_complete_response(ser_sara, timeout=20, end_of_response_timeout=20, wait_for_lines=["OK", "+CME ERROR", "ERROR"], debug=True)
#print('<p class="text-danger-emphasis">')
#print(responseReconnect)
#print("</p>", end="")
# Diagnostic : signal 99 peut etre du a une SIM absente OU une coupure reseau temporaire
sim_ok = check_sim_status()
if not sim_ok:
# SIM injoignable -> alerte tres visible, pas la peine d'attendre une reconnexion
print('<hr>')
print('<div style="border: 3px solid red; background-color: #ffe5e5; padding: 10px; margin: 10px 0;">')
print('<span style="color: red;font-weight: bold;font-size: 1.4em;">🚨🚨🚨 SIM CARD NOT DETECTED 🚨🚨🚨</span><br>')
print('<span style="color: red;font-weight: bold;">⛔ Signal a 99 + SIM injoignable : la carte SIM est absente ou mal inseree.</span><br>')
print('<span style="color: red;font-weight: bold;">⛔ AT+CPIN? et AT+CCID ont tous les deux echoue.</span><br>')
print('<span style="color: red;font-weight: bold;">👉 Action requise : verifier physiquement la carte SIM (sortir/reinserer, nettoyer les contacts).</span>')
print('</div>')
print('<hr>')
# LED rouge clignotante
led_thread = Thread(target=blink_led, args=(24, 5, 0.5))
led_thread.start()
# Notification WIFI explicite
send_error_notification(device_id, "SIM NOT DETECTED -> physical check required (signal 99 + SIM unreachable)")
print('🛑STOP LOOP🛑')
print("<hr>")
#on arrete le script pas besoin de continuer
sys.exit()
# SIM OK -> juste une coupure reseau temporaire, reconnexion auto
print('<span style="color: green;font-weight: bold;">✅ SIM card detected — temporary network signal loss, will retry next cycle</span>')
print('🛑STOP LOOP🛑')
print("<hr>")
sys.exit()
else:
#print("Signal Quality:", signal_quality)