The $trend tag can take an optional time_delta parameter.

$trend($time_delta=604800).outTemp

would return the difference in temperature from exactly one week ago. Mind
you, this is not a difference from an average temperature or anything. Just
a straight difference between two records exactly a week apart.

If you want to do some averaging, then you'll have to define your own
search list extension to provide something like:

$diff($time_delta=604800, $aggregation_time=86400).outTemp

-tk

On Tue, Nov 28, 2017 at 5:45 PM, Michael Hornsby <
[email protected]> wrote:

> Thanks Tom
>
> I though you could only have one time delta for a trend ? So if I did week
> and could not have month or year ?
>
> Cheers
> Michael
>
> On Wednesday, 29 November 2017 10:40:51 UTC+11, Tom Keffer wrote:
>>
>> Hello, Michael and welcome to WeeWX.
>>
>> Would it work if I did  something like
>>> seven_day_stats1 = TimespanBinder ....
>>> seven_day_stats2 = TimespanBinder ....
>>> seven_day_stats = seven_day_stats1 - seven_day_stats2
>>
>>
>> Unfortunately, no, because there is no subtraction operator defined for
>> type TimespanBinder.
>>
>> Why not just use the existing tag $trend
>> <http://weewx.com/docs/customizing.htm#_________Tag_$trend_______>? If
>> that's not what you had in mind, try hacking object TrendObj to get exactly
>> what you want.
>>
>> -tk
>>
>>
>> On Tue, Nov 28, 2017 at 5:17 PM, Michael Hornsby <[email protected]>
>> wrote:
>>
>>> Hi
>>>
>>> I'm migrating from wview and very excited with what can be done with
>>> weewx. At the moment I have php code and custom C code and I can see I can
>>> create a much better package with weewx.
>>>
>>> I'm trying to get my head around how a can construct a search list
>>> extension so I can find the change in a value from a week , month or year
>>> ago
>>>
>>> For example in a template I have this
>>> $week.outHumidity.avg.raw - $week($weeks_ago=1).outHumidity.avg.raw
>>>
>>> I want to know compared to last week / month / year whats the difference
>>> in the average temp , total rain etc
>>>
>>> I'm looking at the example below and thinking ok. So I need to run the
>>> stats for two periods and subtract them.
>>>
>>>
>>>  week_dt = datetime.date.fromtimestamp(timespan.stop) - \
>>>
>>>                     datetime.timedelta(weeks=1)                             
>>>  # 5
>>>         # Convert it to unix epoch time:
>>>         week_ts = time.mktime(week_dt.timetuple())                          
>>>  # 6
>>>         # Form a TimespanBinder object, using the time span we just
>>>         # calculated:
>>>         seven_day_stats = TimespanBinder(TimeSpan(week_ts, timespan.stop),
>>>                                          db_lookup,
>>>                                          formatter=self.generator.formatter,
>>>                                          converter=self.generator.converter,
>>>                                          skin_dict=self.generator.skin_dict)
>>>
>>>
>>>
>>> Would it work if I did  something like
>>>
>>> seven_day_stats1 = TimespanBinder ....
>>> seven_day_stats2 = TimespanBinder ....
>>>
>>> seven_day_stats = seven_day_stats1 - seven_day_stats2
>>>
>>>
>>> Thanks - I contributed a few features to wview. Hopefully I can do the
>>> same with weewx.
>>>
>>> Cheers
>>> Michael
>>>
>>> --
>>> 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].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> 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].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to