> ## Documentation Index
> Fetch the complete documentation index at: https://developer.energy-hub.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Examples

## Event Examples

All message always send the full data model object of the related device type of the message. In case of the `connect` or `delete` message, the last know state of the device will be send.

Below you find examples for each device type. Generally, each device type mostly has the same message types: `connect`, `update`, `delete`, `offline`, and `disconnect` notifications. For devices which support commands, notifications about commands are also sent through the `command` message type.

### Vehicle Streaming Message Examples

Vehicles can send the following message types:

* `{subscriptionId}.vehicle.connect`
* `{subscriptionId}.vehicle.update`
* `{subscriptionId}.vehicle.delete`
* `{subscriptionId}.vehicle.offline`
* `{subscriptionId}.vehicle.command`
* `{subscriptionId}.vehicle.disconnect`

<CodeGroup>
  ```json Vehicle Connect theme={null}
  {
    "lastUpdated": "2023-11-07T05:31:56Z",
    "chargeState": {
      "stateOfCharge": 72.25,
      "chargingTimeRemaining": 6,
      "chargeLimitMax": 80.25,
      "remoteChargingAllowed": true,
      "estimatedRange": 106,
      "chargingState": "CHARGING",
      "chargeRate": 6.512,
      "lastUpdated": "2023-11-07T05:31:56Z",
      "chargeLimitMin": 20.25,
      "chargeCurrentMax": 12,
      "scheduledDepartureTime": "2023-11-26T05:05:00Z",
      "isPlugged": true,
      "scheduledChargingStartTime": "2023-11-26T05:00:00Z"
    },
    "odometer": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "odometer": 12228
    },
    "isOnline": true,
    "location": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "latitude": 50.770774,
      "longitude": -126.104965
    },
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "climateState": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "isClimateOn": true,
      "isBatteryHeaterOn": true,
      "temperatureCurrent": 18.1,
      "temperatureTarget": 20.1
    },
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "staticData": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "vendor": "TESLA",
      "name": "My Tesla",
      "engineType": "BEV",
      "vin": "1XKAD29X0KS502460",
      "model": "Model 3",
      "batteryCapacity": 60.12,
      "vehicleVariant": "Base"
    }
  }
  ```

  ```json Vehicle Update theme={null}
  {
    "lastUpdated": "2023-11-07T05:31:56Z",
    "chargeState": {
      "stateOfCharge": 72.25,
      "chargingTimeRemaining": 6,
      "chargeLimitMax": 80.25,
      "remoteChargingAllowed": true,
      "estimatedRange": 106,
      "chargingState": "CHARGING",
      "chargeRate": 6.512,
      "lastUpdated": "2023-11-07T05:31:56Z",
      "chargeLimitMin": 20.25,
      "chargeCurrentMax": 12,
      "scheduledDepartureTime": "2023-11-26T05:05:00Z",
      "isPlugged": true,
      "scheduledChargingStartTime": "2023-11-26T05:00:00Z"
    },
    "odometer": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "odometer": 12228
    },
    "isOnline": true,
    "location": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "latitude": 50.770774,
      "longitude": -126.104965
    },
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "climateState": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "isClimateOn": true,
      "isBatteryHeaterOn": true,
      "temperatureCurrent": 18.1,
      "temperatureTarget": 20.1
    },
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "staticData": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "vendor": "TESLA",
      "name": "My Tesla",
      "engineType": "BEV",
      "vin": "1XKAD29X0KS502460",
      "model": "Model 3",
      "batteryCapacity": 60.12,
      "vehicleVariant": "Base"
    }
  }
  ```

  ```json Vehicle Delete theme={null}
  {
    "lastUpdated": "2023-11-07T05:31:56Z",
    "chargeState": {
      "stateOfCharge": 72.25,
      "chargingTimeRemaining": 6,
      "chargeLimitMax": 80.25,
      "remoteChargingAllowed": true,
      "estimatedRange": 106,
      "chargingState": "CHARGING",
      "chargeRate": 6.512,
      "lastUpdated": "2023-11-07T05:31:56Z",
      "chargeLimitMin": 20.25,
      "chargeCurrentMax": 12,
      "scheduledDepartureTime": "2023-11-26T05:05:00Z",
      "isPlugged": true,
      "scheduledChargingStartTime": "2023-11-26T05:00:00Z"
    },
    "odometer": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "odometer": 12228
    },
    "isOnline": true,
    "location": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "latitude": 50.770774,
      "longitude": -126.104965
    },
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "climateState": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "isClimateOn": true,
      "isBatteryHeaterOn": true,
      "temperatureCurrent": 18.1,
      "temperatureTarget": 20.1
    },
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "staticData": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "vendor": "TESLA",
      "name": "My Tesla",
      "engineType": "BEV",
      "vin": "1XKAD29X0KS502460",
      "model": "Model 3",
      "batteryCapacity": 60.12,
      "vehicleVariant": "Base"
    }
  }
  ```

  ```json Vehicle Offline theme={null}
  {
    "lastUpdated": "2023-11-07T05:31:56Z",
    "chargeState": {
      "stateOfCharge": 72.25,
      "chargingTimeRemaining": 6,
      "chargeLimitMax": 80.25,
      "remoteChargingAllowed": true,
      "estimatedRange": 106,
      "chargingState": "CHARGING",
      "chargeRate": 6.512,
      "lastUpdated": "2023-11-07T05:31:56Z",
      "chargeLimitMin": 20.25,
      "chargeCurrentMax": 12,
      "scheduledDepartureTime": "2023-11-26T05:05:00Z",
      "isPlugged": true,
      "scheduledChargingStartTime": "2023-11-26T05:00:00Z"
    },
    "odometer": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "odometer": 12228
    },
    "isOnline": False,
    "location": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "latitude": 50.770774,
      "longitude": -126.104965
    },
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "climateState": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "isClimateOn": true,
      "isBatteryHeaterOn": true,
      "temperatureCurrent": 18.1,
      "temperatureTarget": 20.1
    },
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "staticData": {
      "lastUpdated": "2023-11-07T05:31:56Z",
      "vendor": "TESLA",
      "name": "My Tesla",
      "engineType": "BEV",
      "vin": "1XKAD29X0KS502460",
      "model": "Model 3",
      "batteryCapacity": 60.12,
      "vehicleVariant": "Base"
    }
  }
  ```

  ```json Vehicle Command theme={null}
  {
    "id": "c1eb00d9-4106-45ed-ab07-9d6452a18a51",
    "userId": "681db72f-4b75-46d9-8d68-58be479faf85",
    "deviceId": "788ebcbc-2d9b-4667-8498-9628601f1a95",
    "type": "CHARGING_START",
    "state": "EXECUTED",
    "failedReason": null,
    "createdAt": "2024-12-10T13:31:45.528Z",
    "lastUpdated": "2024-12-10T13:31:46.885Z"
  }
  ```

  ```json Vehicle Disconnect theme={null}
  {
    "deviceId": "0393521a-baf2-47f2-8071-6c64cfecf0a8",
    "vendorAccountId": "e454420b-6705-42e3-a110-f40b0ba52629",
    "userId": "a5ac2de6-fd9d-4df2-b01c-1ce77ee03c7b",
    "vendor": "TESLA",
    "reason": "AUTHENTICATION_EXPIRED",
    "resolution": "RECONNECT_DEVICE"
  }
  ```
