Tibber · Schema

Tibber Home

Tibber customer home, returned both by the GraphQL `viewer.homes` query and the Data API `GET /v1/homes` endpoint.

EnergySmartHomeSmartMeterElectricityPricingElectricVehicleChargingHeatPumpSolarInverterHomeBatteryGraphQLOAuth2Nordic

Properties

Name Type Description
id string
timeZone string
nickname string
avatar string
type string
size integer Living area in square metres.
numberOfResidents integer
primaryHeatingSource string
hasVentilationSystem boolean
mainFuseSize integer
address object
meteringPointData object
features object
View JSON Schema on GitHub

JSON Schema

tibber-home-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/tibber/main/json-schema/tibber-home-schema.json",
  "title": "Tibber Home",
  "description": "Tibber customer home, returned both by the GraphQL `viewer.homes` query and the Data API `GET /v1/homes` endpoint.",
  "type": "object",
  "required": ["id"],
  "properties": {
    "id": { "type": "string", "format": "uuid" },
    "timeZone": { "type": "string", "examples": ["Europe/Oslo", "Europe/Stockholm", "Europe/Berlin", "Europe/Amsterdam"] },
    "nickname": { "type": "string" },
    "avatar": {
      "type": "string",
      "enum": ["APARTMENT", "ROWHOUSE", "FLOORHOUSE1", "FLOORHOUSE2", "FLOORHOUSE3", "COTTAGE", "CASTLE"]
    },
    "type": { "type": "string", "enum": ["APARTMENT", "ROWHOUSE", "HOUSE", "COTTAGE"] },
    "size": { "type": "integer", "minimum": 0, "description": "Living area in square metres." },
    "numberOfResidents": { "type": "integer", "minimum": 0 },
    "primaryHeatingSource": {
      "type": "string",
      "enum": [
        "AIR2AIR_HEATPUMP", "AIR2WATER_HEATPUMP", "BOILER", "CENTRAL_HEATING",
        "DISTRICT", "DISTRICT_HEATING", "ELECTRIC_BOILER", "ELECTRICITY",
        "FLOOR", "GAS", "GROUND", "OIL", "OTHER", "WASTE"
      ]
    },
    "hasVentilationSystem": { "type": "boolean" },
    "mainFuseSize": { "type": "integer", "minimum": 0 },
    "address": { "$ref": "#/$defs/address" },
    "meteringPointData": { "$ref": "#/$defs/meteringPointData" },
    "features": {
      "type": "object",
      "properties": {
        "realTimeConsumptionEnabled": { "type": "boolean" }
      }
    }
  },
  "$defs": {
    "address": {
      "type": "object",
      "properties": {
        "address1": { "type": "string" },
        "address2": { "type": "string" },
        "address3": { "type": "string" },
        "city": { "type": "string" },
        "postalCode": { "type": "string" },
        "country": { "type": "string", "description": "ISO 3166-1 alpha-2 country code." },
        "latitude": { "type": "string" },
        "longitude": { "type": "string" }
      }
    },
    "meteringPointData": {
      "type": "object",
      "properties": {
        "consumptionEan": { "type": "string", "description": "Consumption EAN/GSRN metering point identifier." },
        "productionEan": { "type": "string" },
        "gridCompany": { "type": "string" },
        "gridAreaCode": { "type": "string" },
        "priceAreaCode": { "type": "string", "description": "Nord Pool price area, e.g. NO1, SE3, DE-LU, NL." },
        "energyTaxType": { "type": "string" },
        "vatType": { "type": "string" },
        "estimatedAnnualConsumption": { "type": "integer", "description": "Estimated annual kWh." }
      }
    }
  }
}