Thanks all,
I spent some time looking at the vantage driver tonight, and I should have 
been more clear. This is not a full driver, to replace the Vantage driver 
or anything like that. I wrote this using the documentation for "Adding a 
second data source", and loop through half a dozen pieces of data, and run 
event.record once for each.

Is there still a way to accomplish the conversion built in?

On Thursday, October 3, 2024 at 7:54:28 AM UTC-6 Tom Keffer wrote:

> This information is also summarized in the documentation: *Units 
> <https://www.weewx.com/docs/5.1/reference/units/>*
>
> On Wed, Oct 2, 2024 at 8:15 PM 'John Kline' via weewx-user <
> [email protected]> wrote:
>
>> IIRC,
>>
>> When your driver creates loop and archive observations, you need to set 
>> usUnits to reflect the correct system.  For example, the vantage drive sets:
>> 'usUnits': weewx.US
>> In the loop data and archive records.
>>
>> If custom driver is in metric, set:
>> ‘UsUnits’: weewx.METRIC
>>
>> If you do this, weewx will do the conversions and store values in the 
>> database in the system you specified when you created the database.
>>
>> But there is more.  You have to use the correct metric units.  To do 
>> this, see the weewx/units.py file.  Look up the observation in that file, 
>> find the group, and then look up what that group expects.
>>
>> For example, rain is:
>> "rain"                      : "group_rain",
>>
>> And, if you look up group_rain for metric, you’ll find group_rain is 
>> expecting cm:
>> "group_rain"        : "cm",
>>
>> # This dictionary maps unit groups to a standard unit type in the
>> # metric unit system:           
>> MetricUnits = ListOfDicts({     
>>     "group_altitude"    : "meter",
>>     "group_amp"         : "amp",
>>     "group_angle"       : "degree_angle",
>>     "group_boolean"     : "boolean",
>>     "group_concentration": "microgram_per_meter_cubed",
>>     "group_count"       : "count",
>>     "group_data"        : "byte",
>>     "group_db"          : "dB",
>>     "group_degree_day"  : "degree_C_day",
>>     "group_deltatime"   : "second",
>>     "group_direction"   : "degree_compass",
>>     "group_distance"    : "km",
>>     "group_elapsed"     : "second",
>>     "group_energy"      : "watt_hour",
>>     "group_energy2"     : "watt_second",
>>     "group_fraction"    : "ppm",
>>     "group_frequency"   : "hertz",
>>     "group_illuminance" : "lux",
>>     "group_interval"    : "minute",
>>     "group_length"      : "cm",
>>     "group_moisture"    : "centibar",
>>     "group_percent"     : "percent",
>>     "group_power"       : "watt",
>>     "group_pressure"    : "mbar",
>>     "group_pressurerate": "mbar_per_hour",
>>     "group_radiation"   : "watt_per_meter_squared",
>>     "group_rain"        : "cm",
>>     "group_rainrate"    : "cm_per_hour",
>>     "group_speed"       : "km_per_hour",
>>     "group_speed2"      : "km_per_hour2",
>>     "group_temperature" : "degree_C",
>>     "group_time"        : "unix_epoch",
>>     "group_uv"          : "uv_index",
>>     "group_volt"        : "volt",
>>     "group_volume"      : "liter"
>> })
>>
>>
>> On Oct 2, 2024, at 7:51 PM, Thomas Carlin <[email protected]> wrote:
>>
>> I have a sensor that is adding data to WeeWX with a custom driver.  
>> Unfortunately, the sensor provides values in various metric units, C, hPa, 
>> µg/m³, things like that.  Obviously it is not a big deal to write these 
>> conversions into the driver, but i am curious if there is a prebuilt 
>> mechanism to convert them *before* they go into the database.  
>> Obviously, we can do the conversions after the fact, but logically it is 
>> better to convert and store everything in the same units.  
>>
>> Do i need to do the conversions in the driver, or is there a way built 
>> into WeeWX?
>>
>> Many thanks!
>>
>> -- 
>> 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/e8e19545-1c1b-43b7-8a07-472f5daa4232n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/e8e19545-1c1b-43b7-8a07-472f5daa4232n%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/7862DA18-FA9F-4B63-88AF-C8355C8D3AC2%40johnkline.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/7862DA18-FA9F-4B63-88AF-C8355C8D3AC2%40johnkline.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/7e52418d-a0a2-492a-821d-8e31c32f7345n%40googlegroups.com.

Reply via email to