Config Builder – Stazione Meteo

Nessun preset applicato. I valori attuali sono quelli salvati lato server.

Cadenzari

Quiet hours (no upload)

Abilita quiet hours ?
Blocca anche OTA in quiet ?
Hard-off modem in quiet ?

Limiti & code

OTA scheduled at time (alternativa all'intervallo): se attivo, il check OTA parte solo all'ora locale specificata, una volta al giorno.

Flags

BME abilitato ?
BME anche su wake da tip ?
Gas / qualità aria (BME680) ?
Abilita check OTA ?
Forza upload al prossimo wake ?

Comandi remoti one-shot

Spunta il comando e salva — la conf_version si bumpa in automatico. Il device esegue il comando al prossimo wake. Ricordati di disattivarlo nel save successivo.

Reset counter diagnostici ?
Force OTA check immediato ?
Dump log su server ?
Dump code dati locali ?

Logging persistente

Protezione batteria

Sotto vbat_low_mv: skip OTA + sleep esteso a 1h (se non piove). Sotto vbat_critical_mv: emergency mode (sleep 6h, niente sensori). Default 3300/3100 mV per LiPo 1S — sotto 3.0V la batteria si danneggia.

Modem / HTTP / TLS (avanzati)

Verifica certificato TLS server ?

GPS / GNSS

Fix GPS al primo avvio ?
Ricalcola quota (one-shot) ?
⚠️ Lost Mode (anti-furto)
Quando attiva, il device prende un fix GPS ad ogni report e lo spedisce al server. Consuma ~10× più batteria del normale. Si auto-spegne dopo la durata massima impostata se il device va offline.
Attiva Lost Mode ?

NTP & offsets

Reed & pioggia

Ricarica Download JSON
Anteprima JSON File: /config/ESP32-HOME-1.json
{
    "conf_version": 47,
    "device": "ESP32-HOME-1",
    "sampling": {
        "bme_enable": true,
        "bme_on_gpio": false,
        "bme_every_sec": 300,
        "bme_gas_enable": false,
        "bme_gas_heater_temp_c": 320,
        "bme_gas_heater_ms": 150
    },
    "upload": {
        "batch_every_sec": 600,
        "rain_flush_max_sec": 300,
        "heartbeat_every_sec": 80000,
        "quiet": {
            "enable": true,
            "start_h": 1,
            "end_h": 6,
            "block_ota": true,
            "modem_hardoff": true
        }
    },
    "limits": {
        "min_sleep_sec": 60,
        "max_queue_lines": 3000,
        "max_batch_lines": 500
    },
    "flags": {
        "enable_ota_check": true,
        "force_upload_now": false,
        "reset_diag_counters": false,
        "force_ota_now": false,
        "dump_log_now": false,
        "dump_queue_now": false
    },
    "logging": {
        "level": 1,
        "max_bytes": 30720
    },
    "battery": {
        "vbat_low_mv": 3300,
        "vbat_critical_mv": 3100
    },
    "modem": {
        "http_timeout_ms": 20000,
        "http_idle_timeout_ms": 10000,
        "register_ms": 120000,
        "tls_ssl_version": 3,
        "tls_verify_cert": false,
        "ota_idle_timeout_ms": 60000,
        "ota_chunk_bytes": 1400
    },
    "gps": {
        "enable_fix_at_boot": false,
        "recompute_altitude": false,
        "lost_mode": false,
        "lost_report_sec": 300,
        "lost_duration_min": 120,
        "fix_timeout_sec": 60
    },
    "net": {
        "ntp_server": "pool.ntp.org",
        "ntp_gmt_offset": 3600,
        "ntp_dst_offset": 3600,
        "ota_check_every_sec": 3600,
        "ota_check_at_hour": -1,
        "ota_check_at_minute": 0
    },
    "reed": {
        "debounce_ms": 300,
        "debounce_isr_ms": 120
    },
    "rain": {
        "recent_window_sec": 600
    },
    "stay_awake": {
        "base_ms": 15000,
        "max_ms": 30000
    },
    "valid_from": 0,
    "etag": "84dfcc46842fdc469874b72fbcb72b99f851727f"
}