</CodeGroup>

### Tariff Streaming Message Examples

Tariffs can send the following message types:

* `{subscriptionId}.tariff.connect`
* `{subscriptionId}.tariff.update`
* `{subscriptionId}.tariff.price.update`
* `{subscriptionId}.tariff.delete`
* `{subscriptionId}.tariff.disconnect`

<CodeGroup>
  ```json Tariff Connect theme={null}
  {
    "id": "b063cd05-a48f-4513-9abe-060a13546bdb",
    "userId": "5f48946a-4203-495b-9c8b-7c31ae84009a",
    "locationId": null,
    "isOnline": true,
    "staticData": {
      "vendor": "OSTROM",
      "name": "Ostrom Feldstraße 22",
      "currency": "EUR",
      "countryCode": "DE",
      "lastUpdated": "2024-12-26T13:41:28.075Z"
    }
  }
  ```

  ```json Tariff Update theme={null}
  {
    "id": "b063cd05-a48f-4513-9abe-060a13546bdb",
    "userId": "5f48946a-4203-495b-9c8b-7c31ae84009a",
    "locationId": null,
    "isOnline": true,
    "staticData": {
      "vendor": "OSTROM",
      "name": "Ostrom Feldstraße 22",
      "currency": "EUR",
      "countryCode": "DE",
      "lastUpdated": "2024-12-26T13:41:28.075Z"
    }
  }
  ```

  ```json Tariff Price Update theme={null}
  {
    "id": "d15b07cd-7652-45e8-8a4f-5d760b59ee00",
    "userId": "d3f6a25e-8a77-4833-bbf7-735a457cdecf",
    "locationId": null,
    "prices": [
      {
        "totalPrice": 0.1864,
        "energyPrice": 0.0348,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-22T23:00:00.000Z"
      },
      {
        "totalPrice": 0.1756,
        "energyPrice": 0.024,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T00:00:00.000Z"
      },
      {
        "totalPrice": 0.1687,
        "energyPrice": 0.0171,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T01:00:00.000Z"
      },
      {
        "totalPrice": 0.1625,
        "energyPrice": 0.0109,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T02:00:00.000Z"
      },
      {
        "totalPrice": 0.1633,
        "energyPrice": 0.0117,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T03:00:00.000Z"
      },
      {
        "totalPrice": 0.1693,
        "energyPrice": 0.0177,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T04:00:00.000Z"
      },
      {
        "totalPrice": 0.1723,
        "energyPrice": 0.0207,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T05:00:00.000Z"
      },
      {
        "totalPrice": 0.2135,
        "energyPrice": 0.0619,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T06:00:00.000Z"
      },
      {
        "totalPrice": 0.2223,
        "energyPrice": 0.0707,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T07:00:00.000Z"
      },
      {
        "totalPrice": 0.2226,
        "energyPrice": 0.071,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T08:00:00.000Z"
      },
      {
        "totalPrice": 0.2144,
        "energyPrice": 0.0628,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T09:00:00.000Z"
      },
      {
        "totalPrice": 0.2135,
        "energyPrice": 0.0619,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T10:00:00.000Z"
      },
      {
        "totalPrice": 0.2161,
        "energyPrice": 0.0645,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T11:00:00.000Z"
      },
      {
        "totalPrice": 0.2169,
        "energyPrice": 0.0653,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T12:00:00.000Z"
      },
      {
        "totalPrice": 0.2249,
        "energyPrice": 0.0733,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T13:00:00.000Z"
      },
      {
        "totalPrice": 0.2393,
        "energyPrice": 0.0877,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T14:00:00.000Z"
      },
      {
        "totalPrice": 0.2499,
        "energyPrice": 0.0983,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T15:00:00.000Z"
      },
      {
        "totalPrice": 0.2686,
        "energyPrice": 0.117,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T16:00:00.000Z"
      },
      {
        "totalPrice": 0.2727,
        "energyPrice": 0.1211,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T17:00:00.000Z"
      },
      {
        "totalPrice": 0.2676,
        "energyPrice": 0.116,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T18:00:00.000Z"
      },
      {
        "totalPrice": 0.2618,
        "energyPrice": 0.1102,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T19:00:00.000Z"
      },
      {
        "totalPrice": 0.2805,
        "energyPrice": 0.1289,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T20:00:00.000Z"
      },
      {
        "totalPrice": 0.2776,
        "energyPrice": 0.126,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T21:00:00.000Z"
      },
      {
        "totalPrice": 0.2671,
        "energyPrice": 0.1155,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T22:00:00.000Z"
      },
      {
        "totalPrice": 0.254,
        "energyPrice": 0.1024,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-23T23:00:00.000Z"
      },
      {
        "totalPrice": 0.2502,
        "energyPrice": 0.0986,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T00:00:00.000Z"
      },
      {
        "totalPrice": 0.2491,
        "energyPrice": 0.0975,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T01:00:00.000Z"
      },
      {
        "totalPrice": 0.2445,
        "energyPrice": 0.0929,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T02:00:00.000Z"
      },
      {
        "totalPrice": 0.2454,
        "energyPrice": 0.0938,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T03:00:00.000Z"
      },
      {
        "totalPrice": 0.2476,
        "energyPrice": 0.096,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T04:00:00.000Z"
      },
      {
        "totalPrice": 0.2529,
        "energyPrice": 0.1013,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T05:00:00.000Z"
      },
      {
        "totalPrice": 0.2716,
        "energyPrice": 0.12,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T06:00:00.000Z"
      },
      {
        "totalPrice": 0.2886,
        "energyPrice": 0.137,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T07:00:00.000Z"
      },
      {
        "totalPrice": 0.2956,
        "energyPrice": 0.144,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T08:00:00.000Z"
      },
      {
        "totalPrice": 0.2944,
        "energyPrice": 0.1428,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T09:00:00.000Z"
      },
      {
        "totalPrice": 0.2923,
        "energyPrice": 0.1407,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T10:00:00.000Z"
      },
      {
        "totalPrice": 0.2915,
        "energyPrice": 0.1399,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T11:00:00.000Z"
      },
      {
        "totalPrice": 0.289,
        "energyPrice": 0.1374,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T12:00:00.000Z"
      },
      {
        "totalPrice": 0.292,
        "energyPrice": 0.1404,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T13:00:00.000Z"
      },
      {
        "totalPrice": 0.2939,
        "energyPrice": 0.1423,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T14:00:00.000Z"
      },
      {
        "totalPrice": 0.2947,
        "energyPrice": 0.1431,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T15:00:00.000Z"
      },
      {
        "totalPrice": 0.2921,
        "energyPrice": 0.1405,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T16:00:00.000Z"
      },
      {
        "totalPrice": 0.2837,
        "energyPrice": 0.1321,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T17:00:00.000Z"
      },
      {
        "totalPrice": 0.2774,
        "energyPrice": 0.1258,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T18:00:00.000Z"
      },
      {
        "totalPrice": 0.2737,
        "energyPrice": 0.1221,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T19:00:00.000Z"
      },
      {
        "totalPrice": 0.2643,
        "energyPrice": 0.1127,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T20:00:00.000Z"
      },
      {
        "totalPrice": 0.2695,
        "energyPrice": 0.1179,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T21:00:00.000Z"
      },
      {
        "totalPrice": 0.2587,
        "energyPrice": 0.1071,
        "taxAndLevies": 0.1516,
        "startDate": "2024-12-24T22:00:00.000Z"
      }
    ]
  }
  ```

  ```json Tariff Delete theme={null}
  {
    "id": "b063cd05-a48f-4513-9abe-060a13546bdb",
    "userId": "5f48946a-4203-495b-9c8b-7c31ae84009a",
    "locationId": null,
    "isOnline": true,
    "staticData": {
      "vendor": "OSTROM",
      "name": "Ostrom Feldstraße 22",
      "currency": "EUR",
      "countryCode": "DE",
      "lastUpdated": "2024-12-26T13:41:28.075Z"
    }
  }
  ```

  ```json Tariff Disconnect theme={null}
  {
    "deviceId": "0393521a-baf2-47f2-8071-6c64cfecf0a8",
    "vendorAccountId": "e454420b-6705-42e3-a110-f40b0ba52629",
    "userId": "a5ac2de6-fd9d-4df2-b01c-1ce77ee03c7b",
    "vendor": "TIBBER",
    "reason": "AUTHENTICATION_EXPIRED",
    "resolution": "RECONNECT_DEVICE"
  }
  ```
</CodeGroup>

### HVAC Streaming Message Examples

HVACs can send the following message types:

* `{subscriptionId}.hvac.connect`
* `{subscriptionId}.hvac.update`
* `{subscriptionId}.hvac.schedules.update`
* `{subscriptionId}.hvac.delete`
* `{subscriptionId}.hvac.offline`
* `{subscriptionId}.hvac.command`

<CodeGroup>
  ```json HVAC Connect theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "type": "AC",
      "room": "Living room",
      "vendor": "VIESSMANN",
      "model": "Vitotronic 200",
      "name": "Viessmann Vitotronic 200",
      "capableModes": ["HEAT"],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "climateState": {
      "isActive": null,
      "mode": null,
      "temperatureCurrent": null,
      "temperatureOutside": null,
      "temperatureTargets": [],
      "lastUpdated": null
    },
    "powerState": {
      "powerConsumption": null,
      "lastUpdated": null
    },
    "lastUpdated": "2025-01-02T10:24:02.447Z"
  }
  ```

  ```json HVAC Update theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "type": "AC",
      "room": "Living room",
      "vendor": "VIESSMANN",
      "model": "Vitotronic 200",
      "name": "Viessmann Vitotronic 200",
      "capableModes": ["HEAT"],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "climateState": {
      "isActive": true,
      "mode": "HEAT",
      "temperatureCurrent": 20.3,
      "temperatureOutside": 12,
      "temperatureTargets": [
        {
          "mode": "HEAT",
          "temperature": 18
        }
      ],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "powerState": {
      "powerConsumption": 0,
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "lastUpdated": "2025-01-02T10:24:02.447Z"
  }
  ```

  ```json HVAC Schedules Update theme={null}
  {
    "id": "0fa47346-0038-4b76-b32a-5bfbd4868a25",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "timeZone": "Europe/Berlin",
    "schedules": [
      {
        "start": {
          "day": "MONDAY",
          "time": "04:30"
        },
        "end": {
          "day": "MONDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "MONDAY",
          "time": "14:00"
        },
        "end": {
          "day": "MONDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "MONDAY",
          "time": "16:00"
        },
        "end": {
          "day": "MONDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "MONDAY",
          "time": "19:00"
        },
        "end": {
          "day": "MONDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "TUESDAY",
          "time": "04:30"
        },
        "end": {
          "day": "TUESDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "TUESDAY",
          "time": "14:00"
        },
        "end": {
          "day": "TUESDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "TUESDAY",
          "time": "16:00"
        },
        "end": {
          "day": "TUESDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "TUESDAY",
          "time": "19:00"
        },
        "end": {
          "day": "TUESDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "WEDNESDAY",
          "time": "04:30"
        },
        "end": {
          "day": "WEDNESDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "WEDNESDAY",
          "time": "14:00"
        },
        "end": {
          "day": "WEDNESDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "WEDNESDAY",
          "time": "16:00"
        },
        "end": {
          "day": "WEDNESDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "WEDNESDAY",
          "time": "19:00"
        },
        "end": {
          "day": "WEDNESDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "THURSDAY",
          "time": "04:30"
        },
        "end": {
          "day": "THURSDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "THURSDAY",
          "time": "14:00"
        },
        "end": {
          "day": "THURSDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "THURSDAY",
          "time": "16:00"
        },
        "end": {
          "day": "THURSDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "THURSDAY",
          "time": "19:00"
        },
        "end": {
          "day": "THURSDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "FRIDAY",
          "time": "04:30"
        },
        "end": {
          "day": "FRIDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "FRIDAY",
          "time": "14:00"
        },
        "end": {
          "day": "FRIDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "FRIDAY",
          "time": "16:00"
        },
        "end": {
          "day": "FRIDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "FRIDAY",
          "time": "19:00"
        },
        "end": {
          "day": "FRIDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "SATURDAY",
          "time": "04:30"
        },
        "end": {
          "day": "SATURDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "SATURDAY",
          "time": "14:00"
        },
        "end": {
          "day": "SATURDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "SATURDAY",
          "time": "16:00"
        },
        "end": {
          "day": "SATURDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "SATURDAY",
          "time": "19:00"
        },
        "end": {
          "day": "SATURDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "SUNDAY",
          "time": "04:30"
        },
        "end": {
          "day": "SUNDAY",
          "time": "06:30"
        },
        "mode": "AUTO",
        "temperature": 20
      },
      {
        "start": {
          "day": "SUNDAY",
          "time": "14:00"
        },
        "end": {
          "day": "SUNDAY",
          "time": "16:00"
        },
        "mode": "AUTO",
        "temperature": 21
      },
      {
        "start": {
          "day": "SUNDAY",
          "time": "16:00"
        },
        "end": {
          "day": "SUNDAY",
          "time": "19:00"
        },
        "mode": "AUTO",
        "temperature": 19
      },
      {
        "start": {
          "day": "SUNDAY",
          "time": "19:00"
        },
        "end": {
          "day": "SUNDAY",
          "time": "19:30"
        },
        "mode": "AUTO",
        "temperature": 20
      }
    ]
  }
  ```

  ```json HVAC Delete theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "type": "AC",
      "room": "Living room",
      "vendor": "VIESSMANN",
      "model": "Vitotronic 200",
      "name": "Viessmann Vitotronic 200",
      "capableModes": ["HEAT"],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "climateState": {
      "isActive": true,
      "mode": "HEAT",
      "temperatureCurrent": 20.3,
      "temperatureOutside": 12,
      "temperatureTargets": [
        {
          "mode": "HEAT",
          "temperature": 18
        }
      ],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "powerState": {
      "powerConsumption": 0,
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "lastUpdated": "2025-01-02T10:24:02.447Z"
  }
  ```

  ```json HVAC Offline theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": false,
    "staticData": {
      "type": "AC",
      "room": "Living room",
      "vendor": "VIESSMANN",
      "model": "Vitotronic 200",
      "name": "Viessmann Vitotronic 200",
      "capableModes": ["HEAT"],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "climateState": {
      "isActive": true,
      "mode": "HEAT",
      "temperatureCurrent": 20.3,
      "temperatureOutside": 12,
      "temperatureTargets": [
        {
          "mode": "HEAT",
          "temperature": 18
        }
      ],
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "powerState": {
      "powerConsumption": 0,
      "lastUpdated": "2025-01-02T10:24:02.447Z"
    },
    "lastUpdated": "2025-01-02T10:24:02.447Z"
  }
  ```

  ```json HVAC Command theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "deviceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "type": "SET_TEMPERATURE",
    "state": "PENDING",
    "createdAt": "2025-01-02T10:34:03.322Z"
  }
  ```

  ```json HVAC Disconnect theme={null}
  {
    "deviceId": "0393521a-baf2-47f2-8071-6c64cfecf0a8",
    "vendorAccountId": "e454420b-6705-42e3-a110-f40b0ba52629",
    "userId": "a5ac2de6-fd9d-4df2-b01c-1ce77ee03c7b",
    "vendor": "VIESSMANN",
    "reason": "AUTHENTICATION_EXPIRED",
    "resolution": "RECONNECT_DEVICE"
  }
  ```
