It looks like it does. But, why not use the original code? There have been
several modifications since the david-lutz fork.



On Thu, Dec 30, 2021 at 6:40 AM JJ <[email protected]> wrote:

> I have been getting a similar error with my attempted weewx influx
> connection never working with a Raspberry Pi. I get a syslog error message
> about thread terminating because "POST data should be bytes, an iterable of
> bytes, or a file object. It cannot be of type str". I am using the
> Simulator with weewx and I am currently trying the influxdb 2.0 forked
> code: https://github.com/david-lutz/weewx-influx2
>
> Is it possible that the influx2 code does not have this update that was
> made to the influx1 code?
>
> On Monday, January 25, 2021 at 7:11:47 AM UTC-5 [email protected] wrote:
>
>> Already done!
>>
>> https://github.com/matthewwall/weewx-influx/pull/27
>>
>> Thanks for testing it.
>>
>>
>> On Sun, Jan 24, 2021 at 8:20 PM Tom Corbett <[email protected]> wrote:
>>
>>> This seems to have fixed my issues. Has been diligently putting data in
>>> every minute for over a week now. What's the protocol for adding a pull
>>> request to Matthew's github so that other Python 3 users don't have this
>>> issue? It was your change, but happy to do the pull request if it helps
>>> others.
>>>
>>> Tom
>>>
>>> On Thursday, January 14, 2021 at 4:17:34 PM UTC+11 Tom Corbett wrote:
>>>
>>>> Thanks very much. I have replaced the existing influx.py with your
>>>> version and restarted weewx. It is putting data into the InfluxDb, so
>>>> fingers crossed it keeps doing so.
>>>>
>>>> Cheers,
>>>>
>>>> Tom
>>>>
>>>> On Thursday, January 14, 2021 at 2:20:46 PM UTC+11 [email protected]
>>>> wrote:
>>>>
>>>>> Normally, I don't deal with the influx driver, but Matthew is swamped
>>>>> so I took a look.
>>>>>
>>>>> I believe the problem is that the driver was not completely ported to
>>>>> Python 3. The HTTP response needs to be converted from a byte array to a
>>>>> string before performing the find() operation.
>>>>>
>>>>> Try this version of influx.py
>>>>> <https://raw.githubusercontent.com/tkeffer/weewx-influx/master/bin/user/influx.py>
>>>>> .
>>>>>
>>>>> -tk
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jan 13, 2021 at 5:52 PM Tom Corbett <[email protected]>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> 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
>>>>>> <https://groups.google.com/d/msgid/weewx-user/d556f993-de2b-4016-b7f8-b396ab32b327n%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 on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/0a55d6f7-e173-4538-910a-338bc08caeaan%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/0a55d6f7-e173-4538-910a-338bc08caeaan%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 on the web visit
> https://groups.google.com/d/msgid/weewx-user/79a5c5a2-352f-4778-b5b6-4741f9404ad5n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/79a5c5a2-352f-4778-b5b6-4741f9404ad5n%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 on the web visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zECApPypsZxugvJPQL_H%2Bhb90C6o8cA%2BnvZSPBO7-JH%2BeQ%40mail.gmail.com.

Reply via email to