Span MAIN 40 (Gen3) Integration — gRPC-based, local-only, first Gen3 support

Hey everyone,

I built a custom integration for the Span MAIN 40 (Gen3) smart electrical panel and wanted to share it with the community.

Why?

I got a Span MAIN 40 installed and immediately wanted it in Home Assistant. The problem: the Gen3 hardware completely replaced the REST API with a new gRPC-based protocol. The existing SpanPanel/span integration (which is great for the older MAIN 32) doesn’t work — the REST endpoints return 502 on Gen3 panels.

So I reverse-engineered the gRPC protocol and built a new integration from scratch.

What it does

  • Real-time circuit monitoring — power (W), voltage (V), current (A) for every circuit
  • Main feed sensors — total household power, voltage, current, line frequency
  • Breaker state detection — binary sensors that show ON/OFF for each breaker
  • Dual-phase support — correctly handles both 120V single-phase and 240V dual-phase (dryer, range, etc.)
  • Config flow — set up through the UI, just enter the panel’s IP address
  • 100% local — direct gRPC to the panel on port 50065, no cloud, no API keys

On my 25-circuit panel, it creates 104 entities (4 main feed + 75 circuit sensors + 25 breaker binary sensors).

How it works

The Gen3 panel uses a gRPC trait system:

  • Trait 26 (power metrics) — discovered via GetInstances, streamed via Subscribe
  • Trait 16 (circuit names) — fetched via GetRevision
  • Trait 17 (circuit config) — used to detect single vs dual phase

The integration subscribes to the gRPC stream for continuous real-time updates — no polling.

Installation

Available as a HACS custom repository (HACS default submission pending):

  1. HACS → Custom Repositories → add https://github.com/Griswoldlabs/span-panel-ha as Integration
  2. Install “Span MAIN 40”
  3. Restart HA
  4. Settings → Integrations → Add → “Span MAIN 40” → enter panel IP

Compatibility

Panel Works?
MAIN 40 (Gen3) Yes — full support
MAIN 32 / Gen2 No — use SpanPanel/span instead
MLO 48 Unknown — if you have one, I’d love help testing!

Links

Looking for testers

If you have a Span MAIN 40 Gen3 panel, I’d really appreciate you trying this out and reporting any issues. And if anyone has an MLO 48, I’m curious whether it uses the same gRPC protocol.

Happy to answer any questions!

Thank you for building this! We have specified a Span panel for my home so I’m excited to see the newer generations can integrate with HA.

OMG… I wanted this sooo bad… you can’t imagine how many calls I had with SPAN and long waiting for their release of an API… I just came across this by pure chance as I was trying to collect more information to start doing something… I didn’t read anything you posted yet…but this is me after reading that you reverse engineered it.

I’ve the Span40, I want to help I’ve some experince with programming. My SPAN40 is connected wirelessly but I don’t have the port 50065 open or responding. the ping is working normally and I’ve the panel set to fixed IP on my pfSense. any help?

This was updated recently:

Update — Span disabled gRPC access in firmware 7.2.0

Hey everyone, unfortunate update here.

About 4 days after I posted this integration, Span pushed firmware 7.2.0 to Gen3 panels which intentionally disabled gRPC access. The
port changed from 50065 to 50058, and all gRPC methods now return UNIMPLEMENTED. REST still returns 502. So as of 7.2.0, there is no
local API access at all on Gen3 panels.

Span’s official statement was that the “gRPC service was unintentionally accessible” and they “deployed a release to remove access to
this gRPC service from any external network” — with “external” meaning your own home LAN.

So to be clear: if your panel has updated to 7.2.0, this integration no longer works. If you’re still on an older firmware and it’s
working — I’d strongly recommend blocking OTA updates if you can.

Where things stand now:

  • Span has announced an official local API (SPAN API + SPAN Home On-premise) but it’s only available on MAIN 32 right now. Gen3 support
    (MAIN 40, MLO 48) is slated for H2 2026 — so months away at best.
  • All undocumented local access methods are being deprecated December 31, 2026.
  • There’s active work on PR #169 in the SpanPanel/span repo to upstream Gen3 gRPC support, but that’s obviously blocked by the same
    firmware lockdown.

It’s frustrating. We had full local monitoring working — real-time, no cloud, no polling — and it lasted 4 days. I understand Span wants
to control their API rollout, but locking out local access on hardware people own and installed in their homes is a tough look.

I’ll keep the repo up and update it if/when local access becomes viable again — whether through Span’s official API or community efforts.

This is my official complaint… I’m not sure if we can get some momentum to this but this what I came up with!

To:
[email protected]
[email protected]
[email protected]

CC:
[email protected]
[email protected]
[email protected]

SPAN Management and Legal Team,

I am writing to formally document a consumer complaint regarding my SPAN smart electrical panel.

The device was installed in 2025 at my residence in Texas through an authorized installer (------------). I did not sign any direct contract with SPAN.IO.

Product Information

SPAN Panel Main 40 + MID
Serial Number: --------------
Software Version: 7.2.0

The panel performs energy monitoring and circuit control through the SPAN mobile application. However, several critical capabilities that would reasonably be expected from a smart electrical panel appear to be restricted.

Primary Concerns

Local Control Restriction

The panel cannot be accessed or controlled locally without internet connectivity. All monitoring and control functions depend entirely on SPAN’s cloud platform.

Data Access Limitations

The application displays circuit-level energy consumption. However, the only available export is a low-resolution CSV file that must be manually requested through multiple steps within the mobile application and is delivered by email.

High-resolution telemetry required for meaningful automation, diagnostics, and analysis is not accessible to the homeowner and cannot be retrieved locally without internet connectivity.

