eo-man


Nameeo-man JSON
Version 0.1.33 PyPI version JSON
download
home_pagehttps://github.com/grimmpp/enocean-device-manager
SummaryTool to managed EnOcean Devices and to generate Home Assistant Configuration.
upload_time2024-08-15 20:54:48
maintainerNone
docs_urlNone
authorPhilipp Grimm
requires_python>=3.7
licenseMIT License Copyright (c) 2024 Philipp Grimm Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Generic badge](https://img.shields.io/github/commit-activity/y/grimmpp/home-assistant-eltako.svg?style=flat&color=3498db)](https://github.com/grimmpp/home-assistant-eltako/commits/main)
[![Generic badge](https://img.shields.io/badge/Community-Forum-3498db.svg)](https://community.home-assistant.io/)
[![Generic badge](https://img.shields.io/badge/Community_Forum-Eltako_Integration_Debugging-3498db.svg)](https://community.home-assistant.io/t/eltako-baureihe-14-rs485-enocean-debugging/49712)
[![Generic badge](https://img.shields.io/badge/License-MIT-3498db.svg)](/LICENSE)
[![Generic badge](https://img.shields.io/badge/SUPPORT_THIS_PROJECT-PayPal.me-27ae60.svg)](https://paypal.me/grimmpp)

# Enocean Device Manager and Home Assistant Configuration Exporter

# WORK IN PROGRESS BUT ALREAD USABLE!!!

This client application allows you to **inventory all EnOcean devices**. It can **automatically read and detect devices** from the RS485 bus or from wireless network. After the devices are listed in the EnOcean Device Manager **you can enricht device information** like changing the name, comment or adapt parameters like timeframes, thresholds, units, ... .
Furthermore, it automatically can detect default settings for Home Assistant configuration which can be adjust as well and it allows you to **generate and export the configuration for Home Assistant**. 
(The exported Home Assistant configuration is intended for the [Eltako Home Assistant Integration](https://github.com/grimmpp/home-assistant-eltako/))

## Preview
<img src="https://github.com/grimmpp/enocean-device-manager/blob/main/screenshot2.png" /> 
What you can see here can automatically detected by reading the memory of the bus devices via FAM14. Telegrams of sensors and decentralized devices will be received and additionally added. 
Additional info for Home Assistant is automatically added. The configuration for Home Assistant can be generated by the detected information.
For further steps it is planned to extend the support for changing the data which was collected so that a proper management of the devices can be supported.

## System Requirements / Where to install and how to use it?
This tool is a desktop application (not browser based) and it runs independent of Home Assistant. Install it directly on a Windows, Linux or Max. (So far only Windows has been tested but all three operating systems should be supported.) Your PC requires Python pre-installed and you should be able to connect it to your EnOcean devices, either via USB cable (Eltako FAM14, FGW14-USB, ...) or wireless transceiver (Eltako FAM-USB). Support for the wireless transceiver 'EnOcean USB300' is planned for future releases.

For the moment I recommend a laptop with Windows and Python installed. You should be able bring close to FAM14 in order to connect it. (Connection to FAM14 is only required for a short moment during the device scan process.)

## Install python package in virtual environment (Recommended)
1. Create virtual python environment: `python.exe -m venv .\.venv`
2. Install application: `.\.venv\Scripts\pip.exe install eo_man  --force-reinstall` (Package available under pypi: [eo_man](https://pypi.org/project/eo-man/))
3. Run application: `.\.venv\Scripts\python.exe -m eo_man`

## Install python package in gloabl environment
1. Install application: `pip.exe install eo_man` (Package available under pypi: [eo_man](https://pypi.org/project/eo-man/))
2. Run application: `python.exe -m eo_man`

## Install source code from this repository and run the App (alternative)
1. Clone/Download the repo.
2. Change into the repo directory.
3. Create virtual environment for python: `python.exe -m venv .venv`
4. Install dependencies: `.\.venv\Scripts\python.exe setup.py install`
5. Start the app: `.\.venv\Scripts\python.exe -m eo_man` or `.\.venv\Scripts\python.exe -m eo_man demo.eodm` (Directly loads demo data)

For update you can execute:
1. `git pull` (Gets newest state of the code)
2. Optionally change branch: `git checkout BRANCH_NAME`
3. Reinstall`.\.venv\Scripts\python.exe setup.py install --force`
4. Run app: `.\.venv\Scripts\python.exe -m eo_man`

## Bugs and Features 
Please open [issues](/issues) if you encounter bugs or if you have ideas for new features. Also quite a lot of devices are not yet supported.

## Run unittests
`pytest tests`

## Install pre-commit hook to ensure unittests are executed before each commit
1. Install package `pip install pre-commit`
2. Config git: `pre-commit install`

## Build wheel package
`python setup.py bdist_wheel`

## Install built wheel pacage
`pip install dist/eo_man-VERSION-py3-none-any.whl` use `--force-reinstall` if you want to overwrite an existing version.

# Use Command Line
You can use command line only to generate Home Assistant Configuration based on an existing application configuration. <br />
Check out: `python -m eo_man -h`

# [Chanagelog](https://github.com/grimmpp/enocean-device-manager/blob/main/changes.md)

# Contribution and Support to this Project
I'm really happy to provide a more and more growing Home Assistant Eltako Integration and tools like this which extend this automation corner even more. The size of this integration is getting much bigger than the use cases I've realized at home, the variety of supported devices is increasing and the stability of the integraiton is getting to a professional level. On the other side it is getting hard to keep this level of development speed and operational quality. I'm about to build up a professional development and testing environment so that the quality can even improved and futher features can still be delivered in a short time frame. You can support this activity in sending devices and/or money.

In general, you can contribute to this project by:
* Support users in the Home Assistant Community ([Eltako “Baureihe 14 – RS485” (Enocean) Debugging](https://community.home-assistant.io/t/eltako-baureihe-14-rs485-enocean-debugging))
* Reporting [Issues]([/issue](https://github.com/grimmpp/home-assistant-eltako/issues))
* Creating [Pull Requests](https://github.com/grimmpp/home-assistant-eltako/pulls)
* Providing [Documentation](https://github.com/grimmpp/home-assistant-eltako/tree/main/docs)
* Supporting a proper development and test environment by sending devices and/or money. [![Generic badge](https://img.shields.io/badge/SUPPORT_THIS_PROJECT-PayPal.me-27ae60.svg)](https://paypal.me/grimmpp)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/grimmpp/enocean-device-manager",
    "name": "eo-man",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Philipp Grimm",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e6/e0/159a33bedeb50a210999970433e97429f49941a29264fde57b7ec97b6c07/eo_man-0.1.33.tar.gz",
    "platform": null,
    "description": "[![Generic badge](https://img.shields.io/github/commit-activity/y/grimmpp/home-assistant-eltako.svg?style=flat&color=3498db)](https://github.com/grimmpp/home-assistant-eltako/commits/main)\n[![Generic badge](https://img.shields.io/badge/Community-Forum-3498db.svg)](https://community.home-assistant.io/)\n[![Generic badge](https://img.shields.io/badge/Community_Forum-Eltako_Integration_Debugging-3498db.svg)](https://community.home-assistant.io/t/eltako-baureihe-14-rs485-enocean-debugging/49712)\n[![Generic badge](https://img.shields.io/badge/License-MIT-3498db.svg)](/LICENSE)\n[![Generic badge](https://img.shields.io/badge/SUPPORT_THIS_PROJECT-PayPal.me-27ae60.svg)](https://paypal.me/grimmpp)\n\n# Enocean Device Manager and Home Assistant Configuration Exporter\n\n# WORK IN PROGRESS BUT ALREAD USABLE!!!\n\nThis client application allows you to **inventory all EnOcean devices**. It can **automatically read and detect devices** from the RS485 bus or from wireless network. After the devices are listed in the EnOcean Device Manager **you can enricht device information** like changing the name, comment or adapt parameters like timeframes, thresholds, units, ... .\nFurthermore, it automatically can detect default settings for Home Assistant configuration which can be adjust as well and it allows you to **generate and export the configuration for Home Assistant**. \n(The exported Home Assistant configuration is intended for the [Eltako Home Assistant Integration](https://github.com/grimmpp/home-assistant-eltako/))\n\n## Preview\n<img src=\"https://github.com/grimmpp/enocean-device-manager/blob/main/screenshot2.png\" /> \nWhat you can see here can automatically detected by reading the memory of the bus devices via FAM14. Telegrams of sensors and decentralized devices will be received and additionally added. \nAdditional info for Home Assistant is automatically added. The configuration for Home Assistant can be generated by the detected information.\nFor further steps it is planned to extend the support for changing the data which was collected so that a proper management of the devices can be supported.\n\n## System Requirements / Where to install and how to use it?\nThis tool is a desktop application (not browser based) and it runs independent of Home Assistant. Install it directly on a Windows, Linux or Max. (So far only Windows has been tested but all three operating systems should be supported.) Your PC requires Python pre-installed and you should be able to connect it to your EnOcean devices, either via USB cable (Eltako FAM14, FGW14-USB, ...) or wireless transceiver (Eltako FAM-USB). Support for the wireless transceiver 'EnOcean USB300' is planned for future releases.\n\nFor the moment I recommend a laptop with Windows and Python installed. You should be able bring close to FAM14 in order to connect it. (Connection to FAM14 is only required for a short moment during the device scan process.)\n\n## Install python package in virtual environment (Recommended)\n1. Create virtual python environment: `python.exe -m venv .\\.venv`\n2. Install application: `.\\.venv\\Scripts\\pip.exe install eo_man  --force-reinstall` (Package available under pypi: [eo_man](https://pypi.org/project/eo-man/))\n3. Run application: `.\\.venv\\Scripts\\python.exe -m eo_man`\n\n## Install python package in gloabl environment\n1. Install application: `pip.exe install eo_man` (Package available under pypi: [eo_man](https://pypi.org/project/eo-man/))\n2. Run application: `python.exe -m eo_man`\n\n## Install source code from this repository and run the App (alternative)\n1. Clone/Download the repo.\n2. Change into the repo directory.\n3. Create virtual environment for python: `python.exe -m venv .venv`\n4. Install dependencies: `.\\.venv\\Scripts\\python.exe setup.py install`\n5. Start the app: `.\\.venv\\Scripts\\python.exe -m eo_man` or `.\\.venv\\Scripts\\python.exe -m eo_man demo.eodm` (Directly loads demo data)\n\nFor update you can execute:\n1. `git pull` (Gets newest state of the code)\n2. Optionally change branch: `git checkout BRANCH_NAME`\n3. Reinstall`.\\.venv\\Scripts\\python.exe setup.py install --force`\n4. Run app: `.\\.venv\\Scripts\\python.exe -m eo_man`\n\n## Bugs and Features \nPlease open [issues](/issues) if you encounter bugs or if you have ideas for new features. Also quite a lot of devices are not yet supported.\n\n## Run unittests\n`pytest tests`\n\n## Install pre-commit hook to ensure unittests are executed before each commit\n1. Install package `pip install pre-commit`\n2. Config git: `pre-commit install`\n\n## Build wheel package\n`python setup.py bdist_wheel`\n\n## Install built wheel pacage\n`pip install dist/eo_man-VERSION-py3-none-any.whl` use `--force-reinstall` if you want to overwrite an existing version.\n\n# Use Command Line\nYou can use command line only to generate Home Assistant Configuration based on an existing application configuration. <br />\nCheck out: `python -m eo_man -h`\n\n# [Chanagelog](https://github.com/grimmpp/enocean-device-manager/blob/main/changes.md)\n\n# Contribution and Support to this Project\nI'm really happy to provide a more and more growing Home Assistant Eltako Integration and tools like this which extend this automation corner even more. The size of this integration is getting much bigger than the use cases I've realized at home, the variety of supported devices is increasing and the stability of the integraiton is getting to a professional level. On the other side it is getting hard to keep this level of development speed and operational quality. I'm about to build up a professional development and testing environment so that the quality can even improved and futher features can still be delivered in a short time frame. You can support this activity in sending devices and/or money.\n\nIn general, you can contribute to this project by:\n* Support users in the Home Assistant Community ([Eltako \u201cBaureihe 14 \u2013 RS485\u201d (Enocean) Debugging](https://community.home-assistant.io/t/eltako-baureihe-14-rs485-enocean-debugging))\n* Reporting [Issues]([/issue](https://github.com/grimmpp/home-assistant-eltako/issues))\n* Creating [Pull Requests](https://github.com/grimmpp/home-assistant-eltako/pulls)\n* Providing [Documentation](https://github.com/grimmpp/home-assistant-eltako/tree/main/docs)\n* Supporting a proper development and test environment by sending devices and/or money. [![Generic badge](https://img.shields.io/badge/SUPPORT_THIS_PROJECT-PayPal.me-27ae60.svg)](https://paypal.me/grimmpp)\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Philipp Grimm  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Tool to managed EnOcean Devices and to generate Home Assistant Configuration.",
    "version": "0.1.33",
    "project_urls": {
        "Homepage": "https://github.com/grimmpp/enocean-device-manager"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f785d6eefafa78117ae1be174132debfc2a7878fab7f337ca9800e96b8325edf",
                "md5": "998c1574675e6894abdfc46db8686379",
                "sha256": "7690a5c9d6b475df14e0112899351b36b7919dfe814c66702e1cca29b516dfa4"
            },
            "downloads": -1,
            "filename": "eo_man-0.1.33-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "998c1574675e6894abdfc46db8686379",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1048732,
            "upload_time": "2024-08-15T20:54:47",
            "upload_time_iso_8601": "2024-08-15T20:54:47.615948Z",
            "url": "https://files.pythonhosted.org/packages/f7/85/d6eefafa78117ae1be174132debfc2a7878fab7f337ca9800e96b8325edf/eo_man-0.1.33-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6e0159a33bedeb50a210999970433e97429f49941a29264fde57b7ec97b6c07",
                "md5": "3ddf0bdcb3cdc6e3c64c10010dcf7f6a",
                "sha256": "dd7166023bf2446bd250520f225f2cd100cff542bbddce4387e551ea8cd82ede"
            },
            "downloads": -1,
            "filename": "eo_man-0.1.33.tar.gz",
            "has_sig": false,
            "md5_digest": "3ddf0bdcb3cdc6e3c64c10010dcf7f6a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1032481,
            "upload_time": "2024-08-15T20:54:48",
            "upload_time_iso_8601": "2024-08-15T20:54:48.842669Z",
            "url": "https://files.pythonhosted.org/packages/e6/e0/159a33bedeb50a210999970433e97429f49941a29264fde57b7ec97b6c07/eo_man-0.1.33.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-15 20:54:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "grimmpp",
    "github_project": "enocean-device-manager",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "eo-man"
}
        
Elapsed time: 0.34889s