...... or you could just say weewx does not support feather ..... and leave 
feather users to do their own thing .... if doing software archive record 
generation from loop packets does not solve the problem.



On Sunday, 27 November 2016 20:35:22 UTC+2, Tom Keffer wrote:

> I'm getting lost in where we are.
>
> Let me try another suggestion. If you do not or cannot implement GETTIME 
> on the feather, how about writing a new driver that inherits from the old 
> vantage driver, but overrides getTime() and setTime()?
>
> It would look something like this (NOT TESTED):
>
> *File bin/user/dekay.py*
>
> import weewx.drivers.vantage
>
> DRIVER_NAME = 'Dekay'
> DRIVER_VERSION = '0.0.1'
>
> def loader(config_dict, engine):
>     return DekayService(engine, config_dict)
>
> configurator_loader = weewx.drivers.vantage.configuration_loader
> confeditor_loader = weewx.drivers.vantage.confeditor_loader
>
> class DekayService(weewx.drivers.vantage.VantageService):
>
>     def getTime(self):
>         raise NotImplementedError("Method 'getTime' not implemented in 
> Dekay driver")
>
>     def setTime(self, ts):
>         raise NotImplementedError("Method 'setTime' not implemented in 
> Dekay driver")
>
>
>
> To use, go into weewx.conf and change
>
> driver = weewx.drivers.vantage
>
> to
>
> driver = user.dekay
>
> I've probably forgotten a bunch of things, but this should get you started.
>
> -tk
>
>
>
>
> On Sun, Nov 27, 2016 at 10:19 AM, gustl319 <[email protected] 
> <javascript:>> wrote:
>
>> Am Sonntag, 27. November 2016 14:05:56 UTC+1 schrieb Tom Keffer:
>>>
>>> On Sun, Nov 27, 2016 at 3:53 AM, gustl319 <[email protected]> wrote:
>>>
>>>> I've done some code searching. Please tell me if I'm right:
>>>>
>>>>    - on startup do_sync() is called
>>>>    - in do_sync() is a call to getTime()
>>>>    - getTime() returns the GETTIME answer
>>>>    - if the difference to system time is greater than max_drift (5sec) 
>>>>    then a setTime() -> SETTIME sequence is started
>>>>
>>>> ​This is exactly right.
>>>
>>>
>> Unfortunately real life is different :-( 
>>
>> When I remove the GETTIME command everyting is fine. When GETTIME returns 
>> a yet unset time from the past I get hundreds and thousands of Requesting 
>> 200 LOOP packets
>>
>> I edited vantage.py to generate syslog entrys when there is a getTime() 
>> or a setTime(). 
>> Nov 27 18:41:19 raspberrypi weewx[6839]: engine: Starting main packet 
>> loop.
>> Nov 27 18:41:19 raspberrypi weewx[6839]: vantage: getTime(self)
>>
>> I think this getTime is not called from do_sync, but from 
>> StdArchiv.pre_loop via engine._get_console_time(). The time calculates 
>> end_archive_period_ts and end_archive_delay_ts. My guess is that an 
>> anchient timestamp triggers these loop requests, because of these 
>> period/delay values. 
>>
>> So how does weewx recognize a batterie change in a vantage console and 
>> trigger a SETTIME?
>>
>> -- 
>> 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] <javascript:>.
>> 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