</CodeGroup>

### Battery Streaming Message Examples

Batteries can send the following message types:

* `{subscriptionId}.battery.connect`
* `{subscriptionId}.battery.update`
* `{subscriptionId}.battery.delete`
* `{subscriptionId}.battery.offline`

<CodeGroup>
  ```json Battery Connect theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "SMA",
      "model": "Battery,
      "name": "My device",
      "batteryCapacity": 106,
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "chargeState": {
      "mode": null,
      "stateOfCharge": null,
      "maxChargeRate": null,
      "maxDischargeRate": null,
      "chargeLimitMin": null,
      "chargeLimitMax": null,
      "chargeRate": null,
      "chargingState": null,
      "lastUpdated": null
    },
    "lastUpdated": "2025-01-02T10:45:20.980Z"
  }
  ```

  ```json Battery Update theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Battery",
      "name": "My device",
      "batteryCapacity": 106,
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "chargeState": {
      "mode": "AUTO",
      "stateOfCharge": 72,
      "maxChargeRate": 6000,
      "maxDischargeRate": 6000,
      "chargeLimitMin": 20,
      "chargeLimitMax": 80,
      "chargeRate": 6.5,
      "chargingState": "CHARGING",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "lastUpdated": "2025-01-02T10:45:20.980Z"
  }
  ```

  ```json Battery Delete theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Battery",
      "name": "My device",
      "batteryCapacity": 106,
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "chargeState": {
      "mode": "AUTO",
      "stateOfCharge": 72,
      "maxChargeRate": 6000,
      "maxDischargeRate": 6000,
      "chargeLimitMin": 20,
      "chargeLimitMax": 80,
      "chargeRate": 6.5,
      "chargingState": "CHARGING",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "lastUpdated": "2025-01-02T10:45:20.980Z"
  }
  ```

  ```json Battery Offline theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": false,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Battery",
      "name": "My device",
      "batteryCapacity": 106,
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "chargeState": {
      "mode": "AUTO",
      "stateOfCharge": 72,
      "maxChargeRate": 6000,
      "maxDischargeRate": 6000,
      "chargeLimitMin": 20,
      "chargeLimitMax": 80,
      "chargeRate": 6.5,
      "chargingState": "CHARGING",
      "lastUpdated": "2025-01-02T10:45:20.980Z"
    },
    "lastUpdated": "2025-01-02T10:45:20.980Z"
  }
  ```

  ```json Battery Disconnect theme={null}
  {
    "deviceId": "0393521a-baf2-47f2-8071-6c64cfecf0a8",
    "vendorAccountId": "e454420b-6705-42e3-a110-f40b0ba52629",
    "userId": "a5ac2de6-fd9d-4df2-b01c-1ce77ee03c7b",
    "vendor": "TESLA",
    "reason": "AUTHENTICATION_EXPIRED",
    "resolution": "RECONNECT_DEVICE"
  }
  ```
