It’s my extension.  MySQL doesn’t like the select when sql_mode=only_full_group_by.

clayj, please replace purple.py with the attached file.  If it works for you, I’ll release it as v3.9.2.

--
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/2C5B0FC9-FD72-4FAF-B2E8-9C57D7D5B158%40johnkline.com.

Attachment: purple.py
Description: Binary data


On Apr 29, 2024, at 4:48 PM, Tom Keffer <tkef...@gmail.com> wrote:


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 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 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 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 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 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.

--
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.

--
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/2C5B0FC9-FD72-4FAF-B2E8-9C57D7D5B158%40johnkline.com.

Reply via email to