# OpenWebNet parser for Python
This is a Python library to connect and parse OpenWebNet messages from Bticino/Legrand gateways.
Currently, it is a WIP, but it is already able to connect to the gateway and manages lighting or automation devices.
## What is OpenWebNet?
OpenWebNet is a home automation protocol developed by Bticino (now part of Legrand) to control domotic devices like
lights, shutters, heating, etc.
It was developed around 2000, and it's still used today in many installations.
It does not implement any encryption, so it is not secure to use it over the internet.
Also, many devices implement only the old password algorithm, which is easily bruteforceable.
So, when using OpenWebNet, be sure to use it only in a trusted network and taking security measures, like vlan
separation.
## Project structure
- [pyown](pyown) contains the library code
- [examples](examples) contains some examples on how to use the library
- [tests](tests) contains the tests for the library
### Library structure
- [items](pyown/items) contains the code for the various types of devices that can be controlled
- [client](pyown/client) used to connect to the gateway, manages the various types of sessions
- [auth](pyown/auth) implementation of the authentication algorithms
- [protocol](pyown/protocol) manages the sending and receive of the messages and the initial parsing
- [messages](pyown/messages) defines the various types of messages allowed by the protocol
- [tags](pyown/tags) defines the tags that compose a message
## License
This project is licensed under the GNU GPL v3 license—see the [LICENSE](LICENSE) file for details.
## Acknowledgments
* [old openwebnet documentation](https://web.archive.org/web/20090311005636/http://www.myopen-bticino.it/openwebnet/openwebnet.php)
* [openwebnet documentation](https://developer.legrand.com/Documentation/)
* [another openwebnet documentation page](https://developer.legrand.com/local-interoperability/#PDF%20documentation)
* [old password algorithm](https://rosettacode.org/wiki/OpenWebNet_password#Python)
* [java implementation](https://github.com/mvalla/openwebnet4j/) used in OpenHab developed
by [mvalla](https://github.com/mvalla)
* [another python implementation](https://github.com/karel1980/ReOpenWebNet) developed
by [karel1980](https://github.com/karel1980)
## Disclaimer
- This library is not associated by any means with BTicino or Legrand companies
- The Open Web Net protocol is maintained and Copyright by BTicino/Legrand. The documentation of the protocol if freely
accessible for developers on the Legrand developer website
- "Open Web Net", "SCS", "MyHOME_Up", "MyHOME", "MyHOME_Play" and "Living Now" are registered trademarks by
BTicino/Legrand
Raw data
{
"_id": null,
"home_page": "https://github.com/jotonedev/pyown",
"name": "pyown",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "openwebnet, myhome, bticino, legrand",
"author": "John Toniutti",
"author_email": "john.toniutti@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f1/e2/cb89417306157195c143583cee828752cec810e0ac6e2a22724dedbe8133/pyown-0.3.0.tar.gz",
"platform": null,
"description": "# OpenWebNet parser for Python\n\nThis is a Python library to connect and parse OpenWebNet messages from Bticino/Legrand gateways.\n\nCurrently, it is a WIP, but it is already able to connect to the gateway and manages lighting or automation devices.\n\n## What is OpenWebNet?\n\nOpenWebNet is a home automation protocol developed by Bticino (now part of Legrand) to control domotic devices like\nlights, shutters, heating, etc.\nIt was developed around 2000, and it's still used today in many installations.\nIt does not implement any encryption, so it is not secure to use it over the internet.\nAlso, many devices implement only the old password algorithm, which is easily bruteforceable.\nSo, when using OpenWebNet, be sure to use it only in a trusted network and taking security measures, like vlan\nseparation.\n\n## Project structure\n\n- [pyown](pyown) contains the library code\n- [examples](examples) contains some examples on how to use the library\n- [tests](tests) contains the tests for the library\n\n### Library structure\n\n- [items](pyown/items) contains the code for the various types of devices that can be controlled\n- [client](pyown/client) used to connect to the gateway, manages the various types of sessions\n- [auth](pyown/auth) implementation of the authentication algorithms\n- [protocol](pyown/protocol) manages the sending and receive of the messages and the initial parsing\n- [messages](pyown/messages) defines the various types of messages allowed by the protocol\n- [tags](pyown/tags) defines the tags that compose a message\n\n## License\n\nThis project is licensed under the GNU GPL v3 license\u2014see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n* [old openwebnet documentation](https://web.archive.org/web/20090311005636/http://www.myopen-bticino.it/openwebnet/openwebnet.php)\n* [openwebnet documentation](https://developer.legrand.com/Documentation/)\n* [another openwebnet documentation page](https://developer.legrand.com/local-interoperability/#PDF%20documentation)\n* [old password algorithm](https://rosettacode.org/wiki/OpenWebNet_password#Python)\n* [java implementation](https://github.com/mvalla/openwebnet4j/) used in OpenHab developed\n by [mvalla](https://github.com/mvalla)\n* [another python implementation](https://github.com/karel1980/ReOpenWebNet) developed\n by [karel1980](https://github.com/karel1980)\n\n## Disclaimer\n\n- This library is not associated by any means with BTicino or Legrand companies\n- The Open Web Net protocol is maintained and Copyright by BTicino/Legrand. The documentation of the protocol if freely\n accessible for developers on the Legrand developer website\n- \"Open Web Net\", \"SCS\", \"MyHOME_Up\", \"MyHOME\", \"MyHOME_Play\" and \"Living Now\" are registered trademarks by\n BTicino/Legrand\n\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "Python wrapper for OpenWebNet protocol",
"version": "0.3.0",
"project_urls": {
"Documentation": "https://jotonedev.github.io/pyown/",
"Homepage": "https://github.com/jotonedev/pyown",
"Repository": "https://github.com/jotonedev/pyown"
},
"split_keywords": [
"openwebnet",
" myhome",
" bticino",
" legrand"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "83e52c492ae421c7508a48c96b83d1f79b0719e371c50ec2e39ae1e12930c941",
"md5": "c272b9ce588d1aff6b1aa36ba5b236bf",
"sha256": "4401bcda4d7f70213c34bf275d9c072e62870da87c50bb900dd4278221f632a8"
},
"downloads": -1,
"filename": "pyown-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c272b9ce588d1aff6b1aa36ba5b236bf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 58579,
"upload_time": "2024-11-11T21:31:46",
"upload_time_iso_8601": "2024-11-11T21:31:46.349875Z",
"url": "https://files.pythonhosted.org/packages/83/e5/2c492ae421c7508a48c96b83d1f79b0719e371c50ec2e39ae1e12930c941/pyown-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f1e2cb89417306157195c143583cee828752cec810e0ac6e2a22724dedbe8133",
"md5": "512e8c71df0dabdbf1c1fb75babdf0d8",
"sha256": "7c2542cc9c124089c77d12604dd4581d0c956b26e5b1e058d16d733624a6903d"
},
"downloads": -1,
"filename": "pyown-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "512e8c71df0dabdbf1c1fb75babdf0d8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 45115,
"upload_time": "2024-11-11T21:31:47",
"upload_time_iso_8601": "2024-11-11T21:31:47.662083Z",
"url": "https://files.pythonhosted.org/packages/f1/e2/cb89417306157195c143583cee828752cec810e0ac6e2a22724dedbe8133/pyown-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-11 21:31:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jotonedev",
"github_project": "pyown",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyown"
}