lcn-frontend


Namelcn-frontend JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryLCN panel for Home Assistant
upload_time2024-11-11 17:59:58
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10.0
licenseMIT License
keywords home assistant lcn
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # LCN Frontend

<a href="https://www.buymeacoffee.com/alengwenus" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/white_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>

This repository contains the frontend files for the Home Assistant LCN configuration panel.

A detailed guide can be found in the [documentation](./docs/lcn-frontend.md).

Feel free to use the [issue tracker](https://github.com/alengwenus/lcn-frontend/issues) to report bugs, give feetback or share ideas for improvements.

If you want to participate in development (great!) head down to the [development](#development) section.

## Features

### Device Configuration

- Set up modules and groups for all your LCN integrations.

  ![Device Configuration](./screenshots/lcn_device_page.png?raw=true)

- Search for modules and groups and have them added automatically.
- Select a module or group to access the respective Entity Configuration panel.

### Entity Configuration

- Set up Home Assistant entities for each module or group.

  ![Entity Configuration](./screenshots/lcn_entities_page.png?raw=true)

- Create new entities that map the functions of your LCN modules and configure their parameters.

  ![Create entity](./screenshots/lcn_create_entity.png?raw=true)

- New entities are automatically added to your Home Assistant configuration and you can add them to your dashboards just like for any other integration.

## Development

### Setting up the development environment

- To display and test the frontend during development, you need to prepare a Home Assistant development environment. For this it is recommended to follow the instructions [here](https://developers.home-assistant.io/docs/development_environment/).

- You need to have `node.js` installed to build the frontend. Using [nvm](https://github.com/nvm-sh/nvm) is the preferred method of installing `node.js`. [Install nvm using the instructions provided here](https://github.com/nvm-sh/nvm#install--update-script). Install the correct `node.js` version by running the following command in the root directory of your checkout working tree.

```shell
$ nvm install
```

- The `lcn-frontend` uses [Yarn](https://classic.yarnpkg.com/en/) as a package manager for node modules. [Install yarn using the instructions here.](https://yarnpkg.com/getting-started/install).

- Next is to prepare the submodules and install all node packages.
  To do this, run the following commands

```shell
$ make bootstrap
$ yarn install
```

### Building the frontend

During development use the following command to build the frontend automatically whenever you make code changes:

```shell
$ make develop
```

A production build can be created by issuing:

```shell
$ make build
```

### Preparing the frontend

Next is to symlink the build directory `lcn_frontend` into the Home Assistant configuration directory:

```shell
$ ln -s <lcn-frontend-dir>/lcn_frontend <hass-dir>/config/deps/lib/python3.xx/site-packages/
```

- `<lcn-frontend-dir>` is the root working directory of the repository's checkout directory
- `<hass-dir>` is the root working directory of the `home-assistant-core` repository's checkout directory

The `<hass-dir>/config` directory is created when first starting Home Assistant. Usually you have to create the mentioned sub-paths by your own. Use the appropriate Home Assistant's Python version in the path.

Alternatively, if you are working with a venv install:

```shell
export PYTHONPATH=<lcn-frontend-dir>
```

### Starting Home Assistant

Start Home Assistant using:

```shell
$ hass -c config
```

### Updating the Home Assistant frontend

Replace `[commit_id]` with the desired commit or tag name.

```shell
$ cd homeassistant-frontend
$ git fetch
...
$ git checkout [commit_id]
...
$ cd ..
$ rm -f yarn.lock
$ node ./script/merge_requirements.js
...
$ make bootstrap
$ yarn install
```

### Code quality

You may use the following commands to ensure code quality:

- Code formatting: `yarn run format`
- Code linting: `yarn run lint`
- Type linting: `yarn run lint:types`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "lcn-frontend",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10.0",
    "maintainer_email": null,
    "keywords": "Home Assistant, LCN",
    "author": null,
    "author_email": "Andre Lengwenus <alengwenus@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/37/e7/e1159ec075acb040bbc655cb6f936b5b20bc8e9a927ca10036e1996e4219/lcn_frontend-0.2.2.tar.gz",
    "platform": "any",
    "description": "# LCN Frontend\n\n<a href=\"https://www.buymeacoffee.com/alengwenus\" target=\"_blank\"><img src=\"https://www.buymeacoffee.com/assets/img/custom_images/white_img.png\" alt=\"Buy Me A Coffee\" style=\"height: auto !important;width: auto !important;\" ></a>\n\nThis repository contains the frontend files for the Home Assistant LCN configuration panel.\n\nA detailed guide can be found in the [documentation](./docs/lcn-frontend.md).\n\nFeel free to use the [issue tracker](https://github.com/alengwenus/lcn-frontend/issues) to report bugs, give feetback or share ideas for improvements.\n\nIf you want to participate in development (great!) head down to the [development](#development) section.\n\n## Features\n\n### Device Configuration\n\n- Set up modules and groups for all your LCN integrations.\n\n  ![Device Configuration](./screenshots/lcn_device_page.png?raw=true)\n\n- Search for modules and groups and have them added automatically.\n- Select a module or group to access the respective Entity Configuration panel.\n\n### Entity Configuration\n\n- Set up Home Assistant entities for each module or group.\n\n  ![Entity Configuration](./screenshots/lcn_entities_page.png?raw=true)\n\n- Create new entities that map the functions of your LCN modules and configure their parameters.\n\n  ![Create entity](./screenshots/lcn_create_entity.png?raw=true)\n\n- New entities are automatically added to your Home Assistant configuration and you can add them to your dashboards just like for any other integration.\n\n## Development\n\n### Setting up the development environment\n\n- To display and test the frontend during development, you need to prepare a Home Assistant development environment. For this it is recommended to follow the instructions [here](https://developers.home-assistant.io/docs/development_environment/).\n\n- You need to have `node.js` installed to build the frontend. Using [nvm](https://github.com/nvm-sh/nvm) is the preferred method of installing `node.js`. [Install nvm using the instructions provided here](https://github.com/nvm-sh/nvm#install--update-script). Install the correct `node.js` version by running the following command in the root directory of your checkout working tree.\n\n```shell\n$ nvm install\n```\n\n- The `lcn-frontend` uses [Yarn](https://classic.yarnpkg.com/en/) as a package manager for node modules. [Install yarn using the instructions here.](https://yarnpkg.com/getting-started/install).\n\n- Next is to prepare the submodules and install all node packages.\n  To do this, run the following commands\n\n```shell\n$ make bootstrap\n$ yarn install\n```\n\n### Building the frontend\n\nDuring development use the following command to build the frontend automatically whenever you make code changes:\n\n```shell\n$ make develop\n```\n\nA production build can be created by issuing:\n\n```shell\n$ make build\n```\n\n### Preparing the frontend\n\nNext is to symlink the build directory `lcn_frontend` into the Home Assistant configuration directory:\n\n```shell\n$ ln -s <lcn-frontend-dir>/lcn_frontend <hass-dir>/config/deps/lib/python3.xx/site-packages/\n```\n\n- `<lcn-frontend-dir>` is the root working directory of the repository's checkout directory\n- `<hass-dir>` is the root working directory of the `home-assistant-core` repository's checkout directory\n\nThe `<hass-dir>/config` directory is created when first starting Home Assistant. Usually you have to create the mentioned sub-paths by your own. Use the appropriate Home Assistant's Python version in the path.\n\nAlternatively, if you are working with a venv install:\n\n```shell\nexport PYTHONPATH=<lcn-frontend-dir>\n```\n\n### Starting Home Assistant\n\nStart Home Assistant using:\n\n```shell\n$ hass -c config\n```\n\n### Updating the Home Assistant frontend\n\nReplace `[commit_id]` with the desired commit or tag name.\n\n```shell\n$ cd homeassistant-frontend\n$ git fetch\n...\n$ git checkout [commit_id]\n...\n$ cd ..\n$ rm -f yarn.lock\n$ node ./script/merge_requirements.js\n...\n$ make bootstrap\n$ yarn install\n```\n\n### Code quality\n\nYou may use the following commands to ensure code quality:\n\n- Code formatting: `yarn run format`\n- Code linting: `yarn run lint`\n- Type linting: `yarn run lint:types`\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "LCN panel for Home Assistant",
    "version": "0.2.2",
    "project_urls": {
        "Repository": "https://github.com/alengwenus/lcn-frontend.git"
    },
    "split_keywords": [
        "home assistant",
        " lcn"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79376a176b9f698ebf3459c494b4d786b9cb8a1dcd500895ef7fd586cbf11bf1",
                "md5": "53085b19105a66a7662826e91400da42",
                "sha256": "a1a75ef84e5a90ff7bc59f991595efaee378cbf82fa7d7e0d43ec87fb4140c0e"
            },
            "downloads": -1,
            "filename": "lcn_frontend-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "53085b19105a66a7662826e91400da42",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10.0",
            "size": 1624003,
            "upload_time": "2024-11-11T17:59:56",
            "upload_time_iso_8601": "2024-11-11T17:59:56.971897Z",
            "url": "https://files.pythonhosted.org/packages/79/37/6a176b9f698ebf3459c494b4d786b9cb8a1dcd500895ef7fd586cbf11bf1/lcn_frontend-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37e7e1159ec075acb040bbc655cb6f936b5b20bc8e9a927ca10036e1996e4219",
                "md5": "cdd927399adc6101f567bc9033355d5d",
                "sha256": "0faaf014b4e138211b298854a6e03c2bed222d8b77a6a538187cc972bdcb6803"
            },
            "downloads": -1,
            "filename": "lcn_frontend-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cdd927399adc6101f567bc9033355d5d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10.0",
            "size": 1636723,
            "upload_time": "2024-11-11T17:59:58",
            "upload_time_iso_8601": "2024-11-11T17:59:58.943082Z",
            "url": "https://files.pythonhosted.org/packages/37/e7/e1159ec075acb040bbc655cb6f936b5b20bc8e9a927ca10036e1996e4219/lcn_frontend-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-11 17:59:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "alengwenus",
    "github_project": "lcn-frontend",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "lcn-frontend"
}
        
Elapsed time: 0.43912s