Try:
[[other_images]]
x_label_format = %Y
bottom_label_format = %x %X
time_length = 220752000 # 7 years
aggregate_interval = day
show_daynight = false
[[[trol10]]]
[[[[rol10]]]]
label = "Température : moyenne glissante sur 10 ans"
aggregate_type = rolling_avg_years
val = 10
data_type = outTemp
Although, to tell you the truth, I've never tried this!
-tk
On Sun, Oct 9, 2022 at 6:48 AM Jacques Terrettaz <[email protected]>
wrote:
> Thanks Tom,
>
> I have modified my extension, and when the aggregate type is used within a
> tag such as* $day.outTemp.rolling_avg_years(10)* it works.
>
> But it is not working with the ImageGenerator.
> In my extension, I am checking that the aggregate type is
> "rolling_avg_year", and if not it will raise
> a weewx.UnknownAggregationexception
>
> When using the aggregate type without parameter, with this ImageGenerator
> definition :
>
> [[other_images]]
> x_label_format = %Y
> bottom_label_format = %x %X
> time_length = 220752000 # 7 years
> aggregate_interval = day
> show_daynight = false
> [[[trol10]]]
> [[[[rol10]]]]
> label = "Température : moyenne glissante sur 10 ans"
> aggregate_type = rolling_avg_years10
> data_type = outTemp
>
> The image is generated :
>
> But when using the modified extension accepting a parameter :
>
> [[other_images]]
> x_label_format = %Y
> bottom_label_format = %x %X
> time_length = 220752000 # 7 years
> aggregate_interval = day
> show_daynight = false
> [[[trol10]]]
> [[[[rol10]]]]
> label = "Température : moyenne glissante sur 10 ans"
> aggregate_type = rolling_avg_years(10)
> data_type = outTemp
>
>
> I have the following error :
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: Caught
> unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator'
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> 'outTemp' or 'rolling_avg_years(10)'
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> Traceback (most recent call last):
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> File "/usr/share/weewx/weewx/reportengine.py", line 197, in run
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> obj.start()
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> File "/usr/share/weewx/weewx/reportengine.py", line 385, in start
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> self.run()
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> File "/usr/share/weewx/weewx/imagegenerator.py", line 42, in run
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> self.gen_images(self.gen_ts)
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> File "/usr/share/weewx/weewx/imagegenerator.py", line 109, in gen_images
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> self.image_dict[timespan][plotname])
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> File "/usr/share/weewx/weewx/imagegenerator.py", line 249, in gen_plot
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> **option_dict)
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> File "/usr/share/weewx/weewx/xtypes.py", line 116, in get_series
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> raise weewx.UnknownType(msg)
>
> 2022-10-09 15:30:24 weewx[22095] ERROR weewx.reportengine: ****
> weewx.UnknownType: 'outTemp' or 'rolling_avg_years(10)'
>
>
> When called by the ImageGenerator, it appears that the *aggregate type
> *parameter
> of the get_aggregate function is the full value *"rolling_avg_years(10)*"
> and not the value " *"rolling_avg_years*". So in that case it is
> considered as an unknown aggregation because it is not "rolling_avg_years"
> and rejected by my extension.
>
> Is there a special syntax to be used when defining an aggregate type with
> a parameter for the ImageGenerator ?
>
>
>
>
> Le 9 oct. 2022 à 15:07, Tom Keffer <[email protected]> a écrit :
>
> You're on the right track. If you pass in a parameter to an aggregation,
> it appears in "option_dict" in the corresponding get_aggregate() call. If
> you don't name that parameter, it shows up as key "val". So, in your
> example,
>
> $day.outTemp.rolling_avg_years(10)
>
>
> would result in a call to get_aggregate() that looks like:
>
> get_aggregate('outTemp', timespan, 'rolling_avg_years', db_manager, val=10)
>
>
> The value 'val' will contain the appropriate number of years to do the
> rolling average.
>
> Hope that helps.
>
> -tk
>
> On Sun, Oct 9, 2022 at 5:54 AM [email protected] <[email protected]>
> wrote:
>
>> Hello,
>>
>> I am writing a Xtype extension providing a new aggregate type that
>> calculates a rolling average of a parameter over years.
>>
>> I started by defining several different aggregate type for different
>> number of years, such as :
>>
>> *rolling_avg_years1*
>>
>> *rolling_avg_years5*
>>
>> *rolling_avg_years10*
>>
>> *rolling_avg_years15*
>>
>> For exemple : *$day.outTemp.rolling_avg_years10* returns the average
>> temperature of the last 3650 days (i.e. 10 years).
>>
>> And it works.
>>
>> But, to allow more flexibility, I would prefer, if possible, to have
>> the number of years as parameter, such as
>>
>> *rolling_avg_years(10)*
>>
>> but I don't know how I could retrieve the parameter in the get_aggregate
>> function of my extension.
>> Any help is appreciated,
>> Thanks
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "weewx-development" 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-development/c17fbd97-4547-4a36-bfc0-35b10aa3b68bn%40googlegroups.com
>> <https://groups.google.com/d/msgid/weewx-development/c17fbd97-4547-4a36-bfc0-35b10aa3b68bn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "weewx-development" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/weewx-development/RyO1T4UFFBk/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-development/CAPq0zECGbOo6rT7mNdRFvRQAq6TNmWKZO6NZ7evDA6mvUz925g%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-development/CAPq0zECGbOo6rT7mNdRFvRQAq6TNmWKZO6NZ7evDA6mvUz925g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
>
--
You received this message because you are subscribed to the Google Groups
"weewx-development" 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-development/CAPq0zECTH50_Z9-YJXS8-%3Dx_n1FTsgTbdbJVsAm5kMQvqf_9Fg%40mail.gmail.com.