Thanks to both of you. I used Tom's "filepile" because i have several other sensors as well and now only one extension is needed, and it is working great.
ponedeljek, 2. december 2024 ob 13:34:09 UTC+1 je oseba Tom Keffer napisala: > Rather than roll your own, why not just use the extension filepile > <https://github.com/tkeffer/filepile>? > > On Mon, Dec 2, 2024 at 12:33 AM [email protected] <[email protected]> > wrote: > >> Hello, i cannot get it to work. It was working in my previous setup. But >> now I cannot find what is wrong with new install and RPi. >> I have value from PM sensor stored in .txt file, and I try to write it >> into databas field "pm10_0" >> >> - I added file pm10.py into /weewx/bin/user/pm10.py it contains >> following code: >> >> import syslog >> import weewx >> from weewx.wxengine import StdService >> class pmbservice(StdService): >> def __init__(self, engine, config_dict): >> super(pmbservice, self).__init__(engine, config_dict) >> d = config_dict.get('pmbservice', {}) >> self.filename = d.get('filename', '/usb/www/pm10.txt') >> syslog.syslog(syslog.LOG_INFO, "pmb: using %s" % self.filename) >> self.bind(weewx.NEW_ARCHIVE_RECORD, self.read_file) >> def read_file(self, event): >> try: >> with open(self.filename) as f: >> value = f.read() >> syslog.syslog(syslog.LOG_DEBUG, "pmb: found value of %s" % >> value) >> event.record['pm10_0'] = float(value) >> except Exception, e: >> syslog.syslog(syslog.LOG_ERR, "pmb: cannot read value: %s" % >> e) >> >> Then I added into weewx.conf the following line: >> >> [Engine] >> # This section specifies which services should be run and in what >> order. >> [[Services]] >> prep_services = weewx.engine.StdTimeSynch >> *data_services = user.pm10.pmbservice* >> process_services = weewx.engine.StdConvert, >> weewx.engine.StdCalibrate, weewx.engine.StdQC, weew> >> xtype_services = weewx.wxxtypes.StdWXXTypes, >> weewx.wxxtypes.StdPressureCooker, >> weewx.wxxtypes.S> >> archive_services = weewx.engine.StdArchive >> restful_services = weewx.restx.StdStationRegistry, >> weewx.restx.StdWunderground, weewx.restx.Std> >> report_services = weewx.engine.StdPrint, weewx.engine.StdReport >> >> And when i restart weewx i get the following error. >> >> 1 21:14:42 vremenska weewxd[449368]: INFO __main__: Initializing weewxd >> version 5.1.0 >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Command line: >> /usr/share/weewx/weewxd.py /etc/weewx/weewx.conf >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Using Python: >> 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0] >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Located at: >> /usr/bin/python3 >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Platform: >> Linux-6.6.51+rpt-rpi-2712-aarch64-with-glibc2.36 >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Locale: >> 'sl_SI.UTF-8' >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Entry path: >> /usr/share/weewx/weewxd.py >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: WEEWX_ROOT: >> /etc/weewx >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Config file: >> /etc/weewx/weewx.conf >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: User module: >> /etc/weewx/bin/user >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Debug: 0 >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: User: >> weewx >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Group: >> weewx >> dec 01 21:14:42 vremenska weewxd[449368]: INFO __main__: Groups: >> weewx >> dec 01 21:14:42 vremenska weewxd[449368]: INFO weewx.engine: Loading >> station type GW1000 (user.gw1000) >> dec 01 21:14:42 vremenska weewxd[449368]: INFO user.gw1000: >> GatewayDriver: version is 0.6.3 >> dec 01 21:14:42 vremenska weewxd[449368]: INFO user.gw1000: device >> address is 192.168.0.218:45000 >> dec 01 21:14:42 vremenska weewxd[449368]: INFO user.gw1000: poll >> interval is 20 seconds >> dec 01 21:14:43 vremenska weewxd[449368]: INFO user.gw1000: >> GatewayCollector thread has been terminated >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: Caught >> unrecoverable exception: >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> *multiple >> exception types must be parenthesized (pm10.py, line 20)* >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> Traceback (most recent call last): >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "/usr/share/weewx/weewxd.py", line 121, in main >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> engine = weewx.engine.StdEngine(config_dict) >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "/usr/share/weewx/weewx/engine.py", line 89, in __init__ >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> self.loadServices(config_dict) >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> obj = weeutil.weeutil.get_object(svc)(self, config_dict) >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> module = importlib.import_module(module_name) >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "/usr/lib/python3.11/importlib/__init__.py", line 126, in >> import_module >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> return _bootstrap._gcd_import(name[level:], package, level) >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap>", line 1206, in _gcd_import >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap>", line 690, in _load_unlocked >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap_external>", line 936, in exec_module >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap_external>", line 1074, in get_code >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap_external>", line 1004, in >> source_to_code >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> File "/etc/weewx/bin/user/pm10.py", line 20 >> dec 01 21:14:43 vremenska weewxd[449368]: Traceback (most recent call >> last): >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/usr/share/weewx/weewxd.py", line 226, in <module> >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> except Exception, e: >> dec 01 21:14:43 vremenska weewxd[449368]: main() >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/usr/share/weewx/weewxd.py", line 121, in main >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> ^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: engine = >> weewx.engine.StdEngine(config_dict) >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> SyntaxError: multiple exception types must be parenthesized >> dec 01 21:14:43 vremenska weewxd[449368]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/usr/share/weewx/weewx/engine.py", >> line 89, in __init__ >> dec 01 21:14:43 vremenska weewxd[449368]: CRITICAL __main__: **** >> Exiting. >> dec 01 21:14:43 vremenska weewxd[449368]: self.loadServices(config_ >> dict) >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/usr/share/weewx/weewx/engine.py", >> line 157, in loadServices >> dec 01 21:14:43 vremenska weewxd[449368]: obj = >> weeutil.weeutil.get_object(svc)(self, config_dict) >> dec 01 21:14:43 vremenska weewxd[449368]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object >> dec 01 21:14:43 vremenska weewxd[449368]: module = >> importlib.import_module(module_name) >> dec 01 21:14:43 vremenska weewxd[449368]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/usr/lib/python3.11/importlib/__init__.py", >> line 126, in import_module >> dec 01 21:14:43 vremenska weewxd[449368]: return >> _bootstrap._gcd_import(name[level:], package, level) >> dec 01 21:14:43 vremenska weewxd[449368]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap>", line 1206, in _gcd_import >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap>", line 1178, in _find_and_load >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap>", line 1149, in _find_and_load_unlocked >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap>", line 690, in _load_unlocked >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap_external>", line 936, in exec_module >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap_external>", line 1074, in get_code >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap_external>", line 1004, in source_to_code >> dec 01 21:14:43 vremenska weewxd[449368]: File "<frozen >> importlib._bootstrap>", line 241, in _call_with_frames_removed >> dec 01 21:14:43 vremenska weewxd[449368]: File >> "/etc/weewx/bin/user/pm10.py", line 20 >> dec 01 21:14:43 vremenska weewxd[449368]: except Exception, e: >> dec 01 21:14:43 vremenska weewxd[449368]: ^^^^^^^^^^^^ >> dec 01 21:14:43 vremenska weewxd[449368]: SyntaxError: multiple exception >> types must be parenthesized >> dec 01 21:14:43 vremenska systemd[1]: weewx.service: Main process exited, >> code=exited, status=1/FAILURE >> dec 01 21:14:43 vremenska systemd[1]: weewx.service: Failed with result >> 'exit-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 [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/weewx-user/b84ac209-29ac-499a-aae6-32d698b28d37n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/b84ac209-29ac-499a-aae6-32d698b28d37n%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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/weewx-user/724f5301-5eea-4986-9cd2-4cbd878cc9e0n%40googlegroups.com.
