You are using MySQL or MariaDB? I use Sqlite. There this statemant works.
I am not really at home with MySQL, but could you change the statement like
that:
_result = db_manager.getSql(
"SELECT SUM(radiation*interval/60.0), "
"MIN(usUnits), MAX(usUnits) FROM %s "
"WHERE dateTime >? AND dateTime<=?"
% db_manager.table_name, timespan)
issue #5 <https://github.com/roe-dl/weewx-GTS/issues/5>
If that does not help I would move the division by 60 from the SQL
statement to the Python code. But first I ask you to check if that change
works.
[email protected] schrieb am Donnerstag, 11. März 2021 um 09:23:39 UTC+1:
> in line 546
> def calc_radiation_integral(self, timespan, db_manager):
> """calculate radiation integral over time
>
> radiation: actual radiation in Watt per square meter
> interval: registration interval as per database record in minutes
>
> """
>
> try:
> _result = db_manager.getSql(
> "SELECT SUM(radiation*interval)/60.0, "
> "MIN(usUnits), MAX(usUnits) FROM %s "
> "WHERE dateTime >? AND dateTime<=?"
> % db_manager.table_name, timespan)
>
> is there a sql error
>
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine:
> **** File "/home/weewx/bin/user/GTS.py", line 559, in
> calc_radiation_integral
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine:
> **** % db_manager.table_name, timespan)
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine:
> **** File "/home/weewx/bin/weewx/manager.py", line 430, in getSql
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine:
> **** _cursor.execute(sql, sqlargs)
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine:
> **** File "/home/weewx/bin/weedb/mysql.py", line 61, in guarded_fn
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine:
> **** raise klass(e)
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine: ****
> weedb.DatabaseError: (1064, "You have an error in your SQL syntax; check
> the manual that corresponds to your MariaDB server version for the right
> syntax to use near ')/60.0, MIN(usUnits),MAX(usUnits) FROM archive WHERE
> dateTime>1612825200 AND ...' at line 1")
> Mar 11 09:20:26 hesba weewx[16349] ERROR weewx.reportengine: ****
> Generator terminated
>
>
> [email protected] schrieb am Mittwoch, 10. März 2021 um 20:39:50 UTC+1:
>
>> The radiation observation type provides the actual sun power received at
>> the time of measurement. The value depends on cloud coverage and the time
>> of day.
>>
>> Besides that it is interesting to know which amount of energy was
>> received from the sun during the day or any other period of time.
>>
>> To get that value some calculation has to be done. Unlike with rain that
>> cannot be done by simply summarizing the observation readings. Energy is no
>> cumulative value. Instead, it is necessary to integrate (in the
>> mathematical meaning of that word) the radiation readings over the
>> aggregation interval.
>>
>> I extended GTS extension <https://github.com/roe-dl/weewx-GTS> to do
>> that.
>>
>> For example you can display the amount of sun energy received the day
>> before by using the tag $yesterday.radiation.energy_integral. Plots are
>> also possible.
>>
>> For examples showing these values see:
>> sun radiation energy value <https://www.woellsdorf-wetter.de>
>> sun radiation energy plot
>> <https://www.woellsdorf-wetter.de/graphs/?graph=month#Sonnenenergie>
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/d637f004-f323-4843-a787-d841f856f87an%40googlegroups.com.