appdaemon 4.5.0__tar.gz → 4.5.1__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.
Files changed (354) hide show
  1. {appdaemon-4.5.0/appdaemon.egg-info → appdaemon-4.5.1}/PKG-INFO +2 -1
  2. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/adapi.py +6 -3
  3. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/app_management.py +2 -2
  4. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/default/variables.yaml +1 -1
  5. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/variables.yaml +1 -1
  6. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/obsidian/variables.yaml +1 -1
  7. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/simplyred/variables.yaml +1 -1
  8. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/entity.py +2 -3
  9. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/exceptions.py +1 -1
  10. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/http.py +3 -2
  11. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/hassapi.py +2 -2
  12. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/hassplugin.py +2 -2
  13. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/mqtt/mqttapi.py +1 -1
  14. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/scheduler.py +74 -215
  15. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/threads.py +30 -59
  16. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/utils.py +19 -20
  17. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/version.py +1 -1
  18. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basefan/basefan.js +1 -1
  19. {appdaemon-4.5.0 → appdaemon-4.5.1/appdaemon.egg-info}/PKG-INFO +2 -1
  20. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon.egg-info/requires.txt +1 -0
  21. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/ObjectTracker/general_app_functions.py +4 -8
  22. {appdaemon-4.5.0 → appdaemon-4.5.1}/pyproject.toml +10 -2
  23. {appdaemon-4.5.0 → appdaemon-4.5.1}/LICENSE.md +0 -0
  24. {appdaemon-4.5.0 → appdaemon-4.5.1}/MANIFEST.in +0 -0
  25. {appdaemon-4.5.0 → appdaemon-4.5.1}/README.md +0 -0
  26. {appdaemon-4.5.0 → appdaemon-4.5.1}/README.rst +0 -0
  27. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/__init__.py +0 -0
  28. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/__main__.py +0 -0
  29. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/adbase.py +0 -0
  30. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/admin.py +0 -0
  31. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/admin_loop.py +0 -0
  32. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/appdaemon.py +0 -0
  33. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/appdaemon.png +0 -0
  34. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/css/app.css +0 -0
  35. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/css/chunk-vendors.css +0 -0
  36. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/favicon.ico +0 -0
  37. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/index.html +0 -0
  38. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/js/app.js +0 -0
  39. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/js/app.js.map +0 -0
  40. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/js/chunk-vendors.js +0 -0
  41. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/aui/js/chunk-vendors.js.map +0 -0
  42. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/all.css +0 -0
  43. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/climacons-font.css +0 -0
  44. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/default/dashboard.css +0 -0
  45. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/fontawesome.min.css +0 -0
  46. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/fonts.css +0 -0
  47. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/dashboard.css +0 -0
  48. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/img/carbon1.jpg +0 -0
  49. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/img/carbon2.jpg +0 -0
  50. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/img/carbon3.jpg +0 -0
  51. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/img/carbon4.jpg +0 -0
  52. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/glassic/img/glassic_bg.jpg +0 -0
  53. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/images/ui-icons_444444_256x240.png +0 -0
  54. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/images/ui-icons_555555_256x240.png +0 -0
  55. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/images/ui-icons_777620_256x240.png +0 -0
  56. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/images/ui-icons_777777_256x240.png +0 -0
  57. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/images/ui-icons_cc0000_256x240.png +0 -0
  58. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/images/ui-icons_ffffff_256x240.png +0 -0
  59. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/jquery-ui.css +0 -0
  60. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/jquery.gridster.css +0 -0
  61. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/main.css +0 -0
  62. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/materialdesignicons.min.css +0 -0
  63. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/non_dashboard.css +0 -0
  64. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/obsidian/dashboard.css +0 -0
  65. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/obsidian/img/obsidian_bg.jpg +0 -0
  66. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/obsidian/img/obsidian_w_bg.jpg +0 -0
  67. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/obsidian/img/obsidianbg.jpg +0 -0
  68. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/obsidian/img/widgetbg.jpg +0 -0
  69. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/rickshaw.min.css +0 -0
  70. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/simplyred/dashboard.css +0 -0
  71. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/simplyred/img/goldgradient.png +0 -0
  72. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/simplyred/img/goldtexture.jpg +0 -0
  73. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/simplyred/js/timer.js +0 -0
  74. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/v4-shims.min.css +0 -0
  75. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/zen/dashboard.css +0 -0
  76. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/zen/img/zen_bg.jpg +0 -0
  77. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/zen/img/zen_bg2.jpg +0 -0
  78. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/zen/img/zen_weatherbg.jpg +0 -0
  79. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/css/zen/variables.yaml +0 -0
  80. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/TickingTimebombBB.ttf +0 -0
  81. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/climacons-webfont.eot +0 -0
  82. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/climacons-webfont.svg +0 -0
  83. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/climacons-webfont.ttf +0 -0
  84. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/climacons-webfont.woff +0 -0
  85. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/digital-7-mono.eot +0 -0
  86. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/digital-7-mono.ttf +0 -0
  87. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/materialdesignicons-webfont.eot +0 -0
  88. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/materialdesignicons-webfont.ttf +0 -0
  89. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/materialdesignicons-webfont.woff +0 -0
  90. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/materialdesignicons-webfont.woff2 +0 -0
  91. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/fonts/repetition.ttf +0 -0
  92. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/Blank.gif +0 -0
  93. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/android-chrome-192x192.png +0 -0
  94. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/android-chrome-512x512.png +0 -0
  95. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/apple-touch-icon.png +0 -0
  96. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/browserconfig.xml +0 -0
  97. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/favicon-16x16.png +0 -0
  98. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/favicon-32x32.png +0 -0
  99. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/favicon.ico +0 -0
  100. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/manifest.json +0 -0
  101. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/mstile-144x144.png +0 -0
  102. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/mstile-150x150.png +0 -0
  103. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/mstile-310x150.png +0 -0
  104. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/mstile-310x310.png +0 -0
  105. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/images/mstile-70x70.png +0 -0
  106. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/admin.js +0 -0
  107. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/d3.layout.min.js +0 -0
  108. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/d3.min.js +0 -0
  109. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/dashboard.js +0 -0
  110. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/gauge.min.js +0 -0
  111. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/jquery-3.1.1.min.js +0 -0
  112. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/jquery-ui.js +0 -0
  113. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/jquery.gridster.js +0 -0
  114. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/justgage.js +0 -0
  115. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/knockout-3.4.1.js +0 -0
  116. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/list.min.js +0 -0
  117. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/plotly.min.js +0 -0
  118. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/raphael-2.1.4.min.js +0 -0
  119. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/reconnecting-websocket.min.js +0 -0
  120. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/rickshaw.min.js +0 -0
  121. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/socket.io.js +0 -0
  122. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/sockjs.min.js +0 -0
  123. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/javascript/stream.js +0 -0
  124. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/admin.jinja2 +0 -0
  125. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/body_include.jinja2 +0 -0
  126. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/dashboard.jinja2 +0 -0
  127. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/dashinit.jinja2 +0 -0
  128. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/error.jinja2 +0 -0
  129. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/head_include.jinja2 +0 -0
  130. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/list.jinja2 +0 -0
  131. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/templates/logon.jinja2 +0 -0
  132. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-brands-400.eot +0 -0
  133. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-brands-400.svg +0 -0
  134. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-brands-400.ttf +0 -0
  135. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-brands-400.woff +0 -0
  136. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-brands-400.woff2 +0 -0
  137. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-regular-400.eot +0 -0
  138. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-regular-400.svg +0 -0
  139. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-regular-400.ttf +0 -0
  140. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-regular-400.woff +0 -0
  141. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-regular-400.woff2 +0 -0
  142. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-solid-900.eot +0 -0
  143. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-solid-900.svg +0 -0
  144. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-solid-900.ttf +0 -0
  145. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-solid-900.woff +0 -0
  146. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/assets/webfonts/fa-solid-900.woff2 +0 -0
  147. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/callbacks.py +0 -0
  148. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/dashboard.py +0 -0
  149. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/dependency.py +0 -0
  150. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/dependency_manager.py +0 -0
  151. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/events.py +0 -0
  152. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/futures.py +0 -0
  153. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/logging.py +0 -0
  154. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/__init__.py +0 -0
  155. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/__init__.py +0 -0
  156. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/api.py +0 -0
  157. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/app.py +0 -0
  158. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/appdaemon.py +0 -0
  159. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/common.py +0 -0
  160. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/dashboard.py +0 -0
  161. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/http.py +0 -0
  162. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/log.py +0 -0
  163. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/misc.py +0 -0
  164. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/plugin.py +0 -0
  165. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/sequence.py +0 -0
  166. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/config/yaml.py +0 -0
  167. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/internal/__init__.py +0 -0
  168. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/internal/app_management.py +0 -0
  169. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/internal/file_check.py +0 -0
  170. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/internal/plugin.py +0 -0
  171. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/internal/state.py +0 -0
  172. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/internal/threading.py +0 -0
  173. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/notification/__init__.py +0 -0
  174. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/notification/android.py +0 -0
  175. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/notification/base.py +0 -0
  176. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/models/notification/iOS.py +0 -0
  177. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugin_management.py +0 -0
  178. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/__init__.py +0 -0
  179. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/dummy/dummyapi.py +0 -0
  180. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/dummy/dummyplugin.py +0 -0
  181. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/__init__.py +0 -0
  182. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/exceptions.py +0 -0
  183. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/models.py +0 -0
  184. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/notifications.py +0 -0
  185. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/hass/utils.py +0 -0
  186. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/mqtt/__init__.py +0 -0
  187. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/plugins/mqtt/mqttplugin.py +0 -0
  188. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/pyversions.py +0 -0
  189. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/sequences.py +0 -0
  190. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/services.py +0 -0
  191. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/state.py +0 -0
  192. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/stream/__init__.py +0 -0
  193. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/stream/adstream.py +0 -0
  194. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/stream/socketio_handler.py +0 -0
  195. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/stream/sockjs_handler.py +0 -0
  196. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/stream/ws_handler.py +0 -0
  197. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/thread_async.py +0 -0
  198. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/utility_loop.py +0 -0
  199. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/AdminLog.yaml +0 -0
  200. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/AdminSummary.yaml +0 -0
  201. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/AdminTable.yaml +0 -0
  202. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/alarm.yaml +0 -0
  203. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basealarm/basealarm.css +0 -0
  204. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basealarm/basealarm.html +0 -0
  205. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basealarm/basealarm.js +0 -0
  206. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basecamera/basecamera.css +0 -0
  207. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basecamera/basecamera.html +0 -0
  208. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basecamera/basecamera.js +0 -0
  209. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseclimate/baseclimate.css +0 -0
  210. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseclimate/baseclimate.html +0 -0
  211. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseclimate/baseclimate.js +0 -0
  212. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseclock/baseclock.css +0 -0
  213. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseclock/baseclock.html +0 -0
  214. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseclock/baseclock.js +0 -0
  215. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basedatetime/basedatetime.css +0 -0
  216. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basedatetime/basedatetime.html +0 -0
  217. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basedatetime/basedatetime.js +0 -0
  218. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basedisplay/basedisplay.css +0 -0
  219. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basedisplay/basedisplay.html +0 -0
  220. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basedisplay/basedisplay.js +0 -0
  221. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseentitypicture/baseentitypicture.css +0 -0
  222. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseentitypicture/baseentitypicture.html +0 -0
  223. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseentitypicture/baseentitypicture.js +0 -0
  224. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseerror/baseerror.css +0 -0
  225. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseerror/baseerror.html +0 -0
  226. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseerror/baseerror.js +0 -0
  227. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basefan/basefan.css +0 -0
  228. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basefan/basefan.html +0 -0
  229. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basegauge/basegauge.css +0 -0
  230. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basegauge/basegauge.html +0 -0
  231. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basegauge/basegauge.js +0 -0
  232. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseheater/baseheater.css +0 -0
  233. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseheater/baseheater.html +0 -0
  234. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseheater/baseheater.js +0 -0
  235. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseicon/baseicon.css +0 -0
  236. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseicon/baseicon.html +0 -0
  237. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseicon/baseicon.js +0 -0
  238. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseiframe/baseiframe.css +0 -0
  239. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseiframe/baseiframe.html +0 -0
  240. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseiframe/baseiframe.js +0 -0
  241. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseinputnumber/baseinputnumber.css +0 -0
  242. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseinputnumber/baseinputnumber.html +0 -0
  243. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseinputnumber/baseinputnumber.js +0 -0
  244. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basejavascript/basejavascript.css +0 -0
  245. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basejavascript/basejavascript.html +0 -0
  246. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basejavascript/basejavascript.js +0 -0
  247. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baselight/baselight.css +0 -0
  248. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baselight/baselight.html +0 -0
  249. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baselight/baselight.js +0 -0
  250. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basemedia/basemedia.css +0 -0
  251. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basemedia/basemedia.html +0 -0
  252. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basemedia/basemedia.js +0 -0
  253. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseradial/baseradial.css +0 -0
  254. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseradial/baseradial.html +0 -0
  255. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseradial/baseradial.js +0 -0
  256. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baserss/baserss.css +0 -0
  257. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baserss/baserss.html +0 -0
  258. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baserss/baserss.js +0 -0
  259. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseselect/baseselect.css +0 -0
  260. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseselect/baseselect.html +0 -0
  261. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseselect/baseselect.js +0 -0
  262. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseslider/baseslider.css +0 -0
  263. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseslider/baseslider.html +0 -0
  264. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseslider/baseslider.js +0 -0
  265. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseswitch/baseswitch.css +0 -0
  266. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseswitch/baseswitch.html +0 -0
  267. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseswitch/baseswitch.js +0 -0
  268. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basetemperature/basetemperature.css +0 -0
  269. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basetemperature/basetemperature.html +0 -0
  270. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basetemperature/basetemperature.js +0 -0
  271. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basetext/basetext.css +0 -0
  272. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basetext/basetext.html +0 -0
  273. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/basetext/basetext.js +0 -0
  274. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseweather/baseweather.css +0 -0
  275. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseweather/baseweather.html +0 -0
  276. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/baseweather/baseweather.js +0 -0
  277. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/binary_sensor.yaml +0 -0
  278. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/camera.yaml +0 -0
  279. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/climate.yaml +0 -0
  280. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/clock.yaml +0 -0
  281. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/cover.yaml +0 -0
  282. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/device_tracker.yaml +0 -0
  283. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/entitypicture.yaml +0 -0
  284. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/fan.yaml +0 -0
  285. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/gauge.yaml +0 -0
  286. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/group.yaml +0 -0
  287. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/heater.yaml +0 -0
  288. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/icon.yaml +0 -0
  289. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/iframe.yaml +0 -0
  290. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/input_boolean.yaml +0 -0
  291. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/input_datetime.yaml +0 -0
  292. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/input_number.yaml +0 -0
  293. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/input_select.yaml +0 -0
  294. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/input_slider.yaml +0 -0
  295. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/input_text.yaml +0 -0
  296. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/javascript.yaml +0 -0
  297. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/label.yaml +0 -0
  298. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/light.yaml +0 -0
  299. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/lock.yaml +0 -0
  300. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/london_underground.yaml +0 -0
  301. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/media_player.yaml +0 -0
  302. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/mode.yaml +0 -0
  303. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/navigate.yaml +0 -0
  304. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/person.yaml +0 -0
  305. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/pirateweather.yaml +0 -0
  306. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/radial.yaml +0 -0
  307. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/reload.yaml +0 -0
  308. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/rss.yaml +0 -0
  309. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/scene.yaml +0 -0
  310. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/script.yaml +0 -0
  311. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/sensor.yaml +0 -0
  312. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/sequence.yaml +0 -0
  313. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/switch.yaml +0 -0
  314. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/temperature.yaml +0 -0
  315. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/text_sensor.yaml +0 -0
  316. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/weather.yaml +0 -0
  317. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon/widgets/weather_summary.yaml +0 -0
  318. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon.egg-info/SOURCES.txt +0 -0
  319. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon.egg-info/dependency_links.txt +0 -0
  320. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon.egg-info/entry_points.txt +0 -0
  321. {appdaemon-4.5.0 → appdaemon-4.5.1}/appdaemon.egg-info/top_level.txt +0 -0
  322. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/apps/hello.py +0 -0
  323. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/ObjectTracker/objectcontrole.py +0 -0
  324. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/alexa.py +0 -0
  325. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/battery.py +0 -0
  326. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/bysykkel.py +0 -0
  327. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/commute.py +0 -0
  328. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/dark_day.py +0 -0
  329. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/door_notification.py +0 -0
  330. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/eventCache.py +0 -0
  331. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/eventMonitor.py +0 -0
  332. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/globals.py +0 -0
  333. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/grandfather.py +0 -0
  334. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/hwcheck.py +0 -0
  335. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/ical.py +0 -0
  336. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/minimote.py +0 -0
  337. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/modes.py +0 -0
  338. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/momentary_switch.py +0 -0
  339. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/motion_lights.py +0 -0
  340. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/motion_notification.py +0 -0
  341. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/occusim.py +0 -0
  342. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/outside_lights.py +0 -0
  343. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/presence.py +0 -0
  344. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/ruter.py +0 -0
  345. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/secure.py +0 -0
  346. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/sensor_notification.py +0 -0
  347. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/sensor_notify.py +0 -0
  348. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/sequence.py +0 -0
  349. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/smart_heat.py +0 -0
  350. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/sound.py +0 -0
  351. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/switch_reset.py +0 -0
  352. {appdaemon-4.5.0 → appdaemon-4.5.1}/conf/example_apps/yr.py +0 -0
  353. {appdaemon-4.5.0 → appdaemon-4.5.1}/setup.cfg +0 -0
  354. {appdaemon-4.5.0 → appdaemon-4.5.1}/tests/test_main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: appdaemon
