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.

 

 

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

      1. Hi – I got a Sunpower installation with a battery in August ’21. I’ve had good success setting up HA and connecting with it. But then I found the support for the BATTERY missing. So it is needed.

        Where do things stand with the battery support which you wrote was “in the works”?? I’d love to try it out, provide feedback, etc.

        1. I am not sure what you mean with “battery support”?

          The latest version of the document (https://starreveld.com/PVS6%20Access%20and%20API.pdf) contains a full description of an installation with an ESS battery system. It describes how things are hooked up etc.

          The PVS6 integration then shows whatever it shows (this integration is not mine, and I do not have a battery so I do not know what additional sensors, if any, show up). If you feel the integration lacks battery information, you should contact the integration author.

  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.

  33. Does anyone else no longer have connection to their site’s data via the App and the website? Been off for several days days now.

    1. If you mean the sunpower website, the answer is yes. For over a week now it says I am not generating power. My own monitoring solution still works perfectly fine. PVS6 is showing amber light. Waiting for my installer to resolve with sunpower.

      1. Dolf:
        Yes, the SunPower website.
        My own monitoring sys works fine too. I know people who do not do their own monitoring that are connected to data via the SP site and are getting data. I was therefore wondering if this outage is limited to only those running a personal monitor.

        1. I am now testing your theory. I have completely unplugged my Raspberry and power cycled my PVS6. It may take a while until SunPower now realizes that I am “working” again, so may have to wait a day (and forgo my local data; but I’ll still have my high level sense based data).

          What is interesting is that the mySunpower app does report “system online” (indicating some communication to the mothership), both before I disconnected, and after.

          If this makes things work again it seems that newer firmware chooses to not upload to the mothership if it is being interrogated on the local port. That could be simply a bug introduced, or an attempt by Sunpower to sabotage local monitors. Don’t like it one bit either way, but if push comes to shove I’ll stay with my local monitoring (until of course they sabotage further by blocking that).

          1. If the PVS6 is reported offline, shouldn’t we expect our installer or SunPower to contact us? That’s kind of what I was told why it needs to report back.

            My app shows it as offline; I didn’t notice until it was mentioned as my local monitoring is still working fine (I had some weird data spike that I had to fix the other day, but that was minor).

          2. Yes, I too was told that installer/Sunpower would alert if there was a problem. Chalk to up to promise, promises…

            I too hadn’t noticed for over a week until I noticed the amber light, which caused me to investigate.

          3. SP website and app are working for me.
            PVS6 SWVER is 2022.1 build 60422. It has been running that version since Feb 2022. My HWVER is 6.02

          4. Ala: are you also running your own monitoring system?
            Scott: SP has never contacted me about any problem. I have had to tell them of a problem several times.
            Dolf: Look forward to your results. The app and web site can’t connect to my PVS. The PVS reports the PLC and the Wifi connections are fine, no cellular connection. I don’t know if and how SP can even see my system without the latter.

          5. With all proprietary monitoring unplugged for almost 24h, and now certainly in the daytime, and producing (confirmed with my meter), the light on the unit is still green, but… mysunpower still reports no production.
            For now my conclusion is that the presence of the raspberry in the ethernet port is not the issue.

          6. Thanks for the info.
            I also unplugged my connection to the ethernet port and still no data showed up on the SunPower app or web site. PVS light still green. I see there was a earlier post that the problem is due to 3G going obsolete. I’m sure it’s true that a site’s data to/from the app requires a cellular connection, so I suppose that means the “mothership” also gets a system’s data via cellular to report on the web site. How else could they see the system?
            If loss of 3G is the issue, I wonder how SunPower can fix the problem without a hardware upgrade. Can a SIM card change alone raise the comm link to 4/5G and fix the problem?

          7. If 3G is the issue, it requires a hardware upgrade. A SIM change won’t help as there is different physical hardware.

            Maybe no one actually monitors their output and only complains when they get a power bill!

          8. Certainly in my case loss of 3G would not be the explanation as my PVS6 is connected to WiFi. Besides the MySunpower app tells me that my system is online (meaning something was picked up from the PVS6, confirming the WiFi connection works).

          9. Not sure if this is related but, SP did a major system update back in June and July. Some of that work was not complete as of today. SP got my online data back online in August, but was missing a couple of years. I spoke with them about it. About a month later, all my data (online) was gone again, so I spoke with them again. This year’s data showed up again, but the first couple of years was gone. I am told that my data should get “fixed” by the end of this month.

          10. Has data via the SP App and internet site returned to anyone who has been without it? Although the estimate from the “firewall” (i.e. telephone # “support”) was for it to return “at the end of the month”, it has not.
            Judging from the blank monthly report I just received, SP is not able to get any data from a site that does not have a cellular connection. My PVS reports “sim card error”. The PLC connections to the inverters and the WiFi connection to my network are fine.
            Makes sense that SP can’t get any data without the cellular link, but how to fix it?

          11. My system talks to SP/Internet via WiFi (configurable in App under Profile tab). I’ve also tried hardwiring the PVS ethernet port to my network. PVS detects the hardwired internet presence and automatically switches to it. My installer recommends ethernet first, WiFi second and cellular last as connection options. But I stuck with WiFi.

            I self-monitor PV status via HTTP requests to PVS every 30 min. All data logged in InFluxDB, dashboard integrated into Home Assistant. No data outages (locally) during SP’s data base upgrade and no need for the SP app or their website.

          12. Thanks. I also self-monitor and it is fine. I couldn’t get into the app or the web site for data or even to change my profile. Called support – again. Apparently data access between the server, app and website was turned off. After some quiet time on the phone the agent came back and data magically appeared. System is connected to “mothership” via my WiFi network (or PLC into the network if it is active). Cellular is backup, but is not working because, it is claimed, that AT&T shut down 3G service. Also, a SP “migration to a new database” is underway that is limiting access to some data… or so the agent said.

          13. For those not getting data in the SP website/app, what version is your PVS6. My software is 2022.1, build 60422. Hardware is 6.02. I have been pinging my pvs6 every 5 minutes daily for over two years via NodeRed and a PI with no interruptions in data (except when pi needed a reboot) and still no issues with my SP website/app data. I also have panel level monitoring enabled by SP.
            As far as connections go my wifi and cellular are both active when I look at them on http://172.27.153.1/#/network/config.

  34. UPDATE:

    I continued to have monitoring problems on the SP web site until I noticed, approximately on Saturday 10/29 things appeared to be working normally (nothing changed on my end over that period). I had some sporadic data reports on Thu and Fri showing a single 1hr period with data (for the whole day up to that point).

    You may recall I had done/forced a firmware update earlier, which put me on 2022.4, build 60630. This Monday my local installer came out, as a result of a service call related to this I setup earlier. While things were working, he connected his installer app to check everything out and was told a firmware upgrade was available (again?). He performed it and I am now on 2022.9, Build 61002.

    I don’t know how to interpret the version numbers, but that update was apparently not available a week ago and it suggests 5 versions newer, or 5 months newer. Either way, they apparently found reason(s) for firmware changes.

    I also heard from my installer that the activities over the summer were not announced to installers, but involved moving “everything” over to a new(er) server. Data loss resulted for some customers (historical data), and we’ve seen that reported here. Also reported here is that some customers were ultimately able to get their data back. He also reported a much higher than usual service call volume from their customers related to all this.

    Meanwhile I am only missing data for about 1.5 weeks and I have an ongoing tickets through my installer (Top-level SunPower dealer/installer) to see if I can get my data back. I strongly suspect, however, that the firmware issue caused it to never be sent to the mothership during that period.

    So, at this point I firmly put all this on Sunpower’s activities over the summer and their lack of quality control before rolling this out.

    Meanwhile, my self-monitoring through Homeassistant integration to a Raspberry Nano via WiFi, plugged into the PVS6, is working just fine, and mySunpower is now also reporting normally.

    1. My website/app stopped reporting data mid-day on Dec 19. I just noticed yesterday. I contacted SP – they ran a test while I was on the phone with them – said all was fine but, they asked me to restart the pvs6 by shutting off the breaker and then turn it back on after a few minutes and wait 24 hours. No success. I called back the next day, they continue to troubleshoot. They are thinking they may need to replace my pvs6 (installed in April 2020 and installed indoors). They are supposed to follow up with me on next steps.

      When I log into the dashboard – I get a message “One or more of your devices is not communicating properly”. However, it also shows the systems is connected. Device is connected via wifi, but my cellular connection also is still active and is used for backup as indicated at http://172.27.153.1/#/network/config

      My self-monitoring continues to work fine.

      I was running swver 2022.1 until it upgraded on its own to 2022.10 on 12/2.

      Sounds like others who were having the issue earlier it resolved on its own. Neither SunPower rep mentioned anything about database migration issues.

      I’ll update this one I know more

      1. I haven’t had data on the website for months. My self-monitoring works fine and as long as my system generates power and I can track it, I’m going to leave it alone. Somewhat disappointed that neither SunPower nor my installer has contacted me about not seeing data which likely means it is just the website that doesn’t work.

        1. I was told, at the time when I observed that SP did not report panel level data, and did not contact me when there was a problem, that the installer had full access and SP expected them to also monitor and alert on issues. Of course the installer and SP would need a functioning web site to be able to see something going wrong…. Catch-22.

          Neither has ever done so for me. This seems to be par for the course, so you should be happy you are monitoring yourself.

          1. To think that SP or its dealers would be monitoring customers’ data and alerting if there is a problem is more than wishful thinking. SP itself has never reported a single issue regarding my system, and there have been several. To think that most dealers would spend the time and money to do so is nonsense. Dealers in the solar business in this area have been like shooting stars, flashing in and out of business on a monthly basis. Those who are long-lived have no time to spend on the poor economic return of monitoring.
            Let’s all hope a means to self-monitor remains an option that is not “disabled” by a horrific SP business model that, on the one hand, doesn’t doesn’t identify and report problems and, on the other hand, has rotten customer service.

          2. I sort of agree with not having the expectation. However, having built quite a few high performance, high reliability web solutions I would say it is also not that hard to add some automated monitoring that alerts the right personnel for out of the ordinary conditions, such as a panel not producing at all, or the whole installation not producing at all. Even just an email to the customer would suffice.

            So yes, they’re all much more focused on the sale, and not the after sales experience. This is where a good installer will still pay off. I elected to pay a little more, but have had great service.

          3. Selecting a reliable, responsive dealer paid off for you. Unfortunately, mine went out of biz and SP won’t (or can’t) re-assign the responsibility. I guess whatever “reserve” that dealer maintained for after sales service went with the “out of business” sale. In any event, getting service now, especially in-warranty service, is a massive headache.

      2. Follow up in case it helps anyone:
        Sunpower support was not able to resolve it and told me to contact my installer. Technician from local installer came out today, said he had to “clear an error” to fix it.
        I did see the swver updated to 2022.11 Build 61204 after he had left. It was still on 2022.10 build 61120 as of yesterday.

        Also, the cellular data connection now shows as not available – so maybe he also did something with that or the firmware update disabled it. It was showing as working both before and after it stopped reporting data on 12/17/2022. http://172.27.153.1/#/network/config

        Data is now showing again in the app/website . The technician thought my missing historical data should show again after 24 hours or so (from Dec 19 to Jan 17).

        1. SP no longer depends on cellular since their system is 3G, which no cell service supports anymore. SP hasn’t figured out how to fix it, or hasn’t even decided to use/upgrade it. Since everyone’s monitor has 3G hardware, Dependence on cellular ain’t coming back anytime soon, if ever.
          Data reporting stoppage has been happening lately. They told me it was due to maintenance on their servers, storage, etc. I wonder what “error” the dealer had to clear….

  35. In my case, the SP agent claimed panel level data is inaccessible until the database migration is completed. Not sure why and not sure why everyone is not involved… neither was the agent. I had SP panel level data until 2 weeks ago when all data from SP stopped. Although they enabled it before they couldn’t enable it now…. Strange.
    Fortunately I can get it with local monitoring.

    1. Has anyone successfully reverse engineered the new panel-level data APIs to grab the data from the SP servers instead of the local monitoring? I’ve done some basic work to capture the data requests and see the graphql queries, etc, but haven’t had time to get much further than that. Sadly I have a PVS5 that seems to crash anytime I enable my local monitoring via rPI Zero W. I really want to get panel level data feeding into my HA energy dashboard reliably.

  36. Scott. First, I wanted to say “I really like your software!” . When I came across this site, your name looked vaguely familiar. After going through your blog, I realized that you originally created DocumentWallet which I have been using continuously since 2007.

    Back to this topic. Your project is similar what I have been trying to do myself with my Sunpower + SMA Sunnyboy TL based system and HA. For the last several years, I had a decent set up using Ted5000, PVOutput, and HA. However, with my two SMA SB5000TL-22 each with 2 strings, I always wanted more visibility to the system beyond just output as I had no idea if Sunpower was really monitoring the system or not and if one of the inverters or strings failed.
    However, like another user in this discussion, I had the older non Modbus based Inverters with the SMS-PVS20r1 supervisor. After multiple attempts to use the installer web interface, I was never able to get the same data as the newer PVS5/6 that most of you are using.
    I was able to solve getting the data in HA by terminating the RS485 bus with Network RS485 gateways.
    Basically this solution requires purchasing at least 1 (but likely 2) ~$20 gateways and running the Yasdi2MQTT software (or docker image) with the Yasdi IP driver to query the inverters over UDP through the gateways . This collects every bit of data that Yasdi collects from the SMA inverters, sends it via an MQTT message for HA.

    For others that come across this:
    Software – Yasdi2MQTT on any linux host ( github /dockerhub)
    Gateways: I used Waveshare RS485 to Eth(B), but also works more simply with the USR-TCP232-304 related devices (and clones).

    Setting it up is relatively straight forward using the directions on how to configure the UDP Client/Server settings on the gateways to communicate with each other and the Yasdi2MQTT program using the Yasdi IP driver. Inverters are happy connecting at 19200baud, and the PVSupervisor wants to connect to its RS485 gateway at 1200baud… and it works.
    I can now monitor and alert on any errors the inverters report over the bus and track performance on the strings using grafana.
    Here is an example of the JSON values reported in MQTT. SMA publishes as document explaining each value.
    {
    “sn”:XXXXXXXXX,
    “time”:1667780271,
    “values”:{
    “A.Ms.Amp”:1.1010000522946939,
    “B.Ms.Amp”:1.1370000540046021,
    “A.Ms.Vol”:416.35999069362879,
    “B.Ms.Vol”:364.48999185301363,
    “A.Ms.Watt”:458,
    “B.Ms.Watt”:414,
    “Pac”:832,
    “GridMs.W.phsA”:416,
    “GridMs.W.phsB”:416,
    “GridMs.W.phsC”:0,
    “GridMs.PhV.phsA”:124.04999722726643,
    “GridMs.PhV.phsB”:123.82999723218381,
    “GridMs.PhV.phsC”:0,
    “GridMs.PhV.A2B”:247.89999445900321,
    “GridMs.PhV.B2C”:0,
    “GridMs.PhV.C2A”:0,
    “GridMs.A.phsA”:3.3600001595914364,
    “GridMs.A.phsB”:3.3600001595914364,
    “GridMs.A.phsC”:0,
    “GridMs.Hz”:59.979998659342527,
    “GridMs.TotVAr”:0,
    “GridMs.VAr.phsA”:0,
    “GridMs.VAr.phsB”:0,
    “GridMs.VAr.phsC”:0,
    “GridMs.TotVA”:832,
    “GridMs.VA.phsA”:416,
    “GridMs.VA.phsB”:416,
    “GridMs.VA.phsC”:0,
    “GridMs.TotPF”:0.999000047449954,
    “Serial Number”:1913069271,
    “E-Total”:64595.131068103947,
    “GM.TotWhOut”:0,
    “Op.EvtCntUsr”:15187,
    “Mt.TotTmh”:34065.9578104291,
    “Mt.TotOpTmh”:33506.823379693815,
    “Op.EvtNo”:0,
    “Op.EvtNoDvlp”:0,
    “Op.TmsRmg”:0,
    “Mode”:”Mpp”,
    “Error”:”——-“,
    “Op.Health”:”Ok”,
    “Op.Prio”:”NonePrio”,
    “Op.GriSwStt”:”Cls”,
    “Inv.TmpLimStt”:”NoneDrt”,
    “InvCtl.Stt”:”On”,
    “PlntCtl.Stt”:”On”,
    “Op.BckOpStt”:”ModGri”,
    “PCM-DigInStt”:”None”
    }
    }

    Hope this helps somebody else coming across this blog that has an older system that did not natively support capturing detailed data from the PV Supervisor

    1. This is great Nihar.

      I had my old PVS6 replaced today because it ran into issues. The replacement PVS6 no longer included any ethernet ports. Looks like I will have to use the RS485 port. I’ve never done this before so it will definitely be an interesting experience.

      1. That’s going to be interesting. Not completely unexpected as SunPower has migrated away from installers plugging in a laptop towards them using a mobile phone application.

        I think it will require an RS-485 “hat” for a Raspberry and then the serial bus interface to everything will need to be used. I think I do have a link to its documentation somewhere in my document, but it will require an interesting effort.
        Most interesting approach would be to create a library to communicate with it, and a layer on top that presents that data in the same manner as the current http based API does. That way current integrations in home assistant will not need updating.

        1. I did do my initial testing with a RPI4 and USB/RS485 on the bus that had both the PVS and the SMA inverters. It would work ok for a while, but eventually, the inverters would go offline on the bus and both the Yasdi and PVS would show the inverters in ‘Error’ as they would lose communication with them. I suspect it was an issue with either multiple masters on the bus, or overloading the inverters.
          The gateways seem isolate the bus on each side and the IP connection from Yasdi2MQTT to the inverters is quite a bit faster. I did have to get a couple of cheap DB9 breakout modules to break out the serial connection.

          The best part is that since it is using MQTT, making sensors for HomeAssistant was simple and should allow to convert the sensors while keeping the same names.

          I think soon after my inverters were sold, they started to support modbus on newer models. This may require different gateway option to get it in to HA.

        2. Talk about “sabotage!” The business model that sells a monitoring system but drives SP to purposely prevent customers from seeing detailed data about their system is a real disincentive to installing a solar system in the first place. Are they trying to protect their dealer base by guaranteeing more customer-billed service calls? But how does that work if they purposefully limit customer awareness of production/performance issues? Even though there has been failures, never once has SP informed me of a problem with one or more of my inverters. Also, if they accept responsibility for initiating service calls, do they include the customer’s expected service cost when they hype the savings local generation from solar systems can provide. Is it time for regulation that requires solar companies who limit local data collection to periodically certify that the system as-installed is performing properly? If energy conservation is a concern and solar is one way to get it, it would seem some form of oversight should be required.

          1. Sunpower has made panel level energy and power monitoring available to end users, about 3 months ago. Does not provide as many parameters as private PVS monitoring though

    2. Nihar, do you have more information about how you connected to the RS-485 interface? I’m not sure what the pinouts should be – either I’m not searching for the right things, or there’s no documentation about it, so I’m hoping to learn more about what you did.

      1. Ryan,
        The pinouts from the inverter should be in the inverter (or its daughterboard) documentation. IF you are using the SB5000TL-22 with the RS485 interface, its pins 2,5,7 (D+,Gnd,D-) and your existing serial connection should be connected to the inverter .
        You will need to find the matching pins on your PVS. In the case of my PVS2x, within the web interface, there is a documentation library. The connection document there showed that on the PVS, that Pins (3,4,5) are (D+,D-,Gnd) respectively. I purchased a couple of extra DB9 (male and female) breakout modules that allowed easy termination of those wires to the appropriate pins on the PVS and RS485 Gateways. (They will be labeled either + or – or possibly A or B)

        For the PVS5 (and maybe PVS6), this may be helpful.
        https://us.sunpower.com/sites/default/files/sunpower-pvs5x-install-and-quick-start-guide-522351_0.pdf
        For the -22 inverters with PVS5 , you can see what pins 2,5,7 map to on the RJ45 . If your PVS is using an RJ45 interface, then just cut the end off of an ethernet cable and terminate the appropriate pin wire color on the inverter.

        It seems like the -40 inverters went to direct Modbus TCP. You can probably get a RPI or other device on that private network to query the inverter using Modbus directly using other packages and then send the results to MQTT. No need for gateway devices for the newer inverters.
        Hope this helps.

        1. Thanks. I tried this but can’t figure out how to make meaning of the data from the RS-485 adapters. I tried with different baud rates, with the Yasdi library, and Modbus tools but they both failed. I’m giving up on this lost cause 🙁

          1. Ryan. Sorry to hear it is not working out for you. If you have a docker server (or run it locally on your laptop) that may simplify running the yasdi2mqtt ip driver and mosquito mqtt. It took me way, way too many hours to get it working reliably.
            If you want to keep trying, post exactly which model inverters and PVS you have. All the PVS6s have ethernet ports, so maybe you have an older one. Make sure you are running an MQTT server as well.

          2. My replacement PVS6 lacks any RJ45 ethernet ports. The only ports available are the D-AUX, RS-485 ports, and a couple of USB ethernet ports that don’t seem to be activated. I tried using a USB ethernet dongle but it did not work. I’m wondering if this needs to be manually set up and enabled during provisioning. Someone posted this on Reddit as well. https://imgur.com/a/JoMGphX

            I’ve tried a variety of different settings with the RS-485 adaptor, and tried both Yasdi and Modbus. I’ll try a bit more, but I don’t think I have more time to dedicate to this.

          3. Wow, so they seem to have saved $1.00 by deleting the ethernet ports and just depending on wifi.
            Well, if you later decided to try to get this working again, I will share some more detail that hopefully helps. Of course, make sure you do this during daylight hours, after the sun goes down, my inverters totally shutoff.

            I suspect the serial pins in the link I provided earlier still apply.

            My first step was finding the right settings for the RS485 Gateway facing the inverters, So connecting the 2,5,7 pins to the +,GND,- on the gateway device facing the inverters.
            As for the configuration with Libyasdi, Configure the gateway as a UDP (or UDP Server) on port 24272 which is the default SMAData Port This is what the gateway device listens on.
            For the Destination IP/Port , use your host IP and port 24273

            Depending on your brand gateway device, (I am using Wavelink for now), on advanced settings, I UNselected RS485 Multi-host and Bus Conflict Detection.
            Also, not sure if it does anything but if you have an section in advanced settings where you can list additional Multi Dest-IP and Port, enter the port of the Gateway device you will later connect to your PVS6 with Port 24273 also.
            Start with 19200 baud for now. 8/No Parity/1 Stop bit / No flow control.

            Next, shut down your inverters. Both the DC and AC side for 2 minutes. I noticed that with my specific SMA inverters, they can basically lock up for the day if they get overwhelmed or confused with requests.

            Power up the inverters .

            Configure the yasdi.ini with the driver and IP address of your RS485 Gateway.

            [DriverModules]
            Driver0=yasdi_drv_ip

            [IP1]
            Protocol=SMANet
            Device0=192.168.1.58

            [Misc]
            #DebugOutput=/dev/stdout

            For docker-compose.yml , I have this:

            version: “3”
            services:
            yasdi2mqtt:
            # You may also check out :latest, :stable or build: ".", if :latest fails
            image: “pkwagner/yasdi2mqtt:alpine”
            volumes:
            – “./devices:/etc/yasdi2mqtt/devices”
            – “./yasdi.ini:/etc/yasdi2mqtt/yasdi.ini:ro”
            – “/etc/localtime:/etc/localtime:ro”
            – “/etc/TZ:/etc/timezone:ro”

            ports:
            - 24273:24273/tcp
            - 24273:24273/udp
            environment:
            YASDI_CONFIG: "/etc/yasdi2mqtt/yasdi.ini"
            YASDI_DRIVER_ID: 0
            YASDI_MAX_DEVICE_COUNT: 2
            YASDI_UPDATE_INTERVAL: 31
            MQTT_TOPIC_PREFIX: "solar/inverters"
            MQTT_SERVER: "192.168.1.25"
            MQTT_PORT: 1883
            MQTT_USER: "mqtt"
            MQTT_PASSWORD: "MQTTPASSWORD"
            TZ: "America/Los_Angeles"

            Fire up your docker container with docker-compose and check your MQTT server for the topics updating.

            If nothing populates after a couple of minutes, shut it down, and try a different baud rate (1200).

            If you get this working, then the next step would be to integrate the PVS as a client with the 2nd RS485 gateway device. Happy to provide more detail if you decide to eventually keep trying and successful with the steps above to talk to the inverters.

          4. Thanks Nihar.

            Yep, those were the settings I had for RS-485 adaptor and the yasdi.ini config. I did a quick test with yasdishell and ran the device detection option, but it did not show anything at all. I assumed then it did not work. Should I have fully set up the mqtt server?

      2. I had to have my PVS6 replaced this week and received one of the updated ones without the LAN and USB ports that some others are seeing. Turns out SunPower has updated manuals that reference how to access the LAN port using one of 2 “approved” USB to Ethernet adapters. Here’s the updated manual. https://fccid.io/YAW539848-Z/User-Manual/Users-Manual-rev-6022499.pdf
        The updated ones are the ones with a “W” in the serial number. Scroll down to page 2 of 4 for info on the adapters. I’ve been using the Pi Zero 2 W setup and simply had to purchase the Cable Matters approved dongle for $10 on Amazon and plugged that into the USB2/LAN port and from there plugged the ethernet cable into my existing Ethernet to USB dongle in the Pi Zero and I’m back in business. Hope this helps and thanks to everyone for the great info and write ups here that have made this all possible!

  37. I’m confused re the RS485 interface in the PVS5/6. Is it poll-response communication to/from each inverter and the meters? If not, does a specific command initiate specific output as does the USB DHCP gateway? Is there a source for the data formats using the standard RS485 protocol?

    1. Stan.
      Depends on the inverter and brand. I THINK newer SMA use Modbus/RS485 or Modbus/IP . The older ones used SMAData protocol and is documented by SMA.
      https://256stuff.com/solar/scripts/smadat-11-ze2203.pdf
      SMA released YASDI library/application to read this format.

      At least in the PVS2 case with my SMA, the PVS does scan the bus to determine which devices are on the bus, and then queries directly the inverters at regular intervals.

  38. I have a local connection to my PVS via the ethernet port. Using the command “Get_Comm” (instead of “Devicelist”), I get a list of the connected communication interfaces and networks. Does this give access to my network via the PVS interface?

    1. Yes. The PVS is connected to your home network as that’s how it talks to SunPower. Personally I have my PVS6 on a separate VLAN that has no access to my internal network.

      1. So yes, since your PVS is on your network, theoretically it can talk to other devices on your network. Putting it on its on VLAN (which may require a switch to allow it to appear not to be a VLAN (to the PS6) because the PVS likely does not support VLAN tagging), and attaching the VLAN to your router/firewall will give you control over what it can actually talk to.
        I use WiFi, so this would be more involved (need separate IoT SSID, and possibly dedicated WiFi HW). On the other hand, I have done some extensive packet captures observing the PVS6 on my network. I have never seen it attempt to talk to anything, except the DHCP server on my router, and the DNS server (both of which are to be expected). That does not mean it could not have been sniffing my network traffic (would not show up directly), and uploading that somewhere, but not using the protocols and data sizes I have seen it use.
        As they say past performance is no guarantee of future performance, but personallyI wouldn’t worry, unless setting up an IoT VLAN is easy enough for you to do (knowledge and HW and $$ wise).

        1. Thanks to you all.
          Yes, my PVS (on my wifi network) talks to SP for data reporting and etc. to/from SP. However, my LOCAL data acquisition system is on the LAN ethernet port in the PVS (per Dolf’s “Monitoring…” paper). It’s adapted to wifi and is also on my network. I’ll have to poll the PVA again with “Get_Comm” to see if my net shows up twice. I didn’t notice in the first result.
          If putting my local data acquisition on a VLAN would work at all, I suppose I would still have to “bridge” it to my main network if I still wanted to run my main logging and analysis programs from my main computer. Would that still give traffic on the PVS access to my network?
          NETWORKING!! WOW!

          1. Hi Stan, if you do things as in my write-up, your local data collection is through the Ethernet port, where the PVS6 wants to run a DHCP server. Your own network likely does as well so directly cabling this port to your network would cause a problem. As you may recall I use a Raspberry Pi with Ethernet dongle plugged into the PVS6 Ethernet port. What that does is it lets the rPi get a DHCP address from the PVS6, on its network. We then use the rPi’s WiFi to let it connect to “my” network and it proxies requests from my network, to its Ethernet side and back. This prevents to confusion I mention above.
            If you want to cable directly, with Raspberry, you must solve this problem, and VLANs can be a solution (if you know enough and have capable equipment). You must create a new VLAN just for that cable between the PVS6 and your switch/router. You must tell your router to NOT run a DHCP server on that VLAN (because PVS6 provides one already), and how to route traffic to and from the subnet running on the PVS6. You must also setup/modify firewall rules that if you contact the PVS6 on the address it has on the separate VLAN (not the one on the WiFi), it will not only be routed correctly, but also not be blocked. With that setup the PVS6 will continue to think of the WiFi and Ethernet as being on two different networks, even though you can reach both.
            Again, this requires networking expertise (which I have, but you may not and I cannot possibly give detailed guidance here), and equipment that can do it. If you lack either, I would suggest not trying this and stick to the proven raspberry approach. If you really want a cable, still, you can equip the Raspberry with two USB/Ethernet dongles and connect that way. The proxying remains the same, but the setup on the rPi would be ever so slightly different (configuring second ethernet vs. Wifi).
            Get_Comm in my case shows the PVS6 WiFi connection for outbound reporting purposes as connected to my WiFi network. It does NOT show the connection to the rPi, eventhough it is there and works. This is meant to be an internal/installer network so I suspect that is the reason.

          2. Dolf: Yes, I am not proficient in networking and am certainly confused by the connections and their implications. I’m sure my ignorance of networking and its lingo is evident and may be causing confusion.
            No, I am not cabling directly from the PVS ethernet port to my main network router. Although I am not using a Pi, I am connected to the ethernet port in the PVS with a travel modem running as a “client”. I have the DHCP server in that “client” disabled so it is getting a DHCP address directly from the PVS’ DHCP server. The “client”, then, is connecting by wifi to my network. Additionally, I set a static route in the main network’s router with it as the gateway and the PVS base address as the destination. As such, I have a wifi connection between the PVS-client on the PVS and my network. I am successfully sending commands and receiving data.
            I was concerned that I might be exposing my network to unauthorized access. Your comments and your Get_Comm result have helped allay that concern. Any further comments would be appreciated and would certainly help me better understand the interconnections and their implications.

  39. …. continuing my first…. I guess the bottom line is — can the local connection be masked from detection by the PVS?

    1. You are not that network knowledge-less! With that solution you are fairly well protected, but not by any firewall or VLAN preventing the PVS6 (or anything else on that subnet) from routing into your WiFi network through the travel router. Like I said before though, I consider this “risk” minimal. Also, considering the PVS6 is also “directly” on your network (through its primary WiFi hookup), most of all this is essentially moot. I you wanted to prevent that too, you would need an isolated WiFi on VLAN for that PVS6 connection as well.

      1. Dolf:
        A long time ago we communicated about my monitoring process with a travel router. That has since been abandoned in favor of you Pi process. My old Pi died and am not trying to set up a Pi 4. I am running into problems with your “Setup Networking to access the PVS” section. I got to step 3 and found that I can’t edit dhcpd.conf to add the two lines required. Nor can I add to haproxy.cfg. Neither file can be found. Do your instructions still apply to the current generation Pi OS? I know the need for the wpa_ supplicant.conf and ssh files are no longer required since the the necessary setup can be don’t in the Pi OS download. Any suggestions?

          1. Thanks for the response. Yes, sudo gets me to the /etc/ files.
            It seems there is no longer a dhcp.conf file in the newest PiOS. The only file is dhclient.conf. I’ll edit it and see what happens. haproxy.cfg is still there.

        1. I haven’t touched this since my original setup and documentation. Consequently I know nothing of the new PiOS requirements. I am sure it is possible, but can’t help you with how.

  40. Checking here to see if it is just me – but on 3/1, all of my panel information stopped updating for all panels. I am producing power normally.
    1) I have panel level monitoring enabled from SP – after 6 AM on 3/1 – get N/A for both power and energy.
    2) /cgi-bin/dl_cgi?Command=DeviceList shows error state, all values are frozen at 2023,03,01,13,14,18 (datatime). CurTime refreshes, but that is the only value that changes for the micros when refreshed.
    3) Consumption/Production monitor is working fine.
    4) No recent version upgrades – running 2022.11 build 61204 since 1/18.

    1. Mine also stopped a week or so ago. The claim it’s associated with a “DATA MIGRATION” and don’t know when it will be back. That’s what they said last year — circa mid year. Who knows what’s going on? They sure don’t. Apparently the secret is also kept from “support”.

      1. Yup, mine has been down (again after an episode last year). They claim the PVS6 is not communicating to them and to power cycle it. Of course I have done so without making a difference.

        I ran an Ethernet packet capture in my router and explained and sent it to them. If proves, conclusively that the PVS6 is on my network, has an IP address, and communicates, using that address and using MQTT to communicate to SunPower. It also uses DNS to ask for various host IP including google clients and AWS systems. They keep ignoring that, asking me to power cycle, and have my local installer come out to trouble shoot. Sigh…

        1. A friend has a SP system with PVS. He is running fine. He does NOT do any local monitoring.
          My paranoia is running rampant again — are they up to something?

  41. Only receiving the “PV Supervisor”, “Meter-P …” and “Meter-C …” fields from the DeviceList command. No Panel data. I wonder what’s going on.

  42. Update: So I have a no panel data situation (in fact: no data. period) with SunPower and the app as well (reported earlier). I am able to receive anything I want through the rPi solution though, so I know everything is working.

    SP has been insisting I need to reboot my PVS6 which I have done multiple times. So today I had my installer out here to troubleshoot with SP on the phone (because they will not listen/understand me when I tell them me findings). Their conclusion: something wrong with the PVS6. I will get a new one, which will take up to 10 days.

    I suspect, at best/worst, that the internal WiFi is broken, at least intermittently because it works in the first few minutes after a power cycle. My monitoring relies only on the Ethernet port and that all works fine.

    1. My PVS6 is connected via Ethernet to my network and I haven’t gotten data in the SunPower app for maybe 6 months, so if our problems are similar, your WiFi may not be broken. I gave up caring as my local monitoring works and my panels are generating power.

      1. Yup, my sentiment exactly, but I first wanted to hold their feet to the fire for saying the problem is in my end.

      2. Interesting comments. I can consistently access the PVS via my local connection and get a response. But the data terminates after the Supervisor, Meter-P and Meter-C groups – never any panel data. The web site shows “exported to grid” numbes, but no production or individual panel data. If something is broken in the PVS it has something to do with the comm to/from ALL of the panels. I’m still producing. Getting more and more impatient with SP’s lack of action.
        As with everyone else’s experiences, talking to Support is useless. I haven’t run into anyone there who can or wants to put 2 and 2 together. Gotta “hold their feet to the fire”, tho.

        1. The PVS6 communicates with the inverters (I assume you have one micro inverter per panel, as opposed to inverters as part of an ESS setup), using PLC (Power Line Communication; think of it of Ethernet over the power wires from inverters).

          The fact that you a registering production means that power is flowing from panels to your main panel. Production is measured using a CT clamp around these wires, but there is no direct connection to the PVS6 (which is also why you can switch it off without affecting production to the house or grid). The PVS6 itself takes a separate breaker on the panel and through that it can attempt to use PLC to talk to inverters. It might be that that communication is failing in your case.

          Is the PVS6 breaker on the same set of bus bars as the connection to the panels? Overall your problem seems of a different nature than mine or Scott’s, although the side effect of both kinds of problems is the same: No panel level, or perhaps even totals on the SunPower app.

          1. Yeah. The electrical connections are fine. Been running for years. To your point, I also believe the PLC between the monitor and panels is the culprit. Getting them to come to the same conclusion and fixing it on a timely basis is the real problem. “Data Migration” takes forever…Ha!

        2. I am currently getting panel level data via SP, but missing all energy use data from 2016 to 2020. I have been hounding SP for about six months since they “lost” the data during the current data migration project (still ongoing). They said, they should have mine fixed in April 2023.

  43. Has anyone who is not getting panel-level data been informed that a so-called “data migration” is underway and when it will be completed? I was told April – but, then again, in Feb I was told Mar, in Jan I was told Feb, etc…etc…etc… since Oct.
    Does anyone know if anyone that does not NOT self-monitor is also involved in the data shutdown “migration”

    1. I was informed the first time around this happened (about 6 months ago), and things started working, inexplicably, a month or so later. Second time around there was no such acknowledgement. They insisted my installer come to locally troubleshoot the reported inability for the PVS6 to report to the mothership.

      I was able to see it was actually reporting something, but within 5 minutes after rebooting it would no longer respond to pings. The installer found the PVS6 to be “defective”. This was based on very minimal information from his app, and telephone conversation with SunPower. A new unit is being sent…

      Meanwhile I had this “brilliant” idea: change the DHCP reservation from returning 192.168.10.62 to 192.168.10.188. Should not have made any difference… but it did. Unit stays responsive to ping, and mothership says everything is OK. I did this within hours of installer leaving so possible it had nothing to do with this, but mothership corrected something on their end.

      Holding off on replacing unit. Suggest you try same DHCP approach on your end to see if it makes a difference.

      1. We noticed that we had “missing data” middle of last year – SP indicated that is was a problem with the infamous data migration. They kick me down the road one month at a time for six months and closed the open ticket without resolution. I contacted them via social media and I now have a dedicated person assigned to my case. I was told it would be resolved by April 24, 2023. They report to me every five business days with status.

  44. Hello,
    Was hoping someone here would have some advice for me. Couldn’t find anything online. I am not tech savvy at all!
    So I have a pvs5 that has stopped communicating with the app. Sunpower tell me it’s because of the switch from 3g to 5g and I have tried their fix by connecting phone to pvs to update. Nothing happened. Someone at sunpower told me I need to get a 5g wireless dongle. Local dealer wants $280 just to show up. Don’t want to pay that just for monitoring. Anybody got any ideas on what I have to do or some sort of quick easy fix. Thanks in advance

    1. If 3G > 5G is the problem, no firmware update is going to fix that. You will need new, more capable hardware, either as a dongle (if supported), or by replacing all or part of the PVS5 with a more modern PVS6.
      Arguably they sold you a system with a promised functionality that now no longer exists, through no fault of yours. I would refuse to pay for anything and hold Sunpower and its installer responsible for correct functioning of monitoring (also promised to you), whatever that takes.

      1. Thank you for your reply.
        Funny thing is, the pvs5 is covered under SPs 10 year warranty (labor included) but the installer wants to charge a service call to come out and maybe install a dongle (at my expense) and SP won’t honor the PVS5 warranty until the installer is on site. You couldn’t make this up!

      2. I believe you are getting the typically ignorant answers from so-called tech support. If you’re system is connected to your wifi system and that is communicating and in an account with SunPower, you should not need to depend on the cellular connection.
        If your system is still under warranty and you purchased a solar system that includes a monitor that reports data both to SP and to you, SP is responsible for it not performing to specification.
        The situation with SunPower gets worse and worse. Are they in trouble?

  45. Updated my document at https://starreveld.com/PVS6%20Access%20and%20API.pdf
    * to reflect that using a Raspberry Pi Zero (instead of a Pi 3/4 or Zero 2 W) is also a workable option. I replaced my Zero 2 W so it, as a more capable machine, is available for other projects
    * Zero W uses less than 500 mA and dissipates less heat, and is cheaper
    * currently (May 2023) many Pi models are “hard to get” so Zero W as an option might help
    * instructions to (optionally) set hostname, locale, and timezone for the Pi
    * modified haproxy.cfg instructions to allow gzip compression of its output for more efficiency (things work without it though)

Leave a Reply to Eric Cancel reply

Your email address will not be published. Required fields are marked *

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