Integration with Span?

The code / fixes / features that were in the custom SpanPanel/Span repository, which many of you migrated to, are now merged into the default HACs repository which itself has moved to the SpanPanel GitHub org where the custom repository is hosted. So if your’e looking at SpanPanel/span, you are looking at the default HAC’s repository with the custom repo code. The custom repository was renamed to SpanPanel/SpanCustom

The practical implication is that the custom repository will be retired over time and folks can revert at the their convenience to the default HACs SPAN listing. But before you do

There is one caveat and that is if you have been using the custom repository you may have noticed that we added a feature to support mass renaming due to “span_panel” being prefixed to every entity name on new installs. Existing installations using the custom repo that did not have the ‘span_panel’ prefixes on entities were left as is to avoid breakage in dashboards, etc when they upgraded.

If you uninstall the custom repository and install the default you will get device prefixes in your entities (and the ability to rename a device and its entities) but you’ll need to fix up any references during migration.

There is a workaround to keep the old entity names if you don’t want to fix them up and to get back to the default repo but again you won’t have the mass rename capability:

  1. Without uninstalling the custom repository or removing the SPAN config install/download the default HACs SPAN repository latest version (22 stars) which is effectively the same as 1.0.4 of the custom repo (33 stars). When you download the default you are overlaying the files over the top of the custom repo files.
  2. Reboot HA and you’ll see version 1.0.6 for the default HACs SPAN integration
  3. Remove the HACs custom repository entry only (not the SPAN integration config) using the 3 dots in the upper right of the HAC’s screen ->Custom Repository.

Greg and I worked hard to combine these repositories as just good business for the community.

1 Like

Thank you for the heads up and the work to consolidate to the official repo. I do have a question though: when you say install/download the default HACS latest version, do you mean through the UI, or just downloading the custom_components/span_panel directory from the repo directly? It doesn’t appear there is a way to do it from the UI, so I just wanted to make sure.

Yes download the default Span Integration with HACs UI.

If you go to HACs and just search for Span the default will show up in the “available for download“ section if you haven’t already downloaded it. There is only one default.

If you already had the custom repository installed it would show up in the downloaded section.

Overlaying the default (using the UI) on top of the custom the allows you to remove the custom repository with the HACs UI three dots

Thank you!

I downloaded, installed and restarted HA without uninstalling the previous custom version. I am not sure about the step 3 on going to the 3-dots in hacs UI and custom repositories. When I do that I see a dialog box to add a repository. Can you please post a screenshot of what your step 3 involves? Thanks

@Raghu, you’re right, they may have changed the way that works. Instead use the search box in HACs to list SPAN repositories in the downloaded section (expand it) and find which is the custom repository. If you have both repositories installed you’ll see two and you can check for the repository details to find the custom repository. Once you’re sure you have identified the correct custom SPAN repository you can remove it and the default will stay intact.

When I search for span in hacs, I see only one listed. Selecting that I see v.1.0.6a in the page describing this integration.

When I go to devices & services in settings, and select span panel, I see 1.0.6 and “custom integration’.

I assume that I have one span integration and nothing more to do.

Which sensor represent Solar production and Grid consumption ?

Yes @rraghu it seems you only have the default SPAN HACs repository installed. Custom repository is a bit of an overused term as any HACs repository is considered “custom” to HA.

Great, thanks

Hi @omegah3 please see this discussion and if you have further questions I’ll try to answer them.

I noticed a huge drop in power across all of my span circuits both consumed and produced (solar) around 1pm pacific today. Is anyone else seeing something similar? Any explanation for why the huge drop exists? This messes with all of my data for the day/week/month, etc.

It suspiciously looks like an unsigned 32bits counter wrap. Nothing to worry about.

Home Assistant already supports energy reporting with Matter. I’d seriously consider a SPAN panel if they would do a Matter energy reporting feature rather than a proprietary API. Matter would allow them to implement one matter reporting endpoint per circuit breaker, allowing each breaker to report individually. If anybody is in contact with them, consider urging them in this direction rather than a proprietary mechanism.

1 Like

I actually hope they don’t go that route, at least for a while. The pace of feature development on the SPAN is already slow, and if you then have to add in Matter certification for each release we’d be lucky to get 1 new feature per year.

SPAN the company may not be all that focused on consumer (utilities, cloud, builders may be more their core). I have no insight, just parsing. In truth they might be just as happy if you were to log into the utility to see your stuff.

It’s relatively easy to get reporting from HA without Matter so that wouldn’t be might biggest concern.

Matter is great for consumer level IOT. Simple controls seem like Matter but then there is always HomeKit in HA too. At least in my world, HA is useful for centralized automation and reporting that don’t have much to do with Matter really but both are useful in their own.

If one wanted Matter for some entity one could do for SPAN what Shelly did as a short answer - build out Matter with toolkits like Luligu/Mattebridge but it’s work. :cold_sweat: It would have to be worth it.

Anyone having issues with the integration not coming back after the Span panel receives an update? With the last two updates my Span generates a 500 error for the circuits API endpoint after and update. Last month mine didn’t come back up successfully after the update from spanos2/r202446/03 to spanos2/r202502/06. They updated to spanos2/r202506/02 a few days ago and I had the same issue. Had to call in to Span and have them reboot the controller in the panel.

Yes I had this issue. The Span app could also not control circuits. Span had me reboot the panels by flipping the main breaker and then my panel refused to come back online at all and span had to remotely fix the issue

I’m pressing the open/close panel three times and the lights are flashing, but it’s returning a 422 from a manual curl command. Just had the panel installed, version is spanos2/r202502/06. Am I doing something wrong? I must have tried this a dozen times.

$ curl -X POST  192.168.3.25/api/v1/auth/register  -H 'Content-Type: application/json' -d '{"name": "home-assistant-123456", "description": "Home Assistant Local SPAN Integration"}' -v
*   Trying 192.168.3.25:80...
* Connected to 192.168.3.25 (192.168.3.25) port 80
> POST /api/v1/auth/register HTTP/1.1
> Host: 192.168.3.25
> User-Agent: curl/8.7.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 89
>
* upload completely sent off: 89 bytes
< HTTP/1.1 422 Unprocessable Entity
< Server: nginx
< Date: Fri, 14 Mar 2025 04:01:22 GMT
< Content-Type: application/json
< Content-Length: 78
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host 192.168.3.25 left intact
{"detail":"Must provide one-time-password, dashboard password or door-bypass"}%

BTW, thank you for all your work ont his!

Did you forget the https:// before the ip? Also, you don’t need the token (it’s optional), you can use the other method of just using the door to authenticate unless you want to re-register using the same token repeatedly.