Announcement - AppDaemon 3.0!

TL;DR - AppDaemon is now at version 3.0 - if you haven’t been running the beta you will need to make some changes when you upgrade!

Hello everyone, and thanks for bearing with me through the 3.0 Beta.

I can now officially announce that AppDaemon 3.0 is out of beta and fully released!

This version has a couple of very minor changes and no breaking changes. If you have been running the beta it is a simple pip upgrade:

$ pip3 install --upgrade appdaemon

If you have not been running the beta, the upgrade process is the same, but you will need to make some changes to your configuration files.

There is a full list of the required changes in the docs here.

Enjoy!

3.0.0 (2018-03-18)

Features

  • API 200 responses are now logged to the access file
  • Add meta tags to prevent double tap zoom on iOS

Fixes

  • Re-added set_app_state() to the API

Breaking Changes

None

17 Likes

Should be available on PyPi and Docker by now - @frenck will be releasing the hass.io addon shorty.

1 Like

Well done, @aimc! You’ve put a ton of work into this release. We’re lucky to have you!

2 Likes

:tada: Hass.io add-on release v1.0.0

First stable release containing the first AppDaemon 3.0.0 stable release!
Thanks to @aimc for all his hard work on this!

https://community.home-assistant.io/t/community-hass-io-add-on-appdaemon3/41261?u=frenck

5 Likes

I have just installed on my working system, and I have noticed that the number of open files is increasing. I haven’t changed anything else so it is probably AD. The command to capture the number of open files is lsof -wPln | wc -l

Edit:
Actually, it goes up for about 55 minutes, and then stops increasing. Rather strange, but not really a problem.

1 Like

memory use also increases slowly untill a certain point.
i have been checking that out for a while, but its normal python behaviour.

1 Like

Good day, I’ve run HADashboard for about 6 months. I tried upgrading using pip3 install upgrade AppDaemon, but couldn’t get it to work. The service won’t start on reboot, I got it to start “manually” systemctl restart, but I can’t load any of my existing panels.

I followed the minor changes for dashboard with no luck. I also noticed that the documentation said using sudo pip3 install —pre appdaemon.
Which one would apply; install upgrade or install—pre appdaemon.
Thank you

install --pre was for the beta version.
now its out of beta thats why you need upgrade.

did you check out all breaking changes since the version you had before??
at least in the appdaemon.yaml has a lot changed.

@ReneTode thank you. I’m only using Hadashboard, no apps. so my appdaemon.yaml file is quite slim.
this is what i’ve done.
https://hastebin.com/ecinexanoy.cpp

but the other issue is why is the appdaemon@appdaemon. service not starting on reboot as it was before.
it works cause i can start it via sudo systemctl restart appdaemon@appdaemon. service

I can see no error logs.
any guidance is welcome

i am sorry, but with that part i cant help. i have no experience with that and dont use it.
when appdaemon is started and functioning when you start the service the configuration is allright.
in that case i can only imagine that its something in the startup service that maybe has to do with rights.
are you sure that it starts when you start the service?
what is in the file /export/hass/appdaemon_test/logs/appdaemon.log? (please from the beginning)

Thanks @aimc for all your work.

The bugs I reported earlier have been fixed, to confirm that. I have a couple of questions.

Sometimes I have noticed if I make changes to some apps, my changes don’t take effect until I restart the entire appdaemon service. Do you think I am doing something wrong?

I have just purchased a Pi and all I want to run on it alone is Appdaemon strictly. if I simply do a pip3 install appdaemon using the pi account, where will my configuration files be kept? In the bin folder or in a local folder where I ran the install?

In this project, I want to be able to use events to pass data to different apps. Now I do that presently using HA (self,fire_event()), but I don’t want it tied to HA. Can I kindly request you add a feature for events within appdaemon for apps? I could possibly do it with packages like this, but I think might be better if you had one inbuilt within the framework. I know you have one, but its for the Dashboard which I don’t use.

Thanks and regards

That should not be the case unless you are changing an app that has no yaml configuration

The configuration files go wherever you want - yo ujust have to tell AppDaemon where they are when you start it with the -c parameter

No need for a new mechanism here, you can access code and variables in other apps directly using the get_app() function.

http://appdaemon.readthedocs.io/en/latest/APIREFERENCE.html#get-app

They can also share data with the global_vars dictionary:

http://appdaemon.readthedocs.io/en/latest/APPGUIDE.html#getting-information-in-apps-and-sharing-information-between-apps

It definitely does have it. Like most times it works fine and updates when I make minor changes. But if I was to do a major change or several ones at the same time, it seems it doesn’t like it. The module reloads as I see it in the logs, but my changes don’t take effect. I notice this, because I am expecting a certain response which I don’t get, until I reload the service. Also I noticed this only happens to one of my apps, which acts like a core app and calls other apps to carry out functions. It is a dependency of other apps.

yes I do use that, but in my use case, I need the other apps to function independently without having like a core app that does the get_app() function. Which I also do now in another use case.

Yes I also use that, but if I change a parameter, is there a way to create like an event change or something? So the other apps knows, and goes to fetch it to carry out tasks.

Regards

Thank you very much for your hard work! Working beautifully here!

1 Like

Are you using the latest GA of 3.0? There was a bug in a few of the earlier betas that caused similar issues, it was fixed in beta 4. If you are stuill running the beta you should upgrade to the GA version.

Based on that description, I think set_app_state() might do what you want:

http://appdaemon.readthedocs.io/en/latest/APIREFERENCE.html?highlight=set_app_state()#set-app-state

No, it’s just a simple shared dictionary.

Now that I think is what I needed. I had just stubbornly not read anything concerning Dashboard, and so maybe that’s why I missed it.

Thanks

1 Like

It was originally intended to send app based data to the dash but it works equally well for sharing state in an event based way between apps

@ReneTode so I got it to run. It wasnt actually running. I was missing an apps folder, which I didnt use before and it was preventing the service from starting.
I also had to remove the log section, as I dont have a folder /export/hass/appdaemon_test/logs/
and again it wouldnt start. Do i have to manually create this folder?

finally after all this removed, it started. The main panels are coming up, but its showing entities not found. so no switches etc.

you can set the logs to whatever file you like, just make sure you use a dir where appdaemon has writing access.
its is very helpfull to have the logs set right, because without it you wont know what is going wrong.
i suspect that AD is started, but there is no connection to HASS.
but we can only know that when you have logs and are able to show what is in them.

@ReneTode thank you. where would be an obvious location. I mean how do i now which directory AD has access to. If I save to CONF, i guess should work?