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.

Reply via email to