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.
