Everything ran fine all night. My guess is that this was a timing issue, 
where I started the sensor at the same time my python subscription program 
was running and somehow managed to write an incomplete file for filepile. I 
overwrite the file each time so I can't go back and see what actually 
happened. 

In other news, WeeWx 4.0.0b6 appears to be very stable. I have the mem skin 
working and it is drawing nice flat lines. With the 3.? version and 'old' 
Ultimeter driver I was seeing a slow but steady increase in memory use 
until it would crash. I was also using cmom on the 3.? version, so that may 
have been a factor in the memory problem.

I have a station running in my basement lab in Seattle that I plan on 
converting to the mqtt service instead of my standalone python subscription 
program and filepile.   

Thanks.

On Wednesday, January 8, 2020 at 4:49:15 AM UTC-8, Tom Keffer wrote:
>
> One of the strings in the file that filepile is reading cannot be 
> converted to a number. It probably looks something like
>
> outTemp =
>
> or possibly
>
> outTemp = ""
>
> This is probably a bug in filepile. It should accept either of these, 
> returning None for the value. Fixed in commit 3863f21 
> <https://github.com/tkeffer/filepile/commit/3863f2141e3b2f9d239d5f459a634d2bd12adf7b>
> .
>
> Thanks for your detailed report!
>
> -tk
>
>
> On Tue, Jan 7, 2020 at 9:15 PM Ralph Underwood <[email protected] 
> <javascript:>> wrote:
>
>> My system crashed this afternoon.  This is the log starting with the last 
>> successful Ftp.  I had been working on my MQTT sensor code, adding some 
>> delay to cut down on the file writes to the SD card. 
>>
>> My setup is an RPi 4 with an Ultimeter Station and an additional BME280 
>> sensor connected to a Huzzah ESP8266 that publishes an MQTT payload. I have 
>> a little Python3 program that subscribes to the MQTT and writes a file for 
>> the file pile service. This basic set up has been working for several days, 
>> until I restarted the MQTT based sensor, the MQTT messages are being 
>> published OK and all looked good. I thought I heard rain and looked to my 
>> web site and the time was 15:45 on the site, real time was about 19:00.
>>
>> So my question is - did I uncover a bug or did I screw something up.  
>>
>> Jan  7 15:45:26 JV-Wx weewx[24318] INFO weewx.reportengine: ftpgenerator: 
>> Ftp'd 24 files in 9.25 seconds
>> Jan  7 15:45:26 JV-Wx weewx[24318] DEBUG weewx.reportengine: 
>> reportengine: Report 'RSYNC' not enabled. Skipping.
>> Jan  7 15:50:15 JV-Wx weewx[24318] INFO weewx.engine: Main loop exiting. 
>> Shutting engine down.
>> Jan  7 15:50:15 JV-Wx weewx[24318] INFO weewx.engine: Shutting down 
>> StdReport thread
>> Jan  7 15:50:15 JV-Wx weewx[24318] DEBUG weewx.engine: StdReport thread 
>> has been terminated
>> Jan  7 15:50:15 JV-Wx weewx[24318] DEBUG weewx.drivers.ultimeter: Close 
>> serial port /dev/ttyUSB0
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine: Caught 
>> unrecoverable exception:
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****  could 
>> not convert string to float: 
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  Traceback (most recent call last):
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 201, in run
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 230, in dispatchEvent
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  callback(event)
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 582, in check_loop
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  raise BreakLoop
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  weewx.engine.BreakLoop
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****  
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  During handling of the above exception, another exception occurred:
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****  
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  Traceback (most recent call last):
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 598, in post_loop
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  self._catchup(self.engine.console.genArchiveRecords)
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 639, in _catchup
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  for record in generator(lastgood_ts):
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/drivers/__init__.py", line 30, in 
>> genArchiveRecords
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  raise NotImplementedError("Method 'genArchiveRecords' not implemented")
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  NotImplementedError: Method 'genArchiveRecords' not implemented
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****  
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  During handling of the above exception, another exception occurred:
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****  
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  Traceback (most recent call last):
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 903, in main
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  engine.run()
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 208, in run
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  self.dispatchEvent(weewx.Event(weewx.POST_LOOP))
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 230, in dispatchEvent
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  callback(event)
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 600, in post_loop
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  self._software_catchup()
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 657, in _software_catchup
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD, 
>> record=record, origin='software'))
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weewx/engine.py", line 230, in dispatchEvent
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  callback(event)
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/user/filepile.py", line 91, in new_archive_record
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  new_record_data[self.label_map.get(name, name)] = to_float(value)
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****   
>>  File "/home/weewx/bin/weeutil/weeutil.py", line 1250, in to_float
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     ****     
>>  return float(x) if x is not None else None
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  ValueError: could not convert string to float: 
>> Jan  7 15:50:16 JV-Wx weewx[24318] CRITICAL weewx.engine:     **** 
>>  Exiting.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "weewx-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/weewx-development/e50d8309-bb61-420a-be75-939cece176f8%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-development/e50d8309-bb61-420a-be75-939cece176f8%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/416181da-0a1e-4c8c-a8ca-f96b7db8d46d%40googlegroups.com.

Reply via email to