Integration with Span?

Good morning, David, @SPAN-Shoop thank you for taking feedback. Below is an open letter to you and all of your executive team. Lets address your points in order. First im going back to your first note:

My pleasure - SPAN is currently the only offering out ther ethat is using industry standard (HomelineQO) breakers and the solution doesnt quit working if you go out of business. Not that we want that to happen - but itā€™s THE REASON I went with SPAN over the competitors. FOLLOWED closely by the fact that I can access the panels locally to get data.

Seriously. THIS IS NOT AN UNDERSTATEMENT. This should be considered table-stakes at this point and honestly, Iā€™m surprised at this age that ANYONE would even consider not having this access as an option. Let me restate this. I bought the panel from SPAN BECAUSE I can access the data locally - if this is not true. THEY COME OFF THE HOUSE TOMORROW because they are useless beyond being a load control center. These features you mentioned are not considered ā€˜easter eggsā€™ by the community. (Iā€™d suggest you consider alternative taxonomy here)

This is fine and to be expected. Communication is fine. What SPAN needs to do for the community here are twofold:
ALL updates should be well documented and posted in a location accessible by clients.
The software should allow the end user the ability to delay an update for a reasonable amount of time.

Love or hate it - Windows supportability / update is a good model to follow. Your software is GUARANTEED to be supported out of the box for X years from date of purchase. We support Current - Y number of versions, and updates come out on Z schedule.

Fantastic. But if Iā€™m spending money on development - then auth and config are literally the only two things Iā€™d put in that UI. Think of it like your home router - How often do you WANT to be in the router UI? I like the simplicity of the 3x button press (only suggestion here is add a picture telling the user where the button is.)

Not a problem and easy to deal with once you know itā€™s happening. Problem - some of us have one or more panels outdoors - that presents a challenge during inclement weather. Would prefer the panel to support some kind of long term auth token that persists. It doesnt have to be permanent it just has to be PREDICTABLE. (Click here to get a 2 yr access token you can use in your REST API calls)

This is a simple discussion about your user base. We are early adopters in the HA space and have enough disposable income to spend the early adopter penalty for what should be base infrastructure because we want to push the tech ahead. We want information. and youā€™re talking to HA users so we value LOCAL control of our information over all else. Weā€™re not afraid to get our hands dirty - I will repeat my sentiment above. The MOMENT I cannot access this data from the panel it comes off the house. PERIOD.

I will be happy to provide any and all feedback wanted to make it a stellar solution.

Now the current asks:

Data soverignty. Itā€™s my data. I should be able to do what I want with it.
Material Posession: Itā€™s MY GEAR I should be able to do what I want with it.
This should not be a matter of want/need - itā€™s base functionality. TH e gear does it. I get it. plain and simple. Letā€™s not start talking about BMW and their attempt to get people to pay for heated seats as a software upgrade when the heaters already exist in the vehicle, shall we. Not allowing access - feels like that.

But what do we DO with it?
First dashboards: (Least useful, but good for glance information:)


As you can see with a little understanding about electrical circuits you can start to get load information and have the panel tell the user whatā€™s happening. In the image below - the ā€˜guest bedroomā€™ is a 20a circuit. Based on that and itā€™s a NA standard 110,Ohms Law tells me everything I need to know about the circuit capacity and I can build my dashboards to color code and warn accordingly. (For instance >1300w on the circuit is now orange)

With the right controls I can also turn on and off the circuit if allowed by the configuration.

BUT weā€™re talking AUTOMATION not just pretty interactive pictures. so lets explore what we DO with it.

The washing Machine
My FIRST automation (I did it WHILE the installers were finishing my panel install) was this:

In HA parlance - those Washer / Dryer entities are template sensors that read the power coming off my devices. You can ABSOLUTELY tell what an appliance is doing based on itā€™s power use:


So with this info, you can build a trigger that knows when the wash started, when the load finished and send alerts.

