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.