Hallo Tom, to give the user some instructions I wrote a README file 
describing how to install and include the extension in skins. Do you think 
it is enough and to understand?
README file <https://github.com/roe-dl/weewx-GTS/blob/master/README.md>

Karen K schrieb am Samstag, 20. Februar 2021 um 17:08:47 UTC+1:

> That is, how it is now (install.py not tested by now): 
> https://github.com/roe-dl/weewx-GTS
>
> Karen K schrieb am Donnerstag, 18. Februar 2021 um 22:31:27 UTC+1:
>
>> I filed an issue for the record-is-None-problem there: #583 
>> <https://github.com/poblabs/weewx-belchertown/issues/583>
>>
>> Karen K schrieb am Donnerstag, 18. Februar 2021 um 21:42:24 UTC+1:
>>
>>> Hi Tom, you are right. I changed the code that it returns the last value 
>>> if record is None, and immediately Belchertown skin shows the value.
>>>
>>> I considered your comments about dangers by comparing the timestamp of 
>>> the last value with the actual time time.time(). If the value is too 
>>> old an error is raised rather than a value returned. And I let the program 
>>> complain to the log, that record is None.
>>>
>>> Skin with included GTS value <https://www.woellsdorf-wetter.de>
>>> Tom Keffer schrieb am Donnerstag, 18. Februar 2021 um 19:25:48 UTC+1:
>>>
>>>> That's one solution, but it has lots of dangers. The record could be 
>>>> hours old.
>>>>
>>>> NB: if you want to do that, it's easy enough to code up a custom 
>>>> version of get_scalar() that does this. If it detects a record of None, it 
>>>> gets the latest record from the database, then calls 
>>>> weewx.xtypes.get_scalar() with that.
>>>>
>>>>
>>>> On Thu, Feb 18, 2021 at 10:18 AM Karen K <[email protected]> wrote:
>>>>
>>>>> Thank you for your extensive support! 
>>>>>
>>>>> Could it be, that get_scalar() in other classes (especially in the 
>>>>> basic ones) simply provide the last available value, if record is None?
>>>>>
>>>>> I could code it that way, but I am not sure, whether it is a good idea 
>>>>> or not.
>>>>>
>>>>> Tom Keffer schrieb am Donnerstag, 18. Februar 2021 um 17:51:45 UTC+1:
>>>>>
>>>>>> Hi, Karen. Looks like you are making steady progress.
>>>>>>
>>>>>> This is a bug in the Belchertown skin that I alluded to in another 
>>>>>> thread 
>>>>>> <https://groups.google.com/g/weewx-user/c/fKVxr07vMuE/m/I-PdDb7vBgAJ>
>>>>>> .
>>>>>>
>>>>>> In a convoluted way, the skin is asking for a value from xtypes using 
>>>>>> the call 
>>>>>>
>>>>>> xtype.get_scalar(obs_type, record, db_manager)
>>>>>>
>>>>>>
>>>>>> (Side note: the actual request is done through a getattr() query of 
>>>>>> a weewx.tags.CurrentObj object). 
>>>>>>
>>>>>> Unfortunately, the value for record as provided by the Belchertown 
>>>>>> skin is None. In theory, the xtypes extension could look up the values 
>>>>>> it 
>>>>>> needs from the database, but that would require knowing the time, but 
>>>>>> with 
>>>>>> record equal to None, that's not possible either.
>>>>>>
>>>>>> The Belchertown skin needs to provide the current record.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Feb 18, 2021 at 8:39 AM Karen K <[email protected]> wrote:
>>>>>>
>>>>>>> My XType extension is working in principle now. It calculates, and 
>>>>>>> it delivers values, if there is $current.GTS, $latest.GTS, $day.GTS 
>>>>>>> or $yesterday.GTS included in the skin definition. Also, images are 
>>>>>>> generated showing the value over time. All is fine so far.
>>>>>>>
>>>>>>> Then I included the value in the Belchertown skin observation list. 
>>>>>>> And I got an error message. It turned out, that it is possible that 
>>>>>>> get_scalar() is called with *record is None*. From documentation I 
>>>>>>> thought otherwise. That was confusing.
>>>>>>>
>>>>>>> As I included "if record is None: raise 
>>>>>>> weewx.CannotCalculate(obs_type)" into get_scalar() no error message 
>>>>>>> was logged any more. But no value was displayed in Belchertown skin. 
>>>>>>> Again: 
>>>>>>> if I include "$current.GTS" into the skin, the value is displayed. 
>>>>>>> If I include the value in the observation list in skin.conf, it is not. 
>>>>>>> I 
>>>>>>> looked around and found out that Belchertown skin gets the value from 
>>>>>>> calling weewx.tags.CurrentObj()within their special extension 
>>>>>>> "belchertown.py" That seems to not include GTS value.
>>>>>>>
>>>>>>> So I am not sure what to do next.
>>>>>>>
>>>>>>> -- 
>>>>>>>
>>>>>> 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/bf89f27d-abb4-4943-a2a9-e3ffbf1a8606n%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/weewx-development/bf89f27d-abb4-4943-a2a9-e3ffbf1a8606n%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/4caf593c-5f43-4c21-bb44-37867f803e52n%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/weewx-development/4caf593c-5f43-4c21-bb44-37867f803e52n%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/8d4a2568-65a6-4529-859b-52efaf62b534n%40googlegroups.com.

Reply via email to