GivEnergy support
Released
New beta support for GivEnergy solar inverters, batteries and meters
Our GivEnergy support is available for beta testing.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Keep track of updates and new API versions. More on versioning here.
Released
New beta support for GivEnergy solar inverters, batteries and meters
Our GivEnergy support is available for beta testing.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
New beta support for Acura vehicles in North America.
Acura vehicles are available for beta testing in North America.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
List supported vendor integrations and scopes per asset type
To check available vendor integrations for one or more assetTypes, we are adding a new "/integrations" endpoint.
This makes it convenient to check support and scopes across asset types for our vendor integrations. It reduces the need for multiple requests to "/health/<assetType>" for different asset types.
Released
Enabled EXPORT_FOCUS mode for supported Enphase batteries
Enphase batteries with the ability to configure a timer for discharging to the grid are now marked as EXPORT_FOCUS
capable and can be switched into that mode.
We'll update the capabilities table as we learn more about which Enphase batteries are capable of discharging to the grid.
Released
Ability to set Solaredge battery operation modes has been added.
We have added support for controlling the operation modes of Solaredge batteries.
Check the capabilities object in the battery response to determine which operation modes are supported by the linked battery.
Released
New beta support for Lucid vehicles in Europe and North America.
Lucid vehicles are available for beta testing in Europe and North America.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
New beta support for NIO vehicles in Europe.
NIO vehicles are available for beta testing in Europe.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
Enode Link SDK for iOS received a patch update and reached version 1.0.3
The 1.0.3
release of the iOS SDK brings fixes for linking Nibe devices. We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0
versions. Get the 1.0.3 iOS SDK from our documentation:
Released
New beta support for Polestar (Europe and North America) vehicles.
Polestar vehicles are now available beta for Europe and North America. These vehicles are "read only", meaning they cannot be started or stopped.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
New beta support for Chrysler, Dodge, Ram, Alfa Romeo, and Lancia vehicles.
Chrysler, Dodge, and Ram vehicles are now available for beta testing in North America. Alfa Romeo is available for beta testing in both North America and Europe. Finally, Lancia vehicles are available for beta testing exclusively in Europe.
To opt-in, please activate the desired brands in the enabled-brands
section under your Enode client.
Released
myenergi now available for Beta testing.
We are excited to announce that support for integrating with myenergi chargers is now in beta.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
New beta support for Mazda (Europe and North America) vehicles.
Mazda vehicles are now available in beta for Europe and North America.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
New beta support for Honda (North America) and MG (Europe) vehicles.
Honda vehicles are now available in beta for North America, and MG vehicles are supported in Europe.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
Keba chargers are now available for Beta testing.
We've expanded charger linking support to include Keba.
To opt-in, please update the enabled-brands
section in your Enode client and toggle Keba.
Released
Hypervolt now available for Beta testing.
We are excited to announce that support for integrating with Hypervolt chargers is now in beta.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
Volvo EX models are now supported.
Volvo EX models can now be linked to Enode. These vehicles are "read only", meaning they cannot be started or stopped.
To opt-in, please reach out to your Enode contact, or send us a ticket at support@enode.io.
Released
Ability to set Huawei battery operation modes has been added.
We have added support for controlling the operation modes of Huawei batteries.
Check the capabilities object in the battery response to determine which operation modes are supported by the linked battery.
Released
Subaru now available for Beta testing in North America and Europe.
We are excited to announce EU and US support for integrating with Subaru vehicles is now in beta.
To opt-in, please navigate to the enabled-brands
section under your Enode client and activate it.
Released
Fiat now supported in North America, Jeep Beta testing now available.
Vehicle linking support has been expanded to include Fiat in North America. Jeep is now available for Beta testing in both North America and Europe.
For detailed information on supported regions and models, refer to Vehicle capabilities.
To enable Jeep support, navigate to the enabled-brands
section under your Enode client.
Released
Enode Link SDK for iOS received a patch update and reached version 1.0.2
The 1.0.2
release of the iOS SDKs brings improved memory management.
We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0
versions.
Get the 1.0.2 iOS SDK from our documentation:
Released
Enode Link SDK for iOS received a patch update and reached version 1.0.1
The 1.0.1
release of the iOS SDKs brings improved reporting of a result of the Linking process completion.
We recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0
versions.
Get the 1.0.1 iOS SDK from our documentation:
Released
New power delivery state `PLUGGED_IN:DISCHARGING` added.
A new state PLUGGED_IN:DISCHARGING
has been added to the PowerDeliveryState
enum. This state indicates that the vehicle or charger is actively discharging power to the home/grid, causing the battery level to decrease.
Released
Beta support for Integrating with Schneider Electric chargers using Wiser Home is added
We are excited to announce that support for integrating with Schneider Electric chargers using Wiser Home is now in beta.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
Linking all your devices from one account? We removed the need for tediously repeating the login process in subsequent link sessions.
Users often own multiple energy devices from the same vendor. For example, home energy devices such as solar inverters, batteries, or meters are frequently purchased together as a package, with their API access managed under a single vendor account.
To improve the linking process of different devices under the same account, we have enabled the re-use of vendor authentication across different device categories. Users after the initial linking flow, are able to skip repeating the same step of entering credentials with all subsequent sessions with LinkUI automatically using the previously granted authorization of the vendor account. This reduces friction and enhances the overall user experience.
Released
Support for integrating with SMA meters is added.
SMA support is enabled by default. You can disable SMA in the enabled-brands
section under your Enode client.
Released
Support for integrating with SMA batteries is added.
SMA support is enabled by default. You can disable SMA in the enabled-brands
section under your Enode client.
Released
Customers can now fetch a list of origin IPs for Webhooks.
These IPs can be used for additional verification or allowlists. More in the Webhooks docs.
Released
BMW / MINI now supports the `Vendor sign-in` feature
Vendor sign-in
is now available for BMW and MINI vehicles for a more streamlined authentication flow.
Note that an SDK version of 1.0.2 or higher is required to use this feature in Android. For iOS, the minimum required SDK version is 1.0.0.
Released
Support for Integrating with SolarEdge batteries is added
The integration currently only enables Information capabilities for these batteries and does not allow controlling of modes. To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
We are removing the beta label from the vendor
The integration has been stable for several months. Micromatic HVACs can now be linked to all Enode clients without manual activation.
Released
Support for Integrating with Garo chargers is added
We are excited to announce that we added support for integrating with Garo chargers.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
Support for Integrating with SolarEdge meters is added
We are excited to announce that we added support for integrating with SolarEdge meters.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
Support for Integrating with Hyundai Bluelink vehicles in Australia is added
We are excited to announce that we added support for integrating with Hyundai Australia vehicles.
Released
Support for Integrating with Huawei batteries and meters is added
We are excited to announce that we added support for integrating with Huawei batteries and meters.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
Now supporting Dutch (Belgium) in the Interventions API and Link UI
You can now request a linking session with the nl-BE language code to present the LinkUI in Dutch (Belgium). To use this feature, set the language
attribute to nl-BE
when creating a linking session.
Additionally, interventions will now be available in Dutch (Belgium) as well. Similarly, set the language
query parameter to nl-BE
when fetching interventions to receive the resolution descriptions in Dutch (Belgium).
Released
Support for integrating with Ohme chargers is added
We are excited to announce that we added support for integrating with Ohme chargers.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
The new MyŠkoda app is now supported
Customers can now pick between MyŠkoda and MyŠkoda Essentials when linking their accounts. We expect Škoda to migrate their vehicles away from MyŠkoda Essentials.
Released
Newly created vehicles in Sandbox 2 can now be automatically linked
During the creation of a virtual vehicle you can now choose to automatically link it to a user. You can chose to link it to an existing user ID or let Sandbox create a new user ID for you automatically. This will save you time and make it easier to test your integration with Enode.
Released
Battery discharge limit added to battery information
The configured battery discharge limit is now available under chargeState.dischargeLimit
. This value can be used to determine whether the battery will discharge.
Released
Vehicle display names are now included in the Asset API
User-defined vehicle nicknames are now surfaced in our Vehicle Asset API under information.displayName
. These display names are easily recognizable by users and can be used to identify vehicles in your app.
Released
Ford is now only available through the Link SDKs
Ford vehicles can now only be linked using the Enode Link SDKs. This is because Ford has a new authentication flow that requires the use of the Vendor sign-in
feature in the Link SDKs.
Released
Support for integrating with Netatmo HVACs is added
We are excited to announce that we added support for integrating with Netatmo HVACs.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
Our spec is not yet fully compatible with popular OpenAPI client generators such as openapi-generator, but we are making progress towards that goal.
2024-05-16: Previously, code generated from our spec by openapi-generator and similar tools would attempt to pass pagination parameters as a single field
query param, e.g. ?field={"after": "abc"}
or ?field[after]=abc
, neither of which are accepted by our API. After removing explode: true
, code produced by openapi-generator is now passing pagination params correctly: ?after=abc&pageSize=50
.
2024-05-16: Ensured that all paginated endpoints correctly document their query parameters.
2024-05-21: Inlined nullable timestamps and HourMinute since allOf: [{ $ref }, { description }]
was not supported by openapi-generator.
Released
Support for Integrating with FoxESS inverters using Fox Cloud is added
We are excited to announce that we added support for integrating with FoxESS inverters using Fox Cloud.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
Support for Integrating with Tesla Wall Connector chargers is added
We are excited to announce that we added support for integrating with Tesla Wall Connector chargers.
To opt-in, please navigate to the enabled-brands
section under your Enode client.
Released
`about:blank` is no longer allowed as a redirect URI in Link UI v4
The about:blank
URI scheme is no longer permitted as a redirect URI for Link UI v4. This change is to prevent errors with respect to Tesla linking.
Released
Support for Integrating with Fronius Wattpilot chargers is added
We are excited to announce that we added support for integrating with Fronius Wattpilot chargers.
Released
Support for Integrating with Sol-Ark inverters is added
We are excited to announce that we added support for integrating with Sol-Ark inverters.
Released
Improved Cleanup of EV State When Plugging Out.
In certain situations our API to stop charging (POST /{assetCategory}/{assetId}/charging
) could delay future charging sessions due to flawed state. From now on, Enode will clear any such state when the vehicle is plugged out, ensuring that charging resumes correctly when plugged in.
Released
US support for Toyota and Lexus added.
We are excited to announce US support for Toyota and Lexus.
Released
Enode Link SDKs receive a major update and reach version 1.0
The 1.0
releases of both SDKs bring several improvements when linking through Enode:
For linking and pairing Teslas:
For linking Google Nest and Teslas:
Vendor sign-in
for better and faster authenticationWe recommend all users of Link UI v4 to implement the SDKs or upgrade from <1.0
versions.
Get the 1.0 SDKs from our documentation:
Released
Behavioral change for charge actions sent to unplugged assets.
Charge Actions sent to unplugged chargers and vehicles will now be rejected with a HTTP 400 Bad Request and no Action will be created. Previously, such Actions would be accepted with a HTTP 200 OK and then transitioned to a CANCELLED
state when asynchronously processed. Enode doesn't deliver Charge Actions to Vendor APIs when vehicles or charges are unplugged, and therefore, we believe this change better reflects how our platform handles such actions.
Released
Many integrations across different asset categories have become available by default.
With this update, we're taking 15 integrations that previously required an opt-in and are making them available by default. Unless they've been manually disabled in the Developers Dashboard, these brands will be available for linking in LinkUI. We do this periodically when we've determined that these brands are stable and reliable enough to be present in most Link sessions.
Note that the Meters and Batteries categories are still in Beta, and may see breaking changes in the future.
Released
Support for Integrating with Lexus vehicles is added
We are excited to announce that we added support for integrating with Lexus vehicles.
Released
Canada support for Hyundai, KIA and Nissan added.
We are excited to announce Canada support for Hyundai, KIA and Nissan.
Released
US support for Mitsubishi `kumo cloud` HVACs added. Fox ESS and SunSynk Inverters now in beta.
We are excited to announce US support for Mitsubishi kumo cloud
HVAC models. Additionally, we have expanded our inverter lineup by integrating Fox ESS and SunSynk.
Fox ESS and SunSynk are in beta. To opt-in, please navigate to the enabled-brands
section under your Enode client and activate them.
Released
Added beta support for 5 XPENG models
We added beta
support for 5 models of XPENG:
To opt-in, please head to the enabled-brands
under your Enode client and activate the vendor.
Released
State of actions transitions now quicker while maintaining confidence.
We have optimized the retry logic for actions, which enables Enode to terminate unsuccesful actions quicker. The exact timings and re-try logic depends on the vendor. Actions will now transition quicker from PENDING
to FAILED
or CANCELLED
while maintaining the same level of confidence.
Released
Fixed a bug where data was cached for too long, resulting in some responses containing wrong data. Fixed a bug where data returned from Growatt inverters had the wrong timezone. Added stricter input validation.
Endpoints |
---|
GET /users/{userId}/vendor-statistics (beta) |
GET /inverters/{inverterId}/vendor-statistics (beta) |
Inverter vendor statistics had a bug where stale data was returned. For example, if energy production for the current day (not yet finished) was requested, the initial value would also be returned for all subsequent requests.
This has been fixed, and real-time data (with in-progress buckets) will now be cached for a maximum of 15 minutes, instead of indefinitely.
Responses for Growatt inverters had an issue where data was aligned with the wrong timezone, and the data would be shifted by an amount that depended on the startDate parameter of the request. Due to this, we have invalidated all existing cached data for Growatt inverters, so that the correct data will be returned from now on.
Additionally, start dates must now start exactly at the beginning of an hour. Previously, it was possible to ask for an hour of data between e.g. 12:30 to 13:30, but this should not have been possible, and the results were unpredictable. Inverters with non-integer timezone offsets are not supported yet.
Released
Fixed a bug where HVAC devices reported misleading consumption data, and made Ford opt-in due to reliability issues with the vendor.
Due to reliability issues with the vendor, we have made Ford opt-in. Head to enabled-brands
in the settings to switch it on for your clients. Already existing connections are not affected, but to continue linking Ford, opting in is required.
HVACs falsely reported consumptionRate
as 0
even though it was unavailable on the device. This has now been improved and made more explicit:
null
.0
.actualValue
.Released
Webhook authentication is now available.
Customers can now configure header-based authentication on their webhooks. More details can be found in the Webhooks Guide.
Released
Bug fixes and UX improvements for our iOS and Android SDKs
The 0.10.0
releases of both SDKs bring several improvements when linking Teslas through Enode:
Vendor sign-in
which makes the authentication easier and fasterFurthermore, linking sessions using SDK versions 0.10.0+
also support Google Nest
.
Get the new SDKs from our documentation:
Released
Fixed a bug where some start dates were shifted further back in time, resulting in too many data points in the response.
Start dates not aligned with midnight (UTC), for example 2023-08-03T22:00:00Z
, were shifted to 2023-08-03T00:00:00Z
, causing the response to include too many data points. All resolutions were affected by this bug. This has been fixed and the start date is no longer shifted.
Fixed endpoints |
---|
GET /users/{userId}/vendor-statistics (beta) |
GET /inverters/{inverterId}/vendor-statistics (beta) |
Additionally, these endpoints are no longer locked behind a feature flag and are now available to all customers.
Released
Introducing new behavior and interventions when credentials become invalid.
Invalid credentials used to cause the automatic deletion of the underlying connected asset(s). From users we have learned that the vast majority of these deletions are involuntary. To address this, and help users to re-gain access to their asset(s), we no longer remove these assets from the system automatically and instead apply an intervention prompting the user to re-link their account.
In the event of invalid credentials or expired oauth authorization token:
user:credentials:invalidated
webhook event is sent.Re-link your {asset} to re-enable telemetry
intervention gets added and all capabilities become isCapable: false
.GET /users/{userId}
will return an array linkedVendors[].isValid
where isValid
indicates if credentials are valid.This change avoids data loss around the asset and users can now be guided through re-linking using the interventions.
Released
Introducing two new hardware categories: `batteries` and `meters`.
New Endpoint | Description |
---|---|
GET /batteries | List all available batteries |
GET /batteries/{batteryId} | Fetch detailed information about a specific battery |
GET /users/{userId}/batteries | List of batteries associated with a user |
POST /batteries/{batteryId}/operation-mode | Set the operation mode for a specific battery |
GET /batteries/actions/{actionId} | Retrieve info about a specific battery action |
POST /batteries/actions/{actionId}/cancel | Cancel a specific battery action |
POST /batteries/{batteryId}/refresh-hint | Initiate a manual refresh for battery data |
GET /health/batteries | List the supported battery vendors and their current status. |
New Endpoint | Description |
---|---|
GET /meters | List all available meters |
GET /meters/{meterId} | Fetch detailed information about a specific meter |
GET /users/{userId}/meters | List of meters associated with a user |
POST /meters/{meterId}/refresh-hint | Initiate a manual refresh for meter data |
GET /health/meters | List the supported meter vendors and their current status. |
These new hardware categories are currently in beta. Developers are encouraged to provide feedback and report any issues. Refer to the API referenceAPI for in-depth details and integration steps.
Released
Introducing endpoints to fetch detailed localized information for interventions.
The response contains general information as well as more detailed information about the resolution of the intervention. The resolution description is Markdown formatted and is available in language-localized versions.
Please refer to our updated Intervention guide and API referenceAPI for more detailed information.
New endpoint | Description |
---|---|
GET /interventions | Returns a list of all known interventions |
GET /interventions/{interventionId} | Returns a single intervention |
Released
Clients can now register and manage multiple webhooks.
Deprecated Endpoint | Description |
---|---|
PUT /webhooks/firehose | Replaced by POST /webhooks for creating a webhook and PATCH /webhooks/{webhookId} for updating a webhook |
DELETE /webhooks/firehose | Replaced by DELETE /webhooks/{webhookId} |
POST /webhooks/firehose/test | Replaced by POST /webhooks/{webhookId}/test |
New Endpoint | Description |
---|---|
POST /webhooks | Create a new webhook |
PATCH /webhooks/{webhookId} | Update an existing webhook |
GET /webhooks/{webhookId} | Fetch a webhook |
GET /webhooks | List all webhooks (paginated) |
DELETE /webhooks/{webhookId} | Delete a webhook |
POST /webhooks/{webhookId}/test | Trigger a enode:firehose:test payload to be sent to the webhook. This will reset your webhook to a healthy state on success. |
Old firehose webhook is still accessible through the deprecated endpoints as well as the new endpoints. Use GET /webhooks
to receive its id
to start using the new endpoints.
Released
Fixed a bug where some end dates were mistakenly "rounded up" to the next hour/day/year, resulting in extraneous data being included in the response.
/users/{userId}/statistics/charging
, /statistics/charging
, /users/{userId}/statistics/production
and /statistics/production
.DAY
resolution, an end date of 2023-08-03T00:00:00Z
was rounded up to 2023-08-04T00:00:00Z
.MONTH
resolution, an end date of 2023-08-01T00:00:00Z
was rounded up to 2023-09-01T00:00:00Z
.Released
One OpenAPI Specification per API Version
Going forward, we'll publish a separate specification file for each breaking change we release. As a result, each of the specifications will be simpler, as they don't have to include another version's schema. In addition, resource names such as Vehicle_2023_02_01
become just Vehicle
. The new specifications are available through our API. To see a specific version, replace the latest
argument with a version like 2023-05-01
.
Released
Removed invalid default property in VehicleFieldParameter
Fixed a bug in the OpenAPI spec where the default value of VehicleFieldParameter
was located inside items
instead of next to it, causing openapitools/openapi-generator
to fail. The intended default for fields
was ["capabilities", "smartChargingPolicy"]
. It's not necessary to specify these fields since they are always returned.
Released
This update brings new features to our vehicles and chargers APIs. The new fields will be available across all versions.
Introducing chargeState.powerDeliveryState
. This field represents the current power delivery state between a vehicle and a charger. For more information, see Get VehicleAPI.
Introducing failureReason
. This field provides more information about why was a given action not executed successfully. For more information, see Get Charge ActionAPI.
Released
Changes made to simplify smart charging considering phase.
wontStopExistingChargingSession
and likelyToGenerateSavings
are now deprecated will always return true.Released
This update brings a small quality of life improvement for re-linking vendors. The update is available across all versions.
Released
This update brings a few new features to our smart charging APIs. The updates will be available across all versions.
hasChargeAboveThreshold
smart charge consideration such that vehicles stop charging ScheduleAPI immediately, regardless of battery level. Previously the smart charging algorithm would wait until a vehicle reached 20% before issuing a stop command.Released
The first calendar version for Enode API. No breaking changes have been made. Existing clients are pinned to version 2023-02-01, and will use this version by default if no version header is sent.
Version 2023-02-01
is the same as before and has no breaking changes.
API endpoints now accept an Enode-Version
header. To prepare for future API versions you can optionally start sending Enode-Version=2023-02-01
.
Note: New clients will be pinned to the latest stable version at the time of creation.