Everything worked fine until I did the upgrade. I guess something has changed in the way XTypes are handled?
*This is the code I use in extensions.py:* # # Copyright (c) 2009-2015 Tom Keffer <tkef...@gmail.com> # # See the file LICENSE.txt for your full rights. # """User extensions module This module is imported from the main executable, so anything put here will be executed before anything else happens. This makes it a good place to put user extensions. """ import locale # This will use the locale specified by the environment variable 'LANG' # Other options are possible. See: # http://docs.python.org/2/library/locale.html#locale.setlocale locale.setlocale(locale.LC_ALL, '') import user.lowest_temperature import weewx.xtypes weewx.xtypes.xtypes.append(user.lowest_temperature.LowestTemperature()) *This is the code in lowest_temperature.py:* import weewx.units import weewx.xtypes from weewx.units import ValueTuple class LowestTemperature(weewx.xtypes.XType): def get_scalar(self, obs_type, record, dbmanager): """Determine which sensor has lowest temperature.""" if obs_type != 'lowTemperature': raise weewx.UnknownType try: record_us = weewx.units.to_US(record) if record_us['outTemp'] == None or record_us['extraTemp1'] == None: # if record_us['outTemp'] < 100 or record_us['extraTemp1'] < 100: raise TypeError("Temperature(s) equal to None") if record_us['outTemp'] <= record_us['extraTemp1']: lowTemperature = record_us['outTemp'] else: lowTemperature = record_us['extraTemp1'] return ValueTuple(lowTemperature, "degree_F", "group_temperature") except KeyError: # Don't have everything we need. Raise an exception. raise weewx.CannotCalculate(obs_type) def get_series(self, obs_type, timespan, db_manager, aggregate_type=None, aggregate_interval=None): if obs_type != 'lowTemperature': raise weewx.UnknownType start_vec = list() stop_vec = list() data_vec = list() if aggregate_type: raise weewx.UnknownAggregation(aggregate_type) for record in db_manager.genSql("SELECT `dateTime`, `interval`, `usUnits`, `outTemp`, `extraTemp1` FROM `archive` WHERE `dateTime` > %(start)s AND `dateTime` <= %(stop)s;" % {'start': timespan[0], 'stop': timespan[1]}): if (record[2] != 1): raise weewx.CannotCalculate("units are not US") if record[3] == None or record[4] == None: # if record[3] < 100 or record[4] < 100: raise TypeError("Temperature(s) equal to None") start_vec.append(record[0] - record[1] * 60) stop_vec.append(record[0]) if record[3] <= record[4]: data_vec.append(record[3]) else: data_vec.append(record[4]) return (ValueTuple(start_vec, 'unix_epoch', 'group_time'), ValueTuple(stop_vec, 'unix_epoch', 'group_time'), ValueTuple(data_vec, "degree_F", "group_temperature")) Do I need to rewrite all code? -- 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/abb03705-953a-4626-a1ef-7d43a7cf688en%40googlegroups.com.