{
  "report_type": "monthly",
  "year": 2026,
  "month": 1,
  "role": "companion",
  "days_with_data": 14,
  "summary": {
    "battery_mv": {
      "count": 16454,
      "unit": "mV",
      "mean": 4302.6115,
      "min": 2620.0,
      "min_time": "2026-01-10T07:58:52",
      "max": 4681.0,
      "max_time": "2026-01-27T10:08:14"
    },
    "bat_pct": {
      "count": 16454,
      "unit": "%",
      "mean": 97.2131,
      "min": 0.0,
      "min_time": "2026-01-10T04:51:52",
      "max": 100.0,
      "max_time": "2026-01-08T16:32:21"
    },
    "contacts": {
      "count": 16439,
      "unit": "count",
      "mean": 4.4682,
      "min": 2.0,
      "min_time": "2026-01-08T16:17:06",
      "max": 5.0,
      "max_time": "2026-01-22T12:20:00"
    },
    "uptime_secs": {
      "count": 16454,
      "unit": "s",
      "mean": 345995.9298,
      "min": 2.0,
      "min_time": "2026-01-10T13:49:52",
      "max": 815511.0,
      "max_time": "2026-01-31T23:59:21"
    },
    "recv": {
      "count": 16471,
      "unit": "packets",
      "total": 5894,
      "reboot_count": 4
    },
    "sent": {
      "count": 16471,
      "unit": "packets",
      "total": 2231,
      "reboot_count": 4
    }
  },
  "daily": [
    {
      "date": "2026-01-08",
      "snapshot_count": 459,
      "metrics": {
        "battery_mv": {
          "count": 459,
          "unit": "mV",
          "mean": 4206.6057,
          "min": 4104.0,
          "min_time": "2026-01-08T16:25:19",
          "max": 4244.0,
          "max_time": "2026-01-08T16:39:19"
        },
        "bat_pct": {
          "count": 459,
          "unit": "%",
          "mean": 99.8347,
          "min": 93.1429,
          "min_time": "2026-01-08T16:25:19",
          "max": 100.0,
          "max_time": "2026-01-08T16:32:21"
        },
        "contacts": {
          "count": 459,
          "unit": "count",
          "mean": 2.0,
          "min": 2.0,
          "min_time": "2026-01-08T16:17:06",
          "max": 2.0,
          "max_time": "2026-01-08T16:17:06"
        },
        "uptime_secs": {
          "count": 459,
          "unit": "s",
          "mean": 14000.4183,
          "min": 8.0,
          "min_time": "2026-01-08T16:17:06",
          "max": 27742.0,
          "max_time": "2026-01-08T23:59:19"
        },
        "recv": {
          "count": 459,
          "unit": "packets",
          "total": 73
        },
        "sent": {
          "count": 459,
          "unit": "packets",
          "total": 62
        }
      }
    },
    {
      "date": "2026-01-09",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4077.9604,
          "min": 3790.0,
          "min_time": "2026-01-09T23:53:19",
          "max": 4209.0,
          "max_time": "2026-01-09T00:00:20"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 87.512,
          "min": 40.0,
          "min_time": "2026-01-09T23:53:19",
          "max": 100.0,
          "max_time": "2026-01-09T00:00:20"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 2.0,
          "min": 2.0,
          "min_time": "2026-01-09T00:00:20",
          "max": 2.0,
          "max_time": "2026-01-09T00:00:20"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 70971.5236,
          "min": 27802.0,
          "min_time": "2026-01-09T00:00:20",
          "max": 114141.0,
          "max_time": "2026-01-09T23:59:19"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 224
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 195
        }
      }
    },
    {
      "date": "2026-01-10",
      "snapshot_count": 496,
      "metrics": {
        "battery_mv": {
          "count": 496,
          "unit": "mV",
          "mean": 3904.8347,
          "min": 2620.0,
          "min_time": "2026-01-10T07:58:52",
          "max": 4541.0,
          "max_time": "2026-01-10T23:08:21"
        },
        "bat_pct": {
          "count": 496,
          "unit": "%",
          "mean": 54.8702,
          "min": 0.0,
          "min_time": "2026-01-10T04:51:52",
          "max": 100.0,
          "max_time": "2026-01-10T13:49:52"
        },
        "contacts": {
          "count": 496,
          "unit": "count",
          "mean": 2.0,
          "min": 2.0,
          "min_time": "2026-01-10T00:00:23",
          "max": 2.0,
          "max_time": "2026-01-10T00:00:23"
        },
        "uptime_secs": {
          "count": 496,
          "unit": "s",
          "mean": 73525.256,
          "min": 2.0,
          "min_time": "2026-01-10T13:49:52",
          "max": 131754.0,
          "max_time": "2026-01-10T04:52:52"
        },
        "recv": {
          "count": 496,
          "unit": "packets",
          "total": 70,
          "reboot_count": 3
        },
        "sent": {
          "count": 496,
          "unit": "packets",
          "total": 70,
          "reboot_count": 3
        }
      }
    },
    {
      "date": "2026-01-11",
      "snapshot_count": 519,
      "metrics": {
        "battery_mv": {
          "count": 519,
          "unit": "mV",
          "mean": 4333.7457,
          "min": 4104.0,
          "min_time": "2026-01-11T01:14:24",
          "max": 4541.0,
          "max_time": "2026-01-11T04:12:24"
        },
        "bat_pct": {
          "count": 519,
          "unit": "%",
          "mean": 99.5771,
          "min": 93.1429,
          "min_time": "2026-01-11T01:14:24",
          "max": 100.0,
          "max_time": "2026-01-11T00:01:49"
        },
        "contacts": {
          "count": 519,
          "unit": "count",
          "mean": 2.0,
          "min": 2.0,
          "min_time": "2026-01-11T00:00:26",
          "max": 2.0,
          "max_time": "2026-01-11T00:00:26"
        },
        "uptime_secs": {
          "count": 519,
          "unit": "s",
          "mean": 20853.5954,
          "min": 5315.0,
          "min_time": "2026-01-11T00:00:26",
          "max": 36393.0,
          "max_time": "2026-01-11T08:38:24"
        },
        "recv": {
          "count": 519,
          "unit": "packets",
          "total": 109
        },
        "sent": {
          "count": 519,
          "unit": "packets",
          "total": 92
        }
      }
    },
    {
      "date": "2026-01-22",
      "snapshot_count": 608,
      "metrics": {
        "battery_mv": {
          "count": 590,
          "unit": "mV",
          "mean": 4278.0576,
          "min": 3947.0,
          "min_time": "2026-01-22T20:40:30",
          "max": 4558.0,
          "max_time": "2026-01-22T14:02:30"
        },
        "bat_pct": {
          "count": 590,
          "unit": "%",
          "mean": 97.8486,
          "min": 74.5,
          "min_time": "2026-01-22T20:40:30",
          "max": 100.0,
          "max_time": "2026-01-22T13:33:30"
        },
        "contacts": {
          "count": 575,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-22T12:20:00",
          "max": 5.0,
          "max_time": "2026-01-22T12:20:00"
        },
        "uptime_secs": {
          "count": 590,
          "unit": "s",
          "mean": 16205.7661,
          "min": 51.0,
          "min_time": "2026-01-22T12:20:00",
          "max": 37923.0,
          "max_time": "2026-01-22T23:59:30"
        },
        "recv": {
          "count": 607,
          "unit": "packets",
          "total": 96,
          "reboot_count": 1
        },
        "sent": {
          "count": 607,
          "unit": "packets",
          "total": 79,
          "reboot_count": 1
        }
      }
    },
    {
      "date": "2026-01-23",
      "snapshot_count": 1439,
      "metrics": {
        "battery_mv": {
          "count": 1439,
          "unit": "mV",
          "mean": 4353.5761,
          "min": 3947.0,
          "min_time": "2026-01-23T00:29:36",
          "max": 4628.0,
          "max_time": "2026-01-23T09:12:40"
        },
        "bat_pct": {
          "count": 1439,
          "unit": "%",
          "mean": 99.7227,
          "min": 74.5,
          "min_time": "2026-01-23T00:29:36",
          "max": 100.0,
          "max_time": "2026-01-23T00:00:30"
        },
        "contacts": {
          "count": 1438,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-23T00:00:30",
          "max": 5.0,
          "max_time": "2026-01-23T00:00:30"
        },
        "uptime_secs": {
          "count": 1439,
          "unit": "s",
          "mean": 81190.8798,
          "min": 37982.0,
          "min_time": "2026-01-23T00:00:30",
          "max": 124332.0,
          "max_time": "2026-01-23T23:59:40"
        },
        "recv": {
          "count": 1439,
          "unit": "packets",
          "total": 862
        },
        "sent": {
          "count": 1439,
          "unit": "packets",
          "total": 192
        }
      }
    },
    {
      "date": "2026-01-24",
      "snapshot_count": 1437,
      "metrics": {
        "battery_mv": {
          "count": 1437,
          "unit": "mV",
          "mean": 4349.3521,
          "min": 4104.0,
          "min_time": "2026-01-24T17:02:55",
          "max": 4646.0,
          "max_time": "2026-01-24T17:56:56"
        },
        "bat_pct": {
          "count": 1437,
          "unit": "%",
          "mean": 99.7713,
          "min": 93.1429,
          "min_time": "2026-01-24T17:02:55",
          "max": 100.0,
          "max_time": "2026-01-24T00:00:45"
        },
        "contacts": {
          "count": 1437,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-24T00:00:45",
          "max": 5.0,
          "max_time": "2026-01-24T00:00:45"
        },
        "uptime_secs": {
          "count": 1437,
          "unit": "s",
          "mean": 167605.1441,
          "min": 124397.0,
          "min_time": "2026-01-24T00:00:45",
          "max": 210687.0,
          "max_time": "2026-01-24T23:58:55"
        },
        "recv": {
          "count": 1437,
          "unit": "packets",
          "total": 1026
        },
        "sent": {
          "count": 1437,
          "unit": "packets",
          "total": 192
        }
      }
    },
    {
      "date": "2026-01-25",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4352.0347,
          "min": 4104.0,
          "min_time": "2026-01-25T04:48:20",
          "max": 4593.0,
          "max_time": "2026-01-25T22:15:20"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 99.7805,
          "min": 93.1429,
          "min_time": "2026-01-25T04:48:20",
          "max": 100.0,
          "max_time": "2026-01-25T00:00:10"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-25T00:00:10",
          "max": 5.0,
          "max_time": "2026-01-25T00:00:10"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 253941.8799,
          "min": 210761.0,
          "min_time": "2026-01-25T00:00:10",
          "max": 297112.0,
          "max_time": "2026-01-25T23:59:20"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 1230
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 190
        }
      }
    },
    {
      "date": "2026-01-26",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4343.8368,
          "min": 3964.0,
          "min_time": "2026-01-26T00:33:42",
          "max": 4628.0,
          "max_time": "2026-01-26T19:21:42"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 99.6488,
          "min": 77.3333,
          "min_time": "2026-01-26T00:33:42",
          "max": 100.0,
          "max_time": "2026-01-26T00:00:20"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-26T00:00:20",
          "max": 5.0,
          "max_time": "2026-01-26T00:00:20"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 340363.1299,
          "min": 297171.0,
          "min_time": "2026-01-26T00:00:20",
          "max": 383534.0,
          "max_time": "2026-01-26T23:59:42"
        },
        "recv": {
          "count": 1439,
          "unit": "packets",
          "total": 814
        },
        "sent": {
          "count": 1439,
          "unit": "packets",
          "total": 190
        }
      }
    },
    {
      "date": "2026-01-27",
      "snapshot_count": 1437,
      "metrics": {
        "battery_mv": {
          "count": 1435,
          "unit": "mV",
          "mean": 4343.515,
          "min": 3999.0,
          "min_time": "2026-01-27T17:47:12",
          "max": 4681.0,
          "max_time": "2026-01-27T10:08:14"
        },
        "bat_pct": {
          "count": 1435,
          "unit": "%",
          "mean": 99.6613,
          "min": 82.375,
          "min_time": "2026-01-27T17:47:12",
          "max": 100.0,
          "max_time": "2026-01-27T00:00:57"
        },
        "contacts": {
          "count": 1437,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-27T00:00:57",
          "max": 5.0,
          "max_time": "2026-01-27T00:00:57"
        },
        "uptime_secs": {
          "count": 1435,
          "unit": "s",
          "mean": 426836.4906,
          "min": 383609.0,
          "min_time": "2026-01-27T00:00:57",
          "max": 469903.0,
          "max_time": "2026-01-27T23:59:12"
        },
        "recv": {
          "count": 1436,
          "unit": "packets",
          "total": 427
        },
        "sent": {
          "count": 1436,
          "unit": "packets",
          "total": 192
        }
      }
    },
    {
      "date": "2026-01-28",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4352.375,
          "min": 4069.0,
          "min_time": "2026-01-28T23:02:19",
          "max": 4576.0,
          "max_time": "2026-01-28T04:26:19"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 99.7363,
          "min": 90.6429,
          "min_time": "2026-01-28T23:02:19",
          "max": 100.0,
          "max_time": "2026-01-28T00:00:23"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-28T00:00:23",
          "max": 5.0,
          "max_time": "2026-01-28T00:00:23"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 513140.4056,
          "min": 469974.0,
          "min_time": "2026-01-28T00:00:23",
          "max": 556310.0,
          "max_time": "2026-01-28T23:59:19"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 293
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 193
        }
      }
    },
    {
      "date": "2026-01-29",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4343.5549,
          "min": 4069.0,
          "min_time": "2026-01-29T17:09:32",
          "max": 4663.0,
          "max_time": "2026-01-29T22:18:33"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 99.6992,
          "min": 90.6429,
          "min_time": "2026-01-29T17:09:32",
          "max": 100.0,
          "max_time": "2026-01-29T00:00:19"
        },
        "contacts": {
          "count": 1440,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-29T00:00:19",
          "max": 5.0,
          "max_time": "2026-01-29T00:00:19"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 599552.9236,
          "min": 556370.0,
          "min_time": "2026-01-29T00:00:19",
          "max": 642723.0,
          "max_time": "2026-01-29T23:59:32"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 221
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 192
        }
      }
    },
    {
      "date": "2026-01-30",
      "snapshot_count": 1439,
      "metrics": {
        "battery_mv": {
          "count": 1439,
          "unit": "mV",
          "mean": 4338.9896,
          "min": 3964.0,
          "min_time": "2026-01-30T00:42:09",
          "max": 4628.0,
          "max_time": "2026-01-30T21:43:11"
        },
        "bat_pct": {
          "count": 1439,
          "unit": "%",
          "mean": 99.6411,
          "min": 77.3333,
          "min_time": "2026-01-30T00:42:09",
          "max": 100.0,
          "max_time": "2026-01-30T00:00:54"
        },
        "contacts": {
          "count": 1439,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-30T00:00:54",
          "max": 5.0,
          "max_time": "2026-01-30T00:00:54"
        },
        "uptime_secs": {
          "count": 1439,
          "unit": "s",
          "mean": 685960.9472,
          "min": 642805.0,
          "min_time": "2026-01-30T00:00:54",
          "max": 729102.0,
          "max_time": "2026-01-30T23:59:11"
        },
        "recv": {
          "count": 1439,
          "unit": "packets",
          "total": 215
        },
        "sent": {
          "count": 1439,
          "unit": "packets",
          "total": 184
        }
      }
    },
    {
      "date": "2026-01-31",
      "snapshot_count": 1440,
      "metrics": {
        "battery_mv": {
          "count": 1440,
          "unit": "mV",
          "mean": 4337.6736,
          "min": 3982.0,
          "min_time": "2026-01-31T22:23:21",
          "max": 4646.0,
          "max_time": "2026-01-31T03:34:21"
        },
        "bat_pct": {
          "count": 1440,
          "unit": "%",
          "mean": 99.6118,
          "min": 80.25,
          "min_time": "2026-01-31T22:23:21",
          "max": 100.0,
          "max_time": "2026-01-31T00:01:11"
        },
        "contacts": {
          "count": 1439,
          "unit": "count",
          "mean": 5.0,
          "min": 5.0,
          "min_time": "2026-01-31T00:00:12",
          "max": 5.0,
          "max_time": "2026-01-31T00:00:12"
        },
        "uptime_secs": {
          "count": 1440,
          "unit": "s",
          "mean": 772340.8715,
          "min": 729162.0,
          "min_time": "2026-01-31T00:00:12",
          "max": 815511.0,
          "max_time": "2026-01-31T23:59:21"
        },
        "recv": {
          "count": 1440,
          "unit": "packets",
          "total": 234
        },
        "sent": {
          "count": 1440,
          "unit": "packets",
          "total": 208
        }
      }
    }
  ]
}