Ok I found the problem, I use request to get json from URL but weewx confuse to internal get.
How can I pass this error ? Le lundi 22 juin 2020 à 19:26:46 UTC+2, flor...@pre-vost.fr a écrit : > Hi, > > Yeahh :) It work ahah ^^ Thank you for your answer. > > I try to implement genArchiveRecords(self,since_ts): but I've this error : > > > 1. INFO weewx.engine: Main loop exiting. Shutting engine down. > 2. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: Caught > unrecoverable exception: > 3. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > 'generator' object has no attribute 'get' > 4. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > Traceback (most recent call last): > 5. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > File "/usr/share/weewx/weewxd", line 154, in main > 6. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > engine.run() > 7. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > File "/usr/share/weewx/weewx/engine.py", line 158, in run > 8. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > self.dispatchEvent(weewx.Event(weewx.STARTUP)) > 9. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > File "/usr/share/weewx/weewx/engine.py", line 224, in dispatchEvent > 10. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > callback(event) > 11. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > File "/usr/share/weewx/weewx/engine.py", line 530, in startup > 12. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > self._catchup(self.engine.console.genStartupRecords) > 13. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > File "/usr/share/weewx/weewx/engine.py", line 639, in _catchup > 14. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > ts = record.get('dateTime') > 15. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > AttributeError: 'generator' object has no attribute 'get' > 16. Jun 22 19:19:32 debian weewx[1344] CRITICAL __main__: **** > Exiting. > 17. Jun 22 19:20:30 debian systemd[1]: session-14.scope: Succeeded. > > > I don't know why ? I import weewx.engine into my blabla.py > > Maybe I losted to implement other value or function ? > Le lundi 22 juin 2020 à 14:08:03 UTC+2, Tom Keffer a écrit : > >> A driver is different from a service. The documentation you quoted is for >> a *service*. You want the section *Porting to new hardware >> <http://www.weewx.com/docs/customizing.htm#porting>*. >> >> Take a look at Vince's driver that you linked to in the first post of >> this thread. On line 106 >> <https://github.com/vinceskahan/weewx-weatherlinklive-json/blob/master/bin/user/WeatherLinkLiveJSON.py#L106>, >> >> the configuration dictionary (argument config_dict) is passed into the >> function loader(). It contains everything in weewx.conf. On the next >> line, 107, just the substructure config_dict['WeatherLinkLiveJSON'], >> which corresponds to the section [WeatherLinkLiveJSON]in weewx.conf, is >> passed on to the class WeatherLinkLiveJSONDriver. Nothing else. That's a >> typical pattern. >> >> -tk >> >> On Sun, Jun 21, 2020 at 11:25 PM Florentin Prevost <flor...@pre-vost.fr> >> wrote: >> >>> Hi, >>> >>> Thank you. I stuck just into passed config_dict. >>> >>> How can I pass this value into my driver ? >>> >>> In documentation, he say that create class like this : >>> >>> class MyAlarm(StdService): >>> """Service that sends email if an arbitrary expression evaluates true""" >>> >>> def __init__(self, engine, config_dict): >>> >>> >>> >>> Thank's >>> Le lundi 22 juin 2020 00:16:03 UTC+2, Tom Keffer a écrit : >>>> >>>> Yes, it's possible to access anything in the dictionary. For example, >>>> the name of the database used by the binding wx_binding would be given by >>>> >>>> config_dict['Databases']['wx_binding']['database'] >>>> >>>> >>>> However, it is rarely necessary to do this. Better to use the functions >>>> in manager.py to simply open up the database you need. For example, >>>> >>>> db = manager.open_manager_with_config(config_dict, 'wx_binding') >>>> >>>> >>>> would return a database Manager object for the wx_binding. >>>> >>>> See the section *Programming interface >>>> <http://www.weewx.com/docs/customizing.htm#Programming_interface>* in >>>> the Customizing Guide. >>>> >>>> -tk >>>> >>>> On Sun, Jun 21, 2020 at 2:21 PM Florentin Prevost <flor...@pre-vost.fr> >>>> wrote: >>>> >>>>> Thank you very well for your answer :) >>>>> >>>>> For the first question, sorry, I wanted to say that if it possible to >>>>> pass argument that is not in stanza [myWlink] for example. Because I've >>>>> set >>>>> the same parameter for sql database if you know what i mean. >>>>> >>>>> >>>>> Le dimanche 21 juin 2020 20:58:58 UTC+2, Tom Keffer a écrit : >>>>>> >>>>>> Make sure you read the section *Porting to new hardware >>>>>> <http://www.weewx.com/docs/customizing.htm#porting>* in the >>>>>> Customizing Guide. It answers some of your questions. >>>>>> >>>>>> 1. The full configuration information is available as the first >>>>>> argument to your driver loader() function as a dictionary. However, >>>>>> in general, you should try to keep your driver as modular as possible, >>>>>> and >>>>>> not pick and choose information from all over the dictionary. Best >>>>>> practice >>>>>> is to have your driver depend on information in its private stanza. For >>>>>> example, if your driver is named mywlnk.py, it should have a stanza >>>>>> >>>>>> [MyWlink] >>>>>> >>>>>> and look there for all its information. But, there are many >>>>>> exceptions to this best practice. >>>>>> >>>>>> 2. The function genArchiveRecords() is a *generator function*. If >>>>>> you don't know what that is, see the section *Generators >>>>>> <https://wiki.python.org/moin/Generators>* in the Python >>>>>> documentation. It takes one argument: a timestamp with the last time in >>>>>> the >>>>>> database. Your function should return all archive records since that >>>>>> time, >>>>>> using a yield statement. It will be called at startup and at the end of >>>>>> each archive interval. However, exactly when should not be your concern >>>>>> --- >>>>>> that's the engine's job. >>>>>> >>>>>> -tk >>>>>> >>>>>> On Sun, Jun 21, 2020 at 10:18 AM Florentin Prevost < >>>>>> flor...@pre-vost.fr> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I worked with the fork of >>>>>>> https://github.com/vinceskahan/weewx-weatherlinklive-json and I >>>>>>> would like to ask some questions about driver developpment. >>>>>>> >>>>>>> - How can I passed argument of weewx.conf to my driver ? I work to >>>>>>> request lost data from Weewx on Weatherlink.com because WeatherLink >>>>>>> Live >>>>>>> don't have API to take archive directly and I would like to passed some >>>>>>> arguments like archive_interval, sql password & etc >>>>>>> - How work genArchiveRecords when it call? It run as each report ? >>>>>>> Or it is a loop that waiting to have return values ? >>>>>>> >>>>>>> >>>>>>> Thank you for your answer and support. >>>>>>> >>>>>>> -- >>>>>>> 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 weewx-de...@googlegroups.com. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/weewx-development/d04b1fde-25c3-476d-b885-8d45b682976ao%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/weewx-development/d04b1fde-25c3-476d-b885-8d45b682976ao%40googlegroups.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 weewx-de...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/weewx-development/d524dd2b-0369-42ee-b5e5-73194a97fce1o%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/weewx-development/d524dd2b-0369-42ee-b5e5-73194a97fce1o%40googlegroups.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 weewx-developm...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/weewx-development/3a68298f-1115-4edf-bac0-b0890b132c7fo%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/weewx-development/3a68298f-1115-4edf-bac0-b0890b132c7fo%40googlegroups.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 weewx-development+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/5b438db6-281a-456e-b8b2-9cf7d5dd7325n%40googlegroups.com.