45 lines
750 B
Markdown
45 lines
750 B
Markdown
# AppDaemon Dev
|
|
|
|
## Setup
|
|
|
|
### Secrets
|
|
|
|
Needs a long-lived token for HA in `secrets.yaml`
|
|
|
|
### Test Script
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
set -e
|
|
|
|
SCRIPT_DIR=$(readlink -f $(dirname "${BASH_SOURCE[0]}"))
|
|
REPO_DIR=$(dirname $SCRIPT_DIR)
|
|
|
|
echo $REPO_DIR
|
|
cd $REPO_DIR
|
|
|
|
rm -rf ./dist
|
|
|
|
python -m build
|
|
|
|
docker build -t appdaemon:jsl-dev .
|
|
|
|
cd ../conf
|
|
docker compose run -it --rm appdaemon
|
|
```
|
|
|
|
## TODO
|
|
|
|
### Reloading
|
|
|
|
- Seems to work from non-package module
|
|
- Does not work from inside a package module
|
|
|
|
|
|
## Reference
|
|
|
|
- [`importlib.reload(module)`](https://docs.python.org/3/library/importlib.html#importlib.reload)
|
|
- `AppManagement.check_app_updates`
|
|
- `AppManagement._load_reload_modules`
|
|
- `AppManagement._load_apps`
|
|
- `AppManagement.init_object` |