[Share your Projects] My Appdaemon Apps

I finally found the time to create a documentation for my Appdaemon Apps repo.

I hope this inspires you to use Appdaemon, implement new ideas and comment on how I can improve it.

You can find it under

Any feedback is greatly appreciated!

Have an automated day :wink:

12 Likes

Hi,

thanks for sharing your appdaemon scripts!

Right now I’m evaluation the different ways of automation in HA and trying to figure out which one would be the best way for implementing my ideas. :slight_smile:

Your repository looks like a great source for checking the appdaemon way. :+1:

Awesome work!

Thank you very much :relaxed:

I also tried several options before ending up with Appdaemon.
Here are the pros and cons in my point of view:

  1. Built in Automations
    Pro:
    Good documentation
    Many examples
    Officially part of Homeassistant and thus officially maintained and supported
    Good implementation, already offers the option to turn them on/off, etc.
    Con:
    YAML
    Hard to debug
    You have to restart to see your changes
    Limited / hard to maintain for complex scenarios

  2. NodeRed
    Pro:
    Perfect for showing program logic to someone without programming skill
    Extremely fast prototyping. Click “deploy” and you see your changes
    Con:
    Debug functionality is still limited. If some node has an error its sometimes impossible to find out what it is
    Can get Complex / hard to maintain for complex automations. Also due to the flow logic which isn’t always the best paradigm for some usecases

  3. Appdaemon
    Pro:
    Offers the whole ecosystem of Python, libs, test frameworks
    Easy to debug
    Endless possibilities
    The framework is great and there is great documentation and support
    Con:
    You have to (know how to) code python
    A learning curve for the framework
    Not directly built into Homeassistant so sometimes workarounds are required

So as a wrapup, I would always suggest to start with nodered for simple automations, use built in automations when you have a great working example from the forum and if you know how to code python always choose Appdaemon.

4 Likes

Thanks for the overview and summary. :+1::slightly_smiling_face:

Automations: I’ve noticed how fast you can reach its limits. For simple automation it’s a good choice but as soon as you want to integrate more dependencies it can complicated, nasty or impossible.

Node-Red is an interesting framework but currently I don’t trust in its stability. Some days ago my HA logs reported some errors that Node-Red isn’t able to connect to HA properly.

So and AppDaemon?
I did my first experiments with AppDaemon today and I was surprised/happy about its capabilities. :smile:

It was a simple lab setup:

  • IKEA TRÅDFRI bulb (Zigbee)
  • Osram Lightify Plug (Zigbee)
  • deCONZ

If you toggle the Lightlfy Plug:

  • the bulb will be toggled 3 seconds later
  • you’ll get a Telegram notification

So it’s really really basic stuff… :slight_smile:

I guess it’s possible to implement this little setup in an HA script but it just worked in AppDaemon in less than 10 lines of code.

So I guess i’ll have a mix of HA Automation and AppDaemon in future. :wink:

1 Like

Hey,

Nice idea! Why not set up a repo that everyone can add to? Like an AD app repo. So debugging, in general, would be easier. Or at least a way for people to find apps asap, fork etc…
I have 1 app and I’ll be adding more after uni starts. You can add it if you want.

What do you think ?

Matthew

There is an appdaemon-apps github tag

There is indeed, I had forgotten about tags. I’ve always had trouble finding projects that are only tagged. Seem to get lost. Anyhow I’ll use that for the time being.

Added another app under thermostat https://github.com/matthew73210/python/tree/appdeamon_apps/home_assistant/AppDeamon

It’s a thermostat that can do PID or standard. For the moment the variables are still a bit messy. Also for the moment, it doesn’t compute the PID coeffs. And the heatloss is a massive simplification (my control theory teacher would kill me).

Future adds are: PID coeffs calculation and heatloss model estimation.

Cheers

2 Likes

Currently running a Fibaro HomeCenter, this topic helps me a lot “to put things in perspective”.

1 Like

Thank you for your reviews, Now I trying to find the way how to develop my Python project on HA. So, Please give me a suggestion if It’s possible to develop my Python code on Django framework inside Appdaemon. Thank you for your kindly suggestion.

I would advise against mixing Appdaemon with another framework like Django.
It will be immensely complicated to get it to work.

Either use Appdaemon OR use Django and the Homeassistant REST/Websocket API: https://developers.home-assistant.io/docs/api/rest

2 Likes

Thank you for your prompt reply. I am new for HA and Python, For my attention I would like to full control HTML, CSS, Javascript and Python on secure platform. do you have suggestions to make the way secure and easy for HA? Thank you so much @eifinger

I have the impression that you are currently trying to recreate something which is already offered by Homeassistant. Let my try to better understand your goals.

What functionality/Use Case are you trying to achieve?
A specific UI, Automation, Process?
Do you want to program something to get experience with Django or Homeassistant?

1 Like

Thank you for your assistant and your question,
What functionality/Use Case are you trying to achieve?

  • I trying to design my Use Case reference on my post Multiple install Hassio on Ubuntu
  • And I would like to re-design our HA User Interface of my Python code and trying add funtion User Management, Login System and more on the future to control slave HA.
    A specific UI, Automation, Process?
  • I hope to customomize in my Python code.
    Do you want to program something to get experience with Django or Homeassistant?
    _ I have no idea, But I would like to see your recommendations. Example framework or something that can customize code, secure and can control Slave HA.

Thank you so much @eifinger

I don’t understand why you want to do this. Tinkerer already pointed out the best way to control other instances from the master instance in the other topic, what’s not good about this approach? For me it sound like you want to reinvent the wheel.

1 Like

Thank you @Burningstone, I think I found the solutions right now. I am sorry for misunderstanding my english is not clear and I am new using for HA and Python.today I trying to find easy way to do.Python programming inside Appdaemon I think it’s work perfect with no need any platform because that’s all inside Appdaemon
appdaemon
->apps
->compiled
–>css
–>html
–>javascript
->hadashboard
–>myapp-folder
->namespaces
->web

If you have any suggestion,or Do I understand right? please let me know… Thank you so much

Yeah AppDaemom is exactly for that, programming stuff in python for home assiatant. I still don’t know what you want to do with it? Home Assistant has most of the tools needed and normally AppDaemon is mostly used for more complex automations that are hard/impossible to do in Home Assistant or by people who are familiar with python and like to program in python.

For my attention I needs to have my User Management System, Login System and centralize control home automation for all HA client. Best

My understanding is that @indysci wants to create a Multitenant Homeassistant Administration App from scratch.
He wants to completely design, build and implement a frontend and backend to manage multiple Homeassistant installations from a single pane of glass only using the Homeassistant APIs to centralize control of users, passwords etc while also offering SSO to each Homeassistant Instance.

1 Like

But why? You can control other HA instances from a main instance already with multiple tools.

I don’t want to hinder you in doing it, it’s just not clear to me why you want to do it and it’s going to be really hard if you are new to python and HA.