Python interface for waterfurnace geothermal systems
Project description
============
waterfurnace
============
.. image:: https://img.shields.io/pypi/v/waterfurnace.svg
:target: https://pypi-hypernode.com/pypi/waterfurnace
.. image:: https://img.shields.io/travis/sdague/waterfurnace.svg
:target: https://travis-ci.org/sdague/waterfurnace
.. image:: https://readthedocs.org/projects/waterfurnace/badge/?version=latest
:target: https://waterfurnace.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/sdague/waterfurnace/shield.svg
:target: https://pyup.io/repos/github/sdague/waterfurnace/
:alt: Updates
Python interface for waterfurnace geothermal systems.
This provides basic sensor readings for waterfurnace geothermal systems by
using the websocket interface that exists for the symphony website. This is not
a documented or stable interface, so don't use this for critical
systems. However, it is useful to record historical usage of your waterfurnace
system.
Usage
=====
.. code-block:: python
from waterfurnace.waterfurnace import WaterFurnace
wf = WaterFurnace(user, pass)
wf.login()
data = wf.read()
The waterfurnace symphony service websocket monitors it's usage, so you need to
do a data reading at least every 30 seconds otherwise the websocket is closed
on the server side for resource constraints. The symphony website does a poll
on the websocket every 5 seconds.
Known Issues / limitations
==========================
* The python websocket code goes into a blocked state after long periods of
usage (always takes days to get to this state). I've yet to discover
why. Help welcome.
* If you have multiple waterfurnace units on one account, this will only use
the first.
License
=======
* Free software: Apache Software License 2.0
.. * Documentation: https://waterfurnace.readthedocs.io.
Credits
=======
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
History
=======
1.1.0 (2019-01-07)
------------------
* Fix retry logic
1.0.0 (2018-12-05)
------------------
* Detect unit automatically
* Add series 7 sensors
0.7.0 (2018-07-13)
------------------
* Add workaround timer to handle socket failures
0.6.0 (2018-02-21)
------------------
* Add timeout on socket
0.5.0 (2018-02-16)
------------------
* Update exception handling to be more Home Assistant friendly
0.4.0 (2018-02-05)
------------------
* More exceptions to distinguish errors we are expecting
0.3.0 (2018-01-23)
------------------
* Handle tid rollover
0.2.0 (2018-01-19)
------------------
* Library specific exceptions for login failures.
0.1.0 (2018-01-17)
------------------
* First release on PyPI.
waterfurnace
============
.. image:: https://img.shields.io/pypi/v/waterfurnace.svg
:target: https://pypi-hypernode.com/pypi/waterfurnace
.. image:: https://img.shields.io/travis/sdague/waterfurnace.svg
:target: https://travis-ci.org/sdague/waterfurnace
.. image:: https://readthedocs.org/projects/waterfurnace/badge/?version=latest
:target: https://waterfurnace.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/sdague/waterfurnace/shield.svg
:target: https://pyup.io/repos/github/sdague/waterfurnace/
:alt: Updates
Python interface for waterfurnace geothermal systems.
This provides basic sensor readings for waterfurnace geothermal systems by
using the websocket interface that exists for the symphony website. This is not
a documented or stable interface, so don't use this for critical
systems. However, it is useful to record historical usage of your waterfurnace
system.
Usage
=====
.. code-block:: python
from waterfurnace.waterfurnace import WaterFurnace
wf = WaterFurnace(user, pass)
wf.login()
data = wf.read()
The waterfurnace symphony service websocket monitors it's usage, so you need to
do a data reading at least every 30 seconds otherwise the websocket is closed
on the server side for resource constraints. The symphony website does a poll
on the websocket every 5 seconds.
Known Issues / limitations
==========================
* The python websocket code goes into a blocked state after long periods of
usage (always takes days to get to this state). I've yet to discover
why. Help welcome.
* If you have multiple waterfurnace units on one account, this will only use
the first.
License
=======
* Free software: Apache Software License 2.0
.. * Documentation: https://waterfurnace.readthedocs.io.
Credits
=======
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
History
=======
1.1.0 (2019-01-07)
------------------
* Fix retry logic
1.0.0 (2018-12-05)
------------------
* Detect unit automatically
* Add series 7 sensors
0.7.0 (2018-07-13)
------------------
* Add workaround timer to handle socket failures
0.6.0 (2018-02-21)
------------------
* Add timeout on socket
0.5.0 (2018-02-16)
------------------
* Update exception handling to be more Home Assistant friendly
0.4.0 (2018-02-05)
------------------
* More exceptions to distinguish errors we are expecting
0.3.0 (2018-01-23)
------------------
* Handle tid rollover
0.2.0 (2018-01-19)
------------------
* Library specific exceptions for login failures.
0.1.0 (2018-01-17)
------------------
* First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
waterfurnace-1.1.0.tar.gz
(17.9 kB
view details)
Built Distribution
File details
Details for the file waterfurnace-1.1.0.tar.gz
.
File metadata
- Download URL: waterfurnace-1.1.0.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5307b58b5a240c9201bc1facd3708e726e6dabe2b2a2beb32aaa93f8e523518 |
|
MD5 | 19cc71b9e35fd1f65103fd87aada0633 |
|
BLAKE2b-256 | c24c2e6e4c964140a26fa48c9c8b20b6570c40b02df142f2e7ba3cd92236cbeb |
File details
Details for the file waterfurnace-1.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: waterfurnace-1.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c7104f54b956f4fe1f061e4ec7d8908c73be4bc7b2dc7447be798aae053512d |
|
MD5 | 233c6c837c464f96323b0ce2cea54180 |
|
BLAKE2b-256 | cbac1dde0354b16475ef2e159bd4be8d57b2d115ebf0556238a2e0a335f60d0a |