Add the Dryer
BUT letā€™s not stop there. Did the dryer start? Did the dryer start within 30 minutes of the washer load complete? Ok weā€™ll make a bet that we just moved the load into the dryer, and weā€™ll go ahead and clear the wash started alert for you because the home is smart now.

Morning coffee.
I know exactly what breaker my coffee maker is on. If that breaker lights up with a certain pattern between the hours of 0600 and 0800 - Guess what, we made coffee! For whom? Now, letā€™s look back at the bed sensor and see if Iā€™m being lazy and slept in and check the presence info to see whoā€™s home. If Iā€™m home, AND not in bed AND this coffee trigger just firedā€¦ GO ahead and run Alexaā€™s morning routine and home report - Iā€™m in the kitchen with a cup of coffee and Iā€™m ready to hear how many batteries need to be replaced todayā€¦

I can now track EVERY SINGLE ELECTRICAL UTILIZAITON in my home with reasonable assurance I know what it was and when it happened. I can build triggers and routines to make my familyā€™s lives easier. This is way beyond looking in an app to see how much power I used and the true power of Home Automation - AND THIS is what your clients want these panels for.

I get that the company is looking for monetizaiton opportunities beyond what I put in the initial purchase (Ask Smartthings about how hard it is to operate a cloud service without recurring income, then take a look at their current efforts to exit from thatā€¦) - but those need to be value ADD experiences. You guys go ahead and run AI models on the backside and tell me about early warnings about compressors failing, etc. Iā€™ll pay a few bucks a month all day long to have that service. But I need the scenarios I listed above thatā€™s WHY I bought your panels, and THOSE trigger conditions donā€™t work well with Internet induced lag. (Just ask the CSA about WHY the Matter spec needs to work locally)

LIVE, LOCAL, Realtime. Itā€™s what your clients want. Everything else is flash and nice to have.

11 Likes

Iā€™d like to completely agree with everything that Nathan just posted.

And Iā€™ll add one thingā€¦ All those SPAN features that are currently listed as ā€œComing Soonā€, including all the features on SPAN Drive that SHOULD HAVE BEEN available at release can easily be coded by a third party who has access to a working API.

You have a whole world of coders out here, many of which are better at it and more creative than than the people you are currently employing, and these volunteers will do it for free if you just give them the tools.

4 Likes

I second Nathans posts.
My primary interest is to lower my overall power consumption and optimize my home for battery extension time during power outages. Especially with power outages, there is a good possibility of not having internet access either so local access to SPAN is essential!
While I understand this is a HASS forum, my software works in conjunction with HASS.
It uses the data from my SolarEdge system and my LG Battery Backup. Integrating this data with the data I get from SPAN I can fairly accurately predict my ā€œTime on Batteryā€ as seen here:

Each of my breaker has its own power management (right side):

Not only can I set a specific battery percentage for each breaker, I can also postpone the breaker shut-off if there is critical load on it. For example baking a pizza or working on my computer. Only if the load falls below a certain level, the breaker is allowed to turn off. The SPAN app only allows ā€œnice to haveā€ and ā€œMust havesā€ - which I find not enough control.

You can also see warning and error levels on the load that send alerts (and posts them to my Discord ā€œHome Logā€) if the load exceeds those levels.

And lastly I am recording the load levels on each of my breakers in a long-term historian with Grafana as the visual front end. My goal here is to detect load ā€œleaksā€ similar to what Nathan is doing with this dryer. If there is a trend in power consumption of a load, there might be a bad appliance on that breaker and my system can warn me of these situations.

Another scenario is power optimization when running on Solar. My house supports a ā€œPower Saver Modeā€ similar to what Smartphones have these days. If I want to conserve (Solar) power I can turn this power saver mode on and it will turn off certain breakers that might have some idle power loads (XBox and TVs are devices that want to be ā€œalways onā€ and sometimes draw a surprisingly high amount of stand-by power). In this mode my dryer and washer would be off as well.

