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/CAPq0zEBhtzCwTbWreSP_LjM%3DT37%2BY_%3DTmmZ1Fm2sbREvfcN3Lg%40mail.gmail.com.
