Closed christian-ek closed 7 years ago
Try to update to the latest version and see if the error persists. The command is vsure email passwd overview
in the latest version.
I believe I have the latest version or am I doing something wrong? See below.
root@raspberrypi:/home/pi # pip install vsure
Requirement already satisfied: vsure in /usr/local/lib/python3.4/dist-packages
Requirement already satisfied: requests>=2.9.1 in /usr/local/lib/python3.4/dist-packages (from vsure)
root@raspberrypi:/home/pi # vsure MAIL PW overview
Traceback (most recent call last):
File "/usr/local/bin/vsure", line 11, in <module>
load_entry_point('vsure==1.0.0', 'console_scripts', 'vsure')()
File "/usr/local/lib/python3.4/dist-packages/verisure/__main__.py", line 198, in main
session.login()
File "/usr/local/lib/python3.4/dist-packages/verisure/session.py", line 102, in login
'Accept': 'application/json, text/javascript, */*; q=0.01',
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connection.py", line 311, in connect
cert_reqs=resolve_cert_reqs(self.cert_reqs),
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/util/ssl_.py", line 267, in create_urllib3_context
context.set_ciphers(ciphers or DEFAULT_CIPHERS)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 385, in set_ciphers
self._ctx.set_cipher_list(ciphers)
TypeError: must be str, not bytes
Ah, you are correct, the latest version is not released to pypi yet.
Try installing using pip install git+https://github.com/persandstrom/python-verisure.git
.
Hi, Sadly still not working for me.
root@raspberrypi:/home/pi # pip install git+https://github.com/persandstrom/python-verisure.git
Collecting git+https://github.com/persandstrom/python-verisure.git
Cloning https://github.com/persandstrom/python-verisure.git to /tmp/pip-zvkjc_nx-build
Requirement already satisfied (use --upgrade to upgrade): vsure==1.1.0 from git+https://github.com/persandstrom/python-verisure.git in /usr/local/lib/python3.4/dist-packages
Requirement already satisfied: requests>=2.9.1 in /usr/local/lib/python3.4/dist-packages (from vsure==1.1.0)
root@raspberrypi:/home/pi # vsure mail pass overview
Traceback (most recent call last):
File "/usr/local/bin/vsure", line 11, in <module>
load_entry_point('vsure==1.1.0', 'console_scripts', 'vsure')()
File "/usr/local/lib/python3.4/dist-packages/verisure/__main__.py", line 204, in main
session.login()
File "/usr/local/lib/python3.4/dist-packages/verisure/session.py", line 103, in login
'Accept': 'application/json, text/javascript, */*; q=0.01',
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connection.py", line 311, in connect
cert_reqs=resolve_cert_reqs(self.cert_reqs),
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/util/ssl_.py", line 267, in create_urllib3_context
context.set_ciphers(ciphers or DEFAULT_CIPHERS)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 385, in set_ciphers
self._ctx.set_cipher_list(ciphers)
TypeError: must be str, not bytes
Have you found any solution or cause? I have tried to recreate the error, but not succeeded.
No sadly i still get the same error
I get the same when trying module.
>>> import verisure
>>> session = verisure.Session('***@live.se', 'PW')
>>> session.login()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.4/dist-packages/verisure/session.py", line 103, in login
'Accept': 'application/json, text/javascript, */*; q=0.01',
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connection.py", line 311, in connect
cert_reqs=resolve_cert_reqs(self.cert_reqs),
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/util/ssl_.py", line 267, in create_urllib3_context
context.set_ciphers(ciphers or DEFAULT_CIPHERS)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 385, in set_ciphers
self._ctx.set_cipher_list(ciphers)
TypeError: must be str, not bytes
>>>
I'm also having these problems. I have made sure I have the latest update:
python3.5 -m pip install --upgrade git+https://github.com/persandstrom/python-verisure.git
Collecting git+https://github.com/persandstrom/python-verisure.git
Cloning https://github.com/persandstrom/python-verisure.git to /tmp/pip-5sf7aiqa-build
Requirement already up-to-date: requests>=2.9.1 in /usr/lib/python3.5/site-packages (from vsure==1.3.3)
Installing collected packages: vsure
Found existing installation: vsure 1.3.3
Uninstalling vsure-1.3.3:
Successfully uninstalled vsure-1.3.3
Running setup.py install for vsure ... done
Successfully installed vsure-1.3.3
and I get this error when I use python 3.5:
python3.5
Python 3.5.3 (default, Mar 21 2017, 17:21:33)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import verisure
>>> mypages = verisure.Session("e-mail", "pass")
>>> mypages.login()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/site-packages/verisure/session.py", line 84, in login
_validate_response(response)
File "/usr/lib/python3.5/site-packages/verisure/session.py", line 15, in _validate_response
raise ResponseError(response.status_code, response.text)
File "/usr/lib/python3.5/site-packages/verisure/session.py", line 42, in __init__
self.text = json.loads(text.encode('utf-8'))
File "/usr/lib64/python3.5/json/__init__.py", line 312, in loads
s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'
But when I use python 2.7 it works (same version of python-verisure as above):
python
Python 2.7.13 (default, Jan 12 2017, 17:59:37)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import verisure
>>> mypages = verisure.Session("e-mail", "pass")
>>> mypages.login()
>>> mypages.get_arm_state()
{u'name': u'Hem Automation', u'area': u'REMOTE', u'cid': u'01029078', u'changedVia': u'REMOTE_APP', u'date': u'2017-04-02T06:07:41.000Z', u'statusType': u'DISARMED'}
Could you try the branch issue52 and see if that works or act different in any way?
That works good for me :)
python3
Python 3.5.3 (default, Mar 21 2017, 17:21:33)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.insert(0,'/opt/python-verisure')
>>> import verisure
>>> mypages = verisure.Session("e-mail", "pass")
>>> mypages.login()
>>> mypages.get_arm_state()
{'changedVia': 'REMOTE_APP', 'date': '2017-04-02T06:07:41.000Z', 'area': 'REMOTE', 'cid': '01029078', 'name': 'Hem Automation', 'statusType': 'DISARMED'}
Great work!
@tomhur Nice!
I have released the fix in version 1.3.4
@christian-ek Could you verify and see if it works for you as well?
No, maybe I'm doing something wrong?
pi@raspberrypi:~ $ sudo pip install git+https://github.com/persandstrom/python-verisure.git
Collecting git+https://github.com/persandstrom/python-verisure.git
Cloning https://github.com/persandstrom/python-verisure.git to /tmp/pip-1nkbbdg_-build
Requirement already satisfied (use --upgrade to upgrade): vsure==1.3.4 from git+https://github.com/persandstrom/python-verisure.git in /usr/local/lib/python3.4/dist-packages
Requirement already satisfied: requests>=2.9.1 in /usr/local/lib/python3.4/dist-packages (from vsure==1.3.4)
pi@raspberrypi:~ $ python3
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.insert(0,'/opt/python-verisure')
>>> import verisure
>>> mypages = verisure.Session("email", "pw")
>>> mypages.login()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.4/dist-packages/verisure/session.py", line 81, in login
'Accept': 'application/json,'
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connection.py", line 311, in connect
cert_reqs=resolve_cert_reqs(self.cert_reqs),
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/util/ssl_.py", line 267, in create_urllib3_context
context.set_ciphers(ciphers or DEFAULT_CIPHERS)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 385, in set_ciphers
self._ctx.set_cipher_list(ciphers)
TypeError: must be str, not bytes
>>>
@christian-ek I have a theory. You have a non ascii character in your credentials, right? I have updated the issue52 branch. Please test when you have time.
Working now, thank you :-)
Hi, Tried to run vsure but got an error.
pi@raspberrypi:~ $ vsure e-mail password get all Traceback (most recent call last): File "/usr/local/bin/vsure", line 11, in
sys.exit(main())
File "/usr/local/lib/python3.4/dist-packages/verisure/main.py", line 174, in main
with MyPages(args.username, args.password) as verisure:
File "/usr/local/lib/python3.4/dist-packages/verisure/mypages.py", line 37, in enter
self.login()
File "/usr/local/lib/python3.4/dist-packages/verisure/mypages.py", line 50, in login
self._session.login()
File "/usr/local/lib/python3.4/dist-packages/verisure/session.py", line 97, in login
response = self._session.send(req, timeout=RESPONSE_TIMEOUT)
File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 423, in send
timeout=timeout
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connection.py", line 311, in connect
cert_reqs=resolve_cert_reqs(self.certreqs),
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/util/ssl.py", line 267, in create_urllib3_context
context.set_ciphers(ciphers or DEFAULT_CIPHERS)
File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 385, in set_ciphers
self._ctx.set_cipher_list(ciphers)
TypeError: must be str, not bytes