Solar Example
Endpoint: GET /users/{userId}/{inverterId}

Request Parameters:

userId (string, required): ID of the User
inverterId (string, required): ID of the Inverter
Example Response:
{
  "id": "C86A5657-4ECD-4355-9FF9-1B85560E7BC8",
  "userId": "0B35B85F-2A0F-4038-820C-7E84BFE82AD5",
  "lastSeen": "2022-03-08T17:04:26Z",
  "isReachable": true,
  "productionState": {
    "productionRate": 0,
    "isProducing": true,
    "totalLifetimeProduction": 200185.86,
    "lastUpdated": "2022-03-08T17:04:26Z"
  }
}
Batteries Example
Endpoint: GET /users/{userId}/{batteryId}

Request Parameters:

userId (string, required): ID of the User
batteryId (string, required): ID of the Battery
Example Response:
{
  "id": "7DB17F06-D9C9-4A0B-97E3-94D9851F090D",
  "userId": "0B35B85F-2A0F-4038-820C-7E84BFE82AD5",
  "lastSeen": "2023-03-21T21:08:27.596Z",
  "isReachable": true,
  "chargeState": {
    "isPluggedIn": true,
    "isCharging": true,
    "chargeRate": 8.1,
    "lastUpdated": "2023-03-21T16:39:20.000Z",
    "maxCurrent": 17,
    "powerDeliveryState": "CHARGING"
  }
}
Vehicle Example
Endpoint: GET /users/{userId}/{vehicleId}

Request Parameters:

userId (string, required): ID of the User
vehicleId (string, required): ID of the Vehicle
Example Response:
{
  "id": "7DB17F06-D9C9-4A0B-97E3-94D9851F090D",
  "userId": "0B35B85F-2A0F-4038-820C-7E84BFE82AD5",
  "lastSeen": "2023-03-21T21:08:27.596Z",
  "isReachable": true,
  "chargeState": {
    "isPluggedIn": true,
    "isCharging": true,
    "chargeRate": 8.1,
    "lastUpdated": "2023-03-21T16:39:20.000Z",
    "maxCurrent": 17,
    "powerDeliveryState": "CHARGING"
  }
}
EV Charger Example
Endpoint: GET /users/{userId}/{chargerId}

Request Parameters:

userId (string, required): ID of the User
chargerId (string, required): ID of the Charger
Response (200):

userId (string): ID of the User
id (string): ID of the Charger
lastSeen (string): Last communication time with the device
isReachable (boolean): Is live data obtainable
chargeState (object): Charge state representation
isPluggedIn (boolean or null): Is a vehicle plugged in
isCharging (boolean or null): Is the charger delivering power
chargeRate (number or null): Current charge rate in kW
lastUpdated (string or null): Time of last charge state update
maxCurrent (number or null): Max current in amps
powerDeliveryState (string): UNKNOWN/UNPLUGGED/CHARGING/STOPPED/FAULT
Example Response:
{
  "id": "7DB17F06-D9C9-4A0B-97E3-94D9851F090D",
  "userId": "0B35B85F-2A0F-4038-820C-7E84BFE82AD5",
  "lastSeen": "2023-03-21T21:08:27.596Z",
  "isReachable": true,
  "chargeState": {
    "isPluggedIn": true,
    "isCharging": true,
    "chargeRate": 8.1,
    "lastUpdated": "2023-03-21T16:39:20.000Z",
    "maxCurrent": 17,
    "powerDeliveryState": "CHARGING"
  }
}

Software Developers

In addition to our EMS and VPP product offerings, Molecule's EnergyTech infrastructure platform empowers companies to quickly launch and scale energy products and services with modern, efficient solutions. By simplifying EnergyTech development with access to production ready modules and libraries, we reduce time, cost, and risk, allowing companies to focus on unique IP creation. Our platform supports both technical and non-technical users with low-code and no-code tools, enabling rapid delivery of innovative, market-leading products and services.