PVoutput Trouble

I am having trouble getting PV Output to work. I have followed the instructions in the IoTaWatt help and am still getting the following error in the Message Log. I am running Firmware version: 02_05_03.

PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20

I can get PVOutput to work directly with my SolarEdge Inverter API so I know I am not totally inept.

Any help is greatly appreciated!

Could you post the PVoutput setup display from IoTaWatt (without API key or send in PM)

Also, the recent message log.

2/11/20 16:49:42 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 16:49:42 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 16:49:51 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 17:49:51 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 17:49:51 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 17:50:00 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 18:50:00 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 18:50:00 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 18:50:09 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 19:50:09 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 19:50:09 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 19:50:18 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 20:50:18 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 20:50:18 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 20:50:27 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 21:50:27 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 21:50:27 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 21:50:36 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 22:50:36 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 22:50:36 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 22:50:45 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/11/20 23:50:45 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/11/20 23:50:45 PVoutput: Start status beginning 01/17/20 18:25:00
2/11/20 23:50:54 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 00:50:54 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 00:50:54 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 00:51:03 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 01:51:03 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 01:51:03 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 01:51:12 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 02:51:12 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 02:51:12 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 02:51:21 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 03:51:21 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 03:51:21 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 03:51:30 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 04:51:30 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 04:51:30 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 04:51:39 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 05:51:39 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 05:51:39 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 05:51:48 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 06:51:48 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 06:51:48 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 06:51:57 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 07:51:57 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 07:51:57 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 07:52:06 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 08:52:06 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 08:52:06 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 08:52:15 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 09:52:15 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 09:52:15 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 09:52:24 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20
2/12/20 10:15:10 Restart command received.

** Restart **

SD initialized.
2/12/20 17:15:12z Real Time Clock is running. Unix time 1581527712
2/12/20 17:15:12z Reset reason: Software/System restart
2/12/20 17:15:12z Trace: 1:3, 1:4, 1:3, 1:4, 1:3, 1:4, 1:3, 1:4, 1:3, 1:4, 1:3, 1:4, 1:3, 1:4, 1:3, 1:4, 1:1[10], 1:2[11], 9:0[11], 9:0, 9:1, 8:4, 8:6, 8:8, 8:9, 9:3, 9:5, 9:9, 1:2, 1:3, 10:2, 10:3
2/12/20 17:15:12z ESP8266 ChipID: 6147914
2/12/20 17:15:12z IoTaWatt 5.0, Firmware version 02_05_02
2/12/20 17:15:12z SPIFFS mounted.
2/12/20 10:15:13 Local time zone: -7:00
2/12/20 10:15:13 Using Daylight Saving Time (BST) when in effect.
2/12/20 10:15:13 device name: IotaWatt
2/12/20 10:15:13 MDNS responder started for hostname IotaWatt
2/12/20 10:15:13 LLMNR responder started for hostname IotaWatt
2/12/20 10:15:13 HTTP server started
2/12/20 10:15:13 timeSync: service started.
2/12/20 10:15:13 statService: started.
2/12/20 10:15:13 dataLog: service started.
2/12/20 10:15:13 dataLog: Last log entry 02/12/20 10:15:10
2/12/20 10:15:15 WiFi connected. SSID=Wirelicious, IP=192.168.7.152, channel=1, RSSI -54db
2/12/20 10:15:15 Updater: service started. Auto-update class is BETA
2/12/20 10:15:16 Updater: Update from 02_05_02 to 02_05_03
2/12/20 10:15:16 Updater: download 02_05_03
2/12/20 10:15:21 Updater: Release downloaded 5521ms, size 764512
2/12/20 10:15:29 Updater: signature verified
2/12/20 10:15:36 Updater: firmware upgraded to version 02_05_03
2/12/20 10:15:36 Updater: Firmware updated, restarting.

** Restart **

