Sunil Mohan Adapa ce341b18ab
homeassistant: Add the most popular app for home automation
- Use docker container via registry.freedombox.org to obtain the package.
Specify this in the description.

- Mark the app as experimental.

- Show information that a dedicated domain is required to host Home Assistant.

- Use special YAML loader/dumper to deal with custom YAML tags in configuration
file.

- Obtain logo file from a test file in code repository with Apache license as
the actual logo files are freely licensed.

- Write functional tests without accessing the website as a dedicated domain is
necessary.

Tests:

- Functional tests work.

- Add a domain 'mydomain.example' using the Names app. Assign this domain in
Home Assistant app configuration. In /etc/hosts on the host machine add a
mapping from mydomain.example to the IP address of the container/VM. Access the
web interface using https://mydomain.example. Home Assistant web interface is
available and functional.

- After install of the app the configuration.yaml file contains the proxy
related lines are expected.

- Diagnostics work (expect the URL access).

- Re-run setup works.

- 'Launch web client' and frontpage shortcut work as expected.

- Non-admin users can't connect on port 8123.

- Home Assistant is able to establish websocket connection in its web UI.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:55 -04:00

69 lines
1.6 KiB
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
"""Application manifest for Home Assistant."""
from django.utils.translation import gettext_lazy as _
from plinth.clients import store_url
_android_package_id = 'io.homeassistant.companion.android'
clients = [
{
'name': _('Home Assistant'),
'platforms': [{
'type': 'web',
'url': '#' # Filled in later
}]
},
{
'name':
_('Home Assistant'),
'platforms': [{
'type': 'download',
'os': 'macos',
'url': 'https://apps.apple.com/us/app/home-assistant/id1099568401'
}, {
'type': 'store',
'os': 'ios',
'store_name': 'app-store',
'url': 'https://apps.apple.com/us/app/home-assistant/id1099568401'
'?platform=iphone'
}, {
'type':
'store',
'os':
'android',
'store_name':
'google-play',
'url':
store_url('google-play', 'io.homeassistant.companion.android')
}, {
'type':
'store',
'os':
'android',
'store_name':
'f-droid',
'url':
store_url('f-droid',
'io.homeassistant.companion.android.minimal')
}]
}
]
backup = {
'data': {
'directories': ['/var/lib/home-assistant-freedombox/']
},
'services': ['home-assistant-freedombox']
}
tags = [
_('Home Automation'),
_('IoT'),
_('Wi-Fi'),
_('ZigBee'),
_('Z-Wave'),
_('Thread')
]