Hello and thank you for your answer.
By adding the line weewx.units.obs_group_dict['wetbulbTemp'] =
'group_temperature' to the /usr/share/weewx/user/extensions.py file, the
wetbulbTemp field is now imported correctly.
Thank you for your help !
However, I have a new question as I haven't been able to understand exactly
the weewx documentation on this subject. I clearly saw that the case of
adding electricity consumption to the database had been processed but I did
not understand the entire explanation given.
To put it simply, I retrieve data in CSV format which I integrate at
regular intervals into the weewx database using wee_import.py (my weather
station does not have a USB output and the data is retrieved from AWEKAS).
To the weather data, I would have liked to add for the period considered:
- CPU load data (unitless)
- The total and used memory of the Raspberry (kB unit)
- The total and used capacity of the SSD (Gb unit)
- Power consumption (Watt unit)
- Water consumption (unit per liter)
I created the fields I needed in the existing WeeWX database without
problem with wee_database
What I couldn't do:
- Create a new base group (for example group_memory with the new Kb and Gb
units). What file exactly should be modified or created and where is it
located?
Compared to the documentation, I would tend to make a file
"/usr/share/weewx/user/memory.py" with in it:
*import weewx.unitsweewx.units.obs_group_dict['rocketForce'] =
'group_memory'weewx.units.USUnits['group_memory'] =
'byte'weewx.units.MetricUnits['group_memory'] =
'byte'weewx.units.MetricWXUnits['group_memory'] =
'byte'weewx.units.default_unit_format_dict['byte'] =
'%.1f'weewx.units.default_unit_label_dict['byte'] = ' byte'*
Is my approach correct? How to create the units kB and gB?
- For data that is unitless such as charge1, charge5 and charge15 (assuming
that the field names of the weewx.sdb database are charge1,charge5,charge15
and that the names of the header fields of the CSV file to import are
charge1, charge5 and charge15), will the import be done by putting in the
CSV import configuration file for wee_import.py:
source = CSV
[CSV]
....
[[FieldMap]]
dateTime = dateTime, unix_epoch
....
charge1 = charge1
charge5 = charge5
charge15 = charge15
Thank you for your help because I have my data in a CSV file but am a
little lost importing it into the weewx database...
*Rémy LAVABRE*
Le sam. 29 juil. 2023 à 13:33, gjr80 <[email protected]> a écrit :
> Should have spelt out the full path/file:
>
> /usr/share/weewx/user/extensions.py
>
> Didn’t say the WeeWX daemon has anything to do with your issue, was
> pointing out that for WeeWX to pickup the new settings (eg for reports,
> services etc) you need to restart the daemon. This is SOP for changes to
> .py files. For wee_import you do not need to restart.
>
> Gary
> On Saturday, 29 July 2023 at 09:47:31 UTC+1 [email protected] wrote:
>
>> Thanks Gary for your response.
>> I added :
>>
>>
>> import weewx.units
>> weewx.units.obs_group_dict['wetbulbTemp'] = 'group_temperature'
>>
>> in file /usr/share/weewx/weecfg/extension.py
>>
>> It didn't change anything about the problem when using wee_import.py, I
>> still get the same error.
>> I specify that I did not create a field ['wetbulbTemp'] in the WeeWX
>> database but simply renamed ['heatindex1'] to ['wetbulbTemp'].
>>
>> The WeeWX daemon does not enter (in my opinion) into the problem since to
>> use the wee_import.py utility it is strongly advised to stop it... What I
>> do.
>>
>> I saw in the documentation what you are talking about where it is a
>> question of creating a user/electricity.py service, but unfortunately did
>> not quite understand where this electricity.py file went... :-(
>>
>> *Rémy LAVABRE*
>>
>>
>> Le sam. 29 juil. 2023 à 10:04, gjr80 <[email protected]> a écrit :
>>
>>> Your problem is that wee_database --add_column/--rename_column makes
>>> all necessary changes to the database, but it does not make any change to
>>> the WeeWX unit system; in other words WeeWX knows there is a field
>>> wetbulbTemp in the database but does not know if it is a temperature,
>>> wind speed or rainfall. To fix this you need to add wetbulbTemp to the
>>> WeeWX unit system, the usual approach for this is to add a couple of lines
>>> of code to user/extensions.py (refer to Assigning a unit group
>>> <http://weewx.com/docs.html/latest/customizing.htm#Assigning_a_unit_group>
>>> in the Customization Guide
>>> <http://weewx.com/docs.html/latest/customizing.htm>), in your case
>>> something like the following should work (untested):
>>>
>>> import weewx.units
>>> weewx.units.obs_group_dict['wetbulbTemp'] = 'group_temperature'
>>>
>>> For the WeeWX daemon this will take effect when WeeWX is restarted, but
>>> for the purposes of wee_import it should work straight away.
>>>
>>> Gary
>>> On Saturday, 29 July 2023 at 08:36:33 UTC+1 [email protected] wrote:
>>>
>>>> *Good morning,*
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *My WeeWX.sdb database works perfectly. I removed all unnecessary
>>>> fields with sudo wee_database --drop-columns=XXX,YYY,ZZZ which worked
>>>> perfectly.I renamed the field "heatindex1", from the base to "wetbulbTemp"
>>>> with the command: sudo wee_database --rename-column=heatindex1
>>>> --to-name=wetbulbTemp. Flawless.The problem is when I try to insert CSV
>>>> data into the database using the wee_import.py utility.All fields work on
>>>> import except the one renamed to "wetbulbTemp"...If I remove the
>>>> wetbulbTemp field from the import configuration file (*.conf), the import
>>>> is done without any problem.With the field renamed "wetbulbTemp", I get the
>>>> following message:*
>>>>
>>>> Using WeeWX configuration file /etc/weewx/weewx.conf
>>>> Starting wee_import...
>>>> A CSV import from source file
>>>> '/home/pi/Documents/Bresser7in1/data5.csv' has been requested.
>>>> The following options will be used:
>>>> config=/etc/weewx/weewx.conf,
>>>> import-config=/home/pi/Documents/Bresser7in1/csv-Bresser.conf
>>>> source=/home/pi/Documents/Bresser7in1/data5.csv, from=None,
>>>> to=None
>>>> dry-run=True, calc_missing=True, ignore_invalid_data=True
>>>> slice=250, interval=conf, date/time_string_format=%Y-%m-%d
>>>> %H:%M:%S
>>>> delimiter=',', rain=cumulative, wind_direction=[0.0, 360.0]
>>>> UV=True, radiation=True
>>>> Using database binding 'wx_binding', which is bound to database
>>>> 'weewx.sdb'
>>>> Destination table 'archive' unit system is '0x01' (US).
>>>> Missing derived observations will be calculated.
>>>> This is a dry run, imported data will not be saved to archive.
>>>> Starting dry run import ...
>>>> Obtaining raw import data for period 1 ...
>>>> The following imported field-to-WeeWX field map will be used:
>>>> source field 'dateTime' in units 'unix_epoch' --> WeeWX field
>>>> 'dateTime'
>>>> source field 'barometer' in units 'hPa' --> WeeWX field
>>>> 'barometer'
>>>> source field 'inTemp' in units 'degree_C' --> WeeWX field 'inTemp'
>>>> source field 'outTemp' in units 'degree_C' --> WeeWX field
>>>> 'outTemp'
>>>> source field 'inHumidity' in units 'percent' --> WeeWX field
>>>> 'inHumidity'
>>>> source field 'outHumidity' in units 'percent' --> WeeWX field
>>>> 'outHumidity'
>>>> source field 'windSpeed' in units 'km_per_hour' --> WeeWX field
>>>> 'windSpeed'
>>>> source field 'windDir' in units 'degree_compass' --> WeeWX field
>>>> 'windDir'
>>>> source field 'windGust' in units 'km_per_hour' --> WeeWX field
>>>> 'windGust'
>>>> source field 'rainRate' in units 'mm_per_hour' --> WeeWX field
>>>> 'rainRate'
>>>> source field 'rain' in units 'mm' --> WeeWX field 'rain'
>>>> source field 'dewpoint' in units 'degree_C' --> WeeWX field
>>>> 'dewpoint'
>>>> source field 'windchill' in units 'degree_C' --> WeeWX field
>>>> 'windchill'
>>>> source field 'radiation' in units 'watt_per_meter_squared' -->
>>>> WeeWX field 'radiation'
>>>> source field 'UV' in units 'uv_index' --> WeeWX field 'UV'
>>>> source field 'extraTemp1' in units 'degree_C' --> WeeWX field
>>>> 'extraTemp1'
>>>> source field 'extraTemp2' in units 'degree_C' --> WeeWX field
>>>> 'extraTemp2'
>>>> source field 'extraTemp3' in units 'degree_C' --> WeeWX field
>>>> 'extraTemp3'
>>>> source field 'extraTemp4' in units 'degree_C' --> WeeWX field
>>>> 'extraTemp4'
>>>> source field 'extraHumid1' in units 'percent' --> WeeWX field
>>>> 'extraHumid1'
>>>> source field 'extraHumid2' in units 'percent' --> WeeWX field
>>>> 'extraHumid2'
>>>> source field 'extraHumid3' in units 'percent' --> WeeWX field
>>>> 'extraHumid3'
>>>> source field 'extraHumid4' in units 'percent' --> WeeWX field
>>>> 'extraHumid4'
>>>> source field 'wetbulbTemp' in units 'degree_C' --> WeeWX field
>>>> 'wetbulbTemp'
>>>> Raw import data read successfully for period 1.
>>>> Mapping raw import data for period 1 ...
>>>> Traceback (most recent call last):
>>>> File "/usr/share/weewx/wee_import", line 900, in <module>
>>>> hand()
>>>> File "/usr/share/weewx/wee_import", line 830, in main
>>>> source_obj.run()
>>>> File "/usr/share/weewx/weeimport/weeimport.py", line 421, in run
>>>> _mapped_data = self.mapRawData(_raw_data, self.archive_unit_sys)
>>>> File "/usr/share/weewx/weeimport/weeimport.py", line 981, in
>>>> mapRawData
>>>> weewx.units.obs_group_dict[_field])
>>>> File "/usr/lib/python3.9/collections/__init__.py", line 941, in
>>>> __getitem__
>>>> return self.__missing__(key) # support subclasses that define
>>>> __missing__
>>>> File "/usr/lib/python3.9/collections/__init__.py", line 933, in
>>>> __missing__
>>>> raiseKeyError(key)
>>>> *KeyError: 'wetbulbTemp'*
>>>>
>>>>
>>>>
>>>> *I couldn't find any help in the WeeWX documentation on this.What is
>>>> happening with this renamed field and what is the solution to integrate the
>>>> CSV data of this field into my modified weewx.sdb database?*
>>>>
>>>> Thank you...
>>>>
>>> --
>>> 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/dbf90df9-0cee-465d-89b1-86b2c77076ebn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/dbf90df9-0cee-465d-89b1-86b2c77076ebn%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/43f0c3c7-27aa-4f9f-b8bf-d9e9b911b779n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/43f0c3c7-27aa-4f9f-b8bf-d9e9b911b779n%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/CADhm9Yf31di7f%3D%2BVdGWDy7i_zGUz2Az77nKZekQ8ecb_JAr08g%40mail.gmail.com.