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 tadej.j...@gmail.com <
tadej.javor...@gmail.com> 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 weewx-user+unsubscr...@googlegroups.com.
> 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 weewx-user+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zEAZOU1JXt9RqT7n4OaRto6X%2Bnp-958U8gVHM0xT5TtBJg%40mail.gmail.com.

Reply via email to