Code Monkey home page Code Monkey logo

weewx-brultech's Issues

Handling old previous records

This is more a question than a real "issue": how should one handle large gaps in the incoming data? Say, the system was "down" for a day and then starts sending again.

It looks as if the code e.g. for power just uses the last "old" record and averages over the (long) time period. On the other hand there is a parameter "stale" that I do not see used in the code. Was there once a plan to handle "old" data differently and was this given up later?

weewx dies when running the brultech driver

looks like some assumptions in brultech.py might not consider all of the cases.

Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__: Caught unrecoverable exception:
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****  integer division or modulo by zero
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****  Traceback (most recent call last):
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****    File "/opt/weewx/bin/weewxd", line 153, in main
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****      engine.run()
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****    File "/opt/weewx/bin/weewx/engine.py", line 210, in run
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****      self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet))
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****    File "/opt/weewx/bin/weewx/engine.py", line 245, in dispatchEvent
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****      callback(event)
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****    File "/opt/weewx/bin/user/brultech.py", line 911, in new_loop_packet
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****      self.bt_extends.add_power_to_packet(event.packet)
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****    File "/opt/weewx/bin/user/brultech.py", line 781, in add_power_to_packet
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****      deriv = self.derivatives[obs_type].add_record(packet)
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****    File "/opt/weewx/bin/weeutil/timediff.py", line 44, in add_record
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****      derivative = (record[self.obs_type] - self.old_value) / (record['dateTime'] - self.old_timestamp)
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****  ZeroDivisionError: integer division or modulo by zero
Dec 24 12:05:22 pitest weewx-gem[6912] CRITICAL __main__:     ****  Exiting.

this is weewx development branch as of 23dec2021 and brultech driver as of a few days ago.

here is the log from startup:

Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: Initializing weewx version 4.6.0b7
Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: Using Python 2.7.16 (default, Oct 10 2019, 22:02:15) #012[GCC 8.3.0]
Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: Platform Linux-5.10.63-v7+-armv7l-with-debian-10.11
Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: Locale is 'en_GB.UTF-8'
Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: Using configuration file /etc/weewx/gem.conf
Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: Debug is 0
Dec 24 22:20:59 pitest weewx-gem[10386] INFO __main__: PID file is /var/run/weewx-gem.pid
Dec 24 22:20:59 pitest weewx-gem[10390] INFO weewx.engine: Loading station type Brultech (user.brultech)
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: StdConvert target unit is 0x1
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.wxservices: StdWXCalculate will use data binding bt_binding
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: Archive will use data binding bt_binding
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: Record generation will be attempted in 'hardware'
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: Using archive interval of 300 seconds (specified in weewx configuration)
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.restx: StationRegistry: Registration not requested.
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: service version is 0.16
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: database: data
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: destination: http://192.168.76.60/influx
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: line_format: multi-line-dotted
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: measurement: pitest.gem
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: tags: host=pitest,driver=gem
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: binding: loop,archive
Dec 24 22:21:00 pitest weewx-gem[10390] INFO user.influx: Data will be uploaded to http://192.168.76.60/influx
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: 'pyephem' not detected, extended almanac data is not available
Dec 24 22:21:00 pitest weewx-gem[10390] INFO __main__: Starting up weewx version 4.6.0b7
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: Clock error is 1.06 seconds (positive is fast)
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: Using binding 'bt_binding' to database 'gem.sdb'
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.manager: Starting backfill of daily summaries
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.manager: Daily summaries up to date
Dec 24 22:21:00 pitest weewx-gem[10390] INFO weewx.engine: Starting main packet loop.

let me know if you need debug

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.