The double float conversion looks wonky but wouldn't be the cause. You
shouldn't need to do

degf2 = float(float(f.read()))

You should be able to do degf2 = float(f.read())

The error message in your email says what the problem is - you're getting
94.8\x00 as the string and it's failing to convert it to a float. Not sure
why your try catch doesn't work. I'd like to see what Gary's asking for -
put the try/catch in let's see the output.

On Tue, Apr 15, 2025 at 11:48 PM Messy Potamia <messypota...@gmail.com>
wrote:

> The error occurred before I added any try/except/finally. The error has to
> do with it trying to read something that has extraneous characters in it,
> and exiting because of it. So I wanted to add the error catching
> block...but when I do weewx refuses to run, and exits without any comment,
> even when weewx.conf has "debug = 2". As I wrote, the error happens about a
> couple time a month. I want to trap it so weewx will continue.
>
> On Wed, Apr 16, 2025 at 1:42 AM gjr80 <gjroder...@gmail.com> wrote:
>
>> Sorry, but I can't tell what code you are running other than to take at
>> face value what you post. There is nothing wrong with the
>> try..except..finally code as you posted it except for the comments.
>> Comments aside, the code you posted cannot have caused the error trace you
>> posted as the error trace shows the offending line as line 98 but the code
>> you posted has the offending code at line 100. Can you post the exact error
>> trace and the exact code that caused that error trace.
>>
>> Gary
>> On Wednesday, 16 April 2025 at 16:28:18 UTC+10 messyp...@gmail.com wrote:
>>
>>> Of course they're commented out, when I uncomment [any] of them it exits
>>> / crashes. I need it to run until I can have someone tell me what's wrong /
>>> why the module crashes weewx. Duh.
>>>
>>>
>>> On Wed, Apr 16, 2025 at 12:13 AM gjr80 <gjrod...@gmail.com> wrote:
>>>
>>>> In the extension.py you posted the try..except..finally is not
>>>> executed as each of the try..except..finally lines is commented out.
>>>>
>>>> Gary
>>>>
>>>> On Wednesday, 16 April 2025 at 14:31:01 UTC+10 messyp...@gmail.com
>>>> wrote:
>>>>
>>>>> I read several add'l values in from static files. Every once in a
>>>>> great while, one of the files has extraneous character in it and it can't
>>>>> be read as a float() and extensions.py crashes weewx. So after reading
>>>>> about try/except/finally from several sources, I wanted to put the section
>>>>> where it reads the float in a try statement, and if it fails, the 
>>>>> exception
>>>>> action is to assign a nominal float value for that weewx cycle, and write
>>>>> it to the database. However when I put in the try: it immediately causes
>>>>> weewx to exit, at all debug levels.
>>>>> If you are more knowledgeable on Python 3 than I am, please look at my
>>>>> extensions.py attachment and tell me how I need to restructure that code
>>>>> block so it will work. Note, I have tried a couple different positions for
>>>>> the initial try: block, no success.
>>>>> Further note please, that this only applies to the lines where I
>>>>> open '/home/pi/cputemp-opi5p.dat' and read the value into degf2 for it to
>>>>> store it in 'extraTemp7'. Note further that this code is working for all
>>>>> seven parameters being read and placed into the data, however, 
>>>>> occasionally
>>>>> (about once a week), somehow the system reads in erroneous data (such
>>>>> as '94.8\x00' instead of '94.8')  and causes the python to exit.
>>>>> I have looked at places where this data is created and cannot find any
>>>>> evidence of that invalid value.
>>>>>
>>>>> Here is the pertinent part of the log at failure time:
>>>>> pi@PI4B1:~ $ systemctl status weewx
>>>>> ● weewx.service - WeeWX weather system
>>>>>      Loaded: loaded (/etc/systemd/system/weewx.service; enabled;
>>>>> vendor preset: enabled)
>>>>>      Active: failed (Result: exit-code) since Tue 2025-04-15 16:00:16
>>>>> CDT; 4h 18min ago
>>>>>        Docs: https://weewx.com/docs
>>>>>     Process: 268425 ExecStart=/home/weewx/bin/weewxd
>>>>> /home/weewx/weewx.conf (code=exited, status=1/FAILURE)
>>>>>    Main PID: 268425 (code=exited, status=1/FAILURE)
>>>>>         CPU: 4h 37min 25.648s
>>>>>
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****
>>>>>  self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****    File "/home/weewx/bin/weewx/engine.py", line 245, in
>>>>> dispatchEvent
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****      callback(event)
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****    File "/home/weewx/bin/user/extensions.py", line 98, in
>>>>> new_archive_packet
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****      degf2 = float(float(f.read()))                #this is OPI5P
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****  ValueError: could not convert string to float: '94.8\x00'
>>>>> Apr 15 16:00:16 PI4B1 weewxd[268425]: weewx[268425] CRITICAL __main__:
>>>>>     ****  Exiting.
>>>>> Apr 15 16:00:16 PI4B1 systemd[1]: weewx.service: Main process exited,
>>>>> code=exited, status=1/FAILURE
>>>>> Apr 15 16:00:16 PI4B1 systemd[1]: weewx.service: Failed with result
>>>>> 'exit-code'.
>>>>> Apr 15 16:00:16 PI4B1 systemd[1]: weewx.service: Consumed 4h 37min
>>>>> 25.648s CPU time.
>>>>>
>>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "weewx-user" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/weewx-user/cM4T6W4XjdA/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> weewx-user+...@googlegroups.com.
>>>> To view this discussion visit
>>>> https://groups.google.com/d/msgid/weewx-user/62c17a5a-d508-4322-8458-c20941a0f45en%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/weewx-user/62c17a5a-d508-4322-8458-c20941a0f45en%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "weewx-user" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/weewx-user/cM4T6W4XjdA/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> weewx-user+unsubscr...@googlegroups.com.
>> To view this discussion visit
>> https://groups.google.com/d/msgid/weewx-user/d9a3336a-129e-40df-b302-bff44a9eafdan%40googlegroups.com
>> <https://groups.google.com/d/msgid/weewx-user/d9a3336a-129e-40df-b302-bff44a9eafdan%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/CAB7-S776S8ECPE_2wE%3D46%3DUpVR2-rfrkWqooL_pzhJjcnFEF7Q%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-user/CAB7-S776S8ECPE_2wE%3D46%3DUpVR2-rfrkWqooL_pzhJjcnFEF7Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Peter Quinn
(415)794-2264

-- 
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/CAA1SM209mvVXh5zcz8g%3D99CC8OvycW72cjWPQ0AsQNndk9W1pA%40mail.gmail.com.

Reply via email to