Hi All, I'm new to weewx and python in general so have been plugging away for a couple of weeks getting everything setup and working.
My hardware is an ecowitt WH9200 and I'm using weewx 4.2 on FreeBSD which I setup using the py-setup method. I am capturing the data using the weewx-interceptor in listen mode. This all seems to be flowing fine into the sqlite DB. I then have the weewx-influx extension sending data to an InfluxDB every minute. This will work fine for several hours; ~ 11 hours being the current record, but will crash with the following in the logs: My take on that is that for some reason a string is being sent to Influx rather than an integer or boolean, however I could be seeing the symptom rather than the cause. To investigate I checked the record in the sqlite DB immediately after the last one in the InfluxDB, ie the one that caused the crash, and could see nothing that looked different to all the previous one. IE, I couldn't see any strings in the record. Any help would be appreciated in tracking this down. I'm a bit perplexed as to why it runs happily for hours then has a coniption. Thanks, Tom Here's the relevent section of weewx.conf, nothing too interesting AFAIK. [[Influx]] database = weewx_hades_test host = 192.168.178.25 unit_system = METRICWX Logs: Jan 14 10:54:45 28spots kernel: Jan 14 10:54:45 28spots weewx[964] ERROR weewx.restx: Influx: Unexpected exception of type <class 'TypeError'> Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** Traceback (most recent call last): Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/weewx/restx.py", line 475, in post_with_retries Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** _response = self.post_request(request, data) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/user/influx.py", line 498, in post_request Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** return super(InfluxThread, self).post_request(request, payload) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/weewx/restx.py", line 537, in post_request Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** _response = urllib.request.urlopen(request, data=data_bytes, timeout=self.timeout) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/local/lib/python3.7/urllib/request.py", line 222, in urlopen Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** return opener.open(url, data, timeout) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/local/lib/python3.7/urllib/request.py", line 531, in open Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** response = meth(req, response) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/local/lib/python3.7/urllib/request.py", line 641, in http_response Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** 'http', request, response, code, msg, hdrs) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/local/lib/python3.7/urllib/request.py", line 569, in error Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** return self._call_chain(*args) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/local/lib/python3.7/urllib/request.py", line 503, in _call_chain Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** result = func(*args) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/local/lib/python3.7/urllib/request.py", line 649, in http_error_default Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** raise HTTPError(req.full_url, code, msg, hdrs, fp) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** urllib.error.HTTPError: HTTP Error 500: Internal Server Error Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** During handling of the above exception, another exception occurred: Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** Traceback (most recent call last): Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/weewx/restx.py", line 381, in run_loop Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** self.process_record(_record, dbmanager) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/weewx/restx.py", line 446, in process_record Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** self.post_with_retries(_request, data) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/weewx/restx.py", line 496, in post_with_retries Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** self.handle_exception(e, _count + 1) Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** File "/usr/home/weewx/bin/user/influx.py", line 486, in handle_exception Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** if payload and payload.find("error") >=0: Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] ERROR weewx.restx: *** TypeError: argument should be integer or bytes-like object, not 'str' Jan 14 10:54:47 28spots kernel: Jan 14 10:54:47 28spots weewx[964] CRITICAL weewx.restx: Influx: Thread terminating. Reason: argument should be integer or bytes-like object, not 'str' -- 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 on the web visit https://groups.google.com/d/msgid/weewx-user/d556f993-de2b-4016-b7f8-b396ab32b327n%40googlegroups.com.