{
  "report_type": "monthly",
  "year": 2026,
  "month": 6,
  "role": "repeater",
  "days_with_data": 4,
  "summary": {
    "bat": {
      "count": 170,
      "unit": "mV",
      "mean": 4172.0235,
      "min": 4152.0,
      "min_time": "2026-06-01T14:46:01",
      "max": 4205.0,
      "max_time": "2026-06-01T20:46:01"
    },
    "bat_pct": {
      "count": 170,
      "unit": "%",
      "mean": 97.9996,
      "min": 96.5714,
      "min_time": "2026-06-01T14:46:01",
      "max": 100.0,
      "max_time": "2026-06-01T20:46:01"
    },
    "last_rssi": {
      "count": 170,
      "unit": "dBm",
      "mean": -56.9412,
      "min": -65.0,
      "min_time": "2026-06-04T18:01:01",
      "max": -51.0,
      "max_time": "2026-06-01T18:31:01"
    },
    "last_snr": {
      "count": 170,
      "unit": "dB",
      "mean": 12.0074,
      "min": 9.0,
      "min_time": "2026-06-04T18:01:01",
      "max": 13.25,
      "max_time": "2026-06-03T21:31:01"
    },
    "uptime": {
      "count": 170,
      "unit": "s",
      "mean": 3657825.4412,
      "min": 3485213.0,
      "min_time": "2026-06-01T00:31:18",
      "max": 3827205.0,
      "max_time": "2026-06-04T23:31:01"
    },
    "noise_floor": {
      "count": 170,
      "unit": "dBm",
      "mean": -113.0529,
      "min": -118.0,
      "min_time": "2026-06-01T03:01:04",
      "max": -103.0,
      "max_time": "2026-06-03T00:16:01"
    },
    "tx_queue_len": {
      "count": 170,
      "unit": "count",
      "mean": 0.1412,
      "min": 0.0,
      "min_time": "2026-06-01T02:16:04",
      "max": 1.0,
      "max_time": "2026-06-01T00:31:18"
    },
    "nb_recv": {
      "count": 170,
      "unit": "packets",
      "total": 9344
    },
    "nb_sent": {
      "count": 170,
      "unit": "packets",
      "total": 2629
    },
    "airtime": {
      "count": 170,
      "unit": "s",
      "total": 700
    },
    "rx_airtime": {
      "count": 170,
      "unit": "s",
      "total": 2051
    },
    "flood_dups": {
      "count": 170,
      "unit": "packets",
      "total": 3820
    },
    "direct_dups": {
      "count": 170,
      "unit": "packets",
      "total": 176
    },
    "sent_flood": {
      "count": 170,
      "unit": "packets",
      "total": 1641
    },
    "recv_flood": {
      "count": 170,
      "unit": "packets",
      "total": 5220
    },
    "sent_direct": {
      "count": 170,
      "unit": "packets",
      "total": 988
    },
    "recv_direct": {
      "count": 170,
      "unit": "packets",
      "total": 4123
    }
  },
  "daily": [
    {
      "date": "2026-06-01",
      "snapshot_count": 40,
      "metrics": {
        "bat": {
          "count": 40,
          "unit": "mV",
          "mean": 4171.85,
          "min": 4152.0,
          "min_time": "2026-06-01T14:46:01",
          "max": 4205.0,
          "max_time": "2026-06-01T20:46:01"
        },
        "bat_pct": {
          "count": 40,
          "unit": "%",
          "mean": 97.9804,
          "min": 96.5714,
          "min_time": "2026-06-01T14:46:01",
          "max": 100.0,
          "max_time": "2026-06-01T20:46:01"
        },
        "last_rssi": {
          "count": 40,
          "unit": "dBm",
          "mean": -55.8,
          "min": -61.0,
          "min_time": "2026-06-01T12:16:01",
          "max": -51.0,
          "max_time": "2026-06-01T18:31:01"
        },
        "last_snr": {
          "count": 40,
          "unit": "dB",
          "mean": 12.0437,
          "min": 11.0,
          "min_time": "2026-06-01T15:46:01",
          "max": 13.0,
          "max_time": "2026-06-01T03:16:04"
        },
        "uptime": {
          "count": 40,
          "unit": "s",
          "mean": 3520327.55,
          "min": 3485213.0,
          "min_time": "2026-06-01T00:31:18",
          "max": 3560809.0,
          "max_time": "2026-06-01T21:31:01"
        },
        "noise_floor": {
          "count": 40,
          "unit": "dBm",
          "mean": -113.65,
          "min": -118.0,
          "min_time": "2026-06-01T03:01:04",
          "max": -111.0,
          "max_time": "2026-06-01T01:46:04"
        },
        "tx_queue_len": {
          "count": 40,
          "unit": "count",
          "mean": 0.35,
          "min": 0.0,
          "min_time": "2026-06-01T02:16:04",
          "max": 1.0,
          "max_time": "2026-06-01T00:31:18"
        },
        "nb_recv": {
          "count": 40,
          "unit": "packets",
          "total": 1981
        },
        "nb_sent": {
          "count": 40,
          "unit": "packets",
          "total": 572
        },
        "airtime": {
          "count": 40,
          "unit": "s",
          "total": 148
        },
        "rx_airtime": {
          "count": 40,
          "unit": "s",
          "total": 423
        },
        "flood_dups": {
          "count": 40,
          "unit": "packets",
          "total": 847
        },
        "direct_dups": {
          "count": 40,
          "unit": "packets",
          "total": 14
        },
        "sent_flood": {
          "count": 40,
          "unit": "packets",
          "total": 394
        },
        "recv_flood": {
          "count": 40,
          "unit": "packets",
          "total": 1184
        },
        "sent_direct": {
          "count": 40,
          "unit": "packets",
          "total": 178
        },
        "recv_direct": {
          "count": 40,
          "unit": "packets",
          "total": 797
        }
      }
    },
    {
      "date": "2026-06-02",
      "snapshot_count": 54,
      "metrics": {
        "bat": {
          "count": 54,
          "unit": "mV",
          "mean": 4174.1111,
          "min": 4155.0,
          "min_time": "2026-06-02T04:01:01",
          "max": 4200.0,
          "max_time": "2026-06-02T00:46:06"
        },
        "bat_pct": {
          "count": 54,
          "unit": "%",
          "mean": 98.1508,
          "min": 96.7857,
          "min_time": "2026-06-02T04:01:01",
          "max": 100.0,
          "max_time": "2026-06-02T00:46:06"
        },
        "last_rssi": {
          "count": 54,
          "unit": "dBm",
          "mean": -55.3889,
          "min": -63.0,
          "min_time": "2026-06-02T23:16:01",
          "max": -51.0,
          "max_time": "2026-06-02T22:16:01"
        },
        "last_snr": {
          "count": 54,
          "unit": "dB",
          "mean": 12.1204,
          "min": 11.0,
          "min_time": "2026-06-02T10:31:01",
          "max": 13.0,
          "max_time": "2026-06-02T15:01:01"
        },
        "uptime": {
          "count": 54,
          "unit": "s",
          "mean": 3608473.6852,
          "min": 3570694.0,
          "min_time": "2026-06-02T00:16:01",
          "max": 3654407.0,
          "max_time": "2026-06-02T23:31:01"
        },
        "noise_floor": {
          "count": 54,
          "unit": "dBm",
          "mean": -112.8519,
          "min": -116.0,
          "min_time": "2026-06-02T00:46:06",
          "max": -110.0,
          "max_time": "2026-06-02T15:01:01"
        },
        "tx_queue_len": {
          "count": 54,
          "unit": "count",
          "mean": 0.0556,
          "min": 0.0,
          "min_time": "2026-06-02T00:31:01",
          "max": 1.0,
          "max_time": "2026-06-02T00:16:01"
        },
        "nb_recv": {
          "count": 54,
          "unit": "packets",
          "total": 2045
        },
        "nb_sent": {
          "count": 54,
          "unit": "packets",
          "total": 600
        },
        "airtime": {
          "count": 54,
          "unit": "s",
          "total": 157
        },
        "rx_airtime": {
          "count": 54,
          "unit": "s",
          "total": 442
        },
        "flood_dups": {
          "count": 54,
          "unit": "packets",
          "total": 805
        },
        "direct_dups": {
          "count": 54,
          "unit": "packets",
          "total": 25
        },
        "sent_flood": {
          "count": 54,
          "unit": "packets",
          "total": 351
        },
        "recv_flood": {
          "count": 54,
          "unit": "packets",
          "total": 1077
        },
        "sent_direct": {
          "count": 54,
          "unit": "packets",
          "total": 249
        },
        "recv_direct": {
          "count": 54,
          "unit": "packets",
          "total": 968
        }
      }
    },
    {
      "date": "2026-06-03",
      "snapshot_count": 23,
      "metrics": {
        "bat": {
          "count": 23,
          "unit": "mV",
          "mean": 4168.1304,
          "min": 4157.0,
          "min_time": "2026-06-03T00:16:01",
          "max": 4190.0,
          "max_time": "2026-06-03T18:46:02"
        },
        "bat_pct": {
          "count": 23,
          "unit": "%",
          "mean": 97.7236,
          "min": 96.9286,
          "min_time": "2026-06-03T00:16:01",
          "max": 99.2857,
          "max_time": "2026-06-03T18:46:02"
        },
        "last_rssi": {
          "count": 23,
          "unit": "dBm",
          "mean": -57.1739,
          "min": -64.0,
          "min_time": "2026-06-03T00:31:01",
          "max": -54.0,
          "max_time": "2026-06-03T20:46:01"
        },
        "last_snr": {
          "count": 23,
          "unit": "dB",
          "mean": 12.0652,
          "min": 11.0,
          "min_time": "2026-06-03T22:31:01",
          "max": 13.25,
          "max_time": "2026-06-03T21:31:01"
        },
        "uptime": {
          "count": 23,
          "unit": "s",
          "mean": 3717522.4783,
          "min": 3657093.0,
          "min_time": "2026-06-03T00:16:01",
          "max": 3741707.0,
          "max_time": "2026-06-03T23:46:03"
        },
        "noise_floor": {
          "count": 23,
          "unit": "dBm",
          "mean": -112.2609,
          "min": -117.0,
          "min_time": "2026-06-03T16:46:03",
          "max": -103.0,
          "max_time": "2026-06-03T00:16:01"
        },
        "tx_queue_len": {
          "count": 23,
          "unit": "count",
          "mean": 0.087,
          "min": 0.0,
          "min_time": "2026-06-03T00:31:01",
          "max": 1.0,
          "max_time": "2026-06-03T00:16:01"
        },
        "nb_recv": {
          "count": 23,
          "unit": "packets",
          "total": 2340
        },
        "nb_sent": {
          "count": 23,
          "unit": "packets",
          "total": 610
        },
        "airtime": {
          "count": 23,
          "unit": "s",
          "total": 167
        },
        "rx_airtime": {
          "count": 23,
          "unit": "s",
          "total": 543
        },
        "flood_dups": {
          "count": 23,
          "unit": "packets",
          "total": 1110
        },
        "direct_dups": {
          "count": 23,
          "unit": "packets",
          "total": 17
        },
        "sent_flood": {
          "count": 23,
          "unit": "packets",
          "total": 468
        },
        "recv_flood": {
          "count": 23,
          "unit": "packets",
          "total": 1555
        },
        "sent_direct": {
          "count": 23,
          "unit": "packets",
          "total": 142
        },
        "recv_direct": {
          "count": 23,
          "unit": "packets",
          "total": 785
        }
      }
    },
    {
      "date": "2026-06-04",
      "snapshot_count": 53,
      "metrics": {
        "bat": {
          "count": 53,
          "unit": "mV",
          "mean": 4171.717,
          "min": 4155.0,
          "min_time": "2026-06-04T22:46:01",
          "max": 4193.0,
          "max_time": "2026-06-04T18:01:01"
        },
        "bat_pct": {
          "count": 53,
          "unit": "%",
          "mean": 97.9798,
          "min": 96.7857,
          "min_time": "2026-06-04T22:46:01",
          "max": 99.5,
          "max_time": "2026-06-04T18:01:01"
        },
        "last_rssi": {
          "count": 53,
          "unit": "dBm",
          "mean": -59.283,
          "min": -65.0,
          "min_time": "2026-06-04T18:01:01",
          "max": -52.0,
          "max_time": "2026-06-04T11:01:01"
        },
        "last_snr": {
          "count": 53,
          "unit": "dB",
          "mean": 11.8396,
          "min": 9.0,
          "min_time": "2026-06-04T18:01:01",
          "max": 13.0,
          "max_time": "2026-06-04T04:01:02"
        },
        "uptime": {
          "count": 53,
          "unit": "s",
          "mean": 3785974.0943,
          "min": 3743492.0,
          "min_time": "2026-06-04T00:16:02",
          "max": 3827205.0,
          "max_time": "2026-06-04T23:31:01"
        },
        "noise_floor": {
          "count": 53,
          "unit": "dBm",
          "mean": -113.1509,
          "min": -115.0,
          "min_time": "2026-06-04T00:31:02",
          "max": -109.0,
          "max_time": "2026-06-04T12:16:01"
        },
        "tx_queue_len": {
          "count": 53,
          "unit": "count",
          "mean": 0.0943,
          "min": 0.0,
          "min_time": "2026-06-04T00:46:02",
          "max": 1.0,
          "max_time": "2026-06-04T00:16:02"
        },
        "nb_recv": {
          "count": 53,
          "unit": "packets",
          "total": 2978
        },
        "nb_sent": {
          "count": 53,
          "unit": "packets",
          "total": 847
        },
        "airtime": {
          "count": 53,
          "unit": "s",
          "total": 228
        },
        "rx_airtime": {
          "count": 53,
          "unit": "s",
          "total": 643
        },
        "flood_dups": {
          "count": 53,
          "unit": "packets",
          "total": 1058
        },
        "direct_dups": {
          "count": 53,
          "unit": "packets",
          "total": 120
        },
        "sent_flood": {
          "count": 53,
          "unit": "packets",
          "total": 428
        },
        "recv_flood": {
          "count": 53,
          "unit": "packets",
          "total": 1404
        },
        "sent_direct": {
          "count": 53,
          "unit": "packets",
          "total": 419
        },
        "recv_direct": {
          "count": 53,
          "unit": "packets",
          "total": 1573
        }
      }
    }
  ]
}