I also tried several options before ending up with Appdaemon.
Here are the pros and cons in my point of view:
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
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
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.
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.
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âŚ
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.