Hi Gary, My new sensors arrived today, and all seems to be in working order as I now have data in my database for my 2 new sensors. Thank you for your help!
sqlite> SELECT dateTime,soilMoist5,soilMoist6 FROM archive ORDER BY dateTime DESC LIMIT 2; dateTime|soilMoist5|soilMoist6 1598393700|99.2|0.0 1598393400|64.25|0.0 When you get to a point where you would like someone to test the Seasons skin for additional observations, please count me in. I'm not a Python developer, but I am pretty comfortable navigating around Linux. I would love to contribute to the WeeWX project, and your work as a tester if that helps any. Thanks! Rob On Sunday, August 23, 2020 at 8:55:08 PM UTC-4 Blaze wrote: > Thanks Gary, I ran back through the process to confirm everything would > work as expected. Below is my complete "/home/weewx/bin/user/extensions.py" > for reference. > > # > # Copyright (c) 2009-2015 Tom Keffer <tke...@gmail.com> > # > # See the file LICENSE.txt for your full rights. > # > > """User extensions module > > This module is imported from the main executable, so anything put here > will be > executed before anything else happens. This makes it a good place to put > user > extensions. > """ > > import locale > # This will use the locale specified by the environment variable 'LANG' > # Other options are possible. See: > # http://docs.python.org/2/library/locale.html#locale.setlocale > locale.setlocale(locale.LC_ALL, '') > > import schemas.wview_extended > > my_schema = { > 'table': schemas.wview_extended.table + [('soilMoist5', > 'REAL'),('soilMoist6', 'REAL'),('soilMoist7', 'REAL'),('soilMoist8', > 'REAL')], > 'day_summaries' : schemas.wview_extended.day_summaries + > [('soilMoist5','SCALAR'),('soilMoist6','SCALAR'),('soilMoist7','SCALAR'),('soilMoist8','SCALAR')] > } > > import weewx.units > > weewx.units.obs_group_dict['soilMoist5'] = 'group_moisture' > weewx.units.obs_group_dict['soilMoist6'] = 'group_moisture' > weewx.units.obs_group_dict['soilMoist7'] = 'group_moisture' > weewx.units.obs_group_dict['soilMoist8'] = 'group_moisture' > > On Sun, Aug 23, 2020 at 8:35 PM gjr80 <gjrod...@gmail.com> wrote: > >> Rob, >> >> weewx.units.obs_group_dict['soilMoist5','soilMoist6','soilMoist7','soilMoist8'] >> >> = 'group_moisture' >> >> may have been accepted by python but it is not correct, it needs to be: >> >> weewx.units.obs_group_dict['soilMoist5'] = 'group_moisture' >> weewx.units.obs_group_dict['soilMoist6'] = 'group_moisture' >> weewx.units.obs_group_dict['soilMoist7'] = 'group_moisture' >> weewx.units.obs_group_dict['soilMoist8'] = 'group_moisture' >> >> There is no need to re-run the wee_database commands, just make the >> change to user/extensions.py and restart WeeWX before you use soilMoist5 >> to soilMoist8 in any reports. >> >> Gary >> On Monday, 24 August 2020 at 10:28:58 UTC+10 Blaze wrote: >> >>> Thanks Gary, and yes you are correct I did miss the "import >>> schemas.wview_extended". >>> >>> I gave it a try, but I had to make a few adjustments to >>> the "/home/weewx/bin/user/extensions.py" file. Below is the one that seemed >>> to work for me. Or at least I can see my database has been extended! Plus >>> when the report runs, I'm not seeing any errors in the "/var/log/syslog". >>> My extra sensors should arrive in the next day or two, and I will be able >>> to confirm the database is being updated. Is there a way to tell if my >>> sensors belong to "group_moisture", or if what I have done is successful? >>> >>> # >>> # Copyright (c) 2009-2015 Tom Keffer <tke...@gmail.com> >>> # >>> # See the file LICENSE.txt for your full rights. >>> # >>> >>> """User extensions module >>> >>> This module is imported from the main executable, so anything put here >>> will be >>> executed before anything else happens. This makes it a good place to put >>> user >>> extensions. >>> """ >>> >>> import locale >>> # This will use the locale specified by the environment variable 'LANG' >>> # Other options are possible. See: >>> # http://docs.python.org/2/library/locale.html#locale.setlocale >>> locale.setlocale(locale.LC_ALL, '') >>> >>> import schemas.wview_extended >>> >>> my_schema = { >>> 'table': schemas.wview_extended.table + [('soilMoist5', >>> 'REAL'),('soilMoist6', 'REAL'),('soilMoist7', 'REAL'),('soilMoist8', >>> 'REAL')], >>> 'day_summaries' : schemas.wview_extended.day_summaries + >>> [('soilMoist5','SCALAR'),('soilMoist6','SCALAR'),('soilMoist7','SCALAR'),('soilMoist8','SCALAR')] >>> } >>> >>> import weewx.units >>> >>> weewx.units.obs_group_dict['soilMoist5','soilMoist6','soilMoist7','soilMoist8'] >>> >>> = 'group_moisture' >>> >>> Below is the output to my screen when I ran the --reconfigure command. >>> >>> root@myweewx:~# /home/weewx/bin/wee_database /home/weewx/weewx.conf >>> --reconfigure >>> Using configuration file /home/weewx/weewx.conf >>> Using database binding 'wx_binding', which is bound to database >>> 'archive_sqlite' >>> Copying database 'weewx.sdb' to 'weewx.sdb_new' >>> The new database will use the same unit system as the old ('US'). >>> Are you sure you wish to proceed (y/n)? y >>> Database 'weewx.sdb' copied to 'weewx.sdb_new' in 2.92 seconds. >>> >>> And below is my query for the extra sensors in the database. >>> >>> root@myweewx:~# sqlite3 /home/weewx/archive/weewx.sdb_new >>> SQLite version 3.31.1 2020-01-27 19:55:54 >>> Enter ".help" for usage hints. >>> sqlite> .headers on >>> sqlite> SELECT dateTime,soilMoist4 FROM archive ORDER BY dateTime ASC >>> LIMIT 5; >>> dateTime|soilMoist4 >>> 1596909900|60.0 >>> 1596910200|60.0 >>> 1596910500|60.0 >>> 1596910800|60.0 >>> 1596911100|60.0 >>> sqlite> SELECT dateTime,soilMoist5 FROM archive ORDER BY dateTime ASC >>> LIMIT 5; >>> dateTime|soilMoist5 >>> 1596909900| >>> 1596910200| >>> 1596910500| >>> 1596910800| >>> 1596911100| >>> sqlite> SELECT dateTime,soilMoist6 FROM archive ORDER BY dateTime ASC >>> LIMIT 5; >>> dateTime|soilMoist6 >>> 1596909900| >>> 1596910200| >>> 1596910500| >>> 1596910800| >>> 1596911100| >>> sqlite> SELECT dateTime,soilMoist7 FROM archive ORDER BY dateTime ASC >>> LIMIT 5; >>> dateTime|soilMoist7 >>> 1596909900| >>> 1596910200| >>> 1596910500| >>> 1596910800| >>> 1596911100| >>> sqlite> SELECT dateTime,soilMoist8 FROM archive ORDER BY dateTime ASC >>> LIMIT 5; >>> dateTime|soilMoist8 >>> 1596909900| >>> 1596910200| >>> 1596910500| >>> 1596910800| >>> 1596911100| >>> >>> >>> Thank you for all your help! >>> Rob >>> >>> On Sun, Aug 23, 2020 at 5:21 PM gjr80 <gjrod...@gmail.com> wrote: >>> >>>> Looks good though you have missed an import: >>>> >>>> import schemas.wview_extended >>>> >>>> needs to be included in extensions.py before you create my_schema. Not >>>> sure if it’s a typo/formatting issue or not but the group assignment >>>> statements need to be on separate lines, python will complain otherwise. >>>> >>>> Also, when running wee_database you may or may not need to prefix >>>> wee_database with sudo, it will depend on you system/WeeWX install. Try it >>>> without, if you get an error try it with. >>>> >>>> Gary >>>> >>>> On Monday, 24 August 2020 at 02:35:12 UTC+10 Blaze wrote: >>>> >>>>> Thank you both Graham and Gary! Would either of you or someone else >>>>> mind reviewing my proposed steps? >>>>> >>>>> In reading the Adding a new type to the database >>>>> <http://weewx.com/docs/customizing.htm#add_archive_type>, and what >>>>> you have both provided, I think I have a good understanding except for >>>>> the >>>>> 4th step. Below are the steps I think I need to follow. >>>>> >>>>> *Step 1.* >>>>> Stop WeeWX >>>>> >>>>> /etc/init.d/weewx stop >>>>> >>>>> >>>>> *Step 2.* >>>>> Make a backup of the sqlite database >>>>> >>>>> cp /home/weewx/archive/weewx.sdb >>>>> /home/weewx/archive/weewx.sdb.bkup08232020a >>>>> >>>>> >>>>> *Step 3.* >>>>> Edit the "/home/weewx/bin/user/extensions.py" file. >>>>> >>>>> # >>>>> # Copyright (c) 2009-2015 Tom Keffer <tke...@gmail.com> >>>>> # >>>>> # See the file LICENSE.txt for your full rights. >>>>> # >>>>> >>>>> """User extensions module >>>>> >>>>> This module is imported from the main executable, so anything put here >>>>> will be >>>>> executed before anything else happens. This makes it a good place to >>>>> put user >>>>> extensions. >>>>> >>>>> """ >>>>> my_schema = { >>>>> 'table': schemas.wview_extended.table + [ >>>>> ('soilMoist5', 'REAL'), >>>>> ('soilMoist6', 'REAL'), >>>>> ('soilMoist7', 'REAL'), >>>>> ('soilMoist8', 'REAL') >>>>> ], >>>>> >>>>> 'day_summaries' : schemas.wview_extended.day_summaries >>>>> + >>>>> [('soilMoist5','scalar'),('soilMoist6','scalar'),('soilMoist7','scalar'),('soilMoist8', >>>>> >>>>> 'scalar')] >>>>> >>>>> import weewx.units >>>>> >>>>> weewx.units.obs_group_dict['soilMoist5'] = >>>>> 'group_moisture' weewx.units.obs_group_dict['soilMoist6'] = >>>>> 'group_moisture' weewx.units.obs_group_dict['soilMoist7'] = >>>>> 'group_moisture' weewx.units.obs_group_dict['soilMoist8'] = >>>>> 'group_moisture' >>>>> >>>>> import locale >>>>> # This will use the locale specified by the environment variable 'LANG' >>>>> # Other options are possible. See: >>>>> # http://docs.python.org/2/library/locale.html#locale.setlocale >>>>> locale.setlocale(locale.LC_ALL, '') >>>>> >>>>> >>>>> *Step 4.* >>>>> Change the line "schema = schemas.wview_extended.schema" to "schema = >>>>> user.extensions.my_schema" for the [[wx_binding]] option under >>>>> the [DataBindings] in my "/home/weewx/weewx.conf" file. >>>>> >>>>> [DataBindings] >>>>> >>>>> [[wx_binding]] >>>>> # The database must match one of the sections in [Databases]. >>>>> # This is likely to be the only option you would want to >>>>> change. >>>>> database = archive_sqlite >>>>> # The name of the table within the database >>>>> table_name = archive >>>>> # The manager handles aggregation of data for historical >>>>> summaries >>>>> manager = weewx.manager.DaySummaryManager >>>>> # The schema defines the structure of the database. >>>>> # It is *only* used when the database is created. >>>>> #schema = schemas.wview_extended. >>>>> *schema = user.extensions.my_schema* >>>>> [[forecast_binding]] >>>>> manager = weewx.manager.Manager >>>>> schema = user.forecast.schema >>>>> table_name = archive >>>>> database = forecast_sqlite >>>>> >>>>> >>>>> *Step 5.* >>>>> Run the following command to create and populate the new database. >>>>> >>>>> /home/weewx/bin/wee_database /home/weewx/weewx.conf --reconfigure >>>>> >>>>> >>>>> *Step 6.* >>>>> Replace the old database with the one created in Step 5. >>>>> >>>>> mv /home/weewx/archive/weewx.sdb_new /home/weewx/archive/weewx.sdb >>>>> >>>>> >>>>> *Step 7.* >>>>> Start WeeWX >>>>> >>>>> /etc/init.d/weewx start >>>>> >>>>> >>>>> Thanks again! >>>>> Rob >>>>> >>>>> On Fri, Aug 21, 2020 at 11:51 PM Graham Eddy <graha...@gmail.com> >>>>> wrote: >>>>> >>>>>> more like (and watch your commas, semicolons and case): >>>>>> >>>>>> import schemas.wview_extended >>>>>> >>>>>> my_schema = { >>>>>> 'table': schemas.wview_extended.table + [ >>>>>> ('soilMoist5', 'REAL’), ('soilMoist6', 'REAL’), >>>>>> ('soilMoist7', 'REAL’), ('soilMoist8', 'REAL') >>>>>> ], >>>>>> 'day_summaries' : schemas.wview_extended.day_summaries + >>>>>> [('soilMoist5’,’scalar’),(‘soilMoist6’,’scalar’),(‘soilMoist7’,’scalar’),('soilMoist8', >>>>>> ’scalar')] >>>>>> } >>>>>> >>>>>> import weewx.units >>>>>> >>>>>> weewx.units.obs_group_dict[‘soilMoist5’] = ‘group_moisture’ >>>>>> weewx.units.obs_group_dict[‘soilMoist6’] = ‘group_moisture’ >>>>>> weewx.units.obs_group_dict[‘soilMoist7’] = ‘group_moisture’ >>>>>> weewx.units.obs_group_dict['soilMoist8'] = 'group_moisture' >>>>>> >>>>>> >>>>>> -- >>>>>> 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 weewx-user+...@googlegroups.com. >>>>>> >>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/weewx-user/7069D2C1-0BEE-4008-8C71-3D282A27220A%40gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/weewx-user/7069D2C1-0BEE-4008-8C71-3D282A27220A%40gmail.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 weewx-user+...@googlegroups.com. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/weewx-user/1c827370-5291-4b7e-aa13-8d51b4ee737cn%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/weewx-user/1c827370-5291-4b7e-aa13-8d51b4ee737cn%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 weewx-user+...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/weewx-user/5b542d8e-4eaf-4b59-a329-2d7e72649f48n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/5b542d8e-4eaf-4b59-a329-2d7e72649f48n%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 weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/d451301f-7247-43d2-9259-024e89ea7f66n%40googlegroups.com.