Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for addictional integration for Home Assistant Core #4475

Closed
massiemassie opened this issue Mar 9, 2021 · 12 comments
Closed

Request for addictional integration for Home Assistant Core #4475

massiemassie opened this issue Mar 9, 2021 · 12 comments

Comments

@massiemassie
Copy link

  1. Foscam https://www.home-assistant.io/integrations/foscam/
  2. Ezviz https://www.home-assistant.io/integrations/ezviz/
@rs1gg
Copy link

rs1gg commented Mar 9, 2021

If you are able to SSH to your synology and know the python dependencies needed for these integrations, the workaround from #4458 (comment) could help here - with different package names of course.

@rs1gg
Copy link

rs1gg commented Mar 10, 2021

What I found out when investigating the "missing" enigma2 integration: It is packaged in /volume1/@appstore/homeassistant/env/lib/python3.8/site-packages/homeassistant/components, same as foscam and ezviz components. If I configure enigma2 in configuration.yaml, it works although the enigma2 integration does not show up in the UI under "Add integration". Might be the same for foscam and ezviz?
I did not find the root cause for them not showing up, but configuring in configuration.yaml might be an option for you.

@massiemassie
Copy link
Author

Ok. I will try. Thanks

@ymartin59
Copy link
Contributor

@hgy59 Home Assistant package becomes even larger with additional integrations... I wonder if it would be possible to upload DSM wheels we generate as pip packages so that they are no longer included in DSM package itself but downloaded "on demand" according to application configuration. Of course, to achieve this, we have to request additional "architecture codes" in pip first...

Another option: create our own PIP repository (on synocommunity.com system) for DSM packages and configure pip3 to point to our custom repository... which should also act behind the scene as a "mirror" of official package repository (in my company, this is done thanks to JFrog Artifactory but we cannot afford such a product)

@smaarn
Copy link
Contributor

smaarn commented Apr 24, 2021

@hgy59 Home Assistant package becomes even larger with additional integrations... I wonder if it would be possible to upload DSM wheels we generate as pip packages so that they are no longer included in DSM package itself but downloaded "on demand" according to application configuration. Of course, to achieve this, we have to request additional "architecture codes" in pip first...

Another option: create our own PIP repository (on synocommunity.com system) for DSM packages and configure pip3 to point to our custom repository... which should also act behind the scene as a "mirror" of official package repository (in my company, this is done thanks to JFrog Artifactory but we cannot afford such a product)

I would tend to go for the PIP repository. Wouldn't nexus be supporting it ?

@smaarn
Copy link
Contributor

smaarn commented Apr 24, 2021

Just checked and the OSS version of Nexus Repository (Sonatype) is supposed to support Pypi...

@hgy59
Copy link
Contributor

hgy59 commented Apr 25, 2021

IMO we could shrink the homeassistant package size when we could exclude the pure python packages.
We always will have to deliver python packages that need cross compilation as wheels, but pure python packages could be downloaded on demand.

Any python/homeassistant pro out there that can tell whether (or how) it is possible to configure the internal "pip install" to search first in the site-packages of the venv and then uses pypi for dependencies that are not there?

@ymartin59
Copy link
Contributor

ymartin59 commented Apr 28, 2021

According to https://stackoverflow.com/questions/62363774/python-pip-install-wheel-dependencies-from-a-folder
it looks like --find-link can be used without disabling online PyPI.
So you should give a try removing --no-index but it requires to "discard" pure Python packages from wheels folder when packaging, and it may be tricky.

@hgy59
Copy link
Contributor

hgy59 commented Apr 28, 2021

@ymartin59 thanks for the info.
My current approach is to separate the requirements file into reqirements_wheels.txt and requirements_postinstall.txt and to install both in service_preinst.
And I am testing a third requirements file installed to var/requirements_custom.txt for additional integrations as this one (#4475)-

I know it is a manual extra step to split up the requirements file, but I created a helper script that lists all pure python wheels in the wheelhouse of the package.

@hgy59
Copy link
Contributor

hgy59 commented Apr 28, 2021

@ymartin59 OK I will try your solution. I hope to find a way to integrate my script into the build.
currently this shrinks the package size from about 100MB to 56MB.

@rs1gg
Copy link

rs1gg commented May 9, 2021

I think this Issue should be closed, since the original request was for two HA core integrations that are already packaged.

@hgy59
Copy link
Contributor

hgy59 commented May 9, 2021

This issue can be closed when homeassistant core version 2021.5 is released as package. That version includes foscam and ezviz.

@hgy59 hgy59 closed this as completed Oct 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants