Integration Hub

Give Texture credentials to your energy systems and data sources — it handles polling automatically

Integration Hub is where you enter credentials for your energy systems and data sources so Texture can poll device telemetry, state, and performance data on your behalf — no manual exports or API calls required. Complete Bulk Import first to upload your portfolio, then return here to connect credentials.

Energy Devices#

Tesla PowerHub

Connect Tesla devices to monitor energy production, consumption, and status.

PowerHub Portal: https://powerhub.energy.tesla.com/

Prerequisites

  • PowerHub account with admin access
  • Texture IP addresses whitelisted (one-time setup — coordinate with your Texture team)

Setup

Step 1: Whitelist Texture IP addresses

In PowerHub, go to Access & Security → API Access and add the Texture IP addresses to your allowlist. The exact addresses are shown in the Texture Dashboard when you open the Tesla integration.

Step 2: Generate API credentials

In the API Access section, click Add Client Credential and configure:

  • Name: Something descriptive, e.g. "Texture Access"
  • Role: Writer for grid services control, Viewer for monitoring only
  • Expiration: Up to 1 year — note this date and plan to rotate credentials before expiry

You'll receive a Client ID and Client Secret.

Step 3: Configure in Texture

Go to Integration Hub → Tesla and enter your Client ID and Client Secret. Click Connect.

Note

Tesla credentials expire after 1 year maximum. Set a calendar reminder to regenerate and update them in Texture before the expiration date — expired credentials will stop data syncing without warning.

Grid Services: Enabling control operations requires coordination between Texture and Tesla. Contact your Solutions team before configuring grid services — they'll handle program ID setup, control permissions, and validation.

FranklinWH

Connect FranklinWH home energy systems to monitor battery and solar performance. FranklinWH uses partner credentials (CP and CK) issued to authorized third-party platforms.

Prerequisites

  • CP (Client Partner) and CK (Client Key) credentials from FranklinWH or your Texture Solutions team

Setup

Step 1: Obtain credentials

Request CP and CK credentials from FranklinWH. If Texture is managing your implementation, your team will provide these directly.

Step 2: Configure in Texture

Go to Integration Hub → FranklinWH and enter your CP and CK. Click Connect.

New device onboarding: Confirm with your Texture team how newly installed devices will flow in — some workflows require manual association, others sync automatically from the installer account.

Grid Services: Texture must register a program ID directly with FranklinWH to enable control. Your Solutions team handles this before program launch.

SolarEdge

Connect SolarEdge systems to track production and site performance.

Monitoring Portal: https://monitoring.solaredge.com/

Prerequisites

  • SolarEdge Monitoring Portal account with owner access

Setup

Step 1: Generate API key

In the SolarEdge Monitoring Portal, go to My Account → Company Details → API Access and copy your API key.

Step 2: Configure in Texture

Go to Integration Hub → SolarEdge and enter your API key. Click Connect.

API deprecation: This integration uses SolarEdge's V1 API, which SolarEdge is retiring in November 2026. Texture is migrating to V2 before that date — no action required on your end.

Grid Services: Texture must register a program ID directly with SolarEdge to enable control. Your Solutions team will guide you through program configuration.

Enphase

Connect Enphase energy systems using OAuth-based authentication through the Enphase developer platform.

Developer Portal: https://developer-v4.enphase.com/ Enlighten Dashboard: https://enlighten.enphaseenergy.com/

Note

Texture supports two Enphase connection paths with different credential requirements. Your Solutions team will confirm which applies to your account.

Monitoring API (standard) — for operators with a developer application in the Enphase Developer Portal:

Prerequisites

  • Enphase Developer account with an application created in the developer portal

Setup

Step 1: Get your developer application credentials

In the Enphase Developer Portal, open your application and note:

  • API Key
  • Client ID
  • Client Secret

Step 2: Configure in Texture

Go to Integration Hub → Enphase and enter your API Key, Client ID, and Client Secret. Click Connect.

Partner Plan (registered installers) — for Enphase registered installers. Requires an Enlighten email and password. Partner tokens are used for Grid Services; contact your Solutions team to set this up.

API costs: Enphase meters API calls and may charge based on usage volume. If another platform is already pulling data from your Enphase account, coordinate with your Texture team to avoid duplicate calls and double-billing. Texture does not absorb monthly Enphase API fees when you use your own developer account.

Grid Services: Texture must register a program ID directly with Enphase to enable control. Your Solutions team handles advanced control onboarding and validation.

SMA

Connect SMA inverters to monitor solar production and system health. Texture generates SMA credentials on your behalf.

Prerequisites

  • Authorization to share SMA data with Texture
  • Account owner email address

Setup

Step 1: Receive credentials from Texture

Your Texture Solutions team generates a unique Client ID and Client Secret for your SMA account and provides them directly.

Step 2: Configure in Texture

Go to Integration Hub → SMA and enter:

  • Client ID (provided by Texture)
  • Client Secret (provided by Texture)
  • Authorized account owner email

Click Connect.

Monitoring only: SMA does not currently support control operations through this integration.

Allowed System IDs#

All OEM integrations support an Allowed System IDs field that controls which sites in your OEM account Texture will sync:

  • * — sync all sites in the account (recommended to start)
  • Specific IDs — sync only listed site IDs (comma-separated)
  • Empty — Texture connects but syncs nothing

If you're unsure, start with * and refine later. An empty Allowed System IDs field is the most common reason data doesn't appear after a successful connection.


What to Expect After Connecting#

Initial sync: Allow 30 minutes to 1 hour for Texture to pull your full portfolio. Devices won't appear immediately after clicking Connect.

Ongoing sync: After the initial load, Texture maintains:

  • Device telemetry updates every 5–15 minutes
  • Real-time alerts and fault notifications
  • Automatic program enrollment updates
  • Up to 2 years of historical telemetry (where available from the OEM)

Custom polling schedule: If you need a specific polling frequency, you can set a custom cron expression (5-field, minimum 5-minute interval) when configuring an integration. Contact your Solutions team for help.

Where to find data: Synced devices appear in Devices, Sites, and Contacts, and are available via the Texture API. Set up Destinations to receive real-time webhooks as new devices are discovered.


Troubleshooting#

No data after connecting

  • If you left Allowed System IDs blank, no sites will sync — enter * or specific site IDs and reconnect
  • Wait the full 30–60 minutes for the initial sync to complete
  • Verify devices are active and communicating in the OEM portal

Credentials rejected

  • Copy the full credential string — extra spaces cause validation failures
  • Confirm the account has admin or owner permissions
  • For Tesla: verify Texture IP addresses are whitelisted

Sync stopped working

  • Credentials may have expired — regenerate in the OEM portal and update in Texture (Tesla credentials expire after 1 year)
  • Enphase API rate limits may have been exceeded
  • Check integration status in the dashboard — an "Error" status means Texture has lost access

Need help? Email support@texturehq.com with your organization name and integration name.