All this requires
a) local access to the SPAN Data
b) much faster intervals of data a cloud could ever deliver

To answer your question on " What data do you want\need from your SPAN Panel?

My SPAN system has support for my SolarEdge and Battery installation. Unfortunately the local SPAN API do not provide this information as of now. This is something I really like to have. SPAN is using the only Modbus port on my SolarEdge inverter so that I cannot access it directly - it would be nice if SPAN provides the information it reads from SolarEdge via its Local API.

In the current JSON there is a ā€œproducedEnergyWhā€ field per circuit, which surprisingly is not zero in my installation. I am wondering if this is already measuring energy flowing from a load back to the panel?

Also what are these two booleans:?
ā€œisSheddableā€: false,
ā€œisNeverBackupā€: false

For now I am happy the local API exists and hope it will be extended in the future.

As Nathan said - local access is an absolute MUST for mission critical devices in a smart home.

3 Likes

@muenchris - thanks for the feedback. Letā€™s see if I can answer a couple questions for you on the flip side.

Regarding this:

My SPAN system has support for my SolarEdge and Battery installation. Unfortunately the local SPAN API do not provide this information as of now. This is something I really like to have.

Are you looking for the available battery charge represented as a whole number percentage? Perhaps something like this:

$ curl -X 'GET' \
  'http://LocalIpAddress/api/v1/storage/soe \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer MyLongAuthToken'

200 response schema:

{
  "soe": {
    "percentage": 0
  }
}

Regarding This:

Also what are these two booleans:?
ā€œisSheddableā€: false,
ā€œisNeverBackupā€: false

1. isSheddable - returns ā€œTRUEā€ or ā€œFALSEā€. Load shedding is a process of turning off loads in effort to reduce power consumption. For example, when used with a battery backup system, circuits may be turned off as the percentage of the battery system decreases. This field, set by the electrician during install, would be set to ā€œTRUEā€ if the circuit can be shed, or ā€œFALSEā€ if the circuit can not be shed. Typically a circuit containing the equipment for internet connectivity is set to ā€œFALSEā€ to avoid connectivity between the SPAN Panel and the SPAN service whereas all others are set to ā€œTRUEā€.

2. isNeverBackup - returns ā€œTRUEā€ or ā€œFALSEā€. When the SPAN Panel is used in conjunction with a battery backup system or generator, circuits may be configured with that system. The electrician will set this value per circuit, depending on the capability of the backup system and input from the homeowner. For example, if the current draw from a circuit exceeds the capability supported by a backup system, the electrician would set this field to ā€œFALSEā€ - such as an AC unit with a single Tesla Power Wall. However, if the backup system supports the potential load from the circuit, the electrician would set this field to ā€œTRUEā€ - such as an AC unit with two or more Tesla Power Walls.

1 Like

@NathanCu - Youā€™re response is AWESOME and exactly the type of feedback that I am looking for!

