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: update to version 2021.8.8 #4580

Merged
merged 13 commits into from
Aug 29, 2021

Conversation

hgy59
Copy link
Contributor

@hgy59 hgy59 commented Apr 25, 2021

Motivation: Update homeassistant to include security updates for pyyaml, Jinja2 and urllib3
Linked issues: #4475, closes #4490. closes #4458, #4519, closes #4761

Checklist

  • Build rule all-supported completed successfully
  • Package upgrade completed successfully
  • New installation of package completed successfully

new integrations installable from UI (since 2021.1.5-13)

  • Adax
  • AEMET OpenData
  • AirNow
  • Ambee
  • Antifurto365 iAlarm
  • ASUSWRT
  • AVM FRITZ!Box Call Monitor
  • AVM FRITZ!Box Tools
  • AVM FRITZ!SmartHome
  • Bosh SHC
  • Buienradar
  • ClimaCell
  • CO2 Signal
  • Coinbase
  • DSMR Slimme Meter
  • Elgato Light
  • Enphase Envoy
  • Ezwiz (Request for addictional integration for Home Assistant Core #4475)
  • FAA Delays
  • Flipr
  • Forecast.Solar
  • Foscam (Request for addictional integration for Home Assistant Core #4475)
  • Freedompro
  • Garages Amsterdam
  • Google Maps Travel Time
  • Growatt Server
  • Habitica
  • Hive
  • home_plus_control
  • Honeywell Lyric
  • Honeywell Total Connect Comfort (US)
  • Huisbaasje
  • Keenetic NDMS2 Router
  • KMtronic
  • Kostal Plenticore Solar Inverter
  • Kraken
  • Legrand Home+ Control
  • LiteJet
  • Litter-Robot
  • Lutron Caséta
  • Mazda Connected Services
  • Met Éireann
  • Meteoclimatic
  • Modern Forms
  • motionEye
  • Mullvad VPN
  • MusicCast
  • mutesync
  • mysensors
  • Nettigo Air Monitor
  • Notifications for Android TV / Fire TV
  • NOAA Aurora-Sensor
  • Nuki
  • NZBGet
  • Ondilo ICO
  • Pentair ScreenLogic
  • Philips TV
  • Picnic
  • Prosegur Alarm
  • Renault
  • Rheem EcoNet Products
  • Rituals Perfume Genie
  • SIA Alarmsystems
  • SiteSage Emonitor
  • SMA Solar
  • SmartTub
  • Somfy MyLink
  • Subaru
  • Switcher
  • Syncthing
  • System-Bridge
  • Total Connect
  • Verisure
  • Wallbox
  • Waze Travel Time
  • Yale Smart Living
  • YouLess
  • Z-Wave JS

Integrations that do not work

  • Apple TV (new since 2021.1.5, but still fails with dependency error, depends on PyAV i.e. on ffmpeg...)
  • SMS notifications via GSM-modem (did not work before)
  • Tasmota (fails now to setup mqtt)
  • WiLight (dit not work before)
  • Z-Wave (deprecated, but new integration zwave_js is available)

@hgy59 hgy59 added the update request to update existing package label May 1, 2021
@Sweepr
Copy link

Sweepr commented May 9, 2021

Is this PR going to be merged sometime this year?

This PR was created 14 day's ago against 2021.4.6, and 2 day's ago 2021.5.1 was released https://github.com/home-assistant/core/releases/tag/2021.5.1

What's holding it?

@Forge36
Copy link

Forge36 commented May 9, 2021

@Sweepr 3 failing CI checks. Unfortunately windows docker isn't supported, which leaves me currently unable to investigate.

Any chance you have experience in this area?

@hgy59
Copy link
Contributor Author

hgy59 commented May 9, 2021

Be patiant, I am working on this. One open target is to reduce the package size by download of pure python packages at installation time.
I have seen the new version, but every new version takes some hours of verification and finding indirect dependencies.

@Sweepr
Copy link

Sweepr commented May 10, 2021

Be patiant, I am working on this. One open target is to reduce the package size by download of pure python packages at installation time.
I have seen the new version, but every new version takes some hours of verification and finding indirect dependencies.

@hgy59 No rush, just asking.

@Sweepr 3 failing CI checks. Unfortunately windows docker isn't supported, which leaves me currently unable to investigate.

Any chance you have experience in this area?

@Forge36

Sadly no, same problem ;-)

@ymartin59 ymartin59 changed the title Udpate homeassistant to version 2021.4.6 homeassistant: update to version 2021.4.6 May 14, 2021
@hgy59 hgy59 changed the title homeassistant: update to version 2021.4.6 homeassistant: update to version 2021.5.4 May 16, 2021
@Sweepr
Copy link

Sweepr commented Jun 1, 2021

"All checks have passed", any e.t.a. on merge into master so we can pull from the package manager?

@hgy59 hgy59 changed the title homeassistant: update to version 2021.5.4 homeassistant: update to version 2021.7.4 Aug 6, 2021
@hgy59 hgy59 changed the title homeassistant: update to version 2021.7.4 homeassistant: update to version 2021.8.7 Aug 17, 2021
@hgy59
Copy link
Contributor Author

hgy59 commented Aug 17, 2021

Makred as WIP, because armv7 packages do not work until the *.whl files are renamed with correct machine name (armv7l instead of arm).

@Pitcentr
Copy link

hello, we should expect HA for DSM7 can there be an approximate date?

@v120fr
Copy link

v120fr commented Aug 21, 2021

Makred as WIP, because armv7 packages do not work until the *.whl files are renamed with correct machine name (armv7l instead of arm).

Thanks.
DS116 with arm:
I rename the file *.whl
make pip install *
same for composant use the file requirement.txt
first same error yarl not found, but cp all /usr/lib.. python/site-packages in the python directory homeassistant and:
i start first time in root perhaps the trouble, i can't start from GUI synology (denied on file), but in putty with root. ALL IS OK.
Now i launch it with --daemon

Thanks for your job.

@hgy59 hgy59 changed the title homeassistant: update to version 2021.8.7 homeassistant: update to version 2021.8.8 Aug 28, 2021
@hgy59
Copy link
Contributor Author

hgy59 commented Aug 28, 2021

Finally solved the wheel file naming by renaming the wheels at installation time.

This might even work for armv5 (88f6281) but could not test that due to missing such a device.

The real problem behind the naming of cross compiled wheels is, that crossenv names the 32-bit arm platform "arm" instead of "armv7l" and that pip uses the wheel file name to validate compatibility (wheels still define Tag: cp38-cp38-linux_arm instead of cp38-cp38-linux_armv7l in the WHEEL file)

A special rename for pycryptodome is needed, as the tag is cp35-abi3-linux_armv7l and not cp38-cp38-linux_armv7l.

By excluding pure python wheels from the package, the spk file size is reduced from > 110MB to < 33MB.

As homeassistant has such a lot of dependent python packages there are still incompatible packages after installation.

When an integration fails to install within homeassistant, this can often be solved by restarting homeassistant (either with restart in homeassistant or stop/run in the DSM package center).

@hgy59
Copy link
Contributor Author

hgy59 commented Aug 28, 2021

TESTERs are welcome, particular for ARMv5 (88f6281) and QorIQ (PPC) archs like DS-213air, DS-213, DS-413j, DS-213+, DS-413 or DS-x12.

- introduce Makefile variable EXCLUDE_PURE_PYTHON_WHEELS to exclude pure python wheels from spk
- adjust service_postinstall to install wheel files from package and remaining dependencies from index
- use SYNOPKG_PKGVAR folder for config and migrate config folder for DSM6 -> DSM7 upgrades
- add cross/asyncstdlib to work around dependencies for devonavr
- use dedicated requirements file for postinst
- update numpy
- update homeassistant, home-assistant-frontend, hass-nabucasa and dependencies
- separate requirements for default_config and components
- add pycryptodomex
- keep original name of wheels (fix for *-abi3-*.whl)
- revert specific wheel file names at build time
- rename cross compiled wheels at installation time
- use the real platform-tag to rename cross compiled wheels:
  the real problem behind the naming of cross compiled wheels is, that
  crossenv names the 32-bit arm platform "arm" instead of "armv7l" and that
  pip uses the wheel file name to validate compatibility (wheels still define
  Tag: cp38-cp38-linux_arm instead of cp38-cp38-linux_armv7l in the WHEEL file)
- a special handling for pycryptodome is still needed, as the tag is cp35-abi3-linux_armv7l and not cp38-cp38-linux_armv7l
@v120fr
Copy link

v120fr commented Aug 28, 2021

Thanks, this version 2021.8.8 is ok for DS116 (armv7), installation and launch ok.

@hgy59 hgy59 merged commit 7786d2d into SynoCommunity:master Aug 29, 2021
@hgy59 hgy59 deleted the update_homeassistant branch August 29, 2021 06:10
@Sweepr
Copy link

Sweepr commented Aug 29, 2021

@hgy59

Any e.t.a. on when it will be available in the https://packages.synocommunity.com/ Package Center?

@Lylrok
Copy link

Lylrok commented Aug 29, 2021

Hello

Always KO for :

NAS Model: DS416j
NAS Architecture: MARVELL Armada 388 88F6828 (Armada38x)
DSM Version: DSM 7.0-41890

Thanks for your help

@hgy59
Copy link
Contributor Author

hgy59 commented Aug 29, 2021

@Lylrok thanks for the feedback.

@hgy59 hgy59 added the status/published Published and activated (may take up to 48h until visible in DSM package manager) label Aug 29, 2021
@Lylrok
Copy link

Lylrok commented Aug 31, 2021

Hello @hgy59

It's ok for me now
image

I don't know if you made any changes but I managed to reinstall the package and it seems to work again

thank you so much
how can I buy you a coffee? :)

@hgy59
Copy link
Contributor Author

hgy59 commented Aug 31, 2021

@Lylrok you can do something for you: do not post your public URL 🤝

@Sweepr
Copy link

Sweepr commented Aug 31, 2021

@hgy59

Just updated on DS216+, works like a charm, thank you for the hard work!

@Lylrok
Copy link

Lylrok commented Sep 2, 2021

A little feedback on the use of HA
Everything is ok and works as before
My scripts were there, I didn't need to redo them

A big thank you again

@TRuHa83
Copy link

TRuHa83 commented Feb 19, 2022

hello. after upgrading to DSM 7.0, I was able to repair the installation with no problem, but I lost the configuration. When I access, it asks me for data to create a new installation but I cannot continue, the button does not work. how could i solve it? Thanks a lot.

Screenshot_20220219-135645~2

I forgot to mention that I have a DS213j in case it's relevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/published Published and activated (may take up to 48h until visible in DSM package manager) update request to update existing package
Projects
None yet
8 participants