</CodeGroup>

### PV-Inverter Streaming Message Examples

PV-Inverters can send the following message types:

* `{subscriptionId}.pv-inverter.connect`
* `{subscriptionId}.pv-inverter.update`
* `{subscriptionId}.pv-inverter.delete`
* `{subscriptionId}.pv-inverter.offline`

<CodeGroup>
  ```json PV-Inverter Connect theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Inverter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "powerState": {
      "solarPower": null,
      "state": null,
      "lastUpdated": null
    },
    "lastUpdated": "2025-01-02T10:53:42.719Z"
  }
  ```

  ```json PV-Inverter Update theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Inverter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "powerState": {
      "solarPower": 15.8,
      "state": "PRODUCING",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "lastUpdated": "2025-01-02T10:53:42.719Z"
  }
  ```

  ```json PV-Inverter Delete theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Inverter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "powerState": {
      "solarPower": 15.8,
      "state": "PRODUCING",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "lastUpdated": "2025-01-02T10:53:42.719Z"
  }
  ```

  ```json PV-Inverter Offline theme={null}
  {
    "id": "6eb5497d-c6bb-4290-84ef-4409fe9501f1",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": false,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Inverter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "powerState": {
      "solarPower": 15.8,
      "state": "PRODUCING",
      "lastUpdated": "2025-01-02T10:53:42.719Z"
    },
    "lastUpdated": "2025-01-02T10:53:42.719Z"
  }
  ```

  ```json PV-Inverter Disconnect theme={null}
  {
    "deviceId": "0393521a-baf2-47f2-8071-6c64cfecf0a8",
    "vendorAccountId": "e454420b-6705-42e3-a110-f40b0ba52629",
    "userId": "a5ac2de6-fd9d-4df2-b01c-1ce77ee03c7b",
    "vendor": "TESLA",
    "reason": "AUTHENTICATION_EXPIRED",
    "resolution": "RECONNECT_DEVICE"
  }
  ```
</CodeGroup>

### Meter Streaming Message Examples

Meters can send the following message types:

* `{subscriptionId}.meter.connect`
* `{subscriptionId}.meter.update`
* `{subscriptionId}.meter.delete`
* `{subscriptionId}.meter.offline`

<CodeGroup>
  ```json Meter Connect theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Meter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "powerState": {
      "power": null,
      "meterValue": null,
      "lastUpdated": null
    },
    "lastUpdated": "2025-01-02T10:56:28.800Z"
  }
  ```

  ```json Meter Update theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Meter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "powerState": {
      "power": 15.8,
      "meterValue": 289,
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "lastUpdated": "2025-01-02T10:56:28.800Z"
  }
  ```

  ```json Meter Delete theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": true,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Meter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "powerState": {
      "power": 15.8,
      "meterValue": 289,
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "lastUpdated": "2025-01-02T10:56:28.800Z"
  }
  ```

  ```json Meter Offline theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "userId": "896f9d5a-b618-48a2-98ae-957059bf1bc9",
    "locationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "isOnline": false,
    "staticData": {
      "vendor": "FRONIUS",
      "model": "Meter",
      "name": "My device",
      "siteName": "Osna Lab",
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "powerState": {
      "power": 15.8,
      "meterValue": 289,
      "lastUpdated": "2025-01-02T10:56:28.800Z"
    },
    "lastUpdated": "2025-01-02T10:56:28.800Z"
  }
  ```

  ```json Meter Disconnect theme={null}
  {
    "deviceId": "0393521a-baf2-47f2-8071-6c64cfecf0a8",
    "vendorAccountId": "e454420b-6705-42e3-a110-f40b0ba52629",
    "userId": "a5ac2de6-fd9d-4df2-b01c-1ce77ee03c7b",
    "vendor": "TESLA",
    "reason": "AUTHENTICATION_EXPIRED",
    "resolution": "RECONNECT_DEVICE"
  }
  ```
</CodeGroup>

***
