Monitoring a SunPower Solar System

[Update: Here is a new Node-RED flow that works better with Home Assistant’s Energy Dashboard.]

After years of waffling on if I should install solar on my house, I finally decided that it would be a good investment. While the federal tax credit went down from 30% to 26%, I would still get a bit of my investment back. The tax credit goes to 22% next year and then goes away, so if I didn’t make the leap now, I’m not sure financially it would make sense for a long time until the panel prices come way down.

Like most major investments, I did a significant amount of research. I got proposals from 9 companies using a variety of panels and inverters. For better or worse, I went with a SunPower system. SunPower wants to make it easy for people to see how much energy they are producing and their monitoring site has a very, very simple dashboard. Apparently their older dashboard (still available via a different URL that uses Flash) showed output on a per panel basis. When I asked SunPower about this, here was their response:

Unfortunately, our monitoring website only shows production data of the system as a whole. Inverter level monitoring was only offered to dealers for troubleshooting and/or repair purposes. This was not offered to homeowners because, after lengthy evaluation, that feature offers more information than is necessary to monitor ongoing system performance, but not enough information to help identify problems (on the rare occasions when they do occur). We also had concerns about the feature’s design, in part due to negative feedback from customers.

After a bit of research, I found that the monitoring device (PVS6) actually has the ability to be queried for local data. An individual with better hacking/detective skills than me figured out the commands to send to the unit and posted information on GitHub describing the setup. That looked pretty straight forward. So I decided to figure out how to integrate it into Home Assistant and into my Grafana graphs.

First step was to configure a Raspberry Pi as basically a bridge where HTTP requests sent to one port would be redirected out the other port. I didn’t need a full fledged router for this, just an HTTP proxy. I decided to use a Raspberry Pi Zero W that I had lying around as a base. I ordered an Ethernet adapter for it and that was it for hardware. My son designed a case for both pieces and I 3D printed it.

Configuring the Raspberry Pi

  1. Download the Raspberry Pi Imager
  2. Select the Raspbian Lite image.
  3. Write the image to an SD card.
  4. Create a file called wpa_supplicant.conf at the root of the image with the following:
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=US
    
    network={
     ssid="<Name of your WiFi>"
    psk="<Password for your WiFi>"
    }
    
  5. Add a file called ssh at the root of the image. This file should be empty.
  6. Assign a static IP address mapping on your router for the Pi.
  7. Boot the Raspberry Pi. Login using username: pi password: raspberry
  8. Update the OS using
    sudo apt-get update
    
  9. Install ha-proxy
    sudo apt-get install haproxy
    
  10. Modify /etc/dhcpcd.conf by adding the following so that the Ethernet going to the PVS6 doesn’t attempt to setup a gateway. If this happens, the Pi no longer responds over WiFi.
    interface eth0
    nogateway
    
  11. Add the following to /etc/haproxy/haproxy.cfg:
    frontend http-in
        bind *:80
        default_backend backend_servers
    
    backend backend_servers
        server sv1 172.27.153.1:80
    
    listen stats
        bind *:8080
        stats enable
        stats uri /
        stats refresh 10s
        stats admin if LOCALHOST
    
  12. Reboot the Pi.

Now when you issue HTTP calls to the Pi, they’ll goto the PVS6.

Setting up Home Assistant

I use Node-RED for most of my automations, so the following is how I poll the PVS6 from Node-RED.

Node-RED PVS6

Basically what I do is make an HTTP call to the Raspberry Pi over the WiFi interface that redirects to the PVS6. Using the information from the GitHub repo I found, the call is: http://10.0.3.55/cgi-bin/dl_cgi?Command=DeviceList

I then parse out the different devices that are returned (one for each inverter, one for the monitoring unit, one for the consumption meter and one for the production meter). My installer didn’t hook up the consumption meter, but I use an older version of the Rainforest Automation EAGLE-200 to connect to my electric meter and get consumption data.

This Node-RED flow generates multiple sensors that can then be used to display data right in Home Assistant or in Grafana. There is more information in the output than I need such as AC voltage, DC voltage, AC current, DC, current, etc. I use Home Assistant’s HTTP interface to create new sensors and since I have no idea how fast it can respond, I rate limit the updating of the sensors.

You can download my Node-RED flow from here.

Grafana