3
- Version: 4.5.0
3
+ Version: 4.5.1
4
4
  Summary: Apps for the Home Assistant home automation package.
5
5
  Author-email: Andrew I Cockburn <appdaemon@acockburn.com>
6
6
  License: Apache License
@@ -241,6 +241,7 @@ Requires-Dist: black<25.2,>=23.1; extra == "dev"
241
241
  Requires-Dist: pre-commit<3.9.0,>=3.1.1; python_version > "3.7" and extra == "dev"
242
242
  Requires-Dist: pytest<8.4.0,>=7.2.1; extra == "dev"
243
243
  Requires-Dist: ruff<0.7.0,>=0.0.261; extra == "dev"
244
+ Requires-Dist: codespell>=2.4.1; extra == "dev"
244
245
  Provides-Extra: doc
245
246
  Requires-Dist: sphinx-autobuild<2024.10.0,>=2021.3.14; extra == "doc"
246
247
  Requires-Dist: sphinx-rtd-theme==3.0.2; extra == "doc"
@@ -255,8 +255,11 @@ class ADAPI:
255
255
  # Its a user defined log
256
256
  logger = self.logger if log is None else self.get_user_log(log)
257
257
 
258
+ if ascii_encode is None:
259
+ ascii_encode = self.AD.config.ascii_encode
260
+
258
261
  kwargs = dict(
259
- ascii_encode=ascii_encode or self.AD.config.ascii_encode,
262
+ ascii_encode=ascii_encode,
260
263
  stack_info=stack_info,
261
264
  stacklevel=stacklevel,
262
265
  extra=extra,
@@ -1678,7 +1681,7 @@ class ADAPI:
1678
1681
  `namespace documentation <APPGUIDE.html#namespaces>`__ for more information.
1679
1682
  copy (bool, optional): Whether to return a copy of the internal data. This is ``True`` by default in order
1680
1683
  to protect the user from accidentally modifying AppDaemon's internal data structures, which is dangerous
1681
- and can cause undefined behvaior. Only set this to ``False`` for read-only operations.
1684
+ and can cause undefined behavior. Only set this to ``False`` for read-only operations.
1682
1685
 
1683
1686
  Returns:
1684
1687
  The state or attribute of the entity ID provided or a dict of that maps entity IDs to their respective
@@ -1809,7 +1812,7 @@ class ADAPI:
1809
1812
  accept arbitrary keyword arguments.
1810
1813
 
1811
1814
  Registering services in namespaces that already have plugins is not recommended, as it can lead to some
1812
- unpredictable behavior. Intead, it's recommended to use a user-defined namespace or one that is not tied to
1815
+ unpredictable behavior. Instead, it's recommended to use a user-defined namespace or one that is not tied to
1813
1816
  plugin.
1814
1817
 
1815
1818
  Args:
@@ -569,7 +569,7 @@ class AppManagement:
569
569
  yield new_cfg
570
570
 
571
571
  def update(d1: dict, d2: dict) -> dict:
572
- """Internal funciton to log warnings if an app's name gets repeated."""
572
+ """Internal function to log warnings if an app's name gets repeated."""
573
573
  if overlap := set(k.lower() for k in d2 if k in d1):
574
574
  # There's a special case for the sequences in order to merge them if they're defined in multiple files
575
575
  if "sequence" in overlap:
@@ -846,7 +846,7 @@ class AppManagement:
846
846
  for path in import_dirs:
847
847
  self.add_to_import_path(path)
848
848
 
849
- # Add any aditional import paths
849
+ # Add any additional import paths
850
850
  for path in map(Path, self.AD.import_paths):
851
851
  if not path.exists():
852
852
  self.logger.warning(
@@ -1,6 +1,6 @@
1
1
  # Core styles. Reference these wherever possible rather than making custom
2
2
  # versions of red, green, etc. This will make it easier to quickly change the
3
- # overall pallette of the dashboard just by overriding these variables.
3
+ # overall palette of the dashboard just by overriding these variables.
4
4
 
5
5
  # This file contains the application "defaults".
6
6
  # IF YOU WANT TO CUSTOMIZE styleS FOR YOUR OWN INSTANCE, DO NOT EDIT THIS FILE.
@@ -1,6 +1,6 @@
1
1
  # Core styles. Reference these wherever possible rather than making custom
2
2
  # versions of red, green, etc. This will make it easier to quickly change the
3
- # overall pallette of the dashboard just by overriding these variables.
3
+ # overall palette of the dashboard just by overriding these variables.
4
4
 
5
5
  # This file contains the application "defaults".
6
6
  # IF YOU WANT TO CUSTOMIZE styleS FOR YOUR OWN INSTANCE, DO NOT EDIT THIS FILE.
@@ -22,7 +22,7 @@
22
22
  # gray and getting progressively darker towards night. Be aware that if you remove
23
23
  # it, you will end up with a white background so plan accordingly if this is a problem.
24
24
  #
25
- # The meta tag jsut above this refreshes your dash once an hour so you can see the
25
+ # The meta tag just above this refreshes your dash once an hour so you can see the
26
26
  # effect of the script without manually reloading the dashboard. The content value
27
27
  # is in seconds so if you want it shorter or longer you can adjust that value
28
28
  #
@@ -22,7 +22,7 @@
22
22
  # gray and getting progressively darker towards night. Be aware that if you remove
23
23
  # it, you will end up with a white background so plan accordingly if this is a problem.
24
24
  #
25
- # The meta tag jsut above this refreshes your dash once an hour so you can see the
25
+ # The meta tag just above this refreshes your dash once an hour so you can see the
26
26
  # effect of the script without manually reloading the dashboard. The content value
27
27
  # is in seconds so if you want it shorter or longer you can adjust that value
28
28
  #
@@ -151,7 +151,7 @@ class Entity:
151
151
  default (any, optional): The value to return when the entity or the attribute doesn't exist.
152
152
  copy (bool, optional): Whether to return a copy of the internal data. This is ``True`` by default in order
153
153
  to protect the user from accidentally modifying AppDaemon's internal data structures, which is dangerous
154
- and can cause undefined behvaior. Only set this to ``False`` for read-only operations.
154
+ and can cause undefined behavior. Only set this to ``False`` for read-only operations.
155
155
 
156
156
  Returns:
157
157
  The entire state of the entity at that given time, if if ``get_state()``
@@ -550,7 +550,6 @@ class Entity:
550
550
 
551
551
  @property
552
552
  def _simple_state(self) -> dict[str, Any]:
553
- return self.adapi.get_state()
554
553
  return self.AD.state.get_state_simple(self.namespace, self.entity_id)
555
554
 
556
555
  @property
@@ -603,7 +602,7 @@ class Entity:
603
602
  def last_changed_delta(self) -> timedelta | None:
604
603
  """A timedelta object representing the time since the entity was last changed"""
605
604
  if time_str := self.last_changed:
606
- compare = self.adapi.parse_time(time_str, aware=True)
605
+ compare = self.adapi.parse_datetime(time_str, aware=True)
607
606
  now = self.AD.sched.get_now_sync()
608
607
  return (now - compare)
609
608
 
@@ -318,7 +318,7 @@ class HTTPHostError(AppDaemonException):
318
318
 
319
319
  def __str__(self):
320
320
  res = "Invalid host specified in URL for HTTP component\n"
321
- res += "As of AppDaemon 4.5 the host name specificed in the URL must resolve to a known host\n"
321
+ res += "As of AppDaemon 4.5 the host name specified in the URL must resolve to a known host\n"
322
322
  res += "You can restore previous behavior by using `0.0.0.0` as the host portion of the URL\n"
323
323
  res += f"For instance: `http://0.0.0.0:{self.port}`\n"
324
324
  return res
@@ -117,13 +117,14 @@ class HTTP:
117
117
  AD: "AppDaemon"
118
118
  """Reference to the AppDaemon container object
119
119
  """
120
+ name: str = "_http"
120
121
 
121
122
  stopping: bool
122
123
  executor: concurrent.futures.ThreadPoolExecutor
123
124
 
124
125
  def __init__(self, ad: "AppDaemon", dashboard, old_admin, admin, api, http):
125
126
  self.AD = ad
126
- self.logger = self.logging.get_child("_http")
127
+ self.logger = self.logging.get_child(self.name)
127
128
  self.access = self.logging.get_access()
128
129
 
129
130
  self.dashboard = dashboard
@@ -893,7 +894,7 @@ class HTTP:
893
894
  return self.get_response(request, code, "App Not Found")
894
895
 
895
896
  elif code == 500:
896
- return self.get_response(request, code, "An Error occured while processing request")
897
+ return self.get_response(request, code, "An Error occurred while processing request")
897
898
 
898
899
  response = "OK"
899
900
  self.access.info("API Call to %s: status: %s %s", endpoint, code, response)
@@ -384,7 +384,7 @@ class Hass(ADBase, ADAPI):
384
384
  case Iterable():
385
385
  constraints = value if isinstance(value, list) else list(value)
386
386
 
387
- assert isinstance(value, list) and all(isinstance(v, str) for v in value)
387
+ assert isinstance(constraints, list) and all(isinstance(v, str) for v in constraints)
388
388
 
389
389
  for constraint in constraints:
390
390
  parts = re.split(r',\s*', constraint)
@@ -475,7 +475,7 @@ class Hass(ADBase, ADAPI):
475
475
  ``timeout``. If ``timeout`` is shorter than this one, it will trigger before this one does.
476
476
  suppress_log_messages (bool, optional): Only applicable to the Hass plugin. If this is set to ``True``,
477
477
  Appdaemon will suppress logging of warnings for service calls to Home Assistant, specifically timeouts
478
- and non OK statuses. Use this flag and set it to ``True`` to supress these log messages if you are
478
+ and non OK statuses. Use this flag and set it to ``True`` to suppress these log messages if you are
479
479
  performing your own error checking as described `here <APPGUIDE.html#some-notes-on-service-calls>`__
480
480
  service_data (dict, optional): Used as an additional dictionary to pass arguments into the ``service_data``
481
481
  field of the JSON that goes to Home Assistant. This is useful if you have a dictionary that you want to
@@ -1,5 +1,5 @@
1
1
  """
2
- Interface with Home Assistant, send and recieve evets, state etc.
2
+ Interface with Home Assistant, send and receive evets, state etc.
3
3
  """
4
4
 
5
5
  import asyncio
@@ -661,7 +661,7 @@ class HassPlugin(PluginBase):
661
661
  shorter than this one, it will trigger before this one does.
662
662
  suppress_log_messages (bool, optional): If this is set to ``True``, Appdaemon will suppress logging of
663
663
  warnings for service calls to Home Assistant, specifically timeouts and non OK statuses. Use this flag
664
- and set it to ``True`` to supress these log messages if you are performing your own error checking as
664
+ and set it to ``True`` to suppress these log messages if you are performing your own error checking as
665
665
  described `here <APPGUIDE.html#some-notes-on-service-calls>`__
666
666
  service_data (dict, optional): Used as an additional dictionary to pass arguments into the ``service_data``
667
667
  field of the JSON that goes to Home Assistant. This is useful if you have a dictionary that you want to
@@ -120,7 +120,7 @@ class Mqtt(adbase.ADBase, adapi.ADAPI):
120
120
 
121
121
  binary (bool, optional): If wanting the payload to be returned as binary, this should
122
122
  be specified. If not given, AD will return the payload as decoded data. It should
123
- be noted that it is not possible to have different apps receieve both binary and non-binary
123
+ be noted that it is not possible to have different apps receive both binary and non-binary
124
124
  data on the same topic
125
125
 
126
126
  Returns: