1. I reverted user/wellTemp.py back to the V3 schema as follows:
"""The wview schema, which is also used by weewx."""
schema = [('dateTime', 'INTEGER NOT NULL UNIQUE PRIMARY KEY'),
('usUnits', 'INTEGER NOT NULL'),
('interval', 'INTEGER NOT NULL'),
('wellTemp', 'REAL'),
('wellFlow', 'REAL'),
('battery', 'INTEGER'),
('sigLevel', 'INTEGER'),
('transID', 'INTEGER')]
2. The associated sections from weewx.conf:
[DataBindings]
[[wx_binding]]
database = archive_mysql
table_name = archive
manager = weewx.manager.DaySummaryManager
schema = schemas.wview_extended.schema
[[well_binding]]
database = sensors
table_name = sensor_gamma
manager = weewx.wxmanager.WXDaySummaryManager
schema = user.wellTemp.schema
[[HPt_binding]]
database = sensors
table_name = sensor_HPtank
manager = weewx.wxmanager.WXDaySummaryManager
schema = user.hpTank.schema
[Databases]
[[archive_mysql]]
database_name = weewx
database_type = MySQL
[[sensors]]
database_type = MySQL2
database_name = z_sensors_ranch
3a. The full error text when trying to backfill the daily summaries:
$ /usr/share/weewx/wee_database --rebuild-daily --binding=well_binding
Using configuration file /etc/weewx/weewx.conf
Using database binding 'well_binding', which is bound to database 'sensors'
Traceback (most recent call last):
File "/usr/share/weewx/wee_database", line 974, in <module>
main()
File "/usr/share/weewx/wee_database", line 169, in main
rebuildDaily(config_dict, db_binding, options)
File "/usr/share/weewx/wee_database", line 225, in rebuildDaily
with weewx.manager.Manager.open(manager_dict['database_dict']) as
dbmanager:
File "/usr/share/weewx/weewx/manager.py", line 131, in open
dbmanager = cls(connection, table_name)
File "/usr/share/weewx/weewx/manager.py", line 83, in __init__
self.sqlkeys = self.connection.columnsOf(self.table_name)
File "/usr/share/weewx/weedb/mysql.py", line 61, in guarded_fn
raise klass(e)
weedb.NoTableError: (1146, "Table 'z_sensors_ranch.archive' doesn't exist")
3b. Having stopped weewx completely to run the above command, I only get
one update to syslog, so not much to skimp on here:
Sep 9 17:48:58 derby wee_database[23747] ERROR weewx.manager: Cannot get
columns of table archive, and no schema specified
This may be the error I posted a separate issue about in the forum as I
typically have weewx running and have a cron job to update the external
sensor databases, so the syslog may have been muddying up the information
by combining everything.
-JZ
On Wed, Sep 9, 2020 at 5:37 PM Tom Keffer <[email protected]> wrote:
> Could you post:
>
> 1. The exact schema you are using.
> 2. The [DataBindings] section of weewx.conf.
> 3. More context on what is causing this error. I can't tell what program
> was running, nor what it was doing when the error occurred. The log would
> be best. Don't skimp!
>
> On Wed, Sep 9, 2020 at 3:09 PM Jonathan Zitelman <[email protected]>
> wrote:
>
>> The user schema is using the V3.x spec. When I update it to follow the
>> V4.x spec, specifying as table= instead of schema= and adding the daily
>> summary section it creates a new error:
>> AttributeError: Module 'user.wellTemp' has no attribute 'schema'
>> when searching for 'user.wellTemp.schema'
>>
>> As this table was empty, it looks like this issue existed when I was
>> running 3.8 as I just upgraded this past weekend. Otherwise maybe there is
>> a setting in weewx.conf that maybe I didn't change when I upgraded? Maybe
>> this relates to the other issue I have posted about the error in the main
>> packet loop? I didn't see a need for wee_database --update as was listed
>> for some of the older upgrades.
>>
>> -JZ
>>
>> On Wed, Sep 9, 2020 at 4:51 PM Tom Keffer <[email protected]> wrote:
>>
>>> Double check your schema, user.wellTemp.schema. Does it use the
>>> old-style V3.x schema spec, or the new-style V4.x schema spec? If you
>>> compare schemas/wview.py (old-style) and schemas/wview_extended.py
>>> (new-style) you can see the difference.
>>>
>>> If you are using new-style schemas, then you must explicitly list what
>>> types should appear in the daily summaries.
>>>
>>> -tk
>>>
>>> On Wed, Sep 9, 2020 at 2:46 PM Jonathan Zitelman <[email protected]>
>>> wrote:
>>>
>>>> Thanks for the direction! I checked the daily summary table and it
>>>> exists but is empty, so that's likely the issue. When I ran "sudo
>>>> wee_database --rebuild-daily --binding=well_binding" I receive an error
>>>> that the table archive does not exist, though I specify a different table
>>>> name in weewx.conf.
>>>>
>>>> pertinent section from weewx.conf:
>>>>
>>>> [[well_binding]]
>>>> database = sensors
>>>> table_name = sensor_gamma
>>>> manager = weewx.wxmanager.WXDaySummaryManager
>>>> schema = user.wellTemp.schema
>>>>
>>>> Specific error from wee_database:
>>>>
>>>> Using configuration file /etc/weewx/weewx.conf
>>>> Using database binding 'well_binding', which is bound to database
>>>> 'sensors'
>>>> Traceback (most recent call last):
>>>> File "/usr/share/weewx/wee_database", line 974, in <module>
>>>> main()
>>>> File "/usr/share/weewx/wee_database", line 169, in main
>>>> rebuildDaily(config_dict, db_binding, options)
>>>> File "/usr/share/weewx/wee_database", line 225, in rebuildDaily
>>>> with weewx.manager.Manager.open(manager_dict['database_dict']) as
>>>> dbmanager:
>>>> File "/usr/share/weewx/weewx/manager.py", line 131, in open
>>>> dbmanager = cls(connection, table_name)
>>>> File "/usr/share/weewx/weewx/manager.py", line 83, in __init__
>>>> self.sqlkeys = self.connection.columnsOf(self.table_name)
>>>> File "/usr/share/weewx/weedb/mysql.py", line 61, in guarded_fn
>>>> raise klass(e)
>>>> weedb.NoTableError: (1146, "Table 'sensors.archive' doesn't exist")
>>>>
>>>>
>>>> Apologies about the garbled code. I copied and pasted from the shell
>>>> and didn't catch that it cut the line off. The correct code is:
>>>> #if $day($data_binding='well_binding').wellTemp.has_data
>>>> <tr>
>>>> <td class="stats_label">
>>>> High Well Temperature<br/>
>>>> Low Well Temperature
>>>> </td>
>>>> <td class="stats_data">
>>>> $day($data_binding='well_binding').wellTemp.max at
>>>> $day($data_binding='well_binding').wellTemp.maxtime<br/>
>>>> $day($data_binding='well_binding').wellTemp.min at
>>>> $day($data_binding='well_binding').wellTemp.mintime
>>>> </td>
>>>> </tr>
>>>> #end if
>>>>
>>>> On Wed, Sep 9, 2020 at 4:27 PM Tom Keffer <[email protected]> wrote:
>>>>
>>>>> I'm assuming that the #if statement is evaluating True. That is,
>>>>> you're seeing the <tr>...</tr> HTML elements.
>>>>>
>>>>> Things to try:
>>>>>
>>>>> 1. Does the 'well_binding' database have a daily summary? That is
>>>>> normally what the $day tag uses.
>>>>>
>>>>> 2. Have you checked the values in the database? In particular, the
>>>>> values in the daily summary? Maybe they are all null?
>>>>>
>>>>> 3. Maybe it's just a typo, but the template snippet you included is
>>>>> garbled. The expression "$day($data_binding='well_bindi$" is not valid.
>>>>>
>>>>> -tk
>>>>>
>>>>> On Wed, Sep 9, 2020 at 12:53 PM [email protected] <
>>>>> [email protected]> wrote:
>>>>>
>>>>>>
>>>>>> I have an extra temperature system logging to a different database.
>>>>>> I can pull the current temperature in my html.tmpl file with the code:
>>>>>> <td
>>>>>> class="stats_data">$latest($data_binding='well_binding').wellTemp</td>
>>>>>> and it shows just fine. But when I try to pull my max/min values the
>>>>>> page shows "N/A at N/A". I placed it in an if statement which allows it
>>>>>> to
>>>>>> run, so I'm not sure why it won't show the appropriate information. My
>>>>>> code is:
>>>>>>
>>>>>> #if $day($data_binding='well_binding').wellTemp.has_data
>>>>>> <tr>
>>>>>> <td class="stats_label">
>>>>>> High Well Temperature<br/>
>>>>>> Low Well Temperature
>>>>>> </td>
>>>>>> <td class="stats_data">
>>>>>> $day($data_binding='well_binding').wellTemp.max at
>>>>>> $day($data_binding='well_bindi$
>>>>>> $day($data_binding='well_binding').wellTemp.min at
>>>>>> $day($data_binding='well_bindi$
>>>>>> </td>
>>>>>> </tr>
>>>>>> #end if
>>>>>>
>>>>>> Thanks for any direction.
>>>>>>
>>>>>> -Jonathan
>>>>>>
>>>>>> --
>>>>>> 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/5a263ab5-96d2-4c00-9b25-27a30a9efd5bn%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/weewx-user/5a263ab5-96d2-4c00-9b25-27a30a9efd5bn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to a topic in the
>>>>> Google Groups "weewx-user" group.
>>>>> To unsubscribe from this topic, visit
>>>>> https://groups.google.com/d/topic/weewx-user/vNlqslTsCs4/unsubscribe.
>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>> [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEBLiqRn%3DCW5Yg2jEsbdL5u9UgHc_m1gNw_-PTdwTM_trw%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBLiqRn%3DCW5Yg2jEsbdL5u9UgHc_m1gNw_-PTdwTM_trw%40mail.gmail.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/CAFwS2r2Yydv3-55EwU8cCFAiF01pggp1-Fu6CGJ8eMwUP_9ePw%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/weewx-user/CAFwS2r2Yydv3-55EwU8cCFAiF01pggp1-Fu6CGJ8eMwUP_9ePw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "weewx-user" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/weewx-user/vNlqslTsCs4/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zECGYP4CtP-aJKqTQvxPw9nQbNHfnXXYx6N6%2B-LE2Nm1Wg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zECGYP4CtP-aJKqTQvxPw9nQbNHfnXXYx6N6%2B-LE2Nm1Wg%40mail.gmail.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/CAFwS2r02xBwMt_jsWLWW4qgEVahsvDJrjb%3Dm332BpTU5KkuL9g%40mail.gmail.com
>> <https://groups.google.com/d/msgid/weewx-user/CAFwS2r02xBwMt_jsWLWW4qgEVahsvDJrjb%3Dm332BpTU5KkuL9g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "weewx-user" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/weewx-user/vNlqslTsCs4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-user/CAPq0zEALbwJ_48z5GFBo-ROdLuzHx%3DZioew1J1hUYVgfy1px5w%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEALbwJ_48z5GFBo-ROdLuzHx%3DZioew1J1hUYVgfy1px5w%40mail.gmail.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/CAFwS2r3v-cNQCQK25CcezF%3DjP0eZw%3DxPuKJwAryP606%2BPLrwHA%40mail.gmail.com.