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 <[email protected]>
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 <[email protected]>
>> 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 <[email protected]>
>>>> 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 [email protected].
>>>>> 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 [email protected].
>>> 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 [email protected].
> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/CAPq0zEAsMLONyQ6u868VU_KgsA%3DX06TEYycYKA84XzYra2aa1A%40mail.gmail.com.

Reply via email to