The device clearly measures detailed circuit telemetry because that information is displayed within the SPAN application, yet homeowners are prevented from accessing that data directly.

Smart-Home Integration Blocked

My home uses Google Home and Home Assistant automation platforms. These systems cannot integrate with the panel because SPAN does not provide a local API or supported integration interface for this model.

Community developers previously demonstrated local monitoring using the panel’s gRPC interface. According to the Home Assistant developer discussion, firmware version 7.2.0 disabled that local access capability.

Reference:
https://community.home-assistant.io/t/span-main-40-gen3-integration-grpc-based-local-only-first-gen3-support/987697/8

Automation and Safety Limitations

Because the panel cannot receive commands from local automation systems, several safety and energy management automations cannot be implemented. Examples include:

• water-leak sensors automatically disabling affected circuits
• gas-leak sensors triggering electrical isolation
• smart-home systems controlling specific devices based on circuit consumption data

These are common use cases within modern smart-home environments.

Installer-Only Configuration

Certain configuration tasks require a SPAN authorized installer and proprietary installer tools.

I recently paid for a service visit solely to configure communication between the SPAN panel and my Tesla Powerwall despite already completing the physical wiring.

During installation I also had to correct several wiring and termination issues left by the installer.

Evidence

I have retained screenshots from SPAN marketing pages describing the product as a smart electrical panel capable of circuit-level control and energy monitoring. I also have email correspondence with SPAN support confirming that local API access is not supported for this model.

**Consumer Rights Concern**

The limitations described above raise concerns regarding whether the operational restrictions, data access limitations, and cloud dependency were clearly disclosed prior to purchase. Because this device is marketed as a smart electrical panel with circuit-level monitoring and control capabilities, the inability for the homeowner to access telemetry data locally or integrate the panel with standard smart-home automation systems may materially affect how the product can be used within a residential energy management environment.

Requested Resolution

I respectfully request the following:

1. Access to circuit-level telemetry at a usable resolution
2. Adocumented local interface or API for monitoring and automation
3. Clarification regarding homeowner access to device-generated energy data
4. The ability for the device owner to manage firmware updates and software control features

This complaint has also been copied to the Texas Attorney General Consumer Protection Division, the Texas State Board of Professional Engineers, and the Federal Trade Commission for documentation purposes.

I would appreciate a written response within ten (10) business days describing whether these capabilities can be made available to the homeowner.

Regards,

So sad. I just had SPAN MLO 48 installed to be able to monitor my consumption in Home Assistant and now I realize there is no integration. Has anyone had any luck integrating it with Home Assistant somehow?

And chance you ‘d recommend an electrician in the Bay Area?

This integration is currently on hold as SPAN is supposed to be releasing a Local API in the later half of this year. The consensus has been that it's not worth the time to invest in a work around for the short time being when a premiant solution appears to be around the corner.

Curious if you got any sort of traction on your email. I did the same thing and had some back and forth with their legal team but essentially they gave me the shaft. Short of hiring a class action attorney I reached a dead end. I did however submit my withdrawal from arbitration as per their TOS and retained my right to pursue damages outside of arbitration should I be so inclined.

I also attempted to become an authorized installer and SPAN wasn't interested in granting me authorized installer access unless I wanted to waive all warranties and rights to my brand new panel. I agree with you that I believe this violates right to repair laws and many states laws regarding ability to work on your own home.

Just as you did, I also retained videos and marketing materials where SPAN's own marketing touts this panel as being "Homeowner Friendly" in case this ever need to be pursued.

I have a feeling all we need to do is find the right class action attorney to get these issues resolved (non-local access, right to repair, network/data security and privacy concerns, etc.). There are many issues that need to be addressed with this company and product. The non-disclosure alone that purchasing and using your SPAN panel as marketed voids your rights as a homeowner to work on your own electrical panel and retain the advertised features I believe would null and void the contract that everyone agreed to anyways as it effectively doesn't disclose the proper and full TOS you are agreeing to, thus not giving you the ability to have the capacity to enter into that agreement in the first place. Meaning that all persons who have purchased the panel are able to participate in the class action suit should one ever be filed. :wink:

seems like this API is now* available based on a very cursory search?

is anyone working on an integration leveraging this?

well, I see now that it’s only functional for the MAIN32. I’m on a MID40 so I guess I’ll also be waiting for the second half of the year

@snicker yep, you’ve got it exactly right. The repo’s real, but it’s a MAIN 32 public beta for now, and everything newer is on the “second half of
2026” list. So you and I are in the same boat on the 40.

Worth adding for context: that official API is the on-panel MQTT broker (eBus / Homie), which is a different animal from the gRPC interface my
integration used. SPAN closed the gRPC path in firmware 7.2.0 (the update I posted about above), so there’s no undocumented route left either. The
MQTT one is the path forward, we just don’t have it on the newer panels yet.

I pinged SPAN support this week to ask about early access on mine, and the answer was friendly but empty: no date or timeline, but they said they’ve
logged my contact and will reach out if an early-access window opens. So there’s genuinely nothing to build against on a 40 today.

On integrations: the community SpanPanel/span on HACS covers the MAIN 32, and there’s nothing for the newer panels until SPAN turns the API on for
them. I’ll pick my Gen3 work back up the day it lands on the 40 rather than chase another workaround for what should be a short gap.

If you want to make some noise about the newer-panel timeline, the repo (GitHub - spanio/SPAN-API-Client-Docs: SPAN API Client Documentation · GitHub) asks that questions go
through GitHub issues rather than SPAN support, so that’s probably the most visible place to register interest.