PVOutput To Use or Not

I have had my IoTaWatt up and running a couple of months now and using Graph+ to view the information. I have a 10 kW grid tied solar array and use the IoTaWatt to monitor the solar production so that I can adjust my PV use for our EV and other high consumption devices/appliances.
I realize the increased functionality of PVOutput however I am wondering about any problems I might encounter by using PVOutput.
We have numerous power outages here and so far the IoTaWatt will restart after a power interruption.
Also I am not as computer savvy as many on this forum and want to make sure a system that is working for me now is not going to be complicated or compromised by PVOutput. Spending more time on a computer troubleshooting is what I am trying to avoid.
Any guidance would be appreciated.

PVoutput is pretty easy to configure. From the IoTaWatt end, it’s just an uploader that sends the data from the datalog to PVoutput. PVoutput requires minimal data every 5 minutes, so recovery after a power failure is trivial. I would say give it a try. If it doesn’t work out for you, you only need to delete the uploader.

1 Like

I find pvoutput easy and reliable. I did have to reauthenticate once a couple of weeks ago (I think this was related to an iotawatt update but can’t be sure. it was easy to fix just by putting in the credentials into iotawatt again) 10 days data uploaded in a few minutes - a brief power outage won’t be a problem.

Pvoutput (I subscribe) has some nice features, with extended data it can graph in money terms whether I am ‘winning’ or not. My pv pays me for each kw I generate plus an export rate that assumes that 50% of what I generate is exported. If I manage to use more than 50% of what I generate then effectively I am being paid to consume electricity. I could use iotawatt for the calculation but pvoutput is designed for this sort of thing.

The donation (a tenner or so a year) includes them sending a weekly report of use, generation, import and export in ÂŁ terms - having this hit my inbox with no work on my part is useful.

Thanks for the replies. I’ll setup PVOutput and give it a go.
I am very happy with the IoTaWatt, the ease of setup and information provided. It has answered some questions about issues with my solar output that the installer could not answer.
PVOutput should provide a useful tool for consumption and net use.
One last thing:
Are there any security concerns with the public sharing of the data?

Thanks again

There are some security features if you have concerns.

  • You do not have to supply location information
  • Consumption data can be hidden from public views
  • Export data can be hidden from public views

Note that IoTaWatt exports the data via http without encryption, so vulnerable to a man-in-the-middle attack. IoTaWatt has the ability to send via https using a reverse proxy server (NGINX) on your LAN.

Thanks Bob. Thanks for a good product too.

I have set things up with PVOutput however I believe I have a problem.

When looking at Uploaders I See:
PVOutput: Running, Last Update 2106-02-06 8:28:16 PM
get service failed, HTTPcode:401

What next?
Thanks

Current message:

Unrecognized HTTP completion, upload Bad request 400: Moon Powered.

??

The moon powered is because you are uploading generation at night. That could be because you have the local time set incorrectly, or because your generation function is not correct.

The upload time is probably something in the configuration.

Can you post your PVOutput setup (without the key)

It is dark here and PV generation is 0

Checking Graph+ my time setting provided an accurate graph with respect to time of day.

Toronto time…UTC-5

PV db2

Graph+ is not proof that the IoTaWatt has the correct local time set. It only reflects a correct setting in your browser. Can you post your message log and I’ll check that as well as any PVoutput related messages.?

You can see that I enabled the API key at 05:31:53. This time stamp seems suspicious as I was doing this in the evening.

Here is the message log:

8/13/21 04:08:25 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:09:26 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:10:27 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:11:28 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:12:29 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:13:30 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:14:31 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:15:32 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:16:33 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:17:34 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:18:35 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:19:36 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:20:37 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:21:38 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:22:39 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:23:40 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:24:41 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:25:42 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:26:43 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:27:44 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:28:45 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:29:46 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:30:47 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:31:48 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:32:49 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:33:50 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:34:51 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:35:52 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:36:53 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:37:54 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:38:55 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:39:57 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:40:59 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:42:01 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:43:02 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:44:03 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:45:04 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:46:05 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:47:06 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:48:07 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:49:08 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:50:10 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:51:11 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:52:12 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:53:13 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:54:14 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:55:15 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:56:16 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:57:17 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:58:19 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 04:59:21 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:00:22 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:01:24 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:02:25 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:03:25 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:04:26 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:05:27 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:06:28 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:07:28 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:08:30 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:09:31 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:10:32 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:11:33 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:12:34 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:13:35 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:14:36 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:15:37 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:16:38 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:17:39 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:18:40 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:19:41 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:20:42 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:21:43 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:22:44 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:23:45 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:24:46 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:25:47 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:26:48 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:27:49 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:28:50 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:29:51 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:30:52 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:31:53 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 05:31:56 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 05:35:39 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 06:35:40 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 06:35:41 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 06:35:43 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 07:35:44 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 07:35:45 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 15:57:10 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 16:57:11 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 16:57:12 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 16:57:14 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered

