I was able to reproduce the problem.

Let me work on a solution.

-tk

On Mon, Aug 16, 2021 at 9:50 PM [email protected] <[email protected]>
wrote:

> Tom
>
> Added two columns via the schema:  comfort_level and  lightning_frequency;
> in which the data types are TEXT. Again the database gets populated with
> the correct data.
>
> Aug 17 00:35:26 raspberrypi weewx[1359] ERROR weewx.manager: Replace
> failed for database weewx.sdb: table archive_day_comfort_level has 9
> columns but 5 values were supplied
> Aug 17 00:35:26 raspberrypi weewx[1359] ERROR weewx.manager: Replace
> failed for database weewx.sdb: table archive_day_lightning_frequency has 9
> columns but 5 values were supplied
> Aug 17 00:35:26 raspberrypi weewx[1359] INFO weewx.manager: Added record
> 2021-08-17 00:35:00 EDT (1629174900) to database 'weewx.sdb'
> Aug 17 00:35:26 raspberrypi weewx[1359] ERROR weewx.manager: Replace
> failed for database weewx.sdb: table archive_day_comfort_level has 9
> columns but 5 values were supplied
> Aug 17 00:35:26 raspberrypi weewx[1359] ERROR weewx.manager: Replace
> failed for database weewx.sdb: table archive_day_lightning_frequency has 9
> columns but 5 values were supplied
>
> This is the schema:
>
> table = [('dateTime',             'INTEGER NOT NULL UNIQUE PRIMARY KEY'),
>          ('usUnits',              'INTEGER NOT NULL'),
>          ('interval',             'INTEGER NOT NULL'),
>          ('altimeter',            'REAL'),
>          ('appTemp',              'REAL'),
>          ('appTemp1',             'REAL'),
>          ('barometer',            'REAL'),
>          ('batteryStatus1',       'REAL'),
>          ('batteryStatus2',       'REAL'),
>          ('batteryStatus3',       'REAL'),
>          ('batteryStatus4',       'REAL'),
>          ('batteryStatus5',       'REAL'),
>          ('batteryStatus6',       'REAL'),
>          ('batteryStatus7',       'REAL'),
>          ('batteryStatus8',       'REAL'),
>          ('cloudbase',            'REAL'),
>          ('co',                   'REAL'),
>          ('co2',                  'REAL'),
>          ('consBatteryVoltage',   'REAL'),
>          ('dewpoint',             'REAL'),
>          ('dewpoint1',            'REAL'),
>          ('ET',                   'REAL'),
>          ('extraHumid1',          'REAL'),
>          ('extraHumid2',          'REAL'),
>          ('extraHumid3',          'REAL'),
>          ('extraHumid4',          'REAL'),
>          ('extraHumid5',          'REAL'),
>          ('extraHumid6',          'REAL'),
>          ('extraHumid7',          'REAL'),
>          ('extraHumid8',          'REAL'),
>          ('extraTemp1',           'REAL'),
>          ('extraTemp2',           'REAL'),
>          ('extraTemp3',           'REAL'),
>          ('extraTemp4',           'REAL'),
>          ('extraTemp5',           'REAL'),
>          ('extraTemp6',           'REAL'),
>          ('extraTemp7',           'REAL'),
>          ('extraTemp8',           'REAL'),
>          ('forecast',             'REAL'),
>          ('hail',                 'REAL'),
>          ('hailBatteryStatus',    'REAL'),
>          ('hailRate',             'REAL'),
>          ('heatindex',            'REAL'),
>          ('heatindex1',           'REAL'),
>          ('heatingTemp',          'REAL'),
>          ('heatingVoltage',       'REAL'),
>          ('humidex',              'REAL'),
>          ('humidex1',             'REAL'),
>          ('inDewpoint',           'REAL'),
>          ('inHumidity',           'REAL'),
>          ('inTemp',               'REAL'),
>          ('inTempBatteryStatus',  'REAL'),
>          ('leafTemp1',            'REAL'),
>          ('leafTemp2',            'REAL'),
>          ('leafWet1',             'REAL'),
>          ('leafWet2',             'REAL'),
>          ('lightning_distance',        'REAL'),
>          ('lightning_disturber_count', 'REAL'),
>          ('lightning_energy',          'REAL'),
>          ('lightning_noise_count',     'REAL'),
>          ('lightning_strike_count',    'REAL'),
>          ('luminosity',           'REAL'),
>          ('maxSolarRad',          'REAL'),
>          ('nh3',                  'REAL'),
>          ('no2',                  'REAL'),
>          ('noise',                'REAL'),
>          ('o3',                   'REAL'),
>          ('outHumidity',          'REAL'),
>          ('outTemp',              'REAL'),
>          ('outTempBatteryStatus', 'REAL'),
>          ('pb',                   'REAL'),
>          ('pm10_0',               'REAL'),
>          ('pm1_0',                'REAL'),
>          ('pm2_5',                'REAL'),
>          ('pressure',             'REAL'),
>          ('radiation',            'REAL'),
>          ('rain',                 'REAL'),
>          ('rainBatteryStatus',    'REAL'),
>          ('rainRate',             'REAL'),
>          ('referenceVoltage',     'REAL'),
>          ('rxCheckPercent',       'REAL'),
>          ('signal1',              'REAL'),
>          ('signal2',              'REAL'),
>          ('signal3',              'REAL'),
>          ('signal4',              'REAL'),
>          ('signal5',              'REAL'),
>          ('signal6',              'REAL'),
>          ('signal7',              'REAL'),
>          ('signal8',              'REAL'),
>          ('snow',                 'REAL'),
>          ('snowBatteryStatus',    'REAL'),
>          ('snowDepth',            'REAL'),
>          ('snowMoisture',         'REAL'),
>          ('snowRate',             'REAL'),
>          ('so2',                  'REAL'),
>          ('soilMoist1',           'REAL'),
>          ('soilMoist2',           'REAL'),
>          ('soilMoist3',           'REAL'),
>          ('soilMoist4',           'REAL'),
>          ('soilTemp1',            'REAL'),
>          ('soilTemp2',            'REAL'),
>          ('soilTemp3',            'REAL'),
>          ('soilTemp4',            'REAL'),
>          ('supplyVoltage',        'REAL'),
>          ('txBatteryStatus',      'REAL'),
>          ('UV',                   'REAL'),
>          ('uvBatteryStatus',      'REAL'),
>          ('windBatteryStatus',    'REAL'),
>          ('windchill',            'REAL'),
>          ('windDir',              'REAL'),
>          ('windGust',             'REAL'),
>          ('windGustDir',          'REAL'),
>          ('windrun',              'REAL'),
>          ('windSpeed',            'REAL'),
>          ('lightning_frequency',  'TEXT'),
>          ('comfort_level',        'TEXT'),
>          ]
>
> day_summaries = [(e[0], 'scalar') for e in table
>                  if e[0] not in ('dateTime', 'usUnits', 'interval')] +
> [('wind', 'VECTOR')]
>
> schema = {
>     'table': table,
>     'day_summaries' : day_summaries
> }
>
> Rich
> On Monday, August 16, 2021 at 10:32:02 PM UTC-4 [email protected] wrote:
>
>> Tom
>>
>> I tried adding the column using the following command:
>>
>> wee_database --add-column=lightning_frequency --type=TEXT
>>
>> It does add the column and populates the data but generates an error
>> during the archival cycle. I guess it looking for integers and real type
>> values.
>>
>> Aug 16 22:00:22 raspberrypi weewx[24285] ERROR weewx.manager: Replace
>> failed for database weewx.sdb: table archive_day_lightning_frequency has 9
>> columns but 5 values were supplied
>> Aug 16 22:00:22 raspberrypi weewx[24285] INFO weewx.manager: Added record
>> 2021-08-16 22:00:00 EDT (1629165600) to database 'weewx.sdb'
>> Aug 16 22:00:22 raspberrypi weewx[24285] ERROR weewx.manager: Replace
>> failed for database weewx.sdb: table archive_day_lightning_frequency has 9
>> columns but 5 values were supplied
>>
>> Next I will try adding using the schema.
>>
>> Rich
>> On Monday, August 16, 2021 at 6:55:55 PM UTC-4 [email protected] wrote:
>>
>>> Can't say that I've tried that, but I don't see why it wouldn't work.
>>> It's certainly simpler.
>>>
>>> Let me know how it goes.
>>>
>>> On Mon, Aug 16, 2021 at 9:11 AM [email protected] <[email protected]>
>>> wrote:
>>>
>>>> Thanks Tom.
>>>>
>>>> I have another question before proceeding.  Do I need to physically
>>>> update the schema to include column and type or could I just use the
>>>> following command:
>>>>
>>>> wee_database --add-column=comments --type=TEXT
>>>>
>>>> Rich
>>>>
>>>> On Monday, August 16, 2021 at 8:29:16 AM UTC-4 [email protected] wrote:
>>>>
>>>>> Good question. Yes, it is possible to store text.
>>>>>
>>>>> 1. Assuming you're using sqlite, make sure you read their
>>>>> documentation on data types: https://sqlite.org/datatype3.html
>>>>>
>>>>> 2. Create a new schema accordingly. For example,
>>>>>
>>>>> table = [('dateTime', 'INTEGER NOT NULL UNIQUE PRIMARY KEY'),
>>>>>          ('usUnits', 'INTEGER NOT NULL'),
>>>>>          ('interval', 'INTEGER NOT NULL'),
>>>>>          ('outTemp',  'REAL'),
>>>>>          ('comments', 'TEXT')
>>>>>          ]
>>>>>
>>>>>
>>>>> day_summaries = [('outTemp', 'scalar'), ('comments', 'scalar')]
>>>>>
>>>>> schema = {
>>>>>     'table': table,
>>>>>     'day_summaries' : day_summaries
>>>>> }
>>>>>
>>>>>
>>>>> This is just an example. Your schema is likely to have many more types
>>>>> than this.
>>>>>
>>>>> 3. See the directions in the Customizing Guide for how to specify that
>>>>> your new schema be used. *Picking a starting schema
>>>>> <http://www.weewx.com/docs/customizing.htm#Picking_a_starting_schema>*
>>>>> .
>>>>>
>>>>> 4. Read the developer's notes on Accumulators
>>>>> <https://github.com/weewx/weewx/wiki/Accumulators>. In your
>>>>> weewx.conf file, specify that your text type should be accumulated using
>>>>> the "firstlast" accumulator. This will prevent it from trying to find
>>>>> the average, etc, of a string.
>>>>>
>>>>> [Accumulator]
>>>>>     [[comments]]
>>>>>         accumulator = firstlast
>>>>>
>>>>>
>>>>> That's it. If your new type appears in the archive record, then it
>>>>> will be included in the database.
>>>>>
>>>>> Tags like
>>>>>
>>>>> <p>Details: $current.comments, last recorded at $day.comments.last</p>
>>>>>
>>>>>
>>>>> should also work.
>>>>>
>>>>>
>>>>> On Sun, Aug 15, 2021 at 8:43 PM [email protected] <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> In the Weewx DB, the column data types are  primary Real or Integer
>>>>>> but is it possible to store data as Text?
>>>>>>
>>>>>> --
>>>>>> 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/faf66dd7-7e4a-45fa-9737-6f0094024c88n%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/weewx-user/faf66dd7-7e4a-45fa-9737-6f0094024c88n%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/c4c792b5-c214-446e-9e4b-6d76dbc14aabn%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/weewx-user/c4c792b5-c214-446e-9e4b-6d76dbc14aabn%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/be7ea2ed-51c5-4f1b-bf21-d37f8d2c0898n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/be7ea2ed-51c5-4f1b-bf21-d37f8d2c0898n%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/CAPq0zECJj9JLeoPa%2B5Z_c4jcWoh4ajhOBH-TghThg5r3PDSF4A%40mail.gmail.com.

Reply via email to