30 seconds
On Wednesday, March 25, 2020 at 4:52:09 PM UTC-6, Jeff Ross wrote:
>
> Getting the following error on weewx 3.9.2:
>
> 2020-03-25 16:25:39.975468500 127.0.0.1: user.debug: Mar 25 16:25:39
> weewx[17898]: interceptor: MainThread: raw packet: {'wind_speed': 5.1,
> 'humidity_in': 30.0, 'temperature_in': 70.3, 'barometer': 25.609,
> 'windchill': 29.7, 'dewpoint': 28.2, 'humidity_out': 78.0, 'uv': 0.0,
> 'radiation': 52.85, 'rain': None, 'dateTime': 1585175109, 'pressure':
> 25.609, 'temperature_out': 34.3, 'wind_dir': 237.0, 'rain_total': 0.331,
> 'usUnits': 1, 'wind_gust': 5.8}
> 2020-03-25 16:25:39.975558500 127.0.0.1: user.debug: Mar 25 16:25:39
> weewx[17898]: interceptor: MainThread: mapped packet: {'barometer': 25.609,
> 'windchill': 29.7, 'dewpoint': 28.2, 'pressure': 25.609, 'outHumidity':
> 78.0, 'UV': 0.0, 'radiation': 52.85, 'rain': None, 'dateTime': 1585175109,
> 'windDir': 237.0, 'outTemp': 34.3, 'windSpeed': 5.1, 'inHumidity': 30.0,
> 'inTemp': 70.3, 'windGust': 5.8, 'usUnits': 1}
> 2020-03-25 16:25:40.089632500 127.0.0.1: user.info: Mar 25 16:25:40
> weewx[17898]: engine: Main loop exiting. Shutting engine down.
> 2020-03-25 16:25:40.109860500 127.0.0.1: user.debug: Mar 25 16:25:40
> weewx[17898]: restx: Shut down Windy thread.
> 2020-03-25 16:25:40.129892500 127.0.0.1: user.debug: Mar 25 16:25:40
> weewx[17898]: restx: Shut down PWSWeather thread.
> 2020-03-25 16:25:40.149827500 127.0.0.1: user.debug: Mar 25 16:25:40
> weewx[17898]: restx: Shut down StationRegistry thread.
> 2020-03-25 16:25:40.150077500 127.0.0.1: user.info: Mar 25 16:25:40
> weewx[17898]: interceptor: MainThread: shutting down server thread
> 2020-03-25 16:25:40.150189500 127.0.0.1: user.debug: Mar 25 16:25:40
> weewx[17898]: interceptor: MainThread: stop sniff server
> 2020-03-25 16:25:40.151404500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: engine: Caught unrecoverable exception in engine:
> 2020-03-25 16:25:40.151596500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** integer division or modulo by zero
> 2020-03-25 16:25:40.192081500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** Traceback (most recent call last):
> 2020-03-25 16:25:40.192281500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** File "/home/weewx/bin/weewx/engine.py", line 894,
> in main
> 2020-03-25 16:25:40.192286500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** engine.run()
> 2020-03-25 16:25:40.192501500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** File "/home/weewx/bin/weewx/engine.py", line 191,
> in run
> 2020-03-25 16:25:40.192506500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: ****
> self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet))
> 2020-03-25 16:25:40.193301500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** File "/home/weewx/bin/weewx/engine.py", line 224,
> in dispatchEvent
> 2020-03-25 16:25:40.193324500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** callback(event)
> 2020-03-25 16:25:40.193328500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** File "/home/weewx/bin/weewx/engine.py", line 540,
> in new_loop_packet
> 2020-03-25 16:25:40.193332500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** self.accumulator =
> self._new_accumulator(event.packet['dateTime'])
> 2020-03-25 16:25:40.193336500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** File "/home/weewx/bin/weewx/engine.py", line 650,
> in _new_accumulator
> 2020-03-25 16:25:40.193345500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** self.archive_interval)
> 2020-03-25 16:25:40.193348500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** File "/home/weewx/bin/weeutil/weeutil.py", line
> 197, in startOfInterval
> 2020-03-25 16:25:40.193353500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** m = int(time_tt.tm_min // interval_m *
> interval_m)
> 2020-03-25 16:25:40.193361500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** ZeroDivisionError: integer division or modulo by
> zero
> 2020-03-25 16:25:40.193365500 127.0.0.1: user.crit: Mar 25 16:25:40
> weewx[17898]: **** Exiting.
>
> If I'm reading the above correctly, the error occurs here in
> home/weewx/bin/weeutil/weeutil.py:
> def startOfInterval(time_ts, interval):
> """Find the start time of an interval.
>
> This algorithm assumes the day is divided up into
> intervals of 'interval' length. Given a timestamp, it
> figures out which interval it lies in, returning the start
> time.
>
> time_ts: A timestamp. The start of the interval containing this
> timestamp will be returned.
>
> interval: An interval length in seconds.
>
> Returns: A timestamp with the start of the interval.
>
> Examples:
>
> >>> os.environ['TZ'] = 'America/Los_Angeles'
> >>> start_ts = time.mktime(time.strptime("2013-07-04 01:57:35",
> "%Y-%m-%d %H:%M:%S"))
> >>> time.ctime(startOfInterval(start_ts, 300))
> 'Thu Jul 4 01:55:00 2013'
> >>> time.ctime(startOfInterval(start_ts, 300.0))
> 'Thu Jul 4 01:55:00 2013'
> >>> time.ctime(startOfInterval(start_ts, 600))
> 'Thu Jul 4 01:50:00 2013'
> >>> time.ctime(startOfInterval(start_ts, 900))
> 'Thu Jul 4 01:45:00 2013'
> >>> time.ctime(startOfInterval(start_ts, 3600))
> 'Thu Jul 4 01:00:00 2013'
> >>> time.ctime(startOfInterval(start_ts, 7200))
> 'Thu Jul 4 00:00:00 2013'
> >>> start_ts = time.mktime(time.strptime("2013-07-04 01:00:00",
> "%Y-%m-%d %H:%M:%S"))
> >>> time.ctime(startOfInterval(start_ts, 300))
> 'Thu Jul 4 00:55:00 2013'
> >>> start_ts = time.mktime(time.strptime("2013-07-04 01:00:01",
> "%Y-%m-%d %H:%M:%S"))
> >>> time.ctime(startOfInterval(start_ts, 300))
> 'Thu Jul 4 01:00:00 2013'
> >>> start_ts = time.mktime(time.strptime("2013-07-04 01:04:59",
> "%Y-%m-%d %H:%M:%S"))
> >>> time.ctime(startOfInterval(start_ts, 300))
> 'Thu Jul 4 01:00:00 2013'
> >>> start_ts = time.mktime(time.strptime("2013-07-04 00:00:00",
> "%Y-%m-%d %H:%M:%S"))
> >>> time.ctime(startOfInterval(start_ts, 300))
> 'Wed Jul 3 23:55:00 2013'
> >>> start_ts = time.mktime(time.strptime("2013-07-04 07:51:00",
> "%Y-%m-%d %H:%M:%S"))
> >>> time.ctime(startOfInterval(start_ts, 60))
> 'Thu Jul 4 07:50:00 2013'
> >>> start_ts += 0.1
> >>> time.ctime(startOfInterval(start_ts, 60))
> 'Thu Jul 4 07:51:00 2013'
> """
>
> interval_m = int(interval // 60)
> interval_h = int(interval // 3600)
> time_tt = time.localtime(time_ts)
> m = int(time_tt.tm_min // interval_m * interval_m)
> h = int(time_tt.tm_hour // interval_h * interval_h) if interval_h > 1
> else time_tt.tm_hour
>
> Help!
>
> Jeff Ross
>
--
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/cca5bd2c-ee1b-495d-82ca-800d87815dc6%40googlegroups.com.