SD initialized.
2/12/20 17:15:44z Real Time Clock is running. Unix time 1581527744
2/12/20 17:15:44z Reset reason: Software/System restart
2/12/20 17:15:44z Trace: 9:0, 9:1, 8:4, 8:6, 8:8, 8:9, 9:3, 9:5, 9:9, 1:2, 1:3, 1:4, 1:5[19], 1:6, 1:1[9], 1:2[10], 9:0[10], 9:0, 9:1, 8:4, 8:6, 8:8, 8:9, 9:3, 9:5, 9:9, 1:2, 1:3, 1:4, 1:5[5], 5:0, 5:7
2/12/20 17:15:44z ESP8266 ChipID: 6147914
2/12/20 17:15:44z IoTaWatt 5.0, Firmware version 02_05_03
2/12/20 17:15:44z Updater: Installing update files for version 02_05_03
2/12/20 17:15:44z Updater: Installing GRAPH.HTM
2/12/20 17:15:44z Updater: Installing GRAPH.JS
2/12/20 17:15:44z Updater: Installing GRAPH2.HTM
2/12/20 17:15:44z Updater: Installing GRAPH2.JS
2/12/20 17:15:45z Updater: Installing INDEX.HTM
2/12/20 17:15:45z Updater: Installing TABLES.TXT
2/12/20 17:15:45z Updater: Installing CNFSTYLE.CSS
2/12/20 17:15:46z Updater: Installing EDIT.HTM
2/12/20 17:15:46z Updater: Installation complete.
2/12/20 17:15:46z SPIFFS mounted.
2/12/20 10:15:47 Local time zone: -7:00
2/12/20 10:15:47 Using Daylight Saving Time (BST) when in effect.
2/12/20 10:15:47 device name: IotaWatt
2/12/20 10:15:47 MDNS responder started for hostname IotaWatt
2/12/20 10:15:47 LLMNR responder started for hostname IotaWatt
2/12/20 10:15:47 HTTP server started
2/12/20 10:15:47 timeSync: service started.
2/12/20 10:15:47 statService: started.
2/12/20 10:15:48 dataLog: service started.
2/12/20 10:15:48 dataLog: Last log entry 02/12/20 10:15:20
2/12/20 10:15:50 WiFi connected. SSID=Wirelicious, IP=192.168.7.152, channel=1, RSSI -54db
2/12/20 10:15:50 Updater: service started. Auto-update class is BETA
2/12/20 10:15:51 Updater: Auto-update is current for class BETA.
2/12/20 10:16:47 historyLog: service started.
2/12/20 10:16:47 historyLog: Last log entry 02/12/20 10:15:00
2/12/20 10:16:50 PVoutput: started
2/12/20 10:16:50 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 10:16:50 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 10:16:59 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20

** Restart **

SD initialized.
2/12/20 17:23:48z Real Time Clock is running. Unix time 1581528228
2/12/20 17:23:48z Reset reason: Exception
2/12/20 17:23:48z Trace: 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6], 15:2[6], 15:3, 15:0[6]
2/12/20 17:23:48z ESP8266 ChipID: 6147914
2/12/20 17:23:48z IoTaWatt 5.0, Firmware version 02_05_03
2/12/20 17:23:48z SPIFFS mounted.
2/12/20 10:23:49 Local time zone: -7:00
2/12/20 10:23:49 Using Daylight Saving Time (BST) when in effect.
2/12/20 10:23:49 device name: IotaWatt
2/12/20 10:23:49 MDNS responder started for hostname IotaWatt
2/12/20 10:23:49 LLMNR responder started for hostname IotaWatt
2/12/20 10:23:49 HTTP server started
2/12/20 10:23:49 timeSync: service started.
2/12/20 10:23:49 statService: started.
2/12/20 10:23:49 dataLog: service started.
2/12/20 10:23:49 dataLog: Last log entry 02/12/20 10:23:45
2/12/20 10:23:51 WiFi connected. SSID=Wirelicious, IP=192.168.7.152, channel=1, RSSI -51db
2/12/20 10:23:51 Updater: service started. Auto-update class is BETA
2/12/20 10:23:52 Updater: Auto-update is current for class BETA.
2/12/20 10:24:49 historyLog: service started.
2/12/20 10:24:49 historyLog: Last log entry 02/12/20 10:23:00
2/12/20 10:24:49 PVoutput: started
2/12/20 10:24:49 PVoutput: System Davis IoTaWatt, interval 5, freeload mode
2/12/20 10:24:49 PVoutput: Start status beginning 01/17/20 18:25:00
2/12/20 10:36:08 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20

Can you plot Solar_1 for Jan 17 using Graph+ clicking CSV values at the bottom and scrolling the window to center 18:25:00?

Also, could you tell me the name of your PVoutput site so I can look at any data that is already there?

Thanks

PVOutput Site is Davis IoTaWatt [11.520kW]

I don’t believe I have data from Jan 17th.

OK, can you post your status screen with the Data Logs tab open so I can see where your data begins?

I can see your Davis SolarEdge site, but no Davis IoTaWatt.

PVOutput System ID is 73440

Don’t pay much attention to Inputs other than Solar_1 as I have not configured them how I want yet.

Here’s with the PVoutput tab expanded…

I took a look at the code, and not sure what’s going on here.

Could you plot Solar_1 for the past week to see where it starts with values?

Is this what you are looking for?

