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

HomeAssistant: Adding Shelly-Integration fails #5679

Closed
1 task done
wicksim opened this issue Mar 29, 2023 · 6 comments
Closed
1 task done

HomeAssistant: Adding Shelly-Integration fails #5679

wicksim opened this issue Mar 29, 2023 · 6 comments

Comments

@wicksim
Copy link

wicksim commented Mar 29, 2023

Is this a new Bug?

  • I checkd that the bug hasn't been reported before

Package Name

Home Assistant Core

Package Version

v2022.10.5-19

Device Model

DS114

Device Architecture

ARMv7

Firmware Version

DSM 6.2.4-25556 Update 6

What happened?

I attempted to add integration for shelly in /config/integrations. It took a while, then it reported an error and I found an entry in the log. I think the relevant part is error: command '/github/workspace/toolchain/syno-armv7-6.1/work/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc' failed: No such file or directory.

The FAQ suggested to restart the package, which had no effect.

I also tried to install aioshelly manually via pip, which gave me the same error.

Reproduction steps

1. Navigate to `/config/integrations`
2. Click "Add integration"
3. Search for "shelly"

Install Log

Unable to install package aioshelly==2.0.2: WARNING: Missing build requirements in pyproject.toml for multidict<7.0,>=4.5 from https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0/multidict-6.0.4.tar.gz (from aiohttp->aioshelly==2.0.2). WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'. error: subprocess-exited-with-error × Building wheel for multidict (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [62 lines of output] ********************* * Accelerated build * ********************* running bdist_wheel running build running build_py creating build creating build/lib.linux-armv7l-cpython-310 creating build/lib.linux-armv7l-cpython-310/multidict copying multidict/_compat.py -> build/lib.linux-armv7l-cpython-310/multidict copying multidict/_abc.py -> build/lib.linux-armv7l-cpython-310/multidict copying multidict/_multidict_base.py -> build/lib.linux-armv7l-cpython-310/multidict copying multidict/_multidict_py.py -> build/lib.linux-armv7l-cpython-310/multidict copying multidict/__init__.py -> build/lib.linux-armv7l-cpython-310/multidict running egg_info writing multidict.egg-info/PKG-INFO writing dependency_links to multidict.egg-info/dependency_links.txt writing top-level names to multidict.egg-info/top_level.txt reading manifest file 'multidict.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found anywhere in distribution warning: no previously-included files found matching 'multidict/_multidict.html' warning: no previously-included files found matching 'multidict/*.so' warning: no previously-included files found matching 'multidict/*.pyd' warning: no previously-included files found matching 'multidict/*.pyd' no previously-included directories found matching 'docs/_build' adding license file 'LICENSE' writing manifest file 'multidict.egg-info/SOURCES.txt' /var/packages/python310/target/lib/python3.10/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'multidict._multilib' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'multidict._multilib' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'multidict._multilib' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'multidict._multilib' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) copying multidict/__init__.pyi -> build/lib.linux-armv7l-cpython-310/multidict copying multidict/py.typed -> build/lib.linux-armv7l-cpython-310/multidict running build_ext building 'multidict._multidict' extension creating build/temp.linux-armv7l-cpython-310 creating build/temp.linux-armv7l-cpython-310/multidict /github/workspace/toolchain/syno-armv7-6.1/work/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -I/github/workspace/toolchain/syno-armv7-6.1/work/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/usr/include -D__ARM_PCS_VFP=1 -I/github/workspace/spk/python310/work-armv7-6.1/install//var/packages/python310/target/include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -L /github/workspace/spk/python310/work-armv7-6.1/install/var/packages/python310/target/lib -I /github/workspace/spk/python310/work-armv7-6.1/install/var/packages/python310/target/include -I/github/workspace/toolchain/syno-armv7-6.1/work/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/usr/include -D__ARM_PCS_VFP=1 -I/github/workspace/spk/python310/work-armv7-6.1/install//var/packages/python310/target/include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -L /github/workspace/spk/python310/work-armv7-6.1/install/var/packages/python310/target/lib -I /github/workspace/spk/python310/work-armv7-6.1/install/var/packages/python310/target/include -fPIC -I/volume1/@appstore/homeassistant/env/include -I/var/packages/python310/target/include/python3.10 -c multidict/_multidict.c -o build/temp.linux-armv7l-cpython-310/multidict/_multidict.o -O2 -std=c99 -Wall -Wsign-compare -Wconversion -fno-strict-aliasing -pedantic error: command '/github/workspace/toolchain/syno-armv7-6.1/work/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc' failed: No such file or directory [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for multidict ERROR: Could not build wheels for multidict, which is required to install pyproject.toml-based projects [notice] A new release of pip available: 22.2.2 -> 23.0.1 [notice] To update, run: pip install --upgrade pip

Service Log

No response

Other Logs

No response

@wicksim wicksim added the bug label Mar 29, 2023
@hgy59 hgy59 removed the bug label Mar 30, 2023
@hgy59
Copy link
Contributor

hgy59 commented Mar 30, 2023

@wicksim this is not a bug. The Homeassistant Core package, so far, supports only the integrations that are configurable with "add integration" in the HA UI. i.e. integrations that have an installation wizard.
Other integrations are only supported when all dependent modules are pure python.

Integrations that depend on binary (i.e. cross compiled) modules must added to the homeassistant package.
So you need to create an issue to request for such modules (as you can read in our Homeassistant FAQ.

BTW some integrations with binary dependencies might run when a binary module is available in pypi. But most of them are downloadable for x86_64 and arm64 only (and not for 32 bit ARM like DS114).

@wicksim
Copy link
Author

wicksim commented Mar 30, 2023

@hgy59 Sorry, I don't understand. The shelly-package is configurable in the UI. I can search for it and then try to add it. I also wrote that under "Reproduction steps":

  1. Navigate to /config/integrations
  2. Click "Add integration"
  3. Search for "shelly"

The shelly-integration is also listed on the FAQ-page.

I think I'm missing something?

@hgy59
Copy link
Contributor

hgy59 commented Mar 30, 2023

@wicksim I am sorry, just saw that shelly in on the list.
AFAICS shelly now depends on orjson module. orjson must be cross compiled (with rust) and is included in the next update (see #5579).

@hgy59
Copy link
Contributor

hgy59 commented Mar 30, 2023

update:
Tried to add shelly integration with the version of #5579 and it shows the same error on DS115j (ARMv7) (wants to compile multidict).
orjson is not the only dependency, I need to add multidict too (so far I tested only with x86_64 and arm64 models).
@wicksim thanks for reporting.

EDIT:
this was version 2022.10.5 and not the version 2023.1.7 of #5579 (sorry again) - will try 2023.1.7 next.

@hgy59
Copy link
Contributor

hgy59 commented Mar 30, 2023

The update on the very limited DS115j took abount one hour, but finally the shelly integration seems to work (no errors loading the dependencies and the configuration dialog appears).
ha_shelly

So this will be fixed with #5579.

@hgy59
Copy link
Contributor

hgy59 commented Apr 9, 2023

closed by #5579

@hgy59 hgy59 closed this as completed Apr 9, 2023
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

2 participants