This project has moved and is read-only. For the latest updates, please go here.

Stops uploading data to PVOutput when 0 Watts Generated

Topics: 5. Support
Jan 2, 2016 at 4:38 PM
Hi All,

Hopefully I'm just doing something silly.

Previously i was using the pre-SQL version of SBFspot, so uploading data in realtime to PVOutput.
Although this worked well, it was annoying when the Pi crashed or internet went down in that i would miss data.
So i upgraded recently to the latest version with SQL, which works fine in most ways except a change in behaviour around uploading data.

If 0watts is generated at sunrise, sunset it doesn't upload any data regardless of the set sunrise time [which i guess is okay]. But if in the middle of the day generation drops to 0 watts then it stops uploading data until power is being generated again. But yet once power is being generated, it then uploads the 0-watt values.
The issue with this is that PVoutput then tells me that my system is down, which is a useful feature for me.

Is there anyway to force the daemon to upload 0watt values?

Jan 5, 2016 at 9:28 AM
Trune wrote:
Is there anyway to force the daemon to upload 0watt values?
No, because these "0-watt" data is not stored in the db unless there are non-zero afterwards.
Jan 18, 2017 at 10:23 AM
Edited Jan 18, 2017 at 12:58 PM
Same issue here. Having a lot of snow on my roof so on some times of the day no power is generated. I need the 0W days also on Any way to get a workaround?
Jan 31, 2017 at 7:01 PM
I recently upgraded from SBFSpot 3.0.8 to 3.1.1 and have run into the issue that my setup (using Domoticz and a Python script) does not work properly anymore. I have identified this issue as a possible cause. Domoticz reads the csv files correctly but after 0:00 at night it searches for a csv file of the new day which is not there anymore and then registeres the total output of the inverter as the daily counter. Once the new file for that day is created (currently around 06:00) the script starts working again.

So something changed. I upgraded because I lost the 3.0.8 install due to a disk crash but I'd really would like to go back to this working version. However, I'm unable to find it. Can someone tell me where to download this?
Jan 31, 2017 at 10:34 PM
Maybe you forgot the -finq parameter?
Jan 31, 2017 at 10:47 PM
Edited Jan 31, 2017 at 10:47 PM
No, I actually added that after the upgrade ( I did not need this on 3.0.8) because I thought that would fix my problem with 3.3.1 but it does not make a difference. I walked through the settings of SBFspot again and noticed there is actually a setting in SBFspot.cfg which is supposed to make sure there are values 24/7. I have it set correctly but it seems to be ignored in 3.3.1.
# CSV_SaveZeroPower (default 1 = On)
# When enabled, daily csv files contain all data from 00:00 to 23:55
# This is usefull for manual data upload to
I guess there is a bug somewhere which results in the csv files only being created and appended during daytime. Is there any chance for me to get my hands on 3.0.8 again?
Feb 1, 2017 at 3:11 PM
Made 308 available again (temporary)
Feb 1, 2017 at 8:56 PM
Nice, I have downloaded 3.0.8 and will keep it save somewhere. Once I have reverted back and have tested that 3.0.8. does indeed record data in the csv files from 0:00 to 23:55 I will confirm back here that it is a bug with 3.3.1.
Feb 2, 2017 at 9:46 PM
Hmm, too bad. Cant get 3.0.8 to compile on my Synology DiskStation anymore ... dont really know what is going on.

root@Diskstation:/volume1/homes/admin/SBFspot_3.0.8/SBFspot# make install_mysql
test -d bin/Release_MySQL || mkdir -p bin/Release_MySQL
test -d obj/Release_MySQL || mkdir -p obj/Release_MySQL
g++ -Wall -O2 -DUSE_MYSQL  -c boost_ext.cpp -o obj/Release_MySQL/boost_ext.o
boost_ext.cpp: In function 'time_t to_time_t(boost::gregorian::date)':
boost_ext.cpp:46:53: error: call of overloaded 'to_time_t(boost::posix_time::ptime)' is ambiguous
  return time_t(to_time_t(boost::posix_time::ptime(d)));
boost_ext.cpp:37:8: note: candidate: time_t to_time_t(boost::posix_time::ptime)
 time_t to_time_t(boost::posix_time::ptime t)
In file included from /volume1/@optware/include/boost/date_time/posix_time/posix_time_io.hpp:21:0,
                 from /volume1/@optware/include/boost/date_time/posix_time/posix_time.hpp:31,
                 from boost_ext.h:39,
                 from boost_ext.cpp:35:
/volume1/@optware/include/boost/date_time/posix_time/conversion.hpp:35:15: note: candidate: time_t boost::posix_time::to_time_t(boost::posix_time::ptime)
   std::time_t to_time_t(ptime pt)
makefile:215: recipe for target 'obj/Release_MySQL/boost_ext.o' failed
make: *** [obj/Release_MySQL/boost_ext.o] Error 1
Feb 2, 2017 at 11:08 PM
Edited Feb 3, 2017 at 9:20 AM
It's because you have an updated BOOST install (>1.58)
This was fixed in 3.1.0 - You need a more recent boost_ext.*