Oh boy... I cant find any examples for that. If one exists, it will greatly reduce the number of questions I have...
On Friday, January 21, 2022 at 3:24:07 PM UTC-6 [email protected] wrote: > You're getting close! > > You're going to have to implement get_aggregate(), as well as get_scalar(). > > The xtypes framework has no way of taking the calculation for get_scalar() > and using it to calculate an aggregate. You're going to have to do it. The > good news is that once you've done it, then the framework can use that to > calculate a series on its own. This is where we will find out how fast the > calculation is. > > -tk > > On Fri, Jan 21, 2022 at 12:51 PM Seth Ratner <[email protected]> wrote: > >> Getting Closer, but still getting errors. >> >> I can now see the result in the archive loop (gets sent over MQTT). But >> with the seasons skin attempts to make a chart with it, I get: >> >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> Caught unrecoverable exception in generator >> 'weewx.imagegenerator.ImageGenerator' >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** chillHours >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** Traceback (most recent call last): >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/reportengine.py", line 196, in run >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** obj.start() >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/reportengine.py", line 281, in >> start >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** self.run() >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/imagegenerator.py", line 41, in run >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** self.genImages(self.gen_ts) >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/imagegenerator.py", line 177, in >> genImages >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** start_vec_t, stop_vec_t ,data_vec_t = >> weewx.xtypes.get_series(var_type, >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/xtypes.py", line 94, in get_series >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** raise weewx.UnknownType(obs_type) >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** weewx.UnknownType: chillHours >> Jan 21 14:40:39 Ratner-Orchard weewx[3122] ERROR weewx.reportengine: >> **** Generator terminated >> >> Here's the block I added in skin.conf >> >> [[[yearchill]]] >> plot_type = bar >> [[[[chillHours]]]] >> aggregate_type = cumulative >> aggregate_interval = day >> >> >> On Friday, January 21, 2022 at 2:14:11 PM UTC-6 Seth Ratner wrote: >> >>> I'm close, I think, except now I'm getting this every loop or report >>> generation. >>> >>> DEBUG weewx.wxservices: Unknown extensible type 'chillHours' >>> >>> There are a couple things I'm unsure of that might be causing this >>> >>> - I used the group type group_elapsed because it seemed like the best fit >>> - The last line of the python file, modeled after the VaporPressure.py >>> example, is not part of either class, so I'm not sure what runs it. >>> >>> Here's the code: >>> https://github.com/lordratner/weewx_chillHours/blob/main/chill_hours.py >>> >>> It's been added to weewx.conf engine section in xtypes, and I've >>> confirmed the service is loading. >>> >>> Thoughts? >>> >>> >>> On Thursday, January 20, 2022 at 8:26:59 PM UTC-6 [email protected] >>> wrote: >>> >>>> I'd try it as a pure xtype first, and see what kind of performance I >>>> got. If it's slow, put it in the database. >>>> >>>> You can query the database directly, but the advantage of using xtypes >>>> system to do your queries is that it can automatically optimize whether or >>>> not to use the daily summaries. >>>> >>>> There's a brief section >>>> <https://github.com/weewx/weewx/wiki/WeeWX-V4-user-defined-types#xtypes-api> >>>> >>>> in the wiki about the API. It's pretty self-explanatory, except about >>>> where >>>> db_manager comes from. That's an instance of >>>> weewx.manager.DaySummaryManager. Look in weewx/manager.py for how to >>>> create >>>> one. There are some convenient static methods for doing so. >>>> >>>> On Thu, Jan 20, 2022 at 6:15 PM Seth Ratner <[email protected]> >>>> wrote: >>>> >>>>> Thanks Tom >>>>> >>>>> Final questions for the night, I promise 🤣😂 >>>>> >>>>> Would you put this one the database, or just let WeeWx calculate it >>>>> using the xtype each time? >>>>> >>>>> Second, is there an API or interface or whatever where another >>>>> application can query WeeWX for some sort of weather data? In this case, >>>>> I'd like my irrigation software to query WeeWX for the ET, total rain, >>>>> and >>>>> chill hours of a given time frame. >>>>> >>>>> Or do I just have to read the database directly? >>>>> >>>>> >>>>> >>>>> On Thu, Jan 20, 2022, 19:15 Tom Keffer <[email protected]> wrote: >>>>> >>>>>> On Thu, Jan 20, 2022 at 4:01 PM Seth Ratner <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Would you add the step from the xType guide of adding chillHours to >>>>>>> [StdWXCalculate] [[Calculations]]? Or would the "synthetic type" >>>>>>> concept >>>>>>> mean it only exists when it is called on. >>>>>>> >>>>>>> As I understand it, adding it to [StdWXCalculate] [[Calculations]] >>>>>>> would add chillHours to the loop, but it would not be in the archive >>>>>>> unless >>>>>>> I also added a column for it with the same type name. >>>>>>> >>>>>> >>>>>> It doesn't hurt to add to StdWXCalculate, but it's really only >>>>>> necessary if you want to add the results to the database. And, yes, >>>>>> it will only get added to the database if there's a matching column in >>>>>> the >>>>>> schema. >>>>>> >>>>>>> >>>>>>> So on my Belchertown skin, where I want total Chill Hours from Oct - >>>>>>> May displayed, if I add it to the archive WeeWX will use the database >>>>>>> to >>>>>>> calculate the total (just adding them together), whereas if I don't add >>>>>>> it >>>>>>> to the archive, WeeWX will have to run the (if outTemp < 45 then >>>>>>> chillHours >>>>>>> = archive_interval) for every archive row in that timespan, then sum >>>>>>> that? >>>>>>> >>>>>> >>>>>> Maybe. For the ImageGenerator that comes with WeeWX, if a type is not >>>>>> available in the database, it will try to calculate it "on the fly" >>>>>> using >>>>>> xtypes. However, I have no idea what the Belchertown skin does. I kind >>>>>> of >>>>>> doubt it leverages xtypes. >>>>>> -tk >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to a topic in >>>>>> the Google Groups "weewx-user" group. >>>>>> To unsubscribe from this topic, visit >>>>>> https://groups.google.com/d/topic/weewx-user/7ysYvSUMOOo/unsubscribe. >>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>> [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEAdDBGTow7i55XfnGPzncQjdmiH%2BSk%3DL9_ZoE85QXKO%3Dw%40mail.gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEAdDBGTow7i55XfnGPzncQjdmiH%2BSk%3DL9_ZoE85QXKO%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>>> >>>> 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]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/weewx-user/CAHTssjOF_Q65XveoboAwRV%2Br5-oNb8curD7LZTTmuD7Y0-EAjQ%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/weewx-user/CAHTssjOF_Q65XveoboAwRV%2Br5-oNb8curD7LZTTmuD7Y0-EAjQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >> 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]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/weewx-user/cb666588-aced-461c-9171-9d48b89e85f5n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/cb666588-aced-461c-9171-9d48b89e85f5n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/8bb5d647-2f69-42b5-b5db-5b4c901e32f5n%40googlegroups.com.
