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.
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/
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.