{
  "report_type": "monthly",
  "year": 2026,
  "month": 4,
  "role": "companion",
  "days_with_data": 16,
  "summary": {
    "battery_mv": {
      "count": 23038,
      "unit": "mV",
      "mean": 4099.1421,
      "min": 4053.0,
      "min_time": "2026-04-03T00:48:30",
      "max": 4173.0,
      "max_time": "2026-04-11T14:51:30"
    },
    "bat_pct": {
      "count": 23038,
      "unit": "%",
      "mean": 92.7958,
      "min": 89.125,
      "min_time": "2026-04-03T00:48:30",
      "max": 98.0714,
      "max_time": "2026-04-11T14:51:30"
    },
    "contacts": {
      "count": 23038,
      "unit": "count",
      "mean": 3.0,
      "min": 3.0,
      "min_time": "2026-04-01T00:00:32",
      "max": 3.0,
      "max_time": "2026-04-01T00:00:32"
    },
    "uptime_secs": {
      "count": 23038,
      "unit": "s",
      "mean": 769318.7526,
      "min": 27.0,
      "min_time": "2026-04-01T10:40:32",
      "max": 4194269.0,
      "max_time": "2026-04-01T10:39:30"
    },
    "recv": {
      "count": 23038,
      "unit": "packets",
      "total": 143273
    },
    "sent": {
      "count": 23038,
      "unit": "packets",
      "total": 6176
    }
  },
  "daily": [
    {
      "date": "2026-04-01",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4100.7785,
          "min": 4076.0,
          "min_time": "2026-04-01T20:20:32",
          "max": 4127.0,
          "max_time": "2026-04-01T00:17:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 92.9127,
          "min": 91.1429,
          "min_time": "2026-04-01T20:20:32",
          "max": 94.7857,
          "max_time": "2026-04-01T00:17:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-01T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-01T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 1868930.4458,
          "min": 27.0,
          "min_time": "2026-04-01T10:40:32",
          "max": 4194269.0,
          "max_time": "2026-04-01T10:39:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 8295
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 387
        }
      }
    },
    {
      "date": "2026-04-02",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4080.1924,
          "min": 4062.0,
          "min_time": "2026-04-02T18:09:30",
          "max": 4105.0,
          "max_time": "2026-04-02T00:29:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 91.4423,
          "min": 90.1429,
          "min_time": "2026-04-02T18:09:30",
          "max": 93.2143,
          "max_time": "2026-04-02T00:29:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-02T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-02T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 91200.8271,
          "min": 48030.0,
          "min_time": "2026-04-02T00:00:32",
          "max": 134373.0,
          "max_time": "2026-04-02T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 7741
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 384
        }
      }
    },
    {
      "date": "2026-04-03",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4118.3667,
          "min": 4053.0,
          "min_time": "2026-04-03T00:48:30",
          "max": 4171.0,
          "max_time": "2026-04-03T03:07:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 94.1685,
          "min": 89.125,
          "min_time": "2026-04-03T00:48:30",
          "max": 97.9286,
          "max_time": "2026-04-03T03:07:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-03T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-03T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 177606.3333,
          "min": 134435.0,
          "min_time": "2026-04-03T00:00:32",
          "max": 220779.0,
          "max_time": "2026-04-03T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 8525
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 393
        }
      }
    },
    {
      "date": "2026-04-04",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4098.4986,
          "min": 4070.0,
          "min_time": "2026-04-04T22:58:30",
          "max": 4136.0,
          "max_time": "2026-04-04T04:18:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 92.7499,
          "min": 90.7143,
          "min_time": "2026-04-04T22:58:30",
          "max": 95.4286,
          "max_time": "2026-04-04T04:18:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-04T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-04T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 264011.9222,
          "min": 220841.0,
          "min_time": "2026-04-04T00:00:32",
          "max": 307184.0,
          "max_time": "2026-04-04T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 8609
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 384
        }
      }
    },
    {
      "date": "2026-04-05",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4079.2958,
          "min": 4053.0,
          "min_time": "2026-04-05T18:14:30",
          "max": 4101.0,
          "max_time": "2026-04-05T00:12:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 91.378,
          "min": 89.125,
          "min_time": "2026-04-05T18:14:30",
          "max": 92.9286,
          "max_time": "2026-04-05T00:12:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-05T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-05T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 350417.4701,
          "min": 307246.0,
          "min_time": "2026-04-05T00:00:32",
          "max": 393590.0,
          "max_time": "2026-04-05T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 7929
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 382
        }
      }
    },
    {
      "date": "2026-04-06",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4120.9139,
          "min": 4062.0,
          "min_time": "2026-04-06T00:13:30",
          "max": 4171.0,
          "max_time": "2026-04-06T00:34:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 94.351,
          "min": 90.1429,
          "min_time": "2026-04-06T00:13:30",
          "max": 97.9286,
          "max_time": "2026-04-06T00:34:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-06T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-06T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 436822.9799,
          "min": 393652.0,
          "min_time": "2026-04-06T00:00:32",
          "max": 479995.0,
          "max_time": "2026-04-06T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9103
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 383
        }
      }
    },
    {
      "date": "2026-04-07",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4095.0875,
          "min": 4073.0,
          "min_time": "2026-04-07T20:17:30",
          "max": 4116.0,
          "max_time": "2026-04-07T00:40:32"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 92.5063,
          "min": 90.9286,
          "min_time": "2026-04-07T20:17:30",
          "max": 94.0,
          "max_time": "2026-04-07T00:40:32"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-07T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-07T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 523228.5097,
          "min": 480057.0,
          "min_time": "2026-04-07T00:00:32",
          "max": 566401.0,
          "max_time": "2026-04-07T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9267
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 392
        }
      }
    },
    {
      "date": "2026-04-08",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4091.8306,
          "min": 4059.0,
          "min_time": "2026-04-08T13:51:30",
          "max": 4170.0,
          "max_time": "2026-04-08T18:21:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 92.2735,
          "min": 89.875,
          "min_time": "2026-04-08T13:51:30",
          "max": 97.8571,
          "max_time": "2026-04-08T18:21:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-08T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-08T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 609634.0188,
          "min": 566463.0,
          "min_time": "2026-04-08T00:00:32",
          "max": 652806.0,
          "max_time": "2026-04-08T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9743
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 394
        }
      }
    },
    {
      "date": "2026-04-09",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4114.3299,
          "min": 4088.0,
          "min_time": "2026-04-09T22:49:30",
          "max": 4148.0,
          "max_time": "2026-04-09T01:18:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 93.8807,
          "min": 92.0,
          "min_time": "2026-04-09T22:49:30",
          "max": 96.2857,
          "max_time": "2026-04-09T01:18:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-09T00:00:32",
          "max": 3.0,
          "max_time": "2026-04-09T00:00:32"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 696039.4764,
          "min": 652868.0,
          "min_time": "2026-04-09T00:00:32",
          "max": 739212.0,
          "max_time": "2026-04-09T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9378
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 386
        }
      }
    },
    {
      "date": "2026-04-10",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4090.9076,
          "min": 4064.0,
          "min_time": "2026-04-10T22:38:30",
          "max": 4116.0,
          "max_time": "2026-04-10T00:24:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 92.2077,
          "min": 90.2857,
          "min_time": "2026-04-10T22:38:30",
          "max": 94.0,
          "max_time": "2026-04-10T00:24:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-10T00:00:31",
          "max": 3.0,
          "max_time": "2026-04-10T00:00:31"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 782444.9174,
          "min": 739273.0,
          "min_time": "2026-04-10T00:00:31",
          "max": 825617.0,
          "max_time": "2026-04-10T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 8886
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 397
        }
      }
    },
    {
      "date": "2026-04-11",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4098.009,
          "min": 4059.0,
          "min_time": "2026-04-11T14:28:30",
          "max": 4173.0,
          "max_time": "2026-04-11T14:51:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 92.7149,
          "min": 89.875,
          "min_time": "2026-04-11T14:28:30",
          "max": 98.0714,
          "max_time": "2026-04-11T14:51:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-11T00:00:31",
          "max": 3.0,
          "max_time": "2026-04-11T00:00:31"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 868850.4174,
          "min": 825679.0,
          "min_time": "2026-04-11T00:00:31",
          "max": 912023.0,
          "max_time": "2026-04-11T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9466
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 386
        }
      }
    },
    {
      "date": "2026-04-12",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4110.6722,
          "min": 4083.0,
          "min_time": "2026-04-12T23:57:30",
          "max": 4136.0,
          "max_time": "2026-04-12T00:03:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 93.6194,
          "min": 91.6429,
          "min_time": "2026-04-12T23:57:30",
          "max": 95.4286,
          "max_time": "2026-04-12T00:03:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-12T00:00:31",
          "max": 3.0,
          "max_time": "2026-04-12T00:00:31"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 955255.9257,
          "min": 912084.0,
          "min_time": "2026-04-12T00:00:31",
          "max": 998428.0,
          "max_time": "2026-04-12T23:59:30"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9368
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 380
        }
      }
    },
    {
      "date": "2026-04-13",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4087.7458,
          "min": 4064.0,
          "min_time": "2026-04-13T21:59:50",
          "max": 4111.0,
          "max_time": "2026-04-13T01:37:30"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 91.9818,
          "min": 90.2857,
          "min_time": "2026-04-13T21:59:50",
          "max": 93.6429,
          "max_time": "2026-04-13T01:37:30"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-13T00:00:31",
          "max": 3.0,
          "max_time": "2026-04-13T00:00:31"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 1041672.1549,
          "min": 998490.0,
          "min_time": "2026-04-13T00:00:31",
          "max": 1084854.0,
          "max_time": "2026-04-13T23:59:50"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 10078
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 388
        }
      }
    },
    {
      "date": "2026-04-14",
      "snapshot_count": 1438,
      "metrics": {
        "battery_mv": {
          "count": 1438,
          "unit": "mV",
          "mean": 4112.4771,
          "min": 4062.0,
          "min_time": "2026-04-14T06:30:50",
          "max": 4170.0,
          "max_time": "2026-04-14T06:38:50"
        },
        "bat_pct": {
          "count": 1438,
          "unit": "%",
          "mean": 93.7484,
          "min": 90.1429,
          "min_time": "2026-04-14T06:30:50",
          "max": 97.8571,
          "max_time": "2026-04-14T06:38:50"
        },
        "contacts": {
          "count": 1438,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-14T00:00:50",
          "max": 3.0,
          "max_time": "2026-04-14T00:00:50"
        },
        "uptime_secs": {
          "count": 1438,
          "unit": "s",
          "mean": 1128094.5292,
          "min": 1084914.0,
          "min_time": "2026-04-14T00:00:50",
          "max": 1171258.0,
          "max_time": "2026-04-14T23:59:49"
        },
        "recv": {
          "count": 1438,
          "unit": "packets",
          "total": 9692
        },
        "sent": {
          "count": 1438,
          "unit": "packets",
          "total": 374
        }
      }
    },
    {
      "date": "2026-04-15",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4102.5542,
          "min": 4075.0,
          "min_time": "2026-04-15T19:09:49",
          "max": 4127.0,
          "max_time": "2026-04-15T01:35:49"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 93.0396,
          "min": 91.0714,
          "min_time": "2026-04-15T19:09:49",
          "max": 94.7857,
          "max_time": "2026-04-15T01:35:49"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-15T00:00:49",
          "max": 3.0,
          "max_time": "2026-04-15T00:00:49"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 1214491.4646,
          "min": 1171318.0,
          "min_time": "2026-04-15T00:00:49",
          "max": 1257664.0,
          "max_time": "2026-04-15T23:59:49"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 9097
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 383
        }
      }
    },
    {
      "date": "2026-04-16",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4084.6319,
          "min": 4059.0,
          "min_time": "2026-04-16T19:54:49",
          "max": 4167.0,
          "max_time": "2026-04-16T22:31:49"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 91.7594,
          "min": 89.875,
          "min_time": "2026-04-16T19:54:49",
          "max": 97.6429,
          "max_time": "2026-04-16T22:31:49"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 3.0,
          "min": 3.0,
          "min_time": "2026-04-16T00:00:49",
          "max": 3.0,
          "max_time": "2026-04-16T00:00:49"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 1300896.9493,
          "min": 1257724.0,
          "min_time": "2026-04-16T00:00:49",
          "max": 1344069.0,
          "max_time": "2026-04-16T23:59:49"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 8096
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 383
        }
      }
    }
  ]
}