It looks like the "purple" extension is trying to aggregate by groups, but asking for a non-aggregated value for 'usUnits'.
What extension is this? The purple air extension I see on the wiki uses the module "user.purpleair", not "user.purple". On Mon, Apr 29, 2024 at 4:37 PM Clay Jackson <cl...@n7qnm.net> wrote: > I'm updating from WeeWx Version 4 to 5.0.2 and when I do, the sample > dashboard for Purple causes imgagegenerator to crash - here's the output > from syslog. > > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: Caught > unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator' > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** (1140, > "In aggregated query without GROUP BY, expression #2 > <https://github.com/chaunceygardiner/weewx-purple/issues/2> of SELECT > list contains nonaggregated column 'weewx.archive.usUnits > '; this is incompatible with sql_mode=only_full_group_by") > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Traceback (most recent call last): > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 109, in get_series > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** return > xtype.get_series(obs_type, timespan, db_manager, aggregate_type, > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > TypeError: AQI.get_series() got an unexpected keyword argument 'SKIN_ROOT' > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** During > handling of the above exception, another exception occurred: > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Traceback (most recent call last): > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weedb/mysql.py", line > 53, in guarded_fn > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** return > fn(*args, **kwargs) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weedb/mysql.py", line > 247, in execute > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > self.cursor.execute(mysql_string, tuple(sql_tuple)) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/cursors.py", > line 153, in execute > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** result > = self._query(query) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/cursors.py", > line 322, in _query > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > conn.query(q) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 558, in query > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > self._affected_rows = self._read_query_result(unbuffered=unbuffered) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 822, in _read_query_result > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > result.read() > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 1200, in read > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > first_packet = self.connection._read_packet() > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 772, in _read_packet > Apr 29 16:26:12 weewx python3[2282]: Traceback (most recent call last): > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 109, in get_series > Apr 29 16:26:12 weewx python3[2282]: return xtype.get_series(obs_type, > timespan, db_manager, aggregate_type, > Apr 29 16:26:12 weewx python3[2282]: TypeError: AQI.get_series() got an > unexpected keyword argument 'SKIN_ROOT' > Apr 29 16:26:12 weewx python3[2282]: During handling of the above > exception, another exception occurred: > Apr 29 16:26:12 weewx python3[2282]: Traceback (most recent call last): > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weedb/mysql.py", line > 53, in guarded_fn > Apr 29 16:26:12 weewx python3[2282]: return fn(*args, **kwargs) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weedb/mysql.py", line > 247, in execute > Apr 29 16:26:12 weewx python3[2282]: self.cursor.execute(mysql_string, > tuple(sql_tuple)) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/cursors.py", > line 153, in execute > Apr 29 16:26:12 weewx python3[2282]: result = self._query(query) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/cursors.py", > line 322, in _query > Apr 29 16:26:12 weewx python3[2282]: conn.query(q) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 558, in query > Apr 29 16:26:12 weewx python3[2282]: self._affected_rows = > self._read_query_result(unbuffered=unbuffered) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 822, in _read_query_result > Apr 29 16:26:12 weewx python3[2282]: result.read() > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 1200, in read > Apr 29 16:26:12 weewx python3[2282]: first_packet = > self.connection._read_packet() > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/connections.py", > line 772, in _read_packet > Apr 29 16:26:12 weewx python3[2282]: packet.raise_for_error() > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/protocol.py", > line 221, in raise_for_error > Apr 29 16:26:12 weewx python3[2282]: err.raise_mysql_exception(self._data) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/err.py", line > 143, in raise_mysql_exception > Apr 29 16:26:12 weewx python3[2282]: raise errorclass(errno, errval) > Apr 29 16:26:12 weewx python3[2282]: pymysql.err.OperationalError: (1140, > "In aggregated query without GROUP BY, expression #2 > <https://github.com/chaunceygardiner/weewx-purple/issues/2> of SELECT > list contains nonaggregated column 'weewx.archive.usUnits'; this i > s incompatible with sql_mode=only_full_group_by") > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > packet.raise_for_error() > Apr 29 16:26:12 weewx python3[2282]: During handling of the above > exception, another exception occurred: > Apr 29 16:26:12 weewx python3[2282]: Traceback (most recent call last): > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/reportengine.py", > line 220, in run > Apr 29 16:26:12 weewx python3[2282]: obj.start() > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/reportengine.py", > line 409, in start > Apr 29 16:26:12 weewx python3[2282]: self.run() > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/imagegenerator.py", > line 37, in run > Apr 29 16:26:12 weewx python3[2282]: self.gen_images(self.gen_ts) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/imagegenerator.py", > line 100, in gen_images > Apr 29 16:26:12 weewx python3[2282]: plot = self.gen_plot(plotgen_ts, > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/imagegenerator.py", > line 236, in gen_plot > Apr 29 16:26:12 weewx python3[2282]: start_vec_t, stop_vec_t, data_vec_t = > weewx.xtypes.get_series( > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 114, in get_series > Apr 29 16:26:12 weewx python3[2282]: return xtype.get_series(obs_type, > timespan, db_manager, aggregate_type, > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-data/bin/user/purple.py", line 627, in get_series > Apr 29 16:26:12 weewx python3[2282]: return > weewx.xtypes.ArchiveTable.get_series(obs_type, timespan, db_manager, > aggregate_type, > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 213, in get_series > Apr 29 16:26:12 weewx python3[2282]: agg_vt = get_aggregate(obs_type, > stamp, do_aggregate, db_manager, > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 136, in get_aggregate > Apr 29 16:26:12 weewx python3[2282]: return xtype.get_aggregate(obs_type, > timespan, aggregate_type, db_manager, > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-data/bin/user/purple.py", line 719, in get_aggregate > Apr 29 16:26:12 weewx python3[2282]: row = db_manager.getSql(select_stmt) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/manager.py", > line 579, in getSql > Apr 29 16:26:12 weewx python3[2282]: _cursor.execute(sql, sqlargs) > Apr 29 16:26:12 weewx python3[2282]: File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weedb/mysql.py", line > 62, in guarded_fn > Apr 29 16:26:12 weewx python3[2282]: raise klass(e) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/protocol.py", > line 221, in raise_for_error > Apr 29 16:26:12 weewx python3[2282]: weedb.DatabaseError: (1140, "In > aggregated query without GROUP BY, expression #2 > <https://github.com/chaunceygardiner/weewx-purple/issues/2> of SELECT > list contains nonaggregated column 'weewx.archive.usUnits'; this is > incompatible with sql_mode=only_full_group_by") > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > err.raise_mysql_exception(self._data) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/pymysql/err.py", line > 143, in raise_mysql_exception > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** raise > errorclass(errno, errval) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > pymysql.err.OperationalError: (1140, "In aggregated query without GROUP BY, > expression #2 <https://github.com/chaunceygardiner/weewx-purple/issues/2> of > SELECT list contains nonaggregated column 'weewx.archive.usUnits'; this is > incompatible with sql_mode=only_full_group_by") > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** During > handling of the above exception, another exception occurred: > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Traceback (most recent call last): > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/reportengine.py", > line 220, in run > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > obj.start() > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/reportengine.py", > line 409, in start > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > self.run() > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/imagegenerator.py", > line 37, in run > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > self.gen_images(self.gen_ts) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/imagegenerator.py", > line 100, in gen_images > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** plot = > self.gen_plot(plotgen_ts, > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/imagegenerator.py", > line 236, in gen_plot > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > start_vec_t, stop_vec_t, data_vec_t = weewx.xtypes.get_series( > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 114, in get_series > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** return > xtype.get_series(obs_type, timespan, db_manager, aggregate_type, > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-data/bin/user/purple.py", line 627, in get_series > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** return > weewx.xtypes.ArchiveTable.get_series(obs_type, timespan, db_manager, > aggregate_type, > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 213, in get_series > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** agg_vt > = get_aggregate(obs_type, stamp, do_aggregate, db_manager, > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/xtypes.py", line > 136, in get_aggregate > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** return > xtype.get_aggregate(obs_type, timespan, aggregate_type, db_manager, > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-data/bin/user/purple.py", line 719, in get_aggregate > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** row = > db_manager.getSql(select_stmt) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weewx/manager.py", > line 579, in getSql > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > _cursor.execute(sql, sqlargs) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** File > "/home/weewx/weewx-venv/lib/python3.10/site-packages/weedb/mysql.py", line > 62, in guarded_fn > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** raise > klass(e) > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > weedb.DatabaseError: (1140, "In aggregated query without GROUP BY, > expression #2 <https://github.com/chaunceygardiner/weewx-purple/issues/2> of > SELECT list contains nonaggregated column 'weewx.archive.usUnits'; this is > incompatible with sql_mode=only_full_group_by") > Apr 29 16:26:12 weewx weewxd[2282]: ERROR weewx.reportengine: **** > Generator terminated > > -- > 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/6866dcbd-f175-4977-adc5-bd351a06f0e9n%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/6866dcbd-f175-4977-adc5-bd351a06f0e9n%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/CAPq0zEAFqGEy67ytqt-4EGCu%3D_PL9CnXmr6bHOuWOuarMzdjPg%40mail.gmail.com.