I have a solar inverter with EV charger which is why you see both usage and production on the same input.

Do you mean that the inverter is also an EV charger, or that the EVcharger is connected to the inverter output upstream of where you have the CT?

What are the two Solar_1 and Solar_2? Are they different inverters?

Im guessing that the positive usage is the EVcharger using grip power and the negative is inverter output minus any EVcharger load?

Yes the Inverter is also an EV charger so it will show production or positive numbers during the day and negative numbers at night when the car is charging. Disregard Solar_2 as it is just one of the legs of the Solar Inverter and is reversed so it shows negative numbers when solar power is being produced.

We will need to sanitize that data before sending to PVoutput because PVoutput balks at production at night or negative production. It wants only positive numbers and only during the day. That’s no problem, we can filter that.

First I want to clarify a couple of things:

You say that Solar_2 is just a CT on the other inverter line, but the status screen above shows a different number than Solar_1. Is that because yo have “double” set for 1 and not 2?

It looks to me as if it’s the other way around right now, with the inverter generation being negative and the charging positive.

So back to the PVoutput problem, if you leave the Solar_1 as is, you can send only the generation with:

generation = (Solar_1 max 0) abs. That will first isolate the negative generation component and then make it positive for PVoutput. Set “upload history from” to 02/02/20. Then after it successfully uploads the data, edit to clear the upload from date so it won’t try to do that after every restart.

Correct I have “double” set for 1 and not for 2 becausei will be removing the Solar_2 CT and use if for another circuit at some point. I will only be using Solar_1 for the Inverter and it will be set to double.

Thanks for the correct string. I will give it a try.

I had to remove the “Reverse” setting for the Solar_1 input and then the data started looking correct.

Thanks so much for your help!

Don’t forget to remove the upload date.

The reverse checkbox on the input only effects measurements going forward. The historical data will be unchanged, so removing it should not have made any difference to today’s data. If you are using the generation script that I posted, checking reverse should make it start to try to upload your EV load as generation tonight, which PV output will reject as “moon power”.

UPDATE: Just looking at your PVoutput site which now appears. It looks like you checked that “reverse” box on Feb 10 around 2pm. Before that is showing the EV charging as positive, and there is no data where generation would have been negative. The graph that you posted was for last week, which was before the change.

UPDATE: Sure enough, your EV charge just showed up as production.

I’m assuming that your generation is simply “Solar_1” right now. If you leave the Reverse unchecked, you should change the generation to (Solar_1 min 0) to remove the charging, which now will be negative and rejected by PVoutput.

I see that you decommissioned the PVoutput site. I was watching the progress yesterday and say that the energy output lagged the power curve significantly. Taking a look at what was happening there, I suspect the energy data associated with your PV/EV system started out the day in negative territory due to EV charging overnight, and didn’t get into positive territory until about 1pm. Unfortunately, the inverter/charger is a closed system and there is no way to separate the generation from the consumption.

I was intrigued by the concept, and also curious if there was any way to get the discrete data, so I looked up the Solar-Edge product. I couldn’t see any direct way to measure the PV and EV separately.

This is probably going to be a trend in the industry, as PV inverter companies look to expand their markets and leverage the infrastructure they have with the conservation minded demographic. But I fail to see the long term benefits of this system. In my experience, these types of combination products reduce options as technology changes and equipment requires replacement.

Their promo that you only need one cable to the garage is less than convincing to me. Standone EV charger and inverter can be connected locally with an inexpensive small branch panel, with the same single run back to the main load center. They do offer a unified phone app, and I realize that sizzle works for many folks.

When these units need replacement or upgrade, I’ll be interested to see how many take a fresh look at the state of the individual technologies, or just replace the whole unit with a new combo.

Sort of off topic, but SolarEdge should support Modbus over TCP.
Before i had a CT on my solar circuit I was using a third party integration for home assistant to grab the local data, as their cloud product is patchy at best.

Ive since found that the data from modbus, cloud, and using a CT on the solar circuit, for the most part, give the same data. The cloud seems to have a habit of rounding up at each reporting period, so it can be inflated a little.

New user here! Just set up my first install yesterday monitoring solar only (for now). I finally got uploading working to PVOutput but then it failed at 6:50am today with the same error as the original message here:

PVoutput: Unrecognized HTTP completion, upload Bad request 400: Invalid data format [20

was there ever a code fix for this? I could easily be getting the negative numbers if only briefly while there is no solar production. [I’ve set all the inputs to register positive values when producing energy].

The uploader is currently stuck getting this error. I tried restarting the device then restarting the uploads but the error is the same.

Any ideas?