User API - Basic package - Example calls

The following are examples of the API calls available in the User API Basic package

GET /administration/plants

Call

 

Currently in development because of a fix

This call will return all plants the user has assigned with their IDs and basic informations. Until this is fixed the plant ID can be found in the portal.


GET /administration/plant/{plantId}

Call

{{baseURL}}/api/v1/{{portal}}/administration/plant/{{plant}}

Parameter

GET https://api.enerest.world/api/v1/solarCompanyXYZ/administration/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Result

{     "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",     "ffufId": XXXXX,     "label": "1x EV Charger, 1x Battery, 4x Meter, 1x Inverter",     "plantSize": 15000,     "plantStatus": "deactivated",     "createdAt": "2022-04-29T18:19:27+00:00",     "installationDate": "2017-06-12T10:00:00+00:00",     "functionalities": [],     "firmware": "6.1.0 Build 163",     "firmwareDate": "12.04.2024",     "firmwareVersion": "V06.01.00-163-20240412",     "deviceFullName": "Solar-Log Base 15",     "vendor": "SDS",     "identifier": "XXXXXXXXX",     "lastDataTransfer": {         "lastTransfer": "2024-09-03T11:48:50+02:00",         "lastTransferType": "MIRROR"     },     "plantCost": 20000.0,     "electricityCost": 0.31,     "package": "XL",     "configStatus": 0,     "fleetCount": 2,     "latitude": 47.3951227,     "longitude": 8.454929,     "fleets": [         {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "name": "fleet",             "description": "",             "contact": null,             "defaultFleet": false         }     ],     "address": {         "street": "street",         "houseNumber": "1",         "postalCode": "XXXXX",         "city": "city",         "country": "XX"     },     "contacts": [         {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "lastName": "Mustermann",             "firstName": "Max",             "company": "",             "email": "",             "phoneNumber": "",             "mobilePhoneNumber": "",             "address": {                 "street": "",                 "houseNumber": "",                 "postalCode": "",                 "city": "",                 "country": "XX"             },             "comment": "",             "role": null         }     ],     "plantCreator": 13,     "crcVersion": 213,     "componentsClasses": [         "production",         "battery",         "hidden",         "subconsumption",         "meter",         "consumption",         "intern"     ],     "componentsTypes": [         "Hybridsystem",         "DeactivatedMeter",         "SubConsumptionMeter",         "BiDirectionalMeter",         "RevenueGradeMeter",         "SmartSubConsumptionMeter",         "SolarLogIntern",         "SolarLogPowerManagement",         "SolarLogSmartEnergy",         "SolarLogTimings"     ],     "currency": "",     "financialYieldPerKWh": 0.XXX,     "publicNote": null,     "privateNote": null,     "targetPercentage": 95,     "plantPicture": {         "fileName": "picture.jpg",         "url": "/public/plant-picture/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"     },     "migrationInProgress": false,     "contractStartDate": null,     "measurementInterval": 300,     "timezone": "+0100",     "daylightSavingType": 1,     "transferType": "MIRROR" }

GET /datasource/plant/{plantId}/components/{date}

Call

{{baseURL}}/api/v1/{{portal}}/datasource/plant/{{plant}}/components/{{date}}

Parameter

GET https://api.enerest.world/api/v1/solarCompanyXYZ/datasource/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/components/today

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • date = today

    • The date can be either

      • today or

      • any Date YYYY-MM-DD

Result

[     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "moduleString": null,                 "moduleStrings": [],                 "trackerindex": 1,                 "moduleField": {                     "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                     "label": "ost",                     "index": 1,                     "orientation": 96,                     "tilt": 20,                     "monitored": true                 },                 "size": 4200,                 "name": "MPPT 1",                 "visualizationChannels": [                     "ProdPdc",                     "ProdPdcNorm",                     "ProdUdc",                     "ProdPac",                     "ProdPacNorm",                     "ProdUac",                     "ProdIac",                     "ProdIdc"                 ]             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "moduleString": null,                 "moduleStrings": [],                 "trackerindex": 2,                 "moduleField": {                     "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                     "label": "west",                     "index": 2,                     "orientation": 0,                     "tilt": 0,                     "monitored": true                 },                 "size": 4200,                 "name": "MPPT 2",                 "visualizationChannels": [                     "ProdPdc",                     "ProdPdcNorm",                     "ProdUdc",                     "ProdPac",                     "ProdPacNorm",                     "ProdUac",                     "ProdIac",                     "ProdIdc"                 ]             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "moduleString": null,                 "moduleStrings": [],                 "trackerindex": 3,                 "moduleField": {                     "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                     "label": "0",                     "index": 0,                     "orientation": null,                     "tilt": null,                     "monitored": false                 },                 "size": 0,                 "name": "MPPT 3",                 "visualizationChannels": [                     "ProdPdc",                     "ProdPdcNorm",                     "ProdUdc",                     "ProdPac",                     "ProdPacNorm",                     "ProdUac",                     "ProdIac",                     "ProdIdc"                 ]             }         ],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "Hybridsystem",         "dataindex": 0,         "sortOrder": 0,         "name": "WR 1",         "manufacturer": "XXX",         "size": 8400,         "acPower": 0,         "connectionAddress": "XXX",         "interface": "Ethernet",         "minimumIrradiationThreshold": 60,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "production",             "battery"         ],         "visualizationChannels": [             "ProdPac",             "ProdPacNorm",             "ProdPdc",             "ProdPdcNorm",             "ProdEtotal",             "Temp",             "ChargePac",             "DischargePac",             "BattLoad",             "BattVoltage",             "ProdFac",             "TechAv"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 199,                 "codeRangeTo": 199,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": true,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "SubConsumptionMeter",         "dataindex": 2,         "sortOrder": 2,         "name": "XXX",         "manufacturer": "Solar-Log Pro",         "size": 15000,         "acPower": 0,         "connectionAddress": "5",         "interface": "RS485-B",         "minimumIrradiationThreshold": null,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "subconsumption",             "meter"         ],         "visualizationChannels": [             "ConsPac",             "ConsEtotal",             "ConsPacPhaseOne",             "ConsPacPhaseTwo",             "ConsPacPhaseThree",             "ConsUacPhaseOne",             "ConsUacPhaseTwo",             "ConsUacPhaseThree",             "ConsQacPhaseOne",             "ConsQacPhaseTwo",             "ConsQacPhaseThree",             "ConsIacPhaseOne",             "ConsIacPhaseTwo",             "ConsIacPhaseThree",             "ConsFac",             "ConsCosphi",             "ConsPacRaw",             "EtotalC1"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 1,                 "codeRangeTo": 1,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "BiDirectionalMeter",         "dataindex": 3,         "sortOrder": 3,         "name": "Gesamtverbrauch",         "manufacturer": "Solar-Log Pro",         "size": 25000,         "acPower": 0,         "connectionAddress": "10",         "interface": "RS485-B",         "minimumIrradiationThreshold": null,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "consumption",             "meter"         ],         "visualizationChannels": [             "ConsPac",             "ConsEtotal",             "ConsPacPhaseOne",             "ConsPacPhaseTwo",             "ConsPacPhaseThree",             "ConsUacPhaseOne",             "ConsUacPhaseTwo",             "ConsUacPhaseThree",             "ConsQacPhaseOne",             "ConsQacPhaseTwo",             "ConsQacPhaseThree",             "ConsIacPhaseOne",             "ConsIacPhaseTwo",             "ConsIacPhaseThree",             "ConsFac",             "ConsCosphi",             "ConsPacRaw",             "EtotalC1"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 1,                 "codeRangeTo": 1,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "SubConsumptionMeter",         "dataindex": 4,         "sortOrder": 4,         "name": "XXX",         "manufacturer": "Solar-Log Pro",         "size": 15000,         "acPower": 0,         "connectionAddress": "11",         "interface": "RS485-B",         "minimumIrradiationThreshold": null,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "subconsumption",             "meter"         ],         "visualizationChannels": [             "ConsPac",             "ConsEtotal",             "ConsPacPhaseOne",             "ConsPacPhaseTwo",             "ConsPacPhaseThree",             "ConsUacPhaseOne",             "ConsUacPhaseTwo",             "ConsUacPhaseThree",             "ConsQacPhaseOne",             "ConsQacPhaseTwo",             "ConsQacPhaseThree",             "ConsIacPhaseOne",             "ConsIacPhaseTwo",             "ConsIacPhaseThree",             "ConsFac",             "ConsCosphi",             "ConsPacRaw",             "EtotalC1"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 1,                 "codeRangeTo": 1,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "SubConsumptionMeter",         "dataindex": 5,         "sortOrder": 5,         "name": "XXX",         "manufacturer": "Solar-Log Pro",         "size": 15000,         "acPower": 0,         "connectionAddress": "12",         "interface": "RS485-B",         "minimumIrradiationThreshold": null,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "subconsumption",             "meter"         ],         "visualizationChannels": [             "ConsPac",             "ConsEtotal",             "ConsPacPhaseOne",             "ConsPacPhaseTwo",             "ConsPacPhaseThree",             "ConsUacPhaseOne",             "ConsUacPhaseTwo",             "ConsUacPhaseThree",             "ConsQacPhaseOne",             "ConsQacPhaseTwo",             "ConsQacPhaseThree",             "ConsIacPhaseOne",             "ConsIacPhaseTwo",             "ConsIacPhaseThree",             "ConsFac",             "ConsCosphi",             "ConsPacRaw",             "EtotalC1"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 1,                 "codeRangeTo": 1,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "RevenueGradeMeter",         "dataindex": 6,         "sortOrder": 6,         "name": "PV Zähler",         "manufacturer": "Solar-Log Pro",         "size": 15000,         "acPower": 0,         "connectionAddress": "101",         "interface": "RS485-B",         "minimumIrradiationThreshold": 60,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "production",             "meter"         ],         "visualizationChannels": [             "ProdPac",             "ProdPacNorm",             "ProdEtotal",             "ProdPacPhaseOne",             "ProdPacPhaseTwo",             "ProdPacPhaseThree",             "ProdUacPhaseOne",             "ProdUacPhaseTwo",             "ProdUacPhaseThree",             "ProdQacPhaseOne",             "ProdQacPhaseTwo",             "ProdQacPhaseThree",             "ProdIacPhaseOne",             "ProdIacPhaseTwo",             "ProdIacPhaseThree",             "ProdFac",             "ProdCosphi",             "ProdPacRaw",             "EtotalC2",             "TechAv"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 1,                 "codeRangeTo": 1,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "SmartSubConsumptionMeter",         "dataindex": 7,         "sortOrder": 7,         "name": "AC LOKI",         "manufacturer": "MXXX",         "size": 9000,         "acPower": 0,         "connectionAddress": "192.168.1.178",         "interface": "Ethernet",         "minimumIrradiationThreshold": null,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "subconsumption",             "meter"         ],         "visualizationChannels": [             "ConsPac",             "ConsEtotal",             "Temp",             "ConsPacPhaseOne",             "ConsPacPhaseTwo",             "ConsPacPhaseThree",             "ConsUacPhaseOne",             "ConsUacPhaseTwo",             "ConsUacPhaseThree",             "ConsIacPhaseOne",             "ConsIacPhaseTwo",             "ConsIacPhaseThree"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 199,                 "codeRangeTo": 199,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": true,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,     ��           "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     },     {         "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "mpptrackers": [],         "moduleStrings": [],         "moduleField": null,         "crossEpochId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",         "errorDetectionSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "active": 1,             "deviation": 10,             "notificationEmail": true,             "notificationSms": false,             "notificationRelais": false,             "notificationLed": false,             "production": 20,             "faultduration": 1800,             "faultDuration": 1800,             "alerts": 3,             "snow": false,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "componentCommunicationSettings": {             "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",             "faultduration": 1800,             "faultDuration": 1800,             "periodstart": "11:00",             "periodStart": "11:00",             "periodend": "13:00",             "periodEnd": "13:00"         },         "type": "SmartSubConsumptionMeter",         "dataindex": 9,         "sortOrder": 9,         "name": "Aqueduct ChargeX",         "manufacturer": "",         "size": 15000,         "acPower": 0,         "connectionAddress": "192.168.1",         "interface": "Ethernet",         "minimumIrradiationThreshold": null,         "epochActiveFrom": "2024-05-30T15:07:17+00:00",         "classes": [             "subconsumption",             "meter"         ],         "visualizationChannels": [             "ConsPac",             "ConsEtotal",             "ConsIac",             "ConsIacPhaseOne",             "ConsIacPhaseTwo"         ],         "componentstatuserrors": [             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 0,                 "type": "error",                 "coderangefrom": 1,                 "codeRangeFrom": 1,                 "coderangeto": 199,                 "codeRangeTo": 199,                 "notification": 1,                 "faultduration": 600,                 "faultDuration": 600,                 "notificationlimit": 1,                 "notificationLimit": 1,                 "active": true,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 1,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 2,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             },             {                 "id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",                 "dataIndex": 3,                 "type": "none",                 "coderangefrom": 0,                 "codeRangeFrom": 0,                 "coderangeto": 0,                 "codeRangeTo": 0,                 "notification": 0,                 "faultduration": 30,                 "faultDuration": 30,                 "notificationlimit": 0,                 "notificationLimit": 0,                 "active": false,                 "setByWebMaster": false             }         ]     } ]

GET /datasource/plant/{plantId}/epochrange

Call

{{baseURL}}/api/v1/{{portal}}/datasource/plant/{{plant}}/epochrange?date={{date}}

Parameter

https://api.enerest.world/api/v1/solarCompanyXYZ/datasource/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/epochrange?date=2024-05-05

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • date = 2024-05-05

    • The date can be either

      • today or

      • any Date YYYY-MM-DD

Result

{     "plantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",     "epochId": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",     "epochStart": "2023-05-03",     "epochEnd": "2024-05-29" }

GET /visualization/plant/{plantId}

Call

{{baseURL}}/api/v1/{{portal}}/visualization/plant/{{plant}}

Parameter

GET https://api.enerest.world/api/v1/solarCompanyXYZ/visualization/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Result


GET /visualization/plant/{plantId}/channels...

Call

{{baseURL}}/api/v1/{{portal}}/visualization/plant/{{plant}}/channels?dateFrom={{dateFrom}}&dateTo={{dateTo}}&channelNames[]={{channelName}}

Parameter

GET https://api.enerest.world/api/v1/solarCompanyXYZ/visualization/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /channels?dateFrom=2024-01-24&dateTo=2024-01-25&channelNames[]=ProdPac&channelNames[]=ProdEtotal

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • dateFrom = 2024-01-24

    • The date can be either

      • today or

      • any Date YYYY-MM-DD

  • dateTo = 2024-01-25

    • The date can be either

      • today or

      • any Date YYYY-MM-DD

  • channelName = ProdPac & ProdEtotal

    • The Channels can be combined in one request

    • See channel list for more channels

Result

GET /visualization/plant/{plantId}/channels/list

Call

{{baseURL}}/api/v1/{{portal}}/visualization/plant/{{plant}}/channels/list

Parameter

GET https://api.enerest.world/api/v1/solarCompanyXYZ/visualization/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /channels/list

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Result

GET /visualization/plant/{plantId}/cross-epoch/channels

Call

{{baseURL}}/api/v1/{{portal}}/visualization/plant/{{plant}}/cross-epoch/channels?dateFrom={{dateFrom}}&dateTo={{dateTo}}&channelNames[]={{channelName}}&xComponentIds[]=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Parameter

GET https://api.enerest.world/api/v1/solarCompanyXYZ/visualization/plant/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/cross-epoch/channels?dateFrom=2024-01-01&dateTo=2024-01-01&channelNames[]=ProdPac&xComponentIds[]=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • baseURL = https://api.enerest.world

    • Do NOT change that! It is always the same for every user

  • portal = solarCompanyXYZ

    • Here you should add the first part of the portal domain

    • Without .enerest.world

  • plant = i.e. XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • Add your plants ID here

    • This ID can be found in

      • the administration/plants call or

      • in the last part of the URL when you select the plant in the portal

        • i.e. https://solarCompanyXYZ.enerest.world/administration/plants/detail/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • dateFrom = 2024-01-01

    • The date can be either

      • today or

      • any Date YYYY-MM-DD

  • dateTo = 2024-01-01

    • The date can be either

      • today or

      • any Date YYYY-MM-DD

  • channelName = ProdPac

    • The Channels can be combined in one request

    • See channel list for more channels

  • xComponentIds = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

    • The epoch component Id can be found in the compnents call

    • With the xComponentId the whole lifetime of the component can be reqeuested and not only the current epoch

Result