A service should be listed only once.

All services run in order. If it's in report_services, it will be run
*after* the archiving service, StdArchive. Put it at the end of
process_services.



On Tue, Aug 4, 2020 at 4:35 PM Kevin Key <[email protected]> wrote:

> Ohh, I only have user.evapcooler.MyEvapCooler listed in report_services in
> weewx.config. So it should also be added to process_services? What about
> archive_services and restful_services?
>
>
> On Tuesday, August 4, 2020 at 4:28:57 PM UTC-7 [email protected] wrote:
>
>> Where does your service MyEvapCooler sit in the list of services to be
>> run by the engine? You probably want it at the end of process_services. I
>> don't know what file it's in, but say it's in myevapcooler.py, then you'd
>> want:
>>
>>         process_services = weewx.engine.StdConvert,
>> weewx.engine.StdCalibrate, weewx.engine.StdQC,
>> weewx.wxservices.StdWXCalculate, user.myevapcooler.MyEvapCooler
>>
>>
>>
>>
>> On Tue, Aug 4, 2020 at 4:15 PM Kevin Key <[email protected]> wrote:
>>
>>> Should I be specifying something other than archive record? Oh, outTemp
>>> is there. Here's a larger snippet of the output:
>>>
>>>
>>>  sudo weewxd
>>> LOOP:   2020-08-04 16:10:20 PDT (1596582620) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582620, pressure: 29.922026, rain:
>>> None, rainRate: 0, txBatteryStatus: 0, usUnits: 1, windDir: 338.0,
>>> windSpeed: 4.0
>>> LOOP:   2020-08-04 16:10:23 PDT (1596582623) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582623, extraHumid2: 74.0, extraTemp2:
>>> 74.6, extraTemp2BatteryStatus: 74.6, pressure: 29.922026, rainRate: 0,
>>> usUnits: 1
>>> LOOP:   2020-08-04 16:10:23 PDT (1596582623) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582623, inDewpoint: 64.675919618,
>>> inHumidity: 55.0, inTemp: 82.5, inTempBatteryStatus: 1, pressure:
>>> 29.922026, rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:10:24 PDT (1596582624) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582624, dewpoint: 63.1346846273,
>>> heatindex: 88.7569178536, outHumidity: 44.0, outTemp: 87.8, pressure:
>>> 29.922026, rainRate: 0, txBatteryStatus: 0, usUnits: 1, windchill: 87.8,
>>> windSpeed: 5.0
>>> LOOP:   2020-08-04 16:10:33 PDT (1596582633) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582633, extraHumidity1: 76.0,
>>> extraTemp1: 37.7, extraTemp1BatteryStatus: 37.7, pressure: 29.922026,
>>> rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:10:39 PDT (1596582639) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582639, extraHumid2: 74.0, extraTemp2:
>>> 74.6, extraTemp2BatteryStatus: 74.6, pressure: 29.922026, rainRate: 0,
>>> usUnits: 1
>>> LOOP:   2020-08-04 16:10:40 PDT (1596582640) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582640, inDewpoint: 64.675919618,
>>> inHumidity: 55.0, inTemp: 82.5, inTempBatteryStatus: 1, pressure:
>>> 29.922026, rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:10:42 PDT (1596582642) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582642, pressure: 29.922026, rain: 0.0,
>>> rainRate: 0, txBatteryStatus: 0, usUnits: 1, windDir: 270.0, windSpeed: 5.0
>>> LOOP:   2020-08-04 16:10:50 PDT (1596582650) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582650, extraHumidity1: 76.0,
>>> extraTemp1: 37.7, extraTemp1BatteryStatus: 37.7, pressure: 29.922026,
>>> rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:10:56 PDT (1596582656) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582656, inDewpoint: 64.675919618,
>>> inHumidity: 55.0, inTemp: 82.5, inTempBatteryStatus: 1, pressure:
>>> 29.922026, rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:10:56 PDT (1596582656) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582656, extraHumid2: 74.0, extraTemp2:
>>> 74.6, extraTemp2BatteryStatus: 74.6, pressure: 29.922026, rainRate: 0,
>>> usUnits: 1
>>> LOOP:   2020-08-04 16:11:00 PDT (1596582660) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582660, dewpoint: 63.4048579642,
>>> heatindex: 89.1890195959, outHumidity: 44.0, outTemp: 88.1, pressure:
>>> 29.922026, rainRate: 0, txBatteryStatus: 0, usUnits: 1, windchill: 88.1,
>>> windSpeed: 5.0
>>> LOOP:   2020-08-04 16:11:06 PDT (1596582666) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582666, extraHumidity1: 76.0,
>>> extraTemp1: 37.7, extraTemp1BatteryStatus: 37.7, pressure: 29.922026,
>>> rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:11:12 PDT (1596582672) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582672, inDewpoint: 64.675919618,
>>> inHumidity: 55.0, inTemp: 82.5, inTempBatteryStatus: 1, pressure:
>>> 29.922026, rainRate: 0, usUnits: 1
>>> LOOP:   2020-08-04 16:11:13 PDT (1596582673) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582673, extraHumid2: 74.0, extraTemp2:
>>> 74.6, extraTemp2BatteryStatus: 74.6, pressure: 29.922026, rainRate: 0,
>>> usUnits: 1
>>> LOOP:   2020-08-04 16:11:18 PDT (1596582678) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582678, pressure: 29.922026, rain: 0.0,
>>> rainRate: 0, txBatteryStatus: 0, usUnits: 1, windDir: 203.0, windSpeed: 3.0
>>> REC:    2020-08-04 16:11:00 PDT (1596582660) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582660, dewpoint: 63.2697734322,
>>> extraHumid2: 74.0, extraHumidity1: 76.0, extraTemp1: 37.7,
>>> extraTemp1BatteryStatus: 37.7, extraTemp2: 74.6, extraTemp2BatteryStatus:
>>> 74.6, heatindex: 88.9719928077, inDewpoint: 64.675919618, inHumidity: 55.0,
>>> inTemp: 82.5, inTempBatteryStatus: 1.0, interval: 1, outHumidity: 44.0,
>>> outTemp: 87.95, pressure: 29.922026, rain: 0.0, rainRate: 0,
>>> txBatteryStatus: 0.0, usUnits: 1, windchill: 87.95, windDir: 299.713958061,
>>> windGust: 5.0, windGustDir: None, windSpeed: 4.75
>>> LOOP:   2020-08-04 16:11:22 PDT (1596582682) altimeter: 29.922026,
>>> barometer: 29.922026, dateTime: 1596582682, extraHumidity1: 76.0,
>>> extraTemp1: 37.7, extraTemp1BatteryStatus: 37.7, pressure: 29.922026,
>>> rainRate: 0, usUnits: 1
>>>
>>> Meanwhile, I hardcoded the value 12.34 in and still can't get it to
>>> appear in the output.
>>>
>>> import weewx
>>> from weewx.engine import StdService
>>>
>>> class MyEvapCooler(StdService):
>>>     def __init__(self, engine, config_dict):
>>>         # Initialize superclass
>>>         super(MyEvapCooler, self).__init__(engine, config_dict)
>>>
>>>         # Bind to any new archive record events
>>>         self.bind(weewx.NEW_ARCHIVE_RECORD, self.new_archive_record)
>>>
>>>     def new_archive_record(self, event):
>>>         try:
>>>                 event.record['evapcoolerdelta'] = 12.34
>>> #               evapcoolertempdelta = event.record['outTemp'] -
>>> event.record['extraTemp2']
>>>
>>> #               if evapcoolertempdelta:
>>> #                       event.record['evapcoolerdelta'] =
>>> evapcoolertempdelta
>>>
>>>         except KeyError:
>>>             pass
>>>
>>>
>>> import schemas.wview_extended
>>>
>>> schema_with_evapcoolerdelta = {
>>>     'table': schemas.wview_extended.table + [('evapcoolerdelta',
>>> 'REAL')],
>>>     'day_summaries' : schemas.wview_extended.day_summaries +
>>> [('evapcoolerdelta', 'SCALAR')]
>>>
>>>
>>> On Tuesday, August 4, 2020 at 4:01:36 PM UTC-7 [email protected] wrote:
>>>
>>>> Your service is binding to *archive records*, so you're only going to
>>>> see evapcoolerdelta in the records (marked with "REC"), not the LOOP
>>>> packets. Let it run longer and see what is in the records.
>>>>
>>>> However, on the basis of the little snipped you posted, I can predict
>>>> what the problem is: there are no LOOP packets with outTemp. You need both
>>>> outTemp and extraTemp2 to calculate evapcoolerdelta. So, it never gets
>>>> calculated.
>>>>
>>>> -tk
>>>>
>>>> On Tue, Aug 4, 2020 at 3:49 PM Kevin Key <[email protected]> wrote:
>>>>
>>>>> It turns out I had to stop the regular weewx service first - then I
>>>>> was able to get weewxd to display the output. Still no evapcoolerdelta
>>>>> though. :(
>>>>>
>>>>> LOOP:   2020-08-04 15:47:28 PDT (1596581248) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581248, inDewpoint: 64.675919618,
>>>>> inHumidity: 55.0, inTemp: 82.5, inTempBatteryStatus: 1, pressure: 
>>>>> 29.91256,
>>>>> rainRate: 0, usUnits: 1
>>>>> LOOP:   2020-08-04 15:47:29 PDT (1596581249) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581249, extraHumid2: 74.0, extraTemp2:
>>>>> 74.4, extraTemp2BatteryStatus: 74.4, pressure: 29.91256, rainRate: 0,
>>>>> usUnits: 1
>>>>> LOOP:   2020-08-04 15:47:32 PDT (1596581252) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581252, extraHumidity1: 76.0,
>>>>> extraTemp1: 37.4, extraTemp1BatteryStatus: 37.4, pressure: 29.91256,
>>>>> rainRate: 0, usUnits: 1
>>>>> LOOP:   2020-08-04 15:47:35 PDT (1596581255) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581255, pressure: 29.91256, rain: 0.0,
>>>>> rainRate: 0, txBatteryStatus: 0, usUnits: 1, windDir: 293.0, windSpeed: 
>>>>> 5.0
>>>>> LOOP:   2020-08-04 15:47:44 PDT (1596581264) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581264, inDewpoint: 64.675919618,
>>>>> inHumidity: 55.0, inTemp: 82.5, inTempBatteryStatus: 1, pressure: 
>>>>> 29.91256,
>>>>> rainRate: 0, usUnits: 1
>>>>> LOOP:   2020-08-04 15:47:46 PDT (1596581266) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581266, extraHumid2: 74.0, extraTemp2:
>>>>> 74.4, extraTemp2BatteryStatus: 74.4, pressure: 29.91256, rainRate: 0,
>>>>> usUnits: 1
>>>>> LOOP:   2020-08-04 15:47:49 PDT (1596581269) altimeter: 29.91256,
>>>>> barometer: 29.91256, dateTime: 1596581269, extraHumidity1: 76.0,
>>>>> extraTemp1: 37.4, extraTemp1BatteryStatus: 37.4, pressure: 29.91256,
>>>>> rainRate: 0, usUnits: 1
>>>>>
>>>>> On Tuesday, August 4, 2020 at 11:39:31 AM UTC-7 [email protected]
>>>>> wrote:
>>>>>
>>>>>> It would not show up in the log.
>>>>>>
>>>>>> Did you try running weewxd directly
>>>>>> <http://www.weewx.com/docs/usersguide.htm#Running_directly>?
>>>>>>
>>>>>> On Tue, Aug 4, 2020 at 10:46 AM Kevin Key <[email protected]> wrote:
>>>>>>
>>>>>>> I couldn't get weewxd to display anything, but I ran this command
>>>>>>> instead:
>>>>>>>
>>>>>>> sudo tail -f /var/log/user.log
>>>>>>>
>>>>>>>
>>>>>>> I still don't see my new field evapcoolerdelta anywhere in the
>>>>>>> output.
>>>>>>>
>>>>>>> On Tuesday, August 4, 2020 at 7:04:56 AM UTC-7 [email protected]
>>>>>>> wrote:
>>>>>>>
>>>>>>>> If you run weewxd directly, it will print out all the LOOP packets
>>>>>>>> and archive records. Do you see 'evapcoolerdelta' in there?
>>>>>>>>
>>>>>>>> On Tue, Aug 4, 2020 at 1:32 AM Kevin Key <[email protected]> wrote:
>>>>>>>>
>>>>>>>>> Thanks Andrew. I followed those directions and got much further.
>>>>>>>>> Now I see the new field "evapcoolerdelta" in the Sqlite database, but 
>>>>>>>>> the
>>>>>>>>> values ren't being populated.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tuesday, August 4, 2020 at 12:22:09 AM UTC-7
>>>>>>>>> [email protected] wrote:
>>>>>>>>>
>>>>>>>>>> did you change the binding to use the new database with the extra
>>>>>>>>>> field??
>>>>>>>>>> http://weewx.com/docs/customizing.htm#add_archive_type
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tuesday, 4 August 2020 07:15:45 UTC+3, Kevin Key wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi all,
>>>>>>>>>>>
>>>>>>>>>>> So today I added the following code to a new file
>>>>>>>>>>> in usr/share/weewx/user/evapcooler.py :
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> import weewx
>>>>>>>>>>> from weewx.engine import StdService
>>>>>>>>>>>
>>>>>>>>>>> class MyEvapCooler(StdService):
>>>>>>>>>>>     def __init__(self, engine, config_dict):
>>>>>>>>>>>         super(MyEvapCooler, self).__init__(engine, config_dict)
>>>>>>>>>>>         self.bind(weewx.NEW_ARCHIVE_RECORD,
>>>>>>>>>>> self.new_archive_record)
>>>>>>>>>>>
>>>>>>>>>>>     def new_archive_record(self, event):
>>>>>>>>>>>         try:
>>>>>>>>>>>                 event.record['evapcoolerdelta'] =
>>>>>>>>>>> event.record['outTemp'] - event.record['extraTemp2']
>>>>>>>>>>>         except KeyError:
>>>>>>>>>>>             pass
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> import schemas.wview_extended
>>>>>>>>>>>
>>>>>>>>>>> schema_with_evapcoolerdelta = {
>>>>>>>>>>>     'table': schemas.wview_extended.table + [('evapcoolerdelta',
>>>>>>>>>>> 'REAL')],
>>>>>>>>>>>     'day_summaries' : schemas.wview_extended.day_summaries +
>>>>>>>>>>> [('evapcoolerdelta', 'SCALAR')]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---
>>>>>>>>>>>
>>>>>>>>>>> I'm able to bring up the new field "evapcoolerdelta" in
>>>>>>>>>>> current.inc under /skins/Seasons/ , but I'm having trouble getting 
>>>>>>>>>>> the
>>>>>>>>>>> min/max archive data for day, week, month, and year to appear. Are 
>>>>>>>>>>> there
>>>>>>>>>>> other places in the code where I need to make it know that I've 
>>>>>>>>>>> added a new
>>>>>>>>>>> data field?
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> Kevin
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> 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/fdef2286-e1d3-40cf-8e50-786616b47687n%40googlegroups.com
>>>>>>>>> <https://groups.google.com/d/msgid/weewx-user/fdef2286-e1d3-40cf-8e50-786616b47687n%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/282c20dc-d813-42e7-bd29-2e10a7ca15a4n%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/weewx-user/282c20dc-d813-42e7-bd29-2e10a7ca15a4n%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/e2853918-6fcb-46c1-9f19-f33f30786de2n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/weewx-user/e2853918-6fcb-46c1-9f19-f33f30786de2n%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/b8cc56fb-b9d6-4380-826d-606d29b61fd8n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/b8cc56fb-b9d6-4380-826d-606d29b61fd8n%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/38e7058a-7faa-4429-8d61-1db403642006n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/38e7058a-7faa-4429-8d61-1db403642006n%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/CAPq0zEDYykbvQDFKQKG4SM0hb_2aXVntxAQ%2Bc%3D_-cd%3D2FSx59A%40mail.gmail.com.

Reply via email to