Raw data

All data for all endpoints is stored as received in the raw: dict[str, Any] attribute, keyed by the endpoint path.[1] Raw can be used for quick check if anything changed between data collections.

{
    "/api/v1/production": {
        "wattHoursToday": 2900,
        "wattHoursSevenDays": 15195,
        "wattHoursLifetime": 8485676,
        "wattsNow": 887
    },
    "/api/v1/production/inverters": [{
        "serialNumber": "122212345678",
        "lastReportDate": 1703592785,
        "devType": 1, "lastReportWatts": 31,
        "maxReportWatts": 98
    }, {
        "serialNumber": "122212345679",
        "lastReportDate": 1703592815,
        "devType": 1,
        "lastReportWatts": 39,
        "maxReportWatts": 172
    }
}
previous_data: EnvoyData
new_data: EnvoyData = envoy.update()
if new_data != previous_data:
    production_data = new_data.raw["/api/v1/production"]

    previous_data = new_data