appdaemon 4.5.6__tar.gz → 4.5.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {appdaemon-4.5.6/appdaemon.egg-info → appdaemon-4.5.7}/PKG-INFO +1 -1
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/adapi.py +40 -5
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/adbase.py +22 -8
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/version.py +1 -1
- {appdaemon-4.5.6 → appdaemon-4.5.7/appdaemon.egg-info}/PKG-INFO +1 -1
- {appdaemon-4.5.6 → appdaemon-4.5.7}/LICENSE.md +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/MANIFEST.in +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/README.md +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/README.rst +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/__main__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/admin.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/admin_loop.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/app_management.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/appdaemon.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/appdaemon.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/css/app.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/css/chunk-vendors.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/favicon.ico +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/index.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/js/app.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/js/app.js.map +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/js/chunk-vendors.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/aui/js/chunk-vendors.js.map +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/all.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/climacons-font.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/default/dashboard.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/default/variables.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/fontawesome.min.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/fonts.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/dashboard.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/img/carbon1.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/img/carbon2.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/img/carbon3.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/img/carbon4.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/img/glassic_bg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/glassic/variables.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/images/ui-icons_444444_256x240.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/images/ui-icons_555555_256x240.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/images/ui-icons_777620_256x240.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/images/ui-icons_777777_256x240.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/images/ui-icons_cc0000_256x240.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/images/ui-icons_ffffff_256x240.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/jquery-ui.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/jquery.gridster.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/main.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/materialdesignicons.min.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/non_dashboard.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/obsidian/dashboard.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/obsidian/img/obsidian_bg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/obsidian/img/obsidian_w_bg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/obsidian/img/obsidianbg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/obsidian/img/widgetbg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/obsidian/variables.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/rickshaw.min.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/simplyred/dashboard.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/simplyred/img/goldgradient.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/simplyred/img/goldtexture.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/simplyred/js/timer.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/simplyred/variables.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/v4-shims.min.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/zen/dashboard.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/zen/img/zen_bg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/zen/img/zen_bg2.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/zen/img/zen_weatherbg.jpg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/css/zen/variables.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/TickingTimebombBB.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/climacons-webfont.eot +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/climacons-webfont.svg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/climacons-webfont.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/climacons-webfont.woff +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/digital-7-mono.eot +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/digital-7-mono.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/materialdesignicons-webfont.eot +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/materialdesignicons-webfont.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/materialdesignicons-webfont.woff +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/materialdesignicons-webfont.woff2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/repetition.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/Blank.gif +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/android-chrome-192x192.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/android-chrome-512x512.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/apple-touch-icon.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/browserconfig.xml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/favicon-16x16.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/favicon-32x32.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/favicon.ico +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/manifest.json +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/mstile-144x144.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/mstile-150x150.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/mstile-310x150.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/mstile-310x310.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/images/mstile-70x70.png +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/admin.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/d3.layout.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/d3.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/dashboard.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/gauge.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/jquery-3.1.1.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/jquery-ui.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/jquery.gridster.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/justgage.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/knockout-3.4.1.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/list.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/plotly.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/raphael-2.1.4.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/reconnecting-websocket.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/rickshaw.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/socket.io.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/sockjs.min.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/stream.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/admin.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/body_include.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/dashboard.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/dashinit.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/error.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/head_include.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/list.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/templates/logon.jinja2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-brands-400.eot +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-brands-400.svg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-brands-400.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-brands-400.woff +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-brands-400.woff2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-regular-400.eot +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-regular-400.svg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-regular-400.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-regular-400.woff +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-regular-400.woff2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-solid-900.eot +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-solid-900.svg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-solid-900.ttf +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-solid-900.woff +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/webfonts/fa-solid-900.woff2 +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/callbacks.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/dashboard.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/dependency.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/dependency_manager.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/entity.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/events.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/exceptions.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/futures.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/http.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/logging.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/api.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/app.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/appdaemon.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/common.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/dashboard.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/http.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/log.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/misc.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/plugin.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/sequence.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/config/yaml.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/internal/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/internal/app_management.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/internal/file_check.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/internal/plugin.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/internal/state.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/internal/threading.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/notification/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/notification/android.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/notification/base.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/models/notification/iOS.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugin_management.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/dummy/dummyapi.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/dummy/dummyplugin.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/exceptions.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/hassapi.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/hassplugin.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/models.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/notifications.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/hass/utils.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/mqtt/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/mqtt/mqttapi.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/plugins/mqtt/mqttplugin.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/pyversions.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/scheduler.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/sequences.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/services.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/state.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/stream/__init__.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/stream/adstream.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/stream/socketio_handler.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/stream/sockjs_handler.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/stream/ws_handler.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/thread_async.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/threads.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/utility_loop.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/utils.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/AdminLog.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/AdminSummary.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/AdminTable.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/alarm.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basealarm/basealarm.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basealarm/basealarm.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basealarm/basealarm.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basecamera/basecamera.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basecamera/basecamera.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basecamera/basecamera.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseclimate/baseclimate.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseclimate/baseclimate.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseclimate/baseclimate.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseclock/baseclock.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseclock/baseclock.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseclock/baseclock.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basedatetime/basedatetime.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basedatetime/basedatetime.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basedatetime/basedatetime.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basedisplay/basedisplay.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basedisplay/basedisplay.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basedisplay/basedisplay.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseentitypicture/baseentitypicture.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseentitypicture/baseentitypicture.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseentitypicture/baseentitypicture.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseerror/baseerror.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseerror/baseerror.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseerror/baseerror.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basefan/basefan.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basefan/basefan.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basefan/basefan.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basegauge/basegauge.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basegauge/basegauge.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basegauge/basegauge.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseheater/baseheater.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseheater/baseheater.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseheater/baseheater.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseicon/baseicon.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseicon/baseicon.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseicon/baseicon.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseiframe/baseiframe.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseiframe/baseiframe.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseiframe/baseiframe.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseinputnumber/baseinputnumber.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseinputnumber/baseinputnumber.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseinputnumber/baseinputnumber.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basejavascript/basejavascript.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basejavascript/basejavascript.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basejavascript/basejavascript.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baselight/baselight.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baselight/baselight.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baselight/baselight.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basemedia/basemedia.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basemedia/basemedia.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basemedia/basemedia.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseradial/baseradial.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseradial/baseradial.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseradial/baseradial.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baserss/baserss.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baserss/baserss.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baserss/baserss.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseselect/baseselect.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseselect/baseselect.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseselect/baseselect.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseslider/baseslider.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseslider/baseslider.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseslider/baseslider.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseswitch/baseswitch.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseswitch/baseswitch.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseswitch/baseswitch.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basetemperature/basetemperature.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basetemperature/basetemperature.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basetemperature/basetemperature.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basetext/basetext.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basetext/basetext.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/basetext/basetext.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseweather/baseweather.css +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseweather/baseweather.html +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/baseweather/baseweather.js +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/binary_sensor.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/camera.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/climate.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/clock.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/cover.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/device_tracker.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/entitypicture.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/fan.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/gauge.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/group.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/heater.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/icon.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/iframe.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/input_boolean.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/input_datetime.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/input_number.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/input_select.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/input_slider.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/input_text.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/javascript.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/label.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/light.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/lock.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/london_underground.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/media_player.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/mode.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/navigate.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/person.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/pirateweather.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/radial.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/reload.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/rss.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/scene.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/script.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/sensor.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/sequence.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/switch.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/temperature.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/text_sensor.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/weather.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/widgets/weather_summary.yaml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon.egg-info/SOURCES.txt +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon.egg-info/dependency_links.txt +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon.egg-info/entry_points.txt +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon.egg-info/requires.txt +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon.egg-info/top_level.txt +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/apps/hello.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/ObjectTracker/general_app_functions.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/ObjectTracker/objectcontrole.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/alexa.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/battery.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/bysykkel.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/commute.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/dark_day.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/door_notification.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/eventCache.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/eventMonitor.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/globals.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/grandfather.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/hwcheck.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/ical.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/minimote.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/modes.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/momentary_switch.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/motion_lights.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/motion_notification.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/occusim.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/outside_lights.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/presence.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/ruter.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/secure.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/sensor_notification.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/sensor_notify.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/sequence.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/smart_heat.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/sound.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/switch_reset.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/conf/example_apps/yr.py +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/pyproject.toml +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/setup.cfg +0 -0
- {appdaemon-4.5.6 → appdaemon-4.5.7}/tests/test_main.py +0 -0
|
@@ -17,6 +17,7 @@ from typing import TYPE_CHECKING, Any, Literal, TypeVar, overload
|
|
|
17
17
|
from appdaemon import dependency, utils
|
|
18
18
|
from appdaemon import exceptions as ade
|
|
19
19
|
from appdaemon.appdaemon import AppDaemon
|
|
20
|
+
from appdaemon.models.config.app import AppConfig
|
|
20
21
|
from appdaemon.entity import Entity
|
|
21
22
|
from appdaemon.events import EventCallback
|
|
22
23
|
from appdaemon.logging import Logging
|
|
@@ -76,11 +77,6 @@ class ADAPI:
|
|
|
76
77
|
def __init__(self, ad: AppDaemon, config_model: "AppConfig"):
|
|
77
78
|
self.AD = ad
|
|
78
79
|
self.config_model = config_model
|
|
79
|
-
|
|
80
|
-
self.config = self.AD.config.model_dump(by_alias=True, exclude_unset=True)
|
|
81
|
-
self.app_config = self.AD.app_management.app_config.model_dump(by_alias=True, exclude_unset=True)
|
|
82
|
-
self.args = config_model.model_dump(by_alias=True, exclude_unset=True)
|
|
83
|
-
|
|
84
80
|
self.dashboard_dir = None
|
|
85
81
|
|
|
86
82
|
if self.AD.http is not None:
|
|
@@ -134,17 +130,44 @@ class ADAPI:
|
|
|
134
130
|
directory, but can be overridden in ``appdaemon.app_dir`` in the ``appdaemon.yaml`` file."""
|
|
135
131
|
return self.AD.app_dir
|
|
136
132
|
|
|
133
|
+
@app_dir.setter
|
|
134
|
+
def app_dir(self, value: Path) -> None:
|
|
135
|
+
self.logger.warning('app_dir is read-only and needs to be set before AppDaemon starts')
|
|
136
|
+
|
|
137
137
|
@property
|
|
138
138
|
def callback_counter(self) -> int:
|
|
139
139
|
return self.AD.app_management.objects[self.name].callback_counter
|
|
140
140
|
|
|
141
|
+
@callback_counter.setter
|
|
142
|
+
def callback_counter(self, value: Path) -> None:
|
|
143
|
+
self.logger.warning('callback_counter is read-only and is set internally by AppDaemon')
|
|
144
|
+
|
|
141
145
|
@property
|
|
142
146
|
def config_dir(self) -> Path:
|
|
143
147
|
"""Directory that contains the ``appdaemon.yaml`` file."""
|
|
144
148
|
return self.AD.config_dir
|
|
145
149
|
|
|
150
|
+
@config_dir.setter
|
|
151
|
+
def config_dir(self, value: Path) -> None:
|
|
152
|
+
self.logger.warning('config_dir is read-only and needs to be set before AppDaemon starts')
|
|
153
|
+
|
|
154
|
+
@property
|
|
155
|
+
def config_model(self) -> AppConfig:
|
|
156
|
+
"""The AppConfig model only for this app."""
|
|
157
|
+
return self._config_model
|
|
158
|
+
|
|
159
|
+
@config_model.setter
|
|
160
|
+
def config_model(self, new_config: Any) -> None:
|
|
161
|
+
match new_config:
|
|
162
|
+
case AppConfig():
|
|
163
|
+
self._config_model = new_config
|
|
164
|
+
case _:
|
|
165
|
+
self._config_model = AppConfig.model_validate(new_config)
|
|
166
|
+
self.args = self._config_model.model_dump(by_alias=True, exclude_unset=True)
|
|
167
|
+
|
|
146
168
|
@property
|
|
147
169
|
def global_vars(self) -> Any:
|
|
170
|
+
"""Globally locked attribute that can be used to share data between apps."""
|
|
148
171
|
with self.AD.global_lock:
|
|
149
172
|
return self.AD.global_vars
|
|
150
173
|
|
|
@@ -158,16 +181,28 @@ class ADAPI:
|
|
|
158
181
|
"""Reference to the AppDaemon Logging subsystem object."""
|
|
159
182
|
return self.AD.logging
|
|
160
183
|
|
|
184
|
+
@_logging.setter
|
|
185
|
+
def _logging(self, value: Logging) -> None:
|
|
186
|
+
self.logger.warning('The _logging property is read-only')
|
|
187
|
+
|
|
161
188
|
@property
|
|
162
189
|
def name(self) -> str:
|
|
163
190
|
"""The name for the app, as defined by it's key in the corresponding YAML file."""
|
|
164
191
|
return self.config_model.name
|
|
165
192
|
|
|
193
|
+
@name.setter
|
|
194
|
+
def name(self, value: str) -> None:
|
|
195
|
+
self.logger.warning("The name property is read-only and is defined by the app's key in the YAML file")
|
|
196
|
+
|
|
166
197
|
@property
|
|
167
198
|
def plugin_config(self) -> dict:
|
|
168
199
|
self.get_plugin_config()
|
|
169
200
|
return self.AD.plugins.config
|
|
170
201
|
|
|
202
|
+
@plugin_config.setter
|
|
203
|
+
def plugin_config(self, value: dict) -> None:
|
|
204
|
+
self.logger.warning("The plugin_config property is read-only and is set by the plugin itself")
|
|
205
|
+
|
|
171
206
|
#
|
|
172
207
|
# Logging
|
|
173
208
|
#
|
|
@@ -2,11 +2,11 @@ import threading
|
|
|
2
2
|
from functools import wraps
|
|
3
3
|
from logging import Logger
|
|
4
4
|
from pathlib import Path
|
|
5
|
-
from typing import TYPE_CHECKING
|
|
5
|
+
from typing import TYPE_CHECKING, Any
|
|
6
6
|
|
|
7
7
|
from appdaemon import adapi
|
|
8
8
|
from appdaemon import utils
|
|
9
|
-
from appdaemon.models.config.app import AppConfig
|
|
9
|
+
from appdaemon.models.config.app import AppConfig, AllAppConfig
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
# Check if the module is being imported using the legacy method
|
|
@@ -73,8 +73,6 @@ def global_lock(f):
|
|
|
73
73
|
|
|
74
74
|
class ADBase:
|
|
75
75
|
AD: "AppDaemon"
|
|
76
|
-
config_model: "AppConfig"
|
|
77
|
-
|
|
78
76
|
config: dict
|
|
79
77
|
"""Dictionary of the AppDaemon configuration
|
|
80
78
|
"""
|
|
@@ -96,10 +94,7 @@ class ADBase:
|
|
|
96
94
|
def __init__(self, ad: "AppDaemon", config_model: "AppConfig"):
|
|
97
95
|
self.AD = ad
|
|
98
96
|
self.config_model = config_model
|
|
99
|
-
|
|
100
97
|
self.config = self.AD.config.model_dump(by_alias=True, exclude_unset=True)
|
|
101
|
-
self.args = self.config_model.model_dump(by_alias=True, exclude_unset=True)
|
|
102
|
-
|
|
103
98
|
self.namespace = "default"
|
|
104
99
|
self.dashboard_dir = None
|
|
105
100
|
|
|
@@ -136,9 +131,28 @@ class ADBase:
|
|
|
136
131
|
# Sometimes this will be None. Namespaces are not guaranteed to be associated with a plugin
|
|
137
132
|
|
|
138
133
|
@property
|
|
139
|
-
def app_config(self):
|
|
134
|
+
def app_config(self) -> AllAppConfig:
|
|
135
|
+
"""The full app configuration model for all the apps."""
|
|
140
136
|
return self.AD.app_management.app_config
|
|
141
137
|
|
|
138
|
+
@app_config.setter
|
|
139
|
+
def app_config(self, new_config: AppConfig) -> None:
|
|
140
|
+
self.logger.warning("The full app configuration model is read-only")
|
|
141
|
+
|
|
142
|
+
@property
|
|
143
|
+
def config_model(self) -> AppConfig:
|
|
144
|
+
"""The AppConfig model only for this app."""
|
|
145
|
+
return self._config_model
|
|
146
|
+
|
|
147
|
+
@config_model.setter
|
|
148
|
+
def config_model(self, new_config: Any) -> None:
|
|
149
|
+
match new_config:
|
|
150
|
+
case AppConfig():
|
|
151
|
+
self._config_model = new_config
|
|
152
|
+
case _:
|
|
153
|
+
self._config_model = AppConfig.model_validate(new_config)
|
|
154
|
+
self.args = self._config_model.model_dump(by_alias=True, exclude_unset=True)
|
|
155
|
+
|
|
142
156
|
@property
|
|
143
157
|
def app_dir(self) -> Path:
|
|
144
158
|
return self.AD.app_dir
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version__ = "4.5.
|
|
1
|
+
__version__ = "4.5.7"
|
|
2
2
|
__version_comments__ = ""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/fonts/materialdesignicons-webfont.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{appdaemon-4.5.6 → appdaemon-4.5.7}/appdaemon/assets/javascript/reconnecting-websocket.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|