I’m going to leave it as an exercise for the reader to setup pretty pictures in Grafana. I’ve setup a basic dashboard and some other graphs. The per panel graphs are useful to tell me if a panel isn’t operating properly. While SunPower doesn’t really want you to know this information, it is very helpful. My system was turned on (my installer and SunPower can remotely disable my system which really bothers me) yesterday and I noticed that 1 of the panels wasn’t generating power. This amounts to about 8% of my overall system; most people wouldn’t know this which makes it even more important to be able to get status on a per panel basis.

Energy Dashboard

Energy Usage

Per Panel Monitoring

Conclusion

I’ve written up this guide to help others, but also to refresh my memory in the future to figure out what I did. My home automation system is growing more and more complex by the day and if I don’t document at least parts of it, I’ll never be able to troubleshoot it.

Feel free to ask questions or provide comments.

270 Replies to “Monitoring a SunPower Solar System”

  1. What tool do you use to generate a request? In Chrome developer tools, if you right click on “components”, hover over “Copy” to get the list, and then for example choose “Copy as cURL (cmd)”. You can use that to run a cURL command. Or I use Postman and import the cURL to set up the request.

    Looks like the authentication times out after some period which means you’ll need to sign in again and grab the new token, or you can trace the sign in, locate the “authenticate” call, and copy that into a request.

  2. can you given and example of a cURL command you are using? I’m confused by the content of the “Copy as cURL (cmd)”.

  3. You should design an app and sell it for money I would definitely be interested. I’m just surprised no one has created a 3rd party app.

  4. How do you power the raspberry pi? The PVS5x/PVS6 usually mount near the breaker panel or power company meter on the outside of your house unless you are running a long ethernet cable from LAN1 port on the PSV5x/PVS6 to bring the signal inside the house to the pi. Is this how you have your pi power? inside the house or outside near the PVS5x/PVS6?

    1. Hi Hai,

      My PVS6 is located in my garage and I have Ethernet runs from my switch out to the garage. I’ve located my Pi in my equipment rack, so I just power it right at the switch. I’ve read that others use one of the USB ports on the PVS6.

  5. I would pay MONEY for this as a third party app. I played around with setting this up but I don’t understand network traffic well enough to build this out without haproxy. For some reason I can’t run haproxy as I have a Pi running Pi-hole.

  6. Scott, this is an amazing article and I’m glad to see someone take initiative to be able to get the data they are seeking.

    It’s a bit weird to me that SunPower would not provide that information to Homeowners due to the fact that it’s more information than needed. Again, I’m quite impressed with the alternative you have provided and it’s something worth the test.

  7. Fairly new PVS6 installation running Build 9210. DeviceList does not show any of the micro inverters. Just the Supervisor, the Production(p?) and Consumption(c?), Am I missing something or has something changed where SunPower is restricting that information?

          1. You can try configuring your PVS6 but you probably will not be able to save the changes. You should request your installer claim your inverters as they did not finish your installation. You could just ask them to verify your panels as you suspect one of them is not working. They will not be able to do this unless they finish your installation and claim your inverters. You can try claiming your inverters yourself by entering:
            http://172.27.153.1/#/landing choose “residential”
            Click “continue”
            It will display a notice that SP is shutting down this app.
            It will then check the firmware
            Click “continue”
            Choose “yes” “updating existing site”
            Select your device and site then click “continue”
            Click “rediscover”
            Click “discover” it may take awhile as is discovers your devices
            After it is done it will take you back to the same screen
            Click “configure” your panels should show up
            Click “done” at bottom of page
            It will take you back to the same page
            Click “continue”
            Your inverters will be claimed
            Click “continue”
            Your devices should all show up and you can click on them to get additional information.
            When you click “continue” it will ask you to login but you will not be able to as you need an installer password & user name. So you probably will not be able to save the changes but at least you can see them this way.

  8. I got this working well and get data for about 12 hours, then the Pi started getting 503 errors when accessing the ConnectedDevices end point. A reboot of the pi fixes it but its frustrating to have to do that so often. Any idea where to start to debug this issue?

  9. My system does not have any power measuring devices for production (only consumption.) So I assume the supervisor lifetime energy is simply summing what is reported by the inverters. I am curious why the energy reported by supervisor is 1.6% less than the sum of the energy values reported by the inverters. I would think it would match exactly. Any idea?

    1. My only guess is that it is calculating total energy based on the periodic power values received from the inverters instead of summing the inverters’ reported energy values. This won’t be as accurate as I assume the inverters are reporting true energy based on nearly continuous power output over time and not just samples taken every longer time interval.

  10. Yes. I believe it’s an error caused by the sampling rate of the monitor versus the rate at which the inverters produce energy (i.e. continuously) – probably “aliasing error”.

  11. Anyone know what causes the gaps in the daily SunPower data? It occurs at the same time in my real-time readout.
    Trying to attach a screenshot but how?

  12. Awesome stuff. Is step 10 necessary if I ran haproxy from a docker container off my NAS instead of a PI? Not well versed in any of this so if you have any suggestions I would appreciate it.

    1. I’m not sure if step 10 is necessary, but I used it in my original setup and my current setup (a Pi 2 B with Ethernet and a USB Ethernet dongle) and things are working fine. I’d suggest using it if there is an issue.

        1. Hi Jeffrey,

          You’ll want to make sure that MQTT is setup and integrated. If you’re not familiar with MQTT, you might want to go back to the old flow and just add customizations to make it work with the energy dashboard, but that’s not the route I took.

  13. Hi Scott,

    I’ve been trying to set this up and educating myself along the way. I’m running into an issue with MQTT, and wondering if you could share some of your settings/setup details.

    Since I’m doing this all in containers on my pi, the add-ons are not available. My HA instance cannot connect to the running MQTT server, and I’m a bit lost as to why.

    Thanks.

    1. I’m using HassOS (or whatever it is called these days), so I just use the add-ons. It makes things super easy. Unfortunately I didn’t like containers as it required too much maintenance, so I don’ve have any suggestions. Sorry.

  14. Dang. I’ve been using Balena Cloud to maintain my pi projects, and while I enjoy the pipeline aspects it’s proving to be more of a hinderance for this project than a benefit. Quite unfortunate that the AH add-ons are not available in container environments.

    1. Well, I finally figured out what was going on (kind of). MQTT 2.x containers default to a local only mode, which breaks them. There should be config work-arounds that would allow for anonymous connections, and force listening on the right port/interface, but I couldn’t get them to work correctly. Ultimately I was able to get mqtt to do its job by reverting to an older image.

      Now it’s time to figure out how to config HA’s energy monitoring and/or graphana to display the panel level data I’m interested in.

      Thanks a ton for your writeup.

  15. Another quick follow-up. How were you able to configure the native HA energy dashboards? Node-red does not appear to be configuring the right entities to populate them as shown in your image as configured. Did you happen to make changes to get the right entities to populate as energy statistics?

      1. Interesting. Do you have any sensors other than the PVS6 that are being polled for consumption (as it relates to grid/solar – I see you have some other stuff going on there)?

  16. It seems I don’t have a /etc/dhcpcd.conf file. I am running the latest raspbian release. Any idea why that might not be there?

  17. I wanted to setup the RPi solution and did quite a bit of research and captured everything I found in one document. (Got this working easily and integrated with HA). It includes detailed API documentation for both the direct connection to the PVS6 as well as the Web site API. This can save people from having to wade through all the comments and multiple web sites: https://starreveld.com/PVS6%20Access%20and%20API.pdf

    1. This is great stuff! I am putting together my Christmas shopping list… Question for Dolf Starreveld – I think the Raspberry Pi 3 Model B appears to do the job and has both ethernet AND Wi-Fi. It also appears that they have a “B+” version and the only thing I can tell that is different is that it would allow POE, which I do not think I need if using the USB power source in the PVS6. Thoughts? Also, in your great separate write up, you have a short connector cable that combines the necessary power and ethernet connections into one cable. Does this work well and do you have any suggestions for where to pick one up? Thank you!

      1. I originally used a Rpi 3 because I had it lying around. It fits, but requires some finagling. PV6 does not supply PEO, so that option is useless to you. Since I decided to do this kind of monitoring permanently, I decided to substitute a Rpi Zero instead: lower power drain on the PVS6, needs less space, and less heat generated inside the space that is otherwise not (well) ventilated. So that is what I have now.
        What I used: LANDZO Raspberry P Zero W case ($7.50), OTG Micro B Ethernet Adapter ()$15.27) (both from Amazon), Raspberry Pi Zero W from villas.com ($16.95), total just under $40.
        For connections I bought (Amazon), one extremely short flat ethernet cable (flat because easier to bend in tight space), and ditto usb cable. I’ll update my write up with that info.

        1. Dolf, Scott, etal. I really appreciate you posting this information and the dialog. Just set up the RPi Zero 2 W in the kitchen (before installing in the PVS6), with power and Ethernet adaptor so we can test it. Power is good, Wi-Fi is good, but the wired Ethernet connection is not showing up on the router as connected. We are just beginning to troubleshoot… any initial thoughts as to why no eithernet connection?

          1. follow up… in Scott’s instructions, you do not suggest connecting to the LAN (only connect to the WiFi). In Dolf’s instructions, you suggest connecting to both. We are bogged down trying to get a connection to the LAN (via ethernet adaptor) and wonder if there is a difference between using the Pi Zero vs. the Pi 3 (that has built in ethernet). Any assistance would be appreciated.

          2. Testing “on the bench” (in the kitchen) if you installed and configured the proxy is not going to work. My suggestion to connect “both” is early on, before you configure for this specific function. The idea here is to just confirm you can reach both interfaces properly and that hardware is all function. That would also confirm that your ethernet adapter with the Pi0 is working correctly. Other than that there should be no difference between the Pi models.

            I suspect you were trying both after you followed the proxy configuration instructions. You confirm you can connect to the Pi using WiFi, which is what I would expect. The way networking is setup, the ethernet (through the adapter) is explicitly configured not route any traffic to the PVS6 gateway at 172.27.153.1, but it tries to get a DHCP address on the network connected to that port.
            The best way to test, after you confirm you can reach the Pi over WiFi is to hook it up inside the PVS6 (leave the cover off for now, and make sure you use the right port). Then, from your browser connect the the Pi using “http://192.168.1.50” replacing the IP address with that of your Pi. You should now see the installer console screen on your browser.

            If you see that, everything is setup correct. If you don’t, you can try using ssh to login to your Pi (again using the IP of the WiFi side). If you then issue an “ifconfig” command you should see something like this:

            eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
            inet 172.27.153.254 netmask 255.255.255.0 broadcast 172.27.153.255
            inet6 fe80::890f:ebbd:1723:3160 prefixlen 64 scopeid 0x20<link>
            ... other stuff

            wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
            inet 192.168.10.189 netmask 255.255.255.0 broadcast 192.168.10.255
            inet6 2603:3024:b07:3ff1:bfaf:6dbf:52ea:5b99 prefixlen 64 scopeid 0x0<global>
            inet6 fe80::608b:453f:c4cc:b93d prefixlen 64 scopeid 0x20<link>
            ... other stuff

            You may not have ipv6 addresses, and your local IP address on wlan0 should correspond to your network. If your output is not something very similar (the eth0 IPV4 address may vary within 172.27.153.0/24) something is wrong. Re-read and check everything.

        2. all cables are connected to the router and have power. Having problems getting the ethernet connection to show up on the router. the wi-fi component shows up very clearly. Any suggestions for what we might have done wrong?

          1. Hi Aaron,
            To help troubleshoot, a few questions:
            Are you sure the usb to ethernet adapter is working (have you tried it on another device) or on the pi just running the default os without any modifcations ?
            Do you have a usb wifi adapter to try running 2 wifi connections vs a lan and wifi?
            Have you tried a clean install are reconfiguring the pi?
            Lastly, have you connected a monitor/keyboard/mouse to the pi or setup a remote desktop to the pi and see if there is anything in the network connections you can see that is causing the issue?

          2. Dolf and Alan (I tried responding to you, but it would only let me respond to me). Got both of your responses with ideas. We are running a few of these to ground and will respond with greater detail later. Thank you!

          3. Hello Dolf, thank you for your response and suggestions.

            I want to clarify that I was testing the Wi-fi and wired ethernet connections for the Pi Zero W exactly as per your document, that is, prior to any additional configuration steps. I downloaded the Raspberry Lite image to the micro SD card, created the wpa_supplicant.conf file with appropriate settings for my wireless network, and created the empty ssh file at the root level. Upon power up of the Pi, the device appeared as a Wi-fi connection, but not as a wired ethernet connection. I tested this multiple times, including a direct connection to the router itself (vs. the wall jack in the kitchen), but the router never saw the wired connection appear. (Likewise verified the router was working correctly by connecting my laptop to the wired port, and confirmed that it appeared.) I was able to successfully ssh to the Pi over the Wi-fi connection, as well as to subsequently run the update and upgrade commands, so that is working as desired. All of this is prior to the step to install the ha-proxy in your instructions.

            I assume that your suggestion to test both the ethernet and wireless connections, prior to configuring the Pi for networking with the PVS6, are primarily to confirm that cables, etc. as all working as expected, so I appreciated the opportunity to debug the connections before I have it installed in the box. I wondered whether your instructions, as they were originally written for the Pi 3 with onboard ethernet port, might have missed any necessary steps with the Pi Zero W to configure the data port to communicate over the USB as an ethernet connection. Did you need to make any additional edits to the cmdline.txt or config.txt files?

            Also Alan – agree that maybe one of the connectors was suspect. we have since replaced.

            Thank you.

          4. Sorry you are having problems. I did not have to do anything not written down. It sounds like there is/may be a problem with your Ethernet adapter or, somehow, with its configuration. What is perhaps unwritten is that I tested with RaspBerry OS. I you used something else, e.g. ubuntu, this might be slightly different.
            Suggestions:
            1) Plug the adapter into a laptop or desktop and see if you can get it working. Debugging and configuring will be a little easier. Getting it to work (or not) will confirm whether the adapter itself is perhaps broken. If it turns out not to be, it must be a configuration or driver issue on the Pi. What adapter did you get?
            2) Use the apparently working WiFi connection to ssh into the pi and produce the output of the “ifconfig” command, and share it. It may give some clues
            3) Use the ssh connection to snoop around, triple check error logs etc.
            4) Does your Pi have appropriate power? If you are not using an approved power supply it is possible that the Pi boots, but USB may not work 100%. Unlikely, but worth asking

          5. Hello Dolf and Alan,

            Again, thank you very much for your assistance. I appreciated the confirmation that you did not do additional configuration of the Pi device to get the ethernet connection active/recognized. I had done trouble-shooting to the extent that I determined the problem was in one of three places:
            1. Configuration of the Pi (thus my post to you)
            2. Adapter hardware
            3. A faulty Pi (seems from online searches that this does happen)
            You helped to eliminate #1 from the options list. I had jury-rigged the adapter by putting together some existing cables – Micro-USB to USB2.0 cable | USB to RJ45 Ethernet adapter | RJ45 cable. I was able to troubleshoot the latter two parts independently, but couldn’t be absolutely certain the first one was working as needed or that they were all working in combination.
            While I was posting my prior message to you, I went ahead and purchased from Amazon the adapter you referenced in your help doc, to try to close the loop on the hardware question. When it came, I wiped the image on the microSD card to start fresh, redid the initial steps, and everything worked. The Pi showed up on the network on both the Wifi and wired connections. As they say, Whoohoo!
            With that problem solved, it was extremely quick to complete the configuration, then plug it into the PVS6, where it worked exactly as intended. Thanks again for your helpful instruction document, as well as for your subsequent help! I only might note that the default username for the Pi is “pi”, not “raspberry”. 🙂

          6. You are most welcome. Thanks for catching that password problem. I have corrected that, included mention of the PVS5 which is also known to work, and included a paragraph about there not necessarily being enough USB power for a model 4, and that only the Ethernet adapter that I mention has been tested by me and that at least one other had problems.

    2. Just want to let everybody know that an updated version is in the works which also details on how to do this when your setup has a SunVault ESS battery backup system. Networking details are subtly different, and more “devices” show up on the PVS6.

  18. I purchased a raspberry pie zero for this. A bit concerned leaving it in the PVS6 since it will be enclosed. I live in Phoenix so summers are brutal. I am new to raspberry pi but my gut says this might be a fire hazard. I plan on running this 24/7 do what reliability or fire risk is this setup?

    1. This is not the best time of the year to test, but I am keeping graphs of the CPU temp on the Pi inside my PVS6. Can’t share pictures here, but I can tell you that during 70+ degree days the CPU never goes over 100F. At these temperatures the outside of the PVS6 feels cool (i.e. not even close to 100F). The Pi will tolerate 140F no problem. You should have a heatsink attached to the CPU. You can buy those separately, or they often come with a Pi case. If you remain uncomfortable, you can use a cable instead and house the Pi elsewhere.

  19. I think the system time is GMT. Is this a correct assumption?
    I notice if I am pulling the data at say 12:00 noon my time but the system show CURTIME as 19:00 and DATATIME at a little bit before 19:00. So it looks like 7 hrs ahead of my time which is GMT for my time zone.

    1. I believe this is correct. Just now I pulled from my PVS6 at 12:25 PM PDT and it returned 2021,11,03,19,25,58 which corresponds to UTC (we don’t call it GMT anymore 🙂

  20. This stopped working for me yesterday right after I had gotten a 2nd inverter replaced due to issues I only found due to per-panel info obtained from this method. There is no response at all from the IP address now.
    Perhaps Sunpower shut this interface off for me to avoid any more warranty inverter replacements?

    1. Sorry, false alarm…technician had apparently opened monitoring box when he was replacing inverter and reconnected ethernet cable to wrong LAN port.

  21. My firmware is considerably older…2020.1, Build 3008. I have PVS5. Do they push firmware updates remotely usually? If so is that done by Sunpower or by installing company?

    1. If you have a connection to the Ethernet port, or through a proxying Raspberry you can browse to the console’s IP address and then access the page that check for firmware updates. This is true for the PVS6, and I assume PVS5. In more recent firmwares, after you go through the network check page, there is a warning that this is no longer supported, in favor of an installer app, but if you append “/firmware” to the URL you will get what you need. I had a failed FW update and did this to update it again.

  22. I should have shared this along time ago, but instead of uploading the data to Home Assistant, I’m doing the following 3 outputs via 3 node-red flows. I don’t have the details on exactly how I did it, but wanted to share as an idea to others, but I’m happy to help answer questions if I can if anyone is interested.
    1- Exporting to a text file and have setup a excel data connection to bring the data into excel.
    2 – Exporting the data to PVOutput via their API (using GET method with HTTP Request node). PVOutput has good instructions on how to do this.
    3 – Exporting the data to google sheets via a google form (using GET method with HTTP Request node). I tried exporting directly to a google sheet, but didn’t have any luck, but others may. A quick google search indicates there may be some nodes that now allow you to export directly to a google sheet.

  23. I have had issue with my system recently where inverters intermittently and frequently during the day often all report in state “error” instead of “working”. (This error state previously only happened at night when there was no production.) When this happens the data from the inverters in the json does not get updated. However, the production meter data (energy and power) does continue to get updated. I do not have production CTs in my system, so I believe the production meter is simply summing all the inverter data. I guess even though the inverters are showing error in the json file, they are continuing to report their output data to the production meter and it is just not getting to the json for some reason in this “error” state. (Curious, does an anyone have documentation from Sunpower that says how the production meter (monitoring) works without having CTs? I guess it is obvious but I don’t think I have seen it. Thanks.)

    1. I’m seeing an error state on all my panels as well, but I think it is due to the panels not producing (rain and clouds). The LED on the monitoring unit isn’t green indicating something is up. I’m going to see what happens when the sun comes back.

      1. Yes, LED is red on my unit too. Repowering turns it off but it comes back after a while. This started after an inverter was replaced for me. I think they messed up something up in config because I am seeing an inverter in my json data that no longer exists in my system… actually an earlier replaced inverter. I think/hope my actual production is ok.

        1. My installation has been operational since Nov 1, and has had no replacements. If the “old” inverter show up it should always be in error state (after all it isn’t there anymore), and I agree that they didn’t do the replacement cleanly. They should have unregistered the old one.

          With respect to production meter: My installer installed two CT tied in to the PVS6 for production metering, but I also installed a “Sense solar” with two CT on the solar production side, and two on the combined loads of both phases in my panel (could not hook on the busbar due to lack of space). I really only use what is measured by sense, but I know the PVS6 production meter is physically there and hooked up. So I cannot say if they can add all the inverter data if even that meter is not there.

          In one of the cases where I had “error” status on my inverters during the day, I could see from my panel level tracking (using the Raspberry and HA for logging), thatchy never came out of error status after daylight appeared. It was sunny though. The previous time this happened, I used the console connection to upgrade the firmware because I thought the light meant “firmware update failed”. It did actually install new firmware. The second time I did not try this, but just power cycled.

    2. This happens for me, occasionally, and when it does it is for all inverters, and its shows during the day time. The light is solid Amber in those cases (which I have not found documented). In that scenario, the mySunpower app reports 0kW as well, but inspecting me sense.com meter shows actual production is going just fine. Power cycling the PVS6 resolves the issue for me.
      Based on above it is my conclusion that it is a PVS6 firmware related problem. I am running the latest.

  24. If anyone tries to get this working on a Raspberry Pi 4, you may find that it won’t connect to WiFi once plugged into the USB port on your PVS (I have a PVS5). It appears that the USB ports don’t provide enough power for a Raspberry Pi 4. Symptoms of this problem include failing to join WiFi, red power LED off or flickering, and “Under voltage” reported in the syslog (use “journalctl –no-pager -b-1 -xe” to show the last boot log).

    Spent a weekend trying to figure this out, so sharing here in case anyone else runs into the same problem. I was eventually able to get it working by disconnecting the case fan and disabling Bluetooth, HDMI, etc. (see https://forums.raspberrypi.com/viewtopic.php?t=257144&start=50 for suggestions).

    1. Thanks for sharing! That may well be consistent with my experience since I only tried this, initially with a model 3, and finalized with a Pi Zero. Both of those seemed to work on the USB power. Both of those would also produce less heat.

    2. Since there are multiple USB ports in the PVS6, could you try a usb joiner (2 male usb to 1 female usb port) to increase the power output (amps)? I’ve used one for other purposes (to power a fire tv stick as it needed more amps than 1 usb port could provide)

      1. I hadn’t gone that route since I eventually got it working, but definitely something worth considering. I was also thinking about going for a less power-hungry Pi like Dolf suggested.

      2. Which USB joiner do you have? I’ve checked around on Amazon and Monoprice, but couldn’t find anything that seemed to fit the description.

        1. There are lots on Amazon for around $7 – you need a y cable – 2 male, 1 female. Usually one of the male ports says power only, the other male is usually usb 3.0 for power and data. Just search for USB power combiner or enhancer.

  25. Also reminder, Pi is not the only option. I am using TP-Link N300 Wireless Portable Nano Travel Router(TL-WR802N) and it works fine. Maybe other options too?

    1. Yep. The N300 Nano is a gem! Check production and performance through it with a query from Excel. A little VBA program and formatting gives a nice chart output.

    2. I’ve switched to a TP-Link TL-WR802N v4 and I’m still running into power issues: it’s rebooting at least every 2.5 hours while connected to the PVS5 USB, but never reboots on a portable battery. I’m trying to see if reducing the Tx power and the LED help. Some quick searching hasn’t turned up other tips.

      1. I don’t believe I have had any issues like that with my TP-Link. Are there any firmware updates available? Is this rebooting causing you any issues? Mine might reboot every now and then and I would not even be aware of it, as long as it goes back to the proper state and lets my client reconnect.

        1. I’m using OpenWrt 21.02.2, the latest available. The main problem I’m having is that WiFi doesn’t consistently connect on boot. I’ve posted on the OpenWrt forum about it (https://forum.openwrt.org/t/tp-link-tl-wr802n-doesnt-connect-to-wifi-on-boot/121818) and will followup with a bug report if that doesn’t go anywhere.

          Are you also using OpenWrt? If so, could you share your config (network and firewall, at least) files so I can see if there are any config differences?

          1. No, I am running the stock tp link firmware. (I have an old router running dd-wrt in client mode that connects the tp link AP to my home network.)

          2. Bill, would you mind sharing how you configured the TP-Link to work with stock firmware? I couldn’t figure out which mode to use to get it to connect to my wireless network and the Sunpower wired network.

          3. I am simply running it as an access point. I have another router in client mode ( dd-wrt) that connects to the AP SSID and routes via ethernet to my network. I am not sure if the stock firmware allows you to connect directly and route properly.

  26. Thanks for the effort and write up. I followed the recipe for my HA, and it works great. I had fun building some PI devices, and learning grafana.

  27. Would this work if I hooked the PVS up to the machine running Home Assistant through a separate NIC?

  28. Thanks for the write-up. I was able to get my new SunPower installation talking to Home Assistant via the network. I was able to get the plug-in added to Home Assistant too. It now shows all of my devices.

    What I am not certain of is what to do next? How do I get the system graphing properly? I took a stab at adding devices to my “Energy” Dashboard, but I am pretty sure I don’t have it configured correctly. It does not match what I see in My Sunpower app. Here is what I have:

    == Electricity grid ==
    “Grid Consumption”
    * Power Meter PVS6xxx KWH To Home

    “Return to Grid”
    * Power Meter PVS6xxx KWH To Grid

    == Solar Panels ==
    sensor.inverter_e0xxx1_lifetime_power
    sensor.inverter_e0xxx2_lifetime_power
    sensor.inverter_e0xxx3_lifetime_power
    sensor.inverter_e0xxx4_lifetime_power
    added every panel.

    == Home Battery Storage ==
    I don’t have a battery. I left this blank.

    == Gas Consumption ==
    I don’t have a way to monitor this. I left it blank.

    == Individual devices ==
    I assume this would be for individual devices in my home if I had more monitoring on my main panel?
    If I had an additional power monitor for each branch circuit, so I could see what my washer draws, etc…?

    Any help with getting the correct devices in the correct places would be greatly appreciated. Or am I even using the correct tool? Is “Energy Dashboard” the right thing?

    Thanks in advance!

  29. SUNPOWER UPDATE!
    You might be interested to know that SunPower now offers individual panel monitoring! My installer just turned it on for me. You must use the MySunPower App. The data is not real-time, updates every half hour or so, and it does not show all the groovy information you can get on our systems, but it does show how the panel is performing and its total out puts. This looks to be a beta trial so if you want it ask your installer and demand it. Good luck and I cannot believe SunPower is finally offering this information after so many years. I guess that’s what competition does as most of the other solar companies have been giving this information for years.

      1. Coincidentally, my panel level reporting stopped working 3 days ago.

        /cgi-bin/dl_cgi?Command=DeviceList is reporting errors for the individual inverters, but the system is reporting total power generation and it is working.

        I’ll have to see if my installer can turn on that data; not sure if they are related.

        1. My /cgi-bin/dl_cgi?Command=DeviceList is working still and was working before it was enabled on the app/website.

          @ Chris, yes, it was enabled for free – Try emailing sunpower with your home address asking for it to be enabled

          1. I chatted with their support and they told me to talk to my installed empower.

          2. My alerting system is that I upload data to pvoutput.org. So when my pi stops uploading data to that site, i get an alert from pvoutput that data hasn’t uploaded in a certain time. I think you can set it as short as 15 minutes. I’ve never had an issue with the PVS6, but have had issues where I needed to reboot the pi. I’m using a node-red flow to upload to PVoutput- you could probably set it up so if the data is error/0, not to upload and you would then get an alert from PVoutput

  30. Hi Scott – I have a PV panels + SunVault battery backup. The PVS Ethernet port must be connected to the battery unit (called ESS). I re-connected both PVS and ESS into a switch and ran another cable from the switch to a second WAN port on my router. The router’s NAT handles translation from the PVS’s network to my home network. You don’t need a RPi, only ethernet cables and a switch. If you don’t have a SunVault, then just one Ethernet cable is all it takes! I get all the PV production/consumption data plus a bunch more stuff about the batteries.

  31. Has anyone had a problem with mySunPower monitoring not working anymore? I’m wondering if my poking at DeviceList has triggered some OS bug in the PVS that broke it.

    I have a dashboard that queries DeviceList once a minute from my PVS6. It works great. But about a month ago the official monitoring stopped working. All SunPower can say is the device isn’t connecting. I’ve verified the PVS does have working Internet access. I’ve disabled my monitoring for a week+, rebooted the PVS a bunch of times, etc. Wondering if it’s just some other SunPower/PVS bug or if my monitoring may have broken something somehow. You’d like to think requests to a read-only API wouldn’t hurt anything!

    1. My PVS6 did something similar. It stopped reporting to mySunPower but my home system was working fine. After a while, 6 months, the PVS6 failed completely. I had to have my installer install another PVS6. According to the installer they have many PVS6 failures.

  32. SunPower system installed Nov. 2016, operational Feb. 2017. Had a power surge April 2017 system would not turn back on because a screw caused failure. Then Inverters failed then were replaced.

    My SunPower PSV5 quit all monitoring on June 8, 2022. I tried to update my wifi in new application, it would not let me. Telephoned SunPower and they stated because 3g ceases to be used I cannot logon or update my wifi.

    The response from SunPower was, “They are working on it…” . No time frame or resolution.

    1. Do you see data if logged into your account on the SunPower website? Another thought: My SREC broker has their own SunPower login which can see far more info about my system than I can when I’m on SunPower’s website. My experience with SunPower customer support is unsatisfactory. The most technically accurate and thorough answers have come from my installer.

Leave a Reply to Jeffrey F Cancel reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.