I think I have an idea as to what might be going on. Judging by your weewx.conf you are adding a lot of obs to the archive records and/or loop packets. Nothing wrong with this, weeWX will handle it, but when you add an observation to the an archive record it is just a value with an expectation that the value is in the relevant units given the usUnits value in the archive record/loop packet. So if usUnits is 1 (ie US customary) any temperature obs in the record/packet should be in degrees F, if not you will have conversion problems if you (or weeWX) ever converts that value to degrees C. Adding the value in the right units is only half of the solution, weeWX also needs to know wheter the value you have added is a temperature, a speed as distance etc. That way weeWX knows that when converting, say extraTemp11, extraTemp11 is a temeperature so use the C to F or F to C conversion not the km to mph conversion.
The first part, adding the value to the record/packet in the correct units, is normally done in the driver or service that is creating or adding the values. The second part, defining what type of obs you are adding, can be done in a number of ways but is usually done by adding some lines to bin/user/extension.py (it's possible that in the future this may be something that can be defined in weewx.conf but that's not the case yet). weeWX-WD handles this slightly differently, the weeWX-WD database schema is fixed so the groups for the extra weeWX-WD obs are setup in the weeWX-WD code rather than bin/user/extension.py. Given that the interceptor driver does not know what fields you will be using (since the user defines them in weewx.conf) you need to add the group settings yourself. So to cut along story short, in some areas weeWX-WD needs some fields in particular units so it converts the archive/record to a given units group (I think metric is causing the problem here). If weeWX does not know how to interpret a value (is it a temperature or speed?) such conversion causes an error. I think that is what is happening here. Did you do anything in terms of defining the groups for each of your additional obs that you added? Have a look in bin/user/extension.py, are there any lines like: import weewx.units weewx.units.obs_group_dict["heatindex7"] = "group_temperature" weewx.units.obs_group_dict["windchill12"] = "group_temperature" If not you will need to add a line for each of the extra obs you have added. Use the format (don't forget the import weewx.units statement): weewx.units.obs_group_dict["obs_name"] = "group_name" where obs_name is the name of the field you are adding and group_name is the name of the group you are assigning the obs to. The available groups are listed in the Unit groups, members and options table <http://weewx.com/docs/customizing.htm#units> in the Customization Guide. If you have an obs that does not fit any of the groups, eg say luminous intensity measured in candela, then you need to define a new group and some conversion functions. Let us know if this is the case. Chances are though most of your groups will exist already in the table I linked. Once you have defined your obs groups save extensions.py and restart weeWX. extensions.py is in the bin/user directory so it will be preserved across upgrades, though if your additions are lengthy it might be worth keeping a copy in case of a re-install. Gary On Tuesday, 12 December 2017 10:20:46 UTC+10, Radar wrote: > > just installed weewx 3.8.0 and weewx-wd 1.0.3 and getting keyerror: meter > from Testtags, wdClientraw, wdSteelGauges > wdPWS and wdStackedWindRose are working > > here is the log and weewx.conf files > > -- 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]. For more options, visit https://groups.google.com/d/optout.
