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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/d556f993-de2b-4016-b7f8-b396ab32b327n%40googlegroups.com.