Right now it’s 8:35am on 8/13/2021. Your last log entry is 16:57 on 8/13/2021, which sounds like someplace in India. So I think your time zone in setup is off. That would account for the “moon powered”.

I can’t tell from the log if you have resolved the disabled API key yet.

I’ll have a look

In the setup for PVOutput I chose (America/Toronto) so I assumed that was correct. That is UTC-5 as far as I can figure out and that is what my IotaWatt is set at.

Thanks

The setting is in IoTaWatt. Setup->device

Corrected the Iotawatt from UTC 5 to UTC-5

I’ll see if that works.

I’m wondering if it is the API ???

Latest message log:8/13/21 05:29:51 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:30:52 PVoutput: Unrecognized HTTP completion, getSystemService Unauthorized 401: Disabled API Key
8/13/21 05:31:53 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 05:31:56 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 05:35:39 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 06:35:40 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 06:35:41 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 06:35:43 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 07:35:44 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 07:35:45 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 15:57:10 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 16:57:11 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 16:57:12 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 16:57:14 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 07:57:15 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 07:57:16 PVoutput: Start status beginning 08/11/21 00:05:00
8/13/21 07:57:22 PVoutput: Unrecognized HTTP completion, upload Bad request 400: Moon Powered
8/13/21 08:09:45 WiFi disconnected.
8/13/21 08:10:05 WiFi connected. SSID=**, IP=, channel=3, RSSI -76db

This is still a time issue. Can you restart the IoTaWatt then,
Post the message log at the restart.
Post a Graph+ plot of consumption and generation for the 11th (2 days ago).

During setup of PVOutput I clicked the New button on the API to get the API field filled and at a later time I clicked the Enable button. Not sure if this is a factor. ??

I’ve also included screen shots of the Time setup from IoTaWatt and PVOutput.

Thanks for the help.

Message log:

8/13/21 16:20:49 Restart command received.

** Restart **

SD initialized.
8/13/21 21:20:51z Real Time Clock is running. Unix time 1628889651
8/13/21 21:20:51z Reset reason: Software/System restart
8/13/21 21:20:51z Trace: 1:3, 1:1[1], 1:2[2], 9:0[2], 9:0, 9:1, 8:4, 8:6, 8:8, 8:9, 9:3, 9:5, 9:9, 1:2, 1:3, 1:3, 1:1[2], 1:2[3], 9:0[3], 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
8/13/21 21:20:51z ESP8266 ChipID: 12703964
8/13/21 21:20:51z IoTaWatt 5.0, Firmware version 02_06_05
8/13/21 21:20:51z SPIFFS mounted.
8/13/21 16:20:51 Local time zone: -5:00
8/13/21 16:20:51 device name: IotaWatt
8/13/21 16:20:51 HTTP server started
8/13/21 16:20:51 timeSync: service started.
8/13/21 16:20:51 statService: started.
8/13/21 16:20:51 dataLog: service started.
8/13/21 16:20:51 dataLog: Last log entry 08/13/21 16:20:45
8/13/21 16:20:56 historyLog: service started.
8/13/21 16:20:56 historyLog: Last log entry 08/13/21 16:20:00
8/13/21 16:20:56 WiFi connected. SSID=Bathe257767, IP=192.168.10.5, channel=3, RSSI -77db
8/13/21 16:20:56 MDNS responder started for hostname IotaWatt
8/13/21 16:20:56 LLMNR responder started for hostname IotaWatt
8/13/21 16:20:56 Updater: service started. Auto-update class is MINOR
8/13/21 16:20:59 Updater: Auto-update is current for class MINOR.
8/13/21 16:21:00 PVoutput: started
8/13/21 16:21:01 PVoutput: System HalWFarm, interval 5, freeload mode
8/13/21 16:21:02 PVoutput: Start status beginning 08/11/21 00:05:00



Clicked on Allow Daylight Time: All seems well now with IoTaWatt uploading to PVOutput.

My system is uploading to PVOutput.
Unless you can see why I shouldn’t, I’ll enter donation mode and upload approximately 90 days worth of data.

One question: what does the “max 0” function do at the end of the Consumption line;
(main_1 + main_2 + PV_1 + PV_2) max 0

Thanks again Overeasy.