Community Hass.io Add-on: AppDaemon 3

Snapshots are a great feature of Home Assistant. They will save you…

Always nice to have a new version of software that doesn’t solve the biggest issue :slight_smile:

Hopefully another update will follow soon!

I was wondering why there wasn’t more noise on this thread so tried an experiment. I was running the 64bit version of Hass.IO. I had a spare SD card so replaced my installation with the 32bit (HA recommended) version. Voila! AppDaemon v2.0.2 now working. Only one instance of INFO: Starting AppDaemon... and everything following runs as expected in the log. I suppose 64bit is still experimental and the latest AppDaemon doesn’t play nice with it.

@gabriemax and @beurdy - you two on 64bit?

The legendary @frenck seems to be working on the problem, so don’t be compelled to transfer to 32bit because of my earlier post.

https://github.com/hassio-addons/addon-appdaemon3/issues/42

:tada: Release v3.0.0

Full Changelog

Changed

  • :arrow_up: Updates appdaemon to v3.0.4 (#41)
  • :ambulance: :hammer: :rocket: Changes base image running Python 3.7.3
  • :fire: Removes now obsolete local Python setup
  • :hammer: Reduce image size a little

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

4 Likes

Yes, Odroid C2.

Version 3 of the plugin fixed the issue :slight_smile: :slight_smile: :slight_smile:

Is it possible to keep the Python headers on the image? I used to be able to do python_packages: [lxml]. This requires the Python development headers, which were installable via system_packages: [python3-dev], but now that you’re not using the system Python it’s no longer possible to install lxml or any other Python package that requires compilation of native code due to the lack of the headers.

I was forced to downgrade to 2.0.2 due to this. Without the headers, users like me will have no other choice but to maintain their own fork of the add-on.

Nice, @lbschenkel. Instead of drawing all kinds of incorrect conclusions, you could have just asked for help…

Since… well… you are far off.

{
  "disable_auto_token": false,
  "system_packages": [
    "build-base",
    "libxml2-dev",
    "libxslt-dev"
  ],
  "python_packages": [
    "lxml"
  ]
}

Log ouput:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing... 

-----------------------------------------------------------
 Hass.io Add-on: AppDaemon
 Python Apps and HADashboard using AppDaemon 3.x for Home Assistant
-----------------------------------------------------------
 Add-on version: dev
 You are running the latest version of this add-on.
 System: Ubuntu 18.04.2 LTS  (amd64 / qemux86-64)
 Home Assistant version: 0.91.2
 Supervisor version: 156
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in e.g, GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
...
<cut>
... 
[cont-init.d] 81-python-packages.sh: executing... 
Collecting lxml
  Downloading https://files.pythonhosted.org/packages/7d/29/174d70f303016c58bd790c6c86e6e86a9d18239fac314d55a9b7be501943/lxml-4.3.3.tar.gz (4.4MB)
Building wheels for collected packages: lxml
  Building wheel for lxml (setup.py): started
  Building wheel for lxml (setup.py): still running...
  Building wheel for lxml (setup.py): finished with status 'done'
  Stored in directory: /root/.cache/pip/wheels/e4/d1/de/8e0e572dddb1a0e96c480b2a01ef9dbbc4fa86456cdd5a303a
Successfully built lxml
Installing collected packages: lxml
Successfully installed lxml-4.3.3
[cont-init.d] 81-python-packages.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[22:05:17] INFO: Starting AppDaemon...

You are welcome sir.

PS: Feel free to fork.

Hi again Frenck.

First of all: mea culpa. And thanks for your help.

After the add-on auto-update I was definitely getting cc: Python.h not found, and I didn’t make that up, which is a missing header issue. I would also have argued that I did try something that is very close to your recipe. But obviously I have made some mistake along the way since I tried now after your post on a clean setup and it worked. Unfortunately I didn’t write down the exact combination of system packages I used to have, because I tweaked them while trying to troubleshoot this. It’s likely that there was a mismatch between system (indirectly pulled by other dependencies) and new Python which caused issues.

I’m actually declaring a variation of it, which is closer to what I used to do: system_packages: ["gcc", "musl-base", "libxml2-dev", "libxslt-dev"]. I also verified that this works on a clean setup.

I think you misunderstood my mention of forking. What I meant was not to launch a competing add-on, was that this problem (if the headers were indeed missing) was only fixable by changing the Dockerfile, which in practice meant that every affected user had to generate a local forked version of the add-on. You can’t easily re-add those to the image after they have been removed.

After your reply I went back and re-read my post, and with all honesty I still don’t see where I was harsh (it was certainly not my intention). I just wanted to point out to (in case I was right) a serious problem with the packaging of the new Python version. But it’s clear that you don’t share that opinion. Well, next time I’ll try to find a better choice of words – be less terse, maybe. I didn’t come here to antagonize you. Once again, I’m thankful for your help here and even more for your extremely useful add-on.

1 Like

:tada: Release v3.0.1

Full Changelog

This is a general maintenance release, without any backward compatible breaking changes.

Minor nice new thing: The ports in the add-on configuration panel, now show a description on what they are used for.

Changed

  • :arrow_up: Upgrades gcc to 8.3.0-r0
  • :arrow_up: Upgrades base image to v1.1.0
  • :fire: Removes default config options
  • :sparkles: Adds port descriptions
  • :hammer: Refactor of init scripts

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

anyway to fix this issue please?

i have done a clean install today appdaemon original installed ok, but now getting this error below. I have uninstalled appdaemon and restarted/reinstalled, but it just wont start due to the bind error, even if i change port numbers its the same. Any help appreciated.

19-05-19 14:43:07 INFO (MainThread) [hassio.addons] Create Home Assistant add-on data folder /data/addons/data/a0d7b954_appdaemon3

19-05-19 14:43:07 INFO (SyncWorker_1) [hassio.docker.interface] Pull image hassioaddons/appdaemon3-amd64 tag 3.0.1.
19-05-19 14:43:09 INFO (SyncWorker_1) [hassio.docker.interface] Tag image hassioaddons/appdaemon3-amd64 with version 3.0.1 as latest
19-05-19 14:43:14 ERROR (SyncWorker_4) [hassio.docker] Can’t start addon_a0d7b954_appdaemon3: 500 Server Error: Internal Server Error (“driver failed programming external connectivity on endpoint addon_a0d7b954_appdaemon3 (5c26e62b4ad3029ced89b74167a5b9121a0b604af885f182cebf9e2f2a33e549): Error starting userland proxy: listen tcp 0.0.0.0:5050: bind: address already in use”)

Port 5050 is already in use by something else (e.g., other add-on).
Multiple options:

  • Find that thing that uses it, change the port or disable the port/add-on/program.
  • Change the port of the AppDaemon side

nothing using the port, and already tried changing the appdaemon port, and get the same error but with the new port number, seems odd in fairness and havent seen this issue before on my setup.

any more ideas :slight_smile: ?

cheers

:tada: Release v3.0.2

Full Changelog

This is a general maintenance release, without any backward compatible breaking changes.

Changed

  • :arrow_up: Updates appdaemon to v3.0.5 (#45)

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

:tada: Release v4.0.0

Full Changelog

This is a general maintenance release, without any backward compatible breaking changes.

Changed

  • :pencil2: Maintaince -> Maintenance
  • :sparkles: Adds FUNDING.yml
  • :arrow_up: Upgrades add-on base to default image at v4.0.1
  • :sparkles: Adds Alpine Python 3.7.3
  • :ambulance: Fixes build argument for wheels

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

:tada: Release v4.0.1

Full Changelog

This is a general maintenance release.

Changed

  • :arrow_up: Upgrades add-on base image to v4.0.2

Questions? Join our Discord server! https://discord.me/hassioaddons
Enjoying my add-ons? Consider supporting my work: https://patreon.com/frenck

I cant install system_package for g++. I get : “FATAL: Failed installing package g++.” I’m running ubuntu 18.04. If I comment that system_package out, I also fail “Failed installing package pycurl” This worked before, did a reboot and then I noticed it. Other system_package seems to install fine and I can install pip as python package.

  "disable_auto_token": false,
  "system_packages": [
    "libcurl",
    "python3-dev",
    "curl-dev",
    "gcc",
    "g++"
  ],
  "python_packages": [
    "pip==19.0.2",
    "pycurl"
  ],
  "log_level": "info"
}

Was solved by adding musl as package. “Upgrading musl (1.1.22-r2 -> 1.1.22-r3”

Hi,

Please can you say what you put in the config file for this to work?
I’m getting the same error.

Addon update is pending