I wanted to take a moment and respond to a few things you surfaced in your reply.

  1. ā€œALL updates should be well documented and posted in a location accessible by clients.
    The software should allow the end user the ability to delay an update for a reasonable amount of time.ā€
    Response - Have you seen this, https://support.span.io/hc/en-us/articles/4405983002519-Software-Updates-. There is room for improvement, but the software updates are being reported publicly. I like the idea of the user getting a notification (via the mobile app and local API) and having the choice to upgrade at a later time if desired. Going forward I think what you might see is more of a fixed cadence of updates for the panel (e.g. quarterly). Some of these updates might include critical fixes that may require an update without user acceptance while others could be updated X days later. Let me provide this feedback to the team.

  2. Web dashboard - Fantastic. But if Iā€™m spending money on development - then auth and config are literally the only two things Iā€™d put in that UI. Think of it like your home router - How often do you WANT to be in the router UI? I like the simplicity of the 3x button press (only suggestion here is add a picture telling the user where the button is.)
    Response - Iā€™d agree that your routerā€™s webpage is probably the last place you want to spend your time, unless you are in there for a very specific use case that can only be serviced through itā€™s UX. With respect to local APIs and a web page, my goal would be to separate these 2 products. Iā€™m not convinced that I need to have a webpage to manage API access. Letā€™s see where we take that in the future.

  3. Proof of Proximity - Not a problem and easy to deal with once you know itā€™s happening. Problem - some of us have one or more panels outdoors - that presents a challenge during inclement weather. Would prefer the panel to support some kind of long term auth token that persists. It doesnt have to be permanent it just has to be PREDICTABLE. (Click here to get a 2 yr access token you can use in your REST API calls)
    Response - You bring up a few good points to consider here. The first, using the door as a POP check. As someone who grew up in Chicago I can imagine you headed outside to open an close that door 3x after 18" of snowfall. I can appreciate the possibility of managing keys and potential users through the mobile app as an alternate. Second, the duration of the auth tokenā€¦ I agree that there is a balance between duration and ability to renew the token that should be considered.

  4. Spurring innovation - Iā€™m a proponent of local API access for many of the reasons you mention, although I love the idea of doing so to spur innovation. By enabling customers access to read the data and control the functionality of the panel we unlock creativity beyond what we dream up.

  5. Your Dashboards and Use Cases - Thanks for sharing those - its always great to see what our customers will do and what use cases they will unlock. Who knowā€™s maybe some of the visualizations, or features may be included in a future version of the SPAN app :wink:

3 Likes

@NathanCu, @muenchris, @DougLorenz Gents - did you see this information regarding registering\deleting clients and obtaining auth tokens on GitHub? You may find it useful :wink:

1 Like

Will DEFINITELY read and comment.

Thanks David.

Also Iā€™m finding a Bayesean sensor is becoming my new best friend for SPANā€¦

Merry Christmas

1 Like

Iā€™m having Tesla solar and Powerwalls installed soon and this is definitely on my radar. Iā€™m very happy to see Shoop here, it really gives me hope for the future. I have already finalized my designs and am waiting on permits but if SPAN keeps going in this direction Shoop will have sold me on it.

Kudos to you, David, I am watching this closely because this is a stats nerdā€™s dream. The app looks great (I did the demo!) but being able to automate SPAN with Home Assistant is absurd, next-level stuff. Also, having a local method of control is one of my requirements for purchasing any critical device such as this because I want it to work in all circumstances, including the (hopefully unlikely) event of SPAN stopping support or shutting down.

Ideally, Iā€™d be able to control circuits from within Home Assistant. When that becomes a reality, I will seriously entertain a SPAN installation.

1. Tell me why you need\want local APIs.
I want to control every circuit in my home based on different conditions. I love the current SPAN setup of Must Have/Nice to have/non-essential but itā€™s not granular enough. I would be controlling circuits constantly. One example would be my exterior power outlets. Right now, I have a ZigBee plug for my Christmas lights but if I could shut the circuit off at midnight that would go away. I would also love to shut my exterior outlets off unless my garage is open or some other superfluous condition as I have had people steal power from me in the past.

With the app Iā€™d be able to see power usage when Iā€™m not home but that would require me checking manually. With an API, I could set power thresholds for circuits or rooms in Home Assistant and act on them either with automations or by receiving actionable notifications on my phone, such as if nobody is home and a stove burner, iron, or hair curler, is left on.

Iā€™m probably a special case but I use ZigBee outlets with power reporting currently and turn the outlets of several devices off if the power usage is between a certain threshold after a period of time. As an example, mine and my wifeā€™s PCs. We both have two monitors and a TV and several devices plugged in so the vampire drain is relatively high. When my wifeā€™s mouse and headset stop charging the draw is at a static amount and I know I can safely shut off her outlet. I would do this for multiple circuits in my home. It may seem small but 30-50 watts of wasted hourly power add up quickly over time. As an avid hookah smoker, I also have a smart outlet on my dedicated coconut charcoal burner and different automations (ā€¦yes, Iā€™m seriousā€¦) based on time and power draw to send a text-to-speech message throughout my home, for example when itā€™s time to flip them over or when they should be done. The outlet also turns off automatically if we forget about it being on for safety.

While it would be overkill, I would shut off many circuits in my home when nobody is present and I have multiple sensors in Home Assistant to detect this very accurately. My electric bill just went up almost 30% and every little bit helps.

2. What data do you want\need from your SPAN Panel?
Getting current measurements is really all I would need. I think you guys have a great setup with the historical data, letā€™s not reinvent the wheel here. The app is not rendered obsolete with an API.

I think the biggest hurdle would be defining when to override API commands with APP commands or schedules. For example, a circuit was turned on by the API but itā€™s in the non-essential group. What do you do during an outage? Turn it off again?

The simplest solution would be an option to disable cloud management and allow local control exclusively, putting the burden on the user to automate it exactly as they want. I realize this isnā€™t the product youā€™re selling, but it would open up SPAN to a new subset of users that only want locally controllable devices. Personally, Iā€™d want a hybrid solution.

3. Pictures are worth 1000 words.
Home Assistant supports energy monitoring/dashboards natively now. I donā€™t currently have the ability to do this but I would create a dashboard for each floor of my home and list the power details for them by room, on top of having controls for lights/fans/outlets/etc. Truthfully, I donā€™t want to open an app to see this data. Having it on a dashboard I view regularly would mean it gets seen far more often.

Would be REALLY cool seeing the power usage for a room updating immediately after activating or deactivating a device in said room all on a single dashboard.

6 Likes

Thanks David, so far this has been a relative breath of fresh air when it comes to conversation and openness from a manufacturer to customer. Knowing there are people fighting within the company to prioritize API improvements and local control is encouraging, and I am sure at least some of your product engineers are also automation enthusiasts with HA in their homes already.

A few above have already stated my thoughts way better than I could have, so I will just agree with them by adding full local control, and openness on when updates happen and what has changed.

If key functionality were to ever to be removed or local control abandoned I will either pay a team to reverse engineer the Linux system behind the panel for custom firmware or rip it right out of the house. I am the owner and retain control of my house, no outside entity besides my local township will ever have any other say on this.

If there were substantial gains and insight (AI or otherwise) on a value-add basis then I would consider support on this on an opt-in basis, but it would never remove support that could done locally.

ā€”ā€”

Circuit Control: A feature that is currently locked to company alteration only is circuit breaker changing. This should not be locked or dependent on either a certified Span installation electrician or direct contact with Span support to change breakers in our box. Whether itā€™s a non-trained Span installer electrician or the home owner themselves, we should not be dependent on you to do this. The whole design is the ā€œfrontā€ of the box is a standard breaker panel so any electrician will know how to deal with any changes that may need to be made as houses grow and change. Having to contact Span after any change is made goes against the face on us owning our own hardware. Also, what happens if Span closes their door tomorrow? We would forever be locked into one circuit profile forever.

I canā€™t even make much sense on this decision. For initial installation I can see the protections you have in place so trained electricians donā€™t fry a panel as they try to install it, as unlikely as that can be from any professional. After initial installation I donā€™t see any benefit from it. It does not increase safety in any aspect, it potentially reduces how many electricians will even touch the panel since they arenā€™t an ā€œofficial Span installerā€, and instills dominance over hardware I own. Houses grow and change over the years, including my own with an addition coming in next year. Not being able to freely change this is very aggravating to just think about. I am positive this stance is why @DougLorenz is still having problems accessing his system.

Recommendation: Put circuit profile control into the Span customer app. Give it a warning to not do it if you donā€™t know what you are doing and readings may be unpredictable if done incorrectly. My understanding is everything on the app level does not have true dangers or implication of harm save for the relays themselves. As long as the circuit limits arenā€™t reached (90A breaker, 270A bus) there should be no harm, and all local codes default to manufacturer instructions for every panel on the market for limitations of installation. Add a safeguard when changing in the app as a verification that limits are not reached and in-feed breakers are installed on the correct assignments - this would only increase safety that normal panels donā€™t have. You could even advertise this - ā€œNot only Smarter, Safer!ā€

Span already has this access coded in the installers app, it only needs to be ported to the owners app. Give the option to support and even encourage Span to assist, but access should always be given to the owner.

Thanks again for an incredible system so far, and hoping for it to be even better in the future!

Merry Christmas and Happy New Year!

5 Likes

Thanks for pointing this outā€¦ Very cool!

Ok, I have no idea what happened, but everything suddenly works todayā€¦

I was checking my devices in HA and saw that the SPAN integration was back to throwing a 412 error instead of the customary 500 error. I now know that the 412 error is a result of the new security, so I went and opened and closed the panel door three times. When I then reloaded the HA integration everything came up. HA can see the status of my circuits and can monitor power usage.

Donā€™t know what changed, but the circuits page on the local website is now showing up properly as well.

Iā€™m going to try and spend some time with this new functionality and go from thereā€¦

2 Likes

Which entities do you use for your Grid consumption, Return to grid and Solar production, with SPAN in HA.

I use ā€œMain Meter Consumed Energyā€ for grid consumption, ā€œMain Meter Produced Energyā€ for return to grid, and Iā€™m taking solar production numbers from my Enphase gateway. However, Iā€™ve only been doing it for one dayā€¦

1 Like

Thank you for the response.
I use ā€œFeed Through Produced Energyā€ from Span, since i donā€™t have a separate device for link to my Sunpower Monitoring system.
Only thing is that the data are not looking right !!!

Feed through produced is the send back for whatever is connected to the feed through lug on your panel. In mine thatā€™s the sub panel connection in my garageā€¦ Is that where your solar setup connects in?

I use the same entities as @DougLorenz

Not sure exactly.
But would say yes it.

Not an expert, but I thought that the homeā€™s solar HAD to connect to breaker 29-31 on the panelā€¦

I donā€™t believe that my own feed through is connected to anything. Iā€™d like someone else to confirm, but my understanding is that the span panel can handle up to 90A breakers, but if you need anything bigger than that, or if you need more than 32 breakers, then you have to do it on a sub panel which connects through the feed through.

That said, since I only OWN a Span panel, and am not authorized to install one, I do not have access to the installer manuals that could give a clear answer. Although I do not believe that my feed through is connected to anything, the HA integration for the Span Panel is reporting numbers for ā€œFeed Through Produced Energyā€, ā€œFeed Through Consumed Energyā€, and ā€œFeed Through Powerā€. I have no idea what those numbers would mean in this situation.

Iā€™ve only had my Home Assistant system connected to my Span Panel for about a week now, but I am having some difficulties keeping it connected. Every few hours, it will randomly lose the connection and all sensors will report ā€œUnavailableā€. Without intervention, it will remain in that state until I restart the integration, at which point it will usually work fine. I can probably set up an automation to reload the integration any time HA finds that it has lost the connection, but that really feels janky. Anyone else have troubles staying connected?

Not here sir - rock solid Iā€™m afraid

Ok, Iā€™ll try this potential solution and see how it works for a few daysā€¦

My solar system is hooked up through the downstream lugs because the breaker requirement with the 25% overage is greater than 90 amps. I would have rather had the solar system go through a breaker on Span just so I could monitor it, but this integration has the feed through lugs monitored (which their own app doesnā€™t even have). The setup works without issue.

As far as the integration, the stats and monitoring are pretty rock solid, but I can no longer turn a breaker on and off - they are greyed out. Not sure what is going on there.