boneio 1.6.0.dev33__tar.gz → 1.6.0.dev35__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 (1167) hide show
  1. boneio-1.6.0.dev35/PKG-INFO +109 -0
  2. boneio-1.6.0.dev35/README.md +66 -0
  3. boneio-1.6.0.dev35/boneio/components/sensor/virtual_energy.py +337 -0
  4. boneio-1.6.0.dev35/boneio/core/cloud/registration.py +752 -0
  5. boneio-1.6.0.dev35/boneio/core/config/provenance.py +117 -0
  6. boneio-1.6.0.dev35/boneio/core/containers.py +613 -0
  7. boneio-1.6.0.dev35/boneio/core/events/bus.py +572 -0
  8. boneio-1.6.0.dev35/boneio/core/manager/manager.py +2280 -0
  9. boneio-1.6.0.dev35/boneio/core/messaging/basic.py +86 -0
  10. boneio-1.6.0.dev35/boneio/core/messaging/composite.py +103 -0
  11. boneio-1.6.0.dev35/boneio/core/messaging/mqtt.py +591 -0
  12. boneio-1.6.0.dev35/boneio/core/proxy_switch.py +149 -0
  13. boneio-1.6.0.dev35/boneio/core/security/certificate.py +335 -0
  14. boneio-1.6.0.dev35/boneio/core/system_ops.py +391 -0
  15. boneio-1.6.0.dev35/boneio/factory_config/0.8/24x16/config.yaml +48 -0
  16. boneio-1.6.0.dev35/boneio/factory_config/0.8/24x16/mqtt.yaml +6 -0
  17. boneio-1.6.0.dev35/boneio/factory_config/0.8/24x16/secrets.yaml +4 -0
  18. boneio-1.6.0.dev35/boneio/factory_config/0.8/32x10/config.yaml +48 -0
  19. boneio-1.6.0.dev35/boneio/factory_config/0.8/32x10/mqtt.yaml +6 -0
  20. boneio-1.6.0.dev35/boneio/factory_config/0.8/32x10/secrets.yaml +4 -0
  21. boneio-1.6.0.dev35/boneio/factory_config/0.8/48x4/config.yaml +48 -0
  22. boneio-1.6.0.dev35/boneio/factory_config/0.8/48x4/mqtt.yaml +6 -0
  23. boneio-1.6.0.dev35/boneio/factory_config/0.8/48x4/secrets.yaml +4 -0
  24. boneio-1.6.0.dev35/boneio/factory_config/0.8/base/config.yaml +42 -0
  25. boneio-1.6.0.dev35/boneio/factory_config/0.8/base/mqtt.yaml +6 -0
  26. boneio-1.6.0.dev35/boneio/factory_config/0.8/base/secrets.yaml +4 -0
  27. boneio-1.6.0.dev35/boneio/factory_config/0.8/cover/config.yaml +49 -0
  28. boneio-1.6.0.dev35/boneio/factory_config/0.8/cover/mqtt.yaml +6 -0
  29. boneio-1.6.0.dev35/boneio/factory_config/0.8/cover/secrets.yaml +4 -0
  30. boneio-1.6.0.dev35/boneio/factory_config/0.8/cover_mix/config.yaml +49 -0
  31. boneio-1.6.0.dev35/boneio/factory_config/0.8/cover_mix/mqtt.yaml +6 -0
  32. boneio-1.6.0.dev35/boneio/factory_config/0.8/cover_mix/secrets.yaml +4 -0
  33. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/adc.yaml +14 -0
  34. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/binary_sensor.yaml +17 -0
  35. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/config.yaml +48 -0
  36. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/event.yaml +208 -0
  37. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/mqtt.yaml +6 -0
  38. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/output24x16A.yaml +96 -0
  39. boneio-1.6.0.dev35/boneio/factory_config/1.0/24x16/secrets.yaml +4 -0
  40. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/adc.yaml +14 -0
  41. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/binary_sensor.yaml +17 -0
  42. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/config.yaml +48 -0
  43. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/event.yaml +243 -0
  44. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/mqtt.yaml +6 -0
  45. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/output32x10A.yaml +128 -0
  46. boneio-1.6.0.dev35/boneio/factory_config/1.0/32x10/secrets.yaml +4 -0
  47. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/adc.yaml +14 -0
  48. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/binary_sensor.yaml +17 -0
  49. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/config.yaml +48 -0
  50. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/event.yaml +300 -0
  51. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/mqtt.yaml +6 -0
  52. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/output48x4A.yaml +192 -0
  53. boneio-1.6.0.dev35/boneio/factory_config/1.0/48x4/secrets.yaml +4 -0
  54. boneio-1.6.0.dev35/boneio/factory_config/1.0/base/config.yaml +42 -0
  55. boneio-1.6.0.dev35/boneio/factory_config/1.0/base/mqtt.yaml +6 -0
  56. boneio-1.6.0.dev35/boneio/factory_config/1.0/base/secrets.yaml +4 -0
  57. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/adc.yaml +14 -0
  58. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/binary_sensor.yaml +19 -0
  59. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/config.yaml +49 -0
  60. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/cover.yaml +112 -0
  61. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/event.yaml +244 -0
  62. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/mqtt.yaml +6 -0
  63. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/outputCover.yaml +65 -0
  64. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover/secrets.yaml +4 -0
  65. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/adc.yaml +14 -0
  66. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/binary_sensor.yaml +19 -0
  67. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/config.yaml +49 -0
  68. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/cover.yaml +56 -0
  69. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/event.yaml +242 -0
  70. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/mqtt.yaml +6 -0
  71. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/outputCoverMix.yaml +81 -0
  72. boneio-1.6.0.dev35/boneio/factory_config/1.0/cover_mix/secrets.yaml +4 -0
  73. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/adc.yaml +14 -0
  74. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/binary_sensor.yaml +17 -0
  75. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/config.yaml +49 -0
  76. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/event.yaml +243 -0
  77. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/mqtt.yaml +6 -0
  78. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/output32x10A.yaml +128 -0
  79. boneio-1.6.0.dev35/boneio/factory_config/1.0/tester/secrets.yaml +4 -0
  80. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/adc.yaml +14 -0
  81. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/binary_sensor.yaml +17 -0
  82. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/config.yaml +48 -0
  83. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/event.yaml +208 -0
  84. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/mqtt.yaml +6 -0
  85. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/output24x16A.yaml +96 -0
  86. boneio-1.6.0.dev35/boneio/factory_config/1.1/24x16/secrets.yaml +4 -0
  87. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/adc.yaml +14 -0
  88. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/binary_sensor.yaml +17 -0
  89. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/config.yaml +48 -0
  90. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/event.yaml +243 -0
  91. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/mqtt.yaml +6 -0
  92. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/output32x10A.yaml +128 -0
  93. boneio-1.6.0.dev35/boneio/factory_config/1.1/32x10/secrets.yaml +4 -0
  94. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/adc.yaml +14 -0
  95. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/binary_sensor.yaml +17 -0
  96. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/config.yaml +48 -0
  97. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/event.yaml +300 -0
  98. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/mqtt.yaml +6 -0
  99. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/output48x4A.yaml +192 -0
  100. boneio-1.6.0.dev35/boneio/factory_config/1.1/48x4/secrets.yaml +4 -0
  101. boneio-1.6.0.dev35/boneio/factory_config/1.1/base/config.yaml +42 -0
  102. boneio-1.6.0.dev35/boneio/factory_config/1.1/base/mqtt.yaml +6 -0
  103. boneio-1.6.0.dev35/boneio/factory_config/1.1/base/secrets.yaml +4 -0
  104. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/adc.yaml +14 -0
  105. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/binary_sensor.yaml +19 -0
  106. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/config.yaml +49 -0
  107. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/cover.yaml +112 -0
  108. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/event.yaml +244 -0
  109. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/mqtt.yaml +6 -0
  110. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/outputCover.yaml +65 -0
  111. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover/secrets.yaml +4 -0
  112. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/adc.yaml +14 -0
  113. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/binary_sensor.yaml +19 -0
  114. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/config.yaml +49 -0
  115. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/cover.yaml +56 -0
  116. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/event.yaml +242 -0
  117. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/mqtt.yaml +6 -0
  118. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/outputCoverMix.yaml +81 -0
  119. boneio-1.6.0.dev35/boneio/factory_config/1.1/cover_mix/secrets.yaml +4 -0
  120. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/adc.yaml +14 -0
  121. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/binary_sensor.yaml +17 -0
  122. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/config.yaml +49 -0
  123. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/event.yaml +243 -0
  124. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/mqtt.yaml +6 -0
  125. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/output32x10A.yaml +128 -0
  126. boneio-1.6.0.dev35/boneio/factory_config/1.1/tester/secrets.yaml +4 -0
  127. boneio-1.6.0.dev35/boneio/factory_config/__init__.py +41 -0
  128. boneio-1.6.0.dev35/boneio/migrations/assets/MANIFEST.sha256 +61 -0
  129. boneio-1.6.0.dev35/boneio/migrations/assets/apt/53boneio-caddy +17 -0
  130. boneio-1.6.0.dev35/boneio/migrations/assets/apt/caddy-pin.pref +3 -0
  131. boneio-1.6.0.dev35/boneio/migrations/assets/apt/caddy-stable-archive-keyring.gpg +0 -0
  132. boneio-1.6.0.dev35/boneio/migrations/assets/apt/caddy-stable.list +1 -0
  133. boneio-1.6.0.dev35/boneio/migrations/assets/caddy/502.html +35 -0
  134. boneio-1.6.0.dev35/boneio/migrations/assets/docker/nodered/caddy/502.html +35 -0
  135. boneio-1.6.0.dev35/boneio/migrations/assets/docker/nodered/docker-compose-native-proxy.yaml +23 -0
  136. boneio-1.6.0.dev35/boneio/migrations/assets/helpers/boneio-containers +1830 -0
  137. boneio-1.6.0.dev35/boneio/migrations/assets/helpers/boneio-helpers-heal +224 -0
  138. boneio-1.6.0.dev35/boneio/migrations/assets/helpers/boneio-proxy-config +677 -0
  139. boneio-1.6.0.dev35/boneio/migrations/assets/helpers/boneio-system +2556 -0
  140. boneio-1.6.0.dev35/boneio/migrations/assets/systemd/boneio-proxy-recover.service +24 -0
  141. boneio-1.6.0.dev35/boneio/migrations/assets/systemd/caddy-boneio.conf +44 -0
  142. boneio-1.6.0.dev35/boneio/migrations/plans/1.4.4.json +1 -0
  143. boneio-1.6.0.dev35/boneio/migrations/plans/1.4.4.sig +0 -0
  144. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.17.json +1 -0
  145. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.17.sig +1 -0
  146. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.18.json +1 -0
  147. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.18.sig +1 -0
  148. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.21.json +1 -0
  149. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.21.sig +1 -0
  150. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.22.json +1 -0
  151. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.22.sig +1 -0
  152. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.26.json +1 -0
  153. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.26.sig +1 -0
  154. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.27.json +1 -0
  155. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.27.sig +1 -0
  156. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.29.json +1 -0
  157. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.29.sig +1 -0
  158. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.30.json +1 -0
  159. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.30.sig +1 -0
  160. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.31.json +1 -0
  161. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.31.sig +1 -0
  162. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.32.json +1 -0
  163. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.32.sig +2 -0
  164. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.33.json +1 -0
  165. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.33.sig +1 -0
  166. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.39.json +1 -0
  167. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.39.sig +1 -0
  168. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.40.json +1 -0
  169. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.40.sig +1 -0
  170. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.41.json +1 -0
  171. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.41.sig +2 -0
  172. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.42.json +1 -0
  173. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.42.sig +1 -0
  174. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.43.json +1 -0
  175. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.43.sig +0 -0
  176. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.5.json +1 -0
  177. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.5.sig +1 -0
  178. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.8.json +1 -0
  179. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.8.sig +0 -0
  180. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.9.json +1 -0
  181. boneio-1.6.0.dev35/boneio/migrations/plans/1.6.9.sig +1 -0
  182. boneio-1.6.0.dev35/boneio/migrations/plans/manifest.json +1 -0
  183. boneio-1.6.0.dev35/boneio/migrations/plans/manifest.sig +1 -0
  184. boneio-1.6.0.dev35/boneio/migrations/versions/v1_6_39_containers_pull_timeout.py +41 -0
  185. boneio-1.6.0.dev35/boneio/migrations/versions/v1_6_40_disk_usage.py +43 -0
  186. boneio-1.6.0.dev35/boneio/migrations/versions/v1_6_41_starting_page.py +29 -0
  187. boneio-1.6.0.dev35/boneio/migrations/versions/v1_6_42_native_caddy_staging.py +140 -0
  188. boneio-1.6.0.dev35/boneio/migrations/versions/v1_6_43_log2ram_cp.py +34 -0
  189. boneio-1.6.0.dev35/boneio/runner.py +751 -0
  190. boneio-1.6.0.dev35/boneio/schema/schema.yaml +2873 -0
  191. boneio-1.6.0.dev35/boneio/version.py +2 -0
  192. boneio-1.6.0.dev35/boneio/webui/app.py +1139 -0
  193. boneio-1.6.0.dev35/boneio/webui/bind.py +353 -0
  194. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/AccountsView-AMfOhw42.js +1 -0
  195. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/AccountsView-AMfOhw42.js.gz +0 -0
  196. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/AppInitContext-BDF1KqeY.js +1 -0
  197. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/AppInitContext-BDF1KqeY.js.gz +0 -0
  198. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/BackupSection-D7XzmmGa.js +1 -0
  199. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/BackupSection-D7XzmmGa.js.gz +0 -0
  200. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/BindingMatrix-Dm7enV81.js +1 -0
  201. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/BindingMatrix-Dm7enV81.js.gz +0 -0
  202. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/DeviceControlSection-CbHya4k0.js +1 -0
  203. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/DeviceControlSection-CbHya4k0.js.gz +0 -0
  204. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/DiagnosticsView-BiF5br1t.js +5 -0
  205. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/DiagnosticsView-BiF5br1t.js.gz +0 -0
  206. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/EntityGrid-4a1Dbqth.js +1 -0
  207. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/EntityGrid-4a1Dbqth.js.gz +0 -0
  208. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/FactoryResetSection-Dsi68Z8u.js +1 -0
  209. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/FactoryResetSection-Dsi68Z8u.js.gz +0 -0
  210. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/FormInputToggle-Buzoogqy.js +11 -0
  211. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/FormInputToggle-Buzoogqy.js.gz +0 -0
  212. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/HaDashboardWizard-AD5uYoaQ.js +1 -0
  213. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/HaDashboardWizard-AD5uYoaQ.js.gz +0 -0
  214. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/HostnameSection-tiU6n56p.js +1 -0
  215. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/HostnameSection-tiU6n56p.js.gz +0 -0
  216. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/InputsView-D4MA7EqS.js +1 -0
  217. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/InputsView-D4MA7EqS.js.gz +0 -0
  218. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LoadingState-CxmjkMgn.js +1 -0
  219. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LocationSection-BgvLiPAD.js +2 -0
  220. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LocationSection-BgvLiPAD.js.gz +0 -0
  221. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LoggerForm-Be95erZp.js +1 -0
  222. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LoggerForm-Be95erZp.js.gz +0 -0
  223. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LongPressWrapper-C266DAt0.js +1 -0
  224. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/LongPressWrapper-C266DAt0.js.gz +0 -0
  225. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/MigrationsSection-Dg3dgGBw.js +1 -0
  226. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/MigrationsSection-Dg3dgGBw.js.gz +0 -0
  227. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/ModbusView-g7kLvU1N.js +1 -0
  228. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/ModbusView-g7kLvU1N.js.gz +0 -0
  229. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/MqttPasswordsSection-9qBygV7e.js +1 -0
  230. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/MqttPasswordsSection-9qBygV7e.js.gz +0 -0
  231. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/NodeRedManagement-CaMi1mNV.js +1 -0
  232. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/NodeRedManagement-CaMi1mNV.js.gz +0 -0
  233. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/NodeRedView-BZdmAtAt.js +1 -0
  234. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/NodeRedView-BZdmAtAt.js.gz +0 -0
  235. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/NumericInput-fo5QZMhp.js +1 -0
  236. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/NumericInput-fo5QZMhp.js.gz +0 -0
  237. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/OutputsView-C-HNqu4_.js +1 -0
  238. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/OutputsView-C-HNqu4_.js.gz +0 -0
  239. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/SecurityView-Bj3K9I1b.js +1 -0
  240. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/SecurityView-Bj3K9I1b.js.gz +0 -0
  241. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/SensorView-CgO65fQs.js +1 -0
  242. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/SensorView-CgO65fQs.js.gz +0 -0
  243. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/Sparkline-DoHMYvvZ.js +3 -0
  244. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/Sparkline-DoHMYvvZ.js.gz +0 -0
  245. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/SystemState-Cm6R3WLd.js +2 -0
  246. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/SystemState-Cm6R3WLd.js.gz +0 -0
  247. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/TemplatesView-DZVBJt5J.js +1 -0
  248. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/TemplatesView-DZVBJt5J.js.gz +0 -0
  249. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/TilePicker-BkLaQi0H.js +1 -0
  250. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/TilePicker-BkLaQi0H.js.gz +0 -0
  251. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/TimezoneSection-B0y1rM9Q.js +1 -0
  252. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/TimezoneSection-B0y1rM9Q.js.gz +0 -0
  253. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/UISettings-DihZLsQT.js +102 -0
  254. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/UISettings-DihZLsQT.js.gz +0 -0
  255. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/UpdateSafetyNotice-Mp0jJZ1F.js +1 -0
  256. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/UpdateSafetyNotice-Mp0jJZ1F.js.gz +0 -0
  257. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/ViewToggle-CUtK4zn3.js +1 -0
  258. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/aiConfig-C5JZrzmG.js +2 -0
  259. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/aiConfig-C5JZrzmG.js.gz +0 -0
  260. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/aiWizardPrompt-BW96nE6h.js +2 -0
  261. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/aiWizardPrompt-BW96nE6h.js.gz +0 -0
  262. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/dialog-DcnAJg2-.js +1 -0
  263. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/dialog-DcnAJg2-.js.gz +0 -0
  264. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/fa-wf69YpA7.js +1 -0
  265. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/fa-wf69YpA7.js.gz +0 -0
  266. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/gi-CdbYopzz.js +1 -0
  267. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/groupByArea-CGu58rU4.js +1 -0
  268. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/groupByArea-CGu58rU4.js.gz +0 -0
  269. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/index-BiDbe4jH.css +2 -0
  270. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/index-BiDbe4jH.css.gz +0 -0
  271. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/index-CO67NAHS.js +46 -0
  272. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/index-CO67NAHS.js.gz +0 -0
  273. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/monaco-BNnzf817.js +1 -0
  274. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/monaco-BNnzf817.js.gz +0 -0
  275. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/monaco-CAkAVZil.js +884 -0
  276. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/monaco-CAkAVZil.js.gz +0 -0
  277. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/select-DsYydCvY.js +1 -0
  278. boneio-1.6.0.dev35/boneio/webui/frontend-dist/assets/select-DsYydCvY.js.gz +0 -0
  279. boneio-1.6.0.dev35/boneio/webui/frontend-dist/index.html +58 -0
  280. boneio-1.6.0.dev35/boneio/webui/frontend-dist/schema/config.schema.json +13004 -0
  281. boneio-1.6.0.dev35/boneio/webui/frontend-dist/schema/web.schema.json +199 -0
  282. boneio-1.6.0.dev35/boneio/webui/frontend-dist/sw.js +1 -0
  283. boneio-1.6.0.dev35/boneio/webui/middleware/policy.py +265 -0
  284. boneio-1.6.0.dev35/boneio/webui/routes/__init__.py +60 -0
  285. boneio-1.6.0.dev35/boneio/webui/routes/config_actions.py +1121 -0
  286. boneio-1.6.0.dev35/boneio/webui/routes/config_core.py +948 -0
  287. boneio-1.6.0.dev35/boneio/webui/routes/diagnostics.py +314 -0
  288. boneio-1.6.0.dev35/boneio/webui/routes/migrations.py +193 -0
  289. boneio-1.6.0.dev35/boneio/webui/routes/nodered.py +1041 -0
  290. boneio-1.6.0.dev35/boneio/webui/routes/onboarding.py +344 -0
  291. boneio-1.6.0.dev35/boneio/webui/routes/os_update.py +186 -0
  292. boneio-1.6.0.dev35/boneio/webui/routes/proxy.py +62 -0
  293. boneio-1.6.0.dev35/boneio/webui/routes/security.py +821 -0
  294. boneio-1.6.0.dev35/boneio/webui/routes/system.py +1524 -0
  295. boneio-1.6.0.dev35/boneio/webui/routes/update.py +1621 -0
  296. boneio-1.6.0.dev35/boneio/webui/schema/config.schema.json +13004 -0
  297. boneio-1.6.0.dev35/boneio/webui/schema/web.schema.json +199 -0
  298. boneio-1.6.0.dev35/boneio/webui/web_server.py +372 -0
  299. boneio-1.6.0.dev35/boneio.egg-info/PKG-INFO +109 -0
  300. boneio-1.6.0.dev35/boneio.egg-info/SOURCES.txt +994 -0
  301. boneio-1.6.0.dev33/PKG-INFO +0 -69
  302. boneio-1.6.0.dev33/README.md +0 -26
  303. boneio-1.6.0.dev33/boneio/components/sensor/virtual_energy.py +0 -325
  304. boneio-1.6.0.dev33/boneio/core/cloud/registration.py +0 -747
  305. boneio-1.6.0.dev33/boneio/core/config/provenance.py +0 -114
  306. boneio-1.6.0.dev33/boneio/core/containers.py +0 -549
  307. boneio-1.6.0.dev33/boneio/core/events/bus.py +0 -566
  308. boneio-1.6.0.dev33/boneio/core/manager/manager.py +0 -2275
  309. boneio-1.6.0.dev33/boneio/core/messaging/basic.py +0 -80
  310. boneio-1.6.0.dev33/boneio/core/messaging/composite.py +0 -99
  311. boneio-1.6.0.dev33/boneio/core/messaging/mqtt.py +0 -585
  312. boneio-1.6.0.dev33/boneio/core/security/certificate.py +0 -298
  313. boneio-1.6.0.dev33/boneio/core/system_ops.py +0 -381
  314. boneio-1.6.0.dev33/boneio/example_config/24x16/config.yaml +0 -43
  315. boneio-1.6.0.dev33/boneio/example_config/24x16/mqtt.yaml +0 -6
  316. boneio-1.6.0.dev33/boneio/example_config/32x10/config.yaml +0 -42
  317. boneio-1.6.0.dev33/boneio/example_config/32x10/mqtt.yaml +0 -6
  318. boneio-1.6.0.dev33/boneio/example_config/48x4/config.yaml +0 -42
  319. boneio-1.6.0.dev33/boneio/example_config/48x4/mqtt.yaml +0 -6
  320. boneio-1.6.0.dev33/boneio/example_config/__init__.py +0 -0
  321. boneio-1.6.0.dev33/boneio/example_config/cover/config.yaml +0 -43
  322. boneio-1.6.0.dev33/boneio/example_config/cover/mqtt.yaml +0 -6
  323. boneio-1.6.0.dev33/boneio/example_config/cover_mix/config.yaml +0 -43
  324. boneio-1.6.0.dev33/boneio/example_config/cover_mix/mqtt.yaml +0 -6
  325. boneio-1.6.0.dev33/boneio/migrations/assets/MANIFEST.sha256 +0 -52
  326. boneio-1.6.0.dev33/boneio/migrations/assets/docker/nodered/caddy/502.html +0 -43
  327. boneio-1.6.0.dev33/boneio/migrations/assets/helpers/boneio-containers +0 -734
  328. boneio-1.6.0.dev33/boneio/migrations/assets/helpers/boneio-helpers-heal +0 -209
  329. boneio-1.6.0.dev33/boneio/migrations/assets/helpers/boneio-system +0 -2439
  330. boneio-1.6.0.dev33/boneio/migrations/plans/1.4.4.json +0 -1
  331. boneio-1.6.0.dev33/boneio/migrations/plans/1.4.4.sig +0 -0
  332. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.17.json +0 -1
  333. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.17.sig +0 -1
  334. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.18.json +0 -1
  335. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.18.sig +0 -1
  336. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.21.json +0 -1
  337. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.21.sig +0 -1
  338. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.22.json +0 -1
  339. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.22.sig +0 -3
  340. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.26.json +0 -1
  341. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.26.sig +0 -1
  342. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.27.json +0 -1
  343. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.27.sig +0 -1
  344. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.29.json +0 -1
  345. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.29.sig +0 -1
  346. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.30.json +0 -1
  347. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.30.sig +0 -1
  348. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.31.json +0 -1
  349. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.31.sig +0 -1
  350. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.32.json +0 -1
  351. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.32.sig +0 -1
  352. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.33.json +0 -1
  353. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.33.sig +0 -1
  354. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.5.json +0 -1
  355. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.5.sig +0 -2
  356. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.8.json +0 -1
  357. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.8.sig +0 -1
  358. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.9.json +0 -1
  359. boneio-1.6.0.dev33/boneio/migrations/plans/1.6.9.sig +0 -1
  360. boneio-1.6.0.dev33/boneio/migrations/plans/manifest.json +0 -1
  361. boneio-1.6.0.dev33/boneio/migrations/plans/manifest.sig +0 -1
  362. boneio-1.6.0.dev33/boneio/runner.py +0 -744
  363. boneio-1.6.0.dev33/boneio/schema/schema.yaml +0 -2870
  364. boneio-1.6.0.dev33/boneio/version.py +0 -2
  365. boneio-1.6.0.dev33/boneio/webui/app.py +0 -1136
  366. boneio-1.6.0.dev33/boneio/webui/bind.py +0 -293
  367. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/AccountsView-Cbqd4Ao_.js +0 -1
  368. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/AccountsView-Cbqd4Ao_.js.gz +0 -0
  369. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/AppInitContext-DWvK3qS_.js +0 -1
  370. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/AppInitContext-DWvK3qS_.js.gz +0 -0
  371. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/BackupSection-8QSuOR0c.js +0 -1
  372. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/BackupSection-8QSuOR0c.js.gz +0 -0
  373. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/BindingMatrix-CfzTlbKI.js +0 -1
  374. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/BindingMatrix-CfzTlbKI.js.gz +0 -0
  375. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/DeviceControlSection-BDnXyBJT.js +0 -1
  376. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/DeviceControlSection-BDnXyBJT.js.gz +0 -0
  377. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/DiagnosticsView-BFbE2gzt.js +0 -5
  378. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/DiagnosticsView-BFbE2gzt.js.gz +0 -0
  379. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/EntityGrid-DaGv-7ct.js +0 -1
  380. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/EntityGrid-DaGv-7ct.js.gz +0 -0
  381. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/FactoryResetSection-C-k28afU.js +0 -1
  382. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/FactoryResetSection-C-k28afU.js.gz +0 -0
  383. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/FormInputToggle-BgXGSDAE.js +0 -11
  384. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/FormInputToggle-BgXGSDAE.js.gz +0 -0
  385. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/HaDashboardWizard-B4KWLmIy.js +0 -1
  386. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/HaDashboardWizard-B4KWLmIy.js.gz +0 -0
  387. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/HostnameSection-IfbaLobN.js +0 -1
  388. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/HostnameSection-IfbaLobN.js.gz +0 -0
  389. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/InputsView-LHCSi3jQ.js +0 -1
  390. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/InputsView-LHCSi3jQ.js.gz +0 -0
  391. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LoadingState-Bp0pGOdE.js +0 -1
  392. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LocationSection-CEDOjibw.js +0 -2
  393. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LocationSection-CEDOjibw.js.gz +0 -0
  394. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LoggerForm-C2G_nFBk.js +0 -1
  395. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LoggerForm-C2G_nFBk.js.gz +0 -0
  396. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LongPressWrapper-B9Hl3ltV.js +0 -1
  397. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/LongPressWrapper-B9Hl3ltV.js.gz +0 -0
  398. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/MigrationsSection-D3xuvZyO.js +0 -1
  399. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/MigrationsSection-D3xuvZyO.js.gz +0 -0
  400. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/ModbusView-Bg5HDFqc.js +0 -1
  401. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/ModbusView-Bg5HDFqc.js.gz +0 -0
  402. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/MqttPasswordsSection-CMVKRHVp.js +0 -1
  403. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/MqttPasswordsSection-CMVKRHVp.js.gz +0 -0
  404. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/NodeRedManagement-8LQGoZFd.js +0 -1
  405. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/NodeRedManagement-8LQGoZFd.js.gz +0 -0
  406. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/NodeRedView-CP86NnC4.js +0 -1
  407. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/NodeRedView-CP86NnC4.js.gz +0 -0
  408. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/NumericInput-CrVNlFps.js +0 -1
  409. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/NumericInput-CrVNlFps.js.gz +0 -0
  410. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/OutputsView-CkgUuZDI.js +0 -1
  411. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/OutputsView-CkgUuZDI.js.gz +0 -0
  412. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/SecurityView-C8VMMZ2Q.js +0 -1
  413. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/SecurityView-C8VMMZ2Q.js.gz +0 -0
  414. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/SensorView-DMh2GK_I.js +0 -1
  415. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/SensorView-DMh2GK_I.js.gz +0 -0
  416. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/Sparkline-6iDv_8hd.js +0 -3
  417. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/Sparkline-6iDv_8hd.js.gz +0 -0
  418. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/SystemState-DUOSa8P5.js +0 -2
  419. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/SystemState-DUOSa8P5.js.gz +0 -0
  420. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/TemplatesView-DVP3Ifd4.js +0 -1
  421. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/TemplatesView-DVP3Ifd4.js.gz +0 -0
  422. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/TilePicker-DZrA7qwM.js +0 -1
  423. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/TilePicker-DZrA7qwM.js.gz +0 -0
  424. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/TimezoneSection-CA36pxfJ.js +0 -1
  425. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/TimezoneSection-CA36pxfJ.js.gz +0 -0
  426. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/UISettings-CQ64K21V.js +0 -102
  427. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/UISettings-CQ64K21V.js.gz +0 -0
  428. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/UpdateSafetyNotice-CAKxJzbp.js +0 -1
  429. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/UpdateSafetyNotice-CAKxJzbp.js.gz +0 -0
  430. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/ViewToggle-CVWoIKqI.js +0 -1
  431. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/aiConfig-BB8qvNZ5.js +0 -2
  432. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/aiConfig-BB8qvNZ5.js.gz +0 -0
  433. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/aiWizardPrompt-HWioCYHg.js +0 -2
  434. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/aiWizardPrompt-HWioCYHg.js.gz +0 -0
  435. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/dialog-DMaCttcv.js +0 -1
  436. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/dialog-DMaCttcv.js.gz +0 -0
  437. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/fa-ChDOCx3T.js +0 -1
  438. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/fa-ChDOCx3T.js.gz +0 -0
  439. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/gi-DiFRP1nv.js +0 -1
  440. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/groupByArea-DIIjg3E_.js +0 -1
  441. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/groupByArea-DIIjg3E_.js.gz +0 -0
  442. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/index-Co3agMvu.js +0 -42
  443. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/index-Co3agMvu.js.gz +0 -0
  444. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/index-ybynnlsQ.css +0 -2
  445. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/index-ybynnlsQ.css.gz +0 -0
  446. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/monaco-BksocEXi.js +0 -884
  447. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/monaco-BksocEXi.js.gz +0 -0
  448. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/monaco-CoUZsnkn.js +0 -1
  449. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/monaco-CoUZsnkn.js.gz +0 -0
  450. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/select-iQAUlBVk.js +0 -1
  451. boneio-1.6.0.dev33/boneio/webui/frontend-dist/assets/select-iQAUlBVk.js.gz +0 -0
  452. boneio-1.6.0.dev33/boneio/webui/frontend-dist/index.html +0 -58
  453. boneio-1.6.0.dev33/boneio/webui/frontend-dist/schema/config.schema.json +0 -13004
  454. boneio-1.6.0.dev33/boneio/webui/frontend-dist/schema/web.schema.json +0 -199
  455. boneio-1.6.0.dev33/boneio/webui/frontend-dist/sw.js +0 -1
  456. boneio-1.6.0.dev33/boneio/webui/middleware/policy.py +0 -258
  457. boneio-1.6.0.dev33/boneio/webui/routes/__init__.py +0 -58
  458. boneio-1.6.0.dev33/boneio/webui/routes/config_actions.py +0 -1119
  459. boneio-1.6.0.dev33/boneio/webui/routes/config_core.py +0 -873
  460. boneio-1.6.0.dev33/boneio/webui/routes/diagnostics.py +0 -259
  461. boneio-1.6.0.dev33/boneio/webui/routes/migrations.py +0 -191
  462. boneio-1.6.0.dev33/boneio/webui/routes/nodered.py +0 -1001
  463. boneio-1.6.0.dev33/boneio/webui/routes/onboarding.py +0 -219
  464. boneio-1.6.0.dev33/boneio/webui/routes/os_update.py +0 -181
  465. boneio-1.6.0.dev33/boneio/webui/routes/security.py +0 -804
  466. boneio-1.6.0.dev33/boneio/webui/routes/system.py +0 -1522
  467. boneio-1.6.0.dev33/boneio/webui/routes/update.py +0 -1590
  468. boneio-1.6.0.dev33/boneio/webui/schema/config.schema.json +0 -13004
  469. boneio-1.6.0.dev33/boneio/webui/schema/web.schema.json +0 -199
  470. boneio-1.6.0.dev33/boneio/webui/web_server.py +0 -286
  471. boneio-1.6.0.dev33/boneio.egg-info/PKG-INFO +0 -69
  472. boneio-1.6.0.dev33/boneio.egg-info/SOURCES.txt +0 -866
  473. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/LICENSE +0 -0
  474. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/MANIFEST.in +0 -0
  475. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/__init__.py +0 -0
  476. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.2/input.yaml +0 -0
  477. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.2/output_24_16.yaml +0 -0
  478. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.2/output_32_10.yaml +0 -0
  479. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.2/output_32_5.yaml +0 -0
  480. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.2/output_cover.yaml +0 -0
  481. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.2/output_cover_mix.yaml +0 -0
  482. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.3/input.yaml +0 -0
  483. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.3/output_24_16.yaml +0 -0
  484. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.3/output_32_10.yaml +0 -0
  485. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.3/output_32_5.yaml +0 -0
  486. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.3/output_cover.yaml +0 -0
  487. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.3/output_cover_mix.yaml +0 -0
  488. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.4/input.yaml +0 -0
  489. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.4/output_24_16.yaml +0 -0
  490. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.4/output_32_10.yaml +0 -0
  491. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.4/output_32_5.yaml +0 -0
  492. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.4/output_cover.yaml +0 -0
  493. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.4/output_cover_mix.yaml +0 -0
  494. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.5/input.yaml +0 -0
  495. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.5/output_24_16.yaml +0 -0
  496. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.5/output_32_10.yaml +0 -0
  497. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.5/output_cover.yaml +0 -0
  498. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.5/output_cover_mix.yaml +0 -0
  499. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.6/input.yaml +0 -0
  500. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.6/output_24_16.yaml +0 -0
  501. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.6/output_32_10.yaml +0 -0
  502. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.6/output_cover.yaml +0 -0
  503. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.6/output_cover_mix.yaml +0 -0
  504. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.7/input.yaml +0 -0
  505. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.7/output_24_16.yaml +0 -0
  506. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.7/output_32_10.yaml +0 -0
  507. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.7/output_48_4.yaml +0 -0
  508. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.7/output_cover.yaml +0 -0
  509. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.7/output_cover_mix.yaml +0 -0
  510. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.8/input.yaml +0 -0
  511. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.8/output_24_16.yaml +0 -0
  512. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.8/output_32_10.yaml +0 -0
  513. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.8/output_48_4.yaml +0 -0
  514. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.8/output_cover.yaml +0 -0
  515. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/0.8/output_cover_mix.yaml +0 -0
  516. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.0/input.yaml +0 -0
  517. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.0/output_24_16.yaml +0 -0
  518. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.0/output_32_10.yaml +0 -0
  519. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.0/output_48_4.yaml +0 -0
  520. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.0/output_cover.yaml +0 -0
  521. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.0/output_cover_mix.yaml +0 -0
  522. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.1/input.yaml +0 -0
  523. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.1/output_24_16.yaml +0 -0
  524. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.1/output_32_10.yaml +0 -0
  525. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.1/output_48_4.yaml +0 -0
  526. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.1/output_cover.yaml +0 -0
  527. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/boards/1.1/output_cover_mix.yaml +0 -0
  528. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/bonecli.py +0 -0
  529. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/__init__.py +0 -0
  530. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/cover/__init__.py +0 -0
  531. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/cover/cover.py +0 -0
  532. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/cover/remote.py +0 -0
  533. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/cover/time_based.py +0 -0
  534. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/cover/venetian.py +0 -0
  535. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/group/__init__.py +0 -0
  536. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/group/output_group.py +0 -0
  537. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/__init__.py +0 -0
  538. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/binary_sensor.py +0 -0
  539. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/detectors.py +0 -0
  540. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/event.py +0 -0
  541. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/remote/__init__.py +0 -0
  542. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/remote/base.py +0 -0
  543. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/remote/esphome.py +0 -0
  544. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/input/remote/mqtt.py +0 -0
  545. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/irrigation/__init__.py +0 -0
  546. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/irrigation/controller.py +0 -0
  547. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/irrigation/water_source.py +0 -0
  548. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/__init__.py +0 -0
  549. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/basic.py +0 -0
  550. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/buzzer.py +0 -0
  551. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/mcp.py +0 -0
  552. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/pca.py +0 -0
  553. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/pcf.py +0 -0
  554. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/output/remote.py +0 -0
  555. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/sensor/__init__.py +0 -0
  556. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/template/__init__.py +0 -0
  557. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/template/alarm_panel.py +0 -0
  558. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/template/gate_cover.py +0 -0
  559. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/template/thermostat.py +0 -0
  560. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/components/virtual_switch.py +0 -0
  561. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/const.py +0 -0
  562. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/__init__.py +0 -0
  563. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/atomic_file.py +0 -0
  564. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/__init__.py +0 -0
  565. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/cli.py +0 -0
  566. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/hashing.py +0 -0
  567. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/jwt_secret.py +0 -0
  568. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/migration.py +0 -0
  569. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/models.py +0 -0
  570. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/auth/store.py +0 -0
  571. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/cloud/__init__.py +0 -0
  572. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/cloud/data/__init__.py +0 -0
  573. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/cloud/data/docker-compose.yaml +0 -0
  574. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/cloud/data/init-certs-cloud.sh +0 -0
  575. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/cloud/secrets.py +0 -0
  576. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/__init__.py +0 -0
  577. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/config_helper.py +0 -0
  578. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/input_bindings.py +0 -0
  579. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/__init__.py +0 -0
  580. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/v1_proxy_port.py +0 -0
  581. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/v2_transition.py +0 -0
  582. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/v4_wled_cache.py +0 -0
  583. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/v5_ina_screen.py +0 -0
  584. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/v6_input_keys.py +0 -0
  585. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/migrations/v7_mqtt_password_secret.py +0 -0
  586. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/package-lock.json +0 -0
  587. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/package.json +0 -0
  588. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/schema_converter.py +0 -0
  589. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/secret_masking.py +0 -0
  590. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/write_lock.py +0 -0
  591. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/yaml_compat.py +0 -0
  592. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/yaml_patch.py +0 -0
  593. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/config/yaml_util.py +0 -0
  594. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/diagnostics/__init__.py +0 -0
  595. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/diagnostics/collect.py +0 -0
  596. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/discovery.py +0 -0
  597. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/events/__init__.py +0 -0
  598. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/__init__.py +0 -0
  599. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/action_conditions.py +0 -0
  600. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/canopen.py +0 -0
  601. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/covers.py +0 -0
  602. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/display.py +0 -0
  603. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/inputs.py +0 -0
  604. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/irrigation.py +0 -0
  605. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/modbus.py +0 -0
  606. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/outputs.py +0 -0
  607. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/remote.py +0 -0
  608. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/remote_input_registrar.py +0 -0
  609. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/scheduler.py +0 -0
  610. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/security_alert.py +0 -0
  611. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/sensors.py +0 -0
  612. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/sun.py +0 -0
  613. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/templates/__init__.py +0 -0
  614. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/templates/alarm.py +0 -0
  615. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/templates/gate_cover.py +0 -0
  616. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/templates/thermostat.py +0 -0
  617. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/templates.py +0 -0
  618. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/update.py +0 -0
  619. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/manager/virtual_switches.py +0 -0
  620. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/__init__.py +0 -0
  621. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/basic_mqtt.py +0 -0
  622. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/broker_tls.py +0 -0
  623. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/local.py +0 -0
  624. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/lox.py +0 -0
  625. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/mqtt_tls.py +0 -0
  626. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/messaging/queue.py +0 -0
  627. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/net/__init__.py +0 -0
  628. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/net/discovery_guard.py +0 -0
  629. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/nodered_guard.py +0 -0
  630. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/recovery.py +0 -0
  631. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/__init__.py +0 -0
  632. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/base.py +0 -0
  633. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/can.py +0 -0
  634. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/esphome.py +0 -0
  635. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/mqtt.py +0 -0
  636. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/wled.py +0 -0
  637. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/remote/wled_cache.py +0 -0
  638. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/security/__init__.py +0 -0
  639. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/security/framing.py +0 -0
  640. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/security/posture.py +0 -0
  641. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/sensor/__init__.py +0 -0
  642. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/sensor/base.py +0 -0
  643. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/sensor/sun.py +0 -0
  644. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/sensor/system.py +0 -0
  645. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/state/__init__.py +0 -0
  646. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/state/manager.py +0 -0
  647. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/system/__init__.py +0 -0
  648. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/system/host_data.py +0 -0
  649. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/system/monitor.py +0 -0
  650. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/__init__.py +0 -0
  651. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/async_updater.py +0 -0
  652. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/conditions.py +0 -0
  653. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/filter.py +0 -0
  654. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/font_util.py +0 -0
  655. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/logger.py +0 -0
  656. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/naming.py +0 -0
  657. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/overlay.py +0 -0
  658. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/sun.py +0 -0
  659. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/timeperiod.py +0 -0
  660. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/core/utils/util.py +0 -0
  661. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/can_master.yaml +0 -0
  662. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/can_slave.yaml +0 -0
  663. {boneio-1.6.0.dev33/boneio/example_config/24x16 → boneio-1.6.0.dev35/boneio/example_config/different_configs}/adc.yaml +0 -0
  664. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/all_binary_sensor.yaml +0 -0
  665. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/binary_sensor.yaml +0 -0
  666. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/binary_sensor_v_0_7.yaml +0 -0
  667. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/config_24_16.yaml +0 -0
  668. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/event_all.yaml +0 -0
  669. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/event_v_0_7.yaml +0 -0
  670. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/led32x4A.yaml +0 -0
  671. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/output24x16A.yaml +0 -0
  672. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/output24x16A_v0.3.yaml +0 -0
  673. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/output32x10A.yaml +0 -0
  674. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/example_config/different_configs/output32x5A.yaml +0 -0
  675. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/exceptions.py +0 -0
  676. {boneio-1.6.0.dev33/boneio/example_config/32x10 → boneio-1.6.0.dev35/boneio/factory_config/0.8/24x16}/adc.yaml +0 -0
  677. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/24x16/binary_sensor.yaml +0 -0
  678. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/24x16/event.yaml +0 -0
  679. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/24x16/output24x16A.yaml +0 -0
  680. {boneio-1.6.0.dev33/boneio/example_config/48x4 → boneio-1.6.0.dev35/boneio/factory_config/0.8/32x10}/adc.yaml +0 -0
  681. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/32x10/binary_sensor.yaml +0 -0
  682. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/32x10/event.yaml +0 -0
  683. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/32x10/output32x10A.yaml +0 -0
  684. {boneio-1.6.0.dev33/boneio/example_config/cover → boneio-1.6.0.dev35/boneio/factory_config/0.8/48x4}/adc.yaml +0 -0
  685. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/48x4/binary_sensor.yaml +0 -0
  686. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/48x4/event.yaml +0 -0
  687. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/48x4/output48x4A.yaml +0 -0
  688. {boneio-1.6.0.dev33/boneio/example_config/cover_mix → boneio-1.6.0.dev35/boneio/factory_config/0.8/cover}/adc.yaml +0 -0
  689. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover/binary_sensor.yaml +0 -0
  690. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover/cover.yaml +0 -0
  691. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover/event.yaml +0 -0
  692. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover/outputCover.yaml +0 -0
  693. {boneio-1.6.0.dev33/boneio/example_config/different_configs → boneio-1.6.0.dev35/boneio/factory_config/0.8/cover_mix}/adc.yaml +0 -0
  694. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover_mix/binary_sensor.yaml +0 -0
  695. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover_mix/cover.yaml +0 -0
  696. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover_mix/event.yaml +0 -0
  697. {boneio-1.6.0.dev33/boneio/example_config → boneio-1.6.0.dev35/boneio/factory_config/0.8}/cover_mix/outputCoverMix.yaml +0 -0
  698. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/__init__.py +0 -0
  699. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/analog/__init__.py +0 -0
  700. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/analog/adc.py +0 -0
  701. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/__init__.py +0 -0
  702. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/bridge.py +0 -0
  703. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/client.py +0 -0
  704. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/interface.py +0 -0
  705. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/node.py +0 -0
  706. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/node_id.py +0 -0
  707. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/can/test_od.py +0 -0
  708. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/display/__init__.py +0 -0
  709. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/display/early_oled.py +0 -0
  710. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/display/fonts/danube__.ttf +0 -0
  711. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/display/oled.py +0 -0
  712. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/__init__.py +0 -0
  713. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/expanders/__init__.py +0 -0
  714. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/expanders/mcp23017.py +0 -0
  715. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/expanders/pca9685.py +0 -0
  716. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/expanders/pcf8575.py +0 -0
  717. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/input/__init__.py +0 -0
  718. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/input/base.py +0 -0
  719. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/gpio/input/manager.py +0 -0
  720. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/__init__.py +0 -0
  721. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/bus.py +0 -0
  722. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/ina219.py +0 -0
  723. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/ina219_driver.py +0 -0
  724. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/ina226.py +0 -0
  725. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/ina226_driver.py +0 -0
  726. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/mcp9808.py +0 -0
  727. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/i2c/pct2075.py +0 -0
  728. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/onewire/__init__.py +0 -0
  729. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/onewire/dallas.py +0 -0
  730. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/sensor/__init__.py +0 -0
  731. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/sensor/temperature/__init__.py +0 -0
  732. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/sensor/temperature/base.py +0 -0
  733. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/sensor/temperature/mcp9808.py +0 -0
  734. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/sensor/temperature/pct2075.py +0 -0
  735. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/hardware/udev_wait.py +0 -0
  736. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/integration/__init__.py +0 -0
  737. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/integration/homeassistant.py +0 -0
  738. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/integration/interlock.py +0 -0
  739. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/integration/lox_template.py +0 -0
  740. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/__init__.py +0 -0
  741. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/actions.py +0 -0
  742. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/apt/52boneio-periodic +0 -0
  743. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/apt/52boneio-unattended +0 -0
  744. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/docker/daemon.json +0 -0
  745. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/docker/nodered/caddy/init-certs.sh +0 -0
  746. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/docker/nodered/docker-compose-cloud.yaml +0 -0
  747. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/docker/nodered/docker-compose.yaml +0 -0
  748. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/docker/nodered/node-red/settings.js +0 -0
  749. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/helpers/boneio-migrate-v2 +0 -0
  750. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/issue.d/10-boneio.issue +0 -0
  751. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/journald/boneio-console.conf +0 -0
  752. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/journald/journald.conf +0 -0
  753. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/kernel/postinst-boneio-overlay +0 -0
  754. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/migrations-recovery.pem +0 -0
  755. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/migrations.pem +0 -0
  756. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/modules-load.d/onewire.conf +0 -0
  757. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/mosquitto/boneio.conf +0 -0
  758. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/motd/20-boneio +0 -0
  759. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/overlays/BONEIO-BLACK-PINS-v0.2-v0.3.dtbo +0 -0
  760. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sshd/10-boneio-hardening.conf +0 -0
  761. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sshd/15-boneio-penalties.conf +0 -0
  762. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sshd/20-boneio-banner.conf +0 -0
  763. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sshd/boneio-banner +0 -0
  764. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sudoers/boneio +0 -0
  765. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sudoers/boneio-helpers +0 -0
  766. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/sudoers/boneio-timedatectl +0 -0
  767. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/boneio-dpkg-recover.service +0 -0
  768. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/boneio-helpers-heal.service +0 -0
  769. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/boneio-oled-boot.service +0 -0
  770. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/boneio-oled-shutdown.service +0 -0
  771. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/boneio.service +0 -0
  772. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/dropins/apt-daily-priority.conf +0 -0
  773. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/dropins/avahi-daemon-defer.conf +0 -0
  774. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/dropins/bb-usb-gadgets-defer.conf +0 -0
  775. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/dropins/mosquitto-priority.conf +0 -0
  776. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/dropins/timer-no-persistent.conf +0 -0
  777. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/dropins/user-manager-defer.conf +0 -0
  778. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/linger-marker +0 -0
  779. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/systemd/set-hostname-once.service +0 -0
  780. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/usr-local-bin/set-hostname-once.sh +0 -0
  781. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/usr-sbin/oled_boot_splash.py +0 -0
  782. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/usr-sbin/oled_boot_splash.sh +0 -0
  783. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/usr-sbin/oled_msg.py +0 -0
  784. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/usr-sbin/oled_msg.sh +0 -0
  785. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/assets/wheels/pyyaml-6.0.3-cp313-cp313-linux_armv7l.whl +0 -0
  786. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/bootstrap/boneio-migrate +0 -0
  787. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/bootstrap/install-helper.sh +0 -0
  788. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/bootstrap/sudoers-migrate +0 -0
  789. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.3.0.json +0 -0
  790. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.3.0.sig +0 -0
  791. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.3.1.json +0 -0
  792. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.3.1.sig +0 -0
  793. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.3.2.json +0 -0
  794. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.3.2.sig +0 -0
  795. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.4.0.json +0 -0
  796. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.4.0.sig +0 -0
  797. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.4.3.json +0 -0
  798. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.4.3.sig +0 -0
  799. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.0.json +0 -0
  800. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.0.sig +0 -0
  801. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.1.json +0 -0
  802. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.1.sig +0 -0
  803. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.10.json +0 -0
  804. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.10.sig +0 -0
  805. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.11.json +0 -0
  806. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.11.sig +0 -0
  807. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.12.json +0 -0
  808. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.12.sig +0 -0
  809. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.13.json +0 -0
  810. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.13.sig +0 -0
  811. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.14.json +0 -0
  812. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.14.sig +0 -0
  813. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.15.json +0 -0
  814. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.15.sig +0 -0
  815. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.16.json +0 -0
  816. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.16.sig +0 -0
  817. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.17.json +0 -0
  818. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.17.sig +0 -0
  819. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.18.json +0 -0
  820. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.18.sig +0 -0
  821. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.2.json +0 -0
  822. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.2.sig +0 -0
  823. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.3.json +0 -0
  824. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.3.sig +0 -0
  825. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.4.json +0 -0
  826. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.4.sig +0 -0
  827. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.5.json +0 -0
  828. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.5.sig +0 -0
  829. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.6.json +0 -0
  830. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.6.sig +0 -0
  831. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.7.json +0 -0
  832. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.7.sig +0 -0
  833. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.8.json +0 -0
  834. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.8.sig +0 -0
  835. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.9.json +0 -0
  836. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.5.9.sig +0 -0
  837. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.0.json +0 -0
  838. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.0.sig +0 -0
  839. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.1.json +0 -0
  840. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.1.sig +0 -0
  841. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.10.json +0 -0
  842. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.10.sig +0 -0
  843. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.11.json +0 -0
  844. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.11.sig +0 -0
  845. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.12.json +0 -0
  846. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.12.sig +0 -0
  847. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.13.json +0 -0
  848. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.13.sig +0 -0
  849. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.14.json +0 -0
  850. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.14.sig +0 -0
  851. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.15.json +0 -0
  852. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.15.sig +0 -0
  853. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.16.json +0 -0
  854. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.16.sig +0 -0
  855. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.19.json +0 -0
  856. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.19.sig +0 -0
  857. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.2.json +0 -0
  858. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.2.sig +0 -0
  859. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.20.json +0 -0
  860. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.20.sig +0 -0
  861. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.23.json +0 -0
  862. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.23.sig +0 -0
  863. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.24.json +0 -0
  864. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.24.sig +0 -0
  865. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.25.json +0 -0
  866. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.25.sig +0 -0
  867. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.28.json +0 -0
  868. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.28.sig +0 -0
  869. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.3.json +0 -0
  870. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.3.sig +0 -0
  871. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.34.json +0 -0
  872. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.34.sig +0 -0
  873. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.35.json +0 -0
  874. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.35.sig +0 -0
  875. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.36.json +0 -0
  876. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.36.sig +0 -0
  877. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.37.json +0 -0
  878. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.37.sig +0 -0
  879. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.38.json +0 -0
  880. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.38.sig +0 -0
  881. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.4.json +0 -0
  882. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.4.sig +0 -0
  883. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.6.json +0 -0
  884. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.6.sig +0 -0
  885. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.7.json +0 -0
  886. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/plans/1.6.7.sig +0 -0
  887. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/runner.py +0 -0
  888. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/__init__.py +0 -0
  889. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_3_0_baseline.py +0 -0
  890. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_3_1_fix_oled_boot.py +0 -0
  891. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_3_2_cleanup_can_sudoers.py +0 -0
  892. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_4_0_fix_mqtt_sudoers.py +0 -0
  893. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_4_3_oled_shutdown.py +0 -0
  894. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_4_4_caddy.py +0 -0
  895. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_0_fix_oled_fifo_permissions.py +0 -0
  896. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_10_disable_console_setup.py +0 -0
  897. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_11_timer_catchup.py +0 -0
  898. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_12_oled_splash_off_critical_path.py +0 -0
  899. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_13_mosquitto_priority.py +0 -0
  900. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_14_journal_apparent_size.py +0 -0
  901. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_15_prune_orphan_journals.py +0 -0
  902. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_16_login_linger.py +0 -0
  903. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_17_defer_user_manager.py +0 -0
  904. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_18_fix_hostname_once.py +0 -0
  905. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_1_ufw_lox_udp.py +0 -0
  906. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_2_libyaml.py +0 -0
  907. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_3_libyaml_retry.py +0 -0
  908. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_4_onewire_modules.py +0 -0
  909. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_5_overlay_kernel_hook.py +0 -0
  910. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_6_boot_service_order.py +0 -0
  911. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_7_journald_limits.py +0 -0
  912. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_8_apparmor_prune.py +0 -0
  913. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_5_9_defer_nonessential.py +0 -0
  914. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_0_nodered_admin_auth.py +0 -0
  915. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_10_narrow_sudo_rules.py +0 -0
  916. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_11_drop_docker_group.py +0 -0
  917. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_12_console_shows_ip.py +0 -0
  918. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_13_custom_certificate.py +0 -0
  919. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_14_certificate_lifetime.py +0 -0
  920. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_15_web_port_reaches_caddy.py +0 -0
  921. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_16_release_floor_ordering.py +0 -0
  922. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_17_service_password.py +0 -0
  923. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_18_os_updates.py +0 -0
  924. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_19_helper_apt_purge.py +0 -0
  925. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_1_mosquitto_passwd_perms.py +0 -0
  926. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_20_drop_packagekit.py +0 -0
  927. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_21_caddy_pinned.py +0 -0
  928. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_22_security_autoupdates.py +0 -0
  929. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_23_helper_fstab_options.py +0 -0
  930. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_24_boot_partition_nofail.py +0 -0
  931. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_25_journal_to_serial_console.py +0 -0
  932. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_26_kernel_check_old_images.py +0 -0
  933. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_27_startup_overlay_repair.py +0 -0
  934. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_28_ssh_login_screen.py +0 -0
  935. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_29_service_password_change.py +0 -0
  936. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_2_drop_build_sudo_rule.py +0 -0
  937. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_30_os_update_apt_cache.py +0 -0
  938. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_31_overlay_v02_v03_inputs.py +0 -0
  939. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_32_mqtt_broker_tls.py +0 -0
  940. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_33_os_update_measured_space.py +0 -0
  941. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_34_nodered_admin_auth_again.py +0 -0
  942. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_35_ssh_guessing_penalty.py +0 -0
  943. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_36_helper_drops_kmem.py +0 -0
  944. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_37_drop_kmem_group.py +0 -0
  945. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_38_ssh_penalty_per_block.py +0 -0
  946. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_3_firewall_rule_gaps.py +0 -0
  947. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_4_ssh_login_hardening.py +0 -0
  948. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_5_trust_transition.py +0 -0
  949. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_6_retire_legacy_helper.py +0 -0
  950. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_7_timedatectl_sudoers.py +0 -0
  951. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_8_system_helper.py +0 -0
  952. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/migrations/versions/v1_6_9_ntp_servers.py +0 -0
  953. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/__init__.py +0 -0
  954. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/cli.py +0 -0
  955. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/client.py +0 -0
  956. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/coordinator.py +0 -0
  957. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/__init__.py +0 -0
  958. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/dts1964_3f.json +0 -0
  959. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/le-03mw.json +0 -0
  960. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/le-03mwct.json +0 -0
  961. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/orno-or-we-517.json +0 -0
  962. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/sdm120.json +0 -0
  963. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/sdm630.json +0 -0
  964. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/socomec_e03.json +0 -0
  965. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/energy_meters/socomec_e23.json +0 -0
  966. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/hvac/defro-drx.json +0 -0
  967. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/hvac/eht-topventil-plus.json +0 -0
  968. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/hvac/fujitsu-ac.json +0 -0
  969. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/hvac/thessla.json +0 -0
  970. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/hvac/ventclear.json +0 -0
  971. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/hvac/wanas415.json +0 -0
  972. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/inverters/sofar.json +0 -0
  973. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/other/esp32_relay_x4_modbus.json +0 -0
  974. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/other/n4dsc08.json +0 -0
  975. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/other/r4dcb08.json +0 -0
  976. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/boneio-edge-temp.json +0 -0
  977. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/cwt.json +0 -0
  978. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/dyp-a12-ultrasonic.json +0 -0
  979. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/gdfs.json +0 -0
  980. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/gdfx.json +0 -0
  981. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/liquid-sensor.json +0 -0
  982. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/pt100.json +0 -0
  983. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/qdw90a.json +0 -0
  984. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/sht20.json +0 -0
  985. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/devices/sensors/sht30.json +0 -0
  986. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/__init__.py +0 -0
  987. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/base.py +0 -0
  988. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/derived/__init__.py +0 -0
  989. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/derived/numeric.py +0 -0
  990. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/derived/select.py +0 -0
  991. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/derived/switch.py +0 -0
  992. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/derived/text.py +0 -0
  993. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/sensor/__init__.py +0 -0
  994. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/sensor/binary.py +0 -0
  995. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/sensor/numeric.py +0 -0
  996. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/sensor/text.py +0 -0
  997. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/writeable/__init__.py +0 -0
  998. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/writeable/binary.py +0 -0
  999. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/entities/writeable/numeric.py +0 -0
  1000. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/mock_coordinator.py +0 -0
  1001. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/modbus/utils.py +0 -0
  1002. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/__init__.py +0 -0
  1003. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/actions.py +0 -0
  1004. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/events.py +0 -0
  1005. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/files.py +0 -0
  1006. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/logs.py +0 -0
  1007. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/mqtt.py +0 -0
  1008. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/models/state.py +0 -0
  1009. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/actions.yaml +0 -0
  1010. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/actions_sensor.yaml +0 -0
  1011. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/actions_switch.yaml +0 -0
  1012. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/condition.yaml +0 -0
  1013. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/filters.yaml +0 -0
  1014. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/filters_adc.yaml +0 -0
  1015. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/id.yaml +0 -0
  1016. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/remote_devices.yaml +0 -0
  1017. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/remote_inputs.yaml +0 -0
  1018. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/remote_outputs.yaml +0 -0
  1019. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/temp_unit.yaml +0 -0
  1020. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/schema/update_interval.yaml +0 -0
  1021. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/action_validation.py +0 -0
  1022. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/dashboard_cards.py +0 -0
  1023. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/axios-DyqbZVcF.js +0 -0
  1024. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/axios-DyqbZVcF.js.gz +0 -0
  1025. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/basePath-CxHj-SSK.js +0 -0
  1026. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/clipboard-CCtx29e-.js +0 -0
  1027. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/codicon-ngg6Pgfi.ttf +0 -0
  1028. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/codicon-ngg6Pgfi.ttf.gz +0 -0
  1029. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/configCache-DZ0vWq_Z.js +0 -0
  1030. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/editor.worker-O-CH8JUO.js +0 -0
  1031. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/editor.worker-O-CH8JUO.js.gz +0 -0
  1032. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/formatters-Cc0QIRxb.js +0 -0
  1033. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/monaco-Br_kD0ds.css +0 -0
  1034. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/monaco-Br_kD0ds.css.gz +0 -0
  1035. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/rolldown-runtime-hePW80VL.js +0 -0
  1036. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/utils-DOQQTBMN.js +0 -0
  1037. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/utils-DOQQTBMN.js.gz +0 -0
  1038. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/workbox-window.prod.es5-Bd17z0YL.js +0 -0
  1039. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/workbox-window.prod.es5-Bd17z0YL.js.gz +0 -0
  1040. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/yaml.worker-CeS-z5zL.js +0 -0
  1041. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/assets/yaml.worker-CeS-z5zL.js.gz +0 -0
  1042. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/boneio-192.png +0 -0
  1043. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/boneio-512.png +0 -0
  1044. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/boneio.svg +0 -0
  1045. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/boneio_fav.svg +0 -0
  1046. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/adc.schema.json +0 -0
  1047. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/areas.schema.json +0 -0
  1048. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/binary_sensor.schema.json +0 -0
  1049. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/boneio.schema.json +0 -0
  1050. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/can.schema.json +0 -0
  1051. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/cover.schema.json +0 -0
  1052. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/dallas.schema.json +0 -0
  1053. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/ds2482.schema.json +0 -0
  1054. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/event.schema.json +0 -0
  1055. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/ina219.schema.json +0 -0
  1056. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/ina226.schema.json +0 -0
  1057. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/irrigation.schema.json +0 -0
  1058. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/lm75.schema.json +0 -0
  1059. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/location.schema.json +0 -0
  1060. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/logger.schema.json +0 -0
  1061. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/lox_udp.schema.json +0 -0
  1062. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/mcp23017.schema.json +0 -0
  1063. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/mcp9808.schema.json +0 -0
  1064. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/modbus.schema.json +0 -0
  1065. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/modbus_devices.schema.json +0 -0
  1066. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/mqtt.schema.json +0 -0
  1067. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/oled.schema.json +0 -0
  1068. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/osdp.schema.json +0 -0
  1069. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/output.schema.json +0 -0
  1070. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/output_group.schema.json +0 -0
  1071. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/pca9685.schema.json +0 -0
  1072. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/pcf8575.schema.json +0 -0
  1073. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/remote_devices.schema.json +0 -0
  1074. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/remote_inputs.schema.json +0 -0
  1075. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/remote_outputs.schema.json +0 -0
  1076. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/schedule.schema.json +0 -0
  1077. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/sensor.schema.json +0 -0
  1078. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/template.schema.json +0 -0
  1079. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/virtual_energy_sensor.schema.json +0 -0
  1080. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/schema/virtual_switch.schema.json +0 -0
  1081. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/frontend-dist/workbox-7e79c025.js +0 -0
  1082. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/hvac_svg_templates.py +0 -0
  1083. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/input_validation.py +0 -0
  1084. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/middleware/__init__.py +0 -0
  1085. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/middleware/auth.py +0 -0
  1086. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/middleware/csrf.py +0 -0
  1087. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/middleware/proxy.py +0 -0
  1088. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/modbus_card_templates.py +0 -0
  1089. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/rate_limit.py +0 -0
  1090. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/recovery/__init__.py +0 -0
  1091. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/recovery/app.py +0 -0
  1092. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/recovery/server.py +0 -0
  1093. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/recovery/static/index.html +0 -0
  1094. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/recovery/static/recovery.css +0 -0
  1095. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/recovery/static/recovery.js +0 -0
  1096. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/accounts.py +0 -0
  1097. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/auth.py +0 -0
  1098. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/can.py +0 -0
  1099. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/config.py +0 -0
  1100. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/config_backups.py +0 -0
  1101. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/config_discovery.py +0 -0
  1102. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/config_files.py +0 -0
  1103. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/covers.py +0 -0
  1104. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/dashboard.py +0 -0
  1105. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/dev_fake_device.py +0 -0
  1106. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/irrigation.py +0 -0
  1107. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/modbus.py +0 -0
  1108. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/mqtt_reference.py +0 -0
  1109. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/mqtt_tls.py +0 -0
  1110. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/outputs.py +0 -0
  1111. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/remote_devices.py +0 -0
  1112. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/schedule.py +0 -0
  1113. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/sensors.py +0 -0
  1114. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/sun.py +0 -0
  1115. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/templates.py +0 -0
  1116. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/timezone_sudoers.py +0 -0
  1117. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/routes/tools.py +0 -0
  1118. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/adc.schema.json +0 -0
  1119. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/areas.schema.json +0 -0
  1120. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/binary_sensor.schema.json +0 -0
  1121. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/boneio.schema.json +0 -0
  1122. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/can.schema.json +0 -0
  1123. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/cover.schema.json +0 -0
  1124. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/dallas.schema.json +0 -0
  1125. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/ds2482.schema.json +0 -0
  1126. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/event.schema.json +0 -0
  1127. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/ina219.schema.json +0 -0
  1128. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/ina226.schema.json +0 -0
  1129. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/irrigation.schema.json +0 -0
  1130. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/lm75.schema.json +0 -0
  1131. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/location.schema.json +0 -0
  1132. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/logger.schema.json +0 -0
  1133. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/lox_udp.schema.json +0 -0
  1134. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/mcp23017.schema.json +0 -0
  1135. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/mcp9808.schema.json +0 -0
  1136. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/modbus.schema.json +0 -0
  1137. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/modbus_devices.schema.json +0 -0
  1138. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/mqtt.schema.json +0 -0
  1139. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/oled.schema.json +0 -0
  1140. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/osdp.schema.json +0 -0
  1141. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/output.schema.json +0 -0
  1142. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/output_group.schema.json +0 -0
  1143. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/pca9685.schema.json +0 -0
  1144. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/pcf8575.schema.json +0 -0
  1145. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/remote_devices.schema.json +0 -0
  1146. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/remote_inputs.schema.json +0 -0
  1147. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/remote_outputs.schema.json +0 -0
  1148. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/schedule.schema.json +0 -0
  1149. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/sensor.schema.json +0 -0
  1150. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/template.schema.json +0 -0
  1151. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/virtual_energy_sensor.schema.json +0 -0
  1152. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/schema/virtual_switch.schema.json +0 -0
  1153. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/security_events.py +0 -0
  1154. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/security_headers.py +0 -0
  1155. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/services/__init__.py +0 -0
  1156. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/services/logs.py +0 -0
  1157. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/static_assets.py +0 -0
  1158. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/sudo_rate_limiter.py +0 -0
  1159. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio/webui/websocket_manager.py +0 -0
  1160. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio.egg-info/dependency_links.txt +0 -0
  1161. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio.egg-info/entry_points.txt +0 -0
  1162. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio.egg-info/requires.txt +0 -0
  1163. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/boneio.egg-info/top_level.txt +0 -0
  1164. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/pyproject.toml +0 -0
  1165. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/setup.cfg +0 -0
  1166. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/setup.py +0 -0
  1167. {boneio-1.6.0.dev33 → boneio-1.6.0.dev35}/tests/test_py313_compatibility.py +0 -0
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: boneio
3
+ Version: 1.6.0.dev35
4
+ Summary: Python App for BoneIO
5
+ Author-email: Paweł Szafer <pszafer@gmail.com>
6
+ License: GNU General Public License v3.0
7
+ Project-URL: Homepage, https://boneio.eu
8
+ Project-URL: Repository, https://github.com/boneIO-eu/app_black
9
+ Project-URL: Documentation, https://boneio.eu/docs/intro/
10
+ Project-URL: Changelog, https://github.com/boneIO-eu/app_black/releases
11
+ Requires-Python: >=3.13
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: smbus2==0.4.3
15
+ Requires-Dist: aiomqtt==2.4.0
16
+ Requires-Dist: aiohttp==3.14.3
17
+ Requires-Dist: Cerberus==1.3.7
18
+ Requires-Dist: colorlog==6.9.0
19
+ Requires-Dist: luma-core==2.5.1
20
+ Requires-Dist: luma-oled==3.14.0
21
+ Requires-Dist: pymodbus==3.11.3
22
+ Requires-Dist: pyserial-asyncio-fast==0.16
23
+ Requires-Dist: PyYAML==6.0.3
24
+ Requires-Dist: psutil==7.2.2
25
+ Requires-Dist: w1thermsensor[async]==2.3.0
26
+ Requires-Dist: fastapi==0.141.1
27
+ Requires-Dist: starlette>=1.3.1
28
+ Requires-Dist: pydantic==2.11.9
29
+ Requires-Dist: hypercorn==0.18.0
30
+ Requires-Dist: websockets==15.0.1
31
+ Requires-Dist: PyJWT==2.14.0
32
+ Requires-Dist: python-multipart==0.0.31
33
+ Requires-Dist: qrcode==8.2
34
+ Requires-Dist: gpiod==2.3.0
35
+ Requires-Dist: requests==2.33.0
36
+ Requires-Dist: packaging==25.0
37
+ Requires-Dist: aioesphomeapi>=45.0.0
38
+ Requires-Dist: zeroconf>=0.148.0
39
+ Requires-Dist: canopen-asyncio>=2.4.1
40
+ Requires-Dist: anyio>=4.14.2
41
+ Requires-Dist: cryptography>=50.0.0; platform_system == "Linux"
42
+ Dynamic: license-file
43
+
44
+ # boneIO Black
45
+
46
+ **boneIO Black** is a DIN-rail home automation controller: relays, inputs and
47
+ sensors in one box, ready to wire into a switchboard. This repository is the
48
+ software that runs on it — configured from the browser, integrated with
49
+ Home Assistant over MQTT, and working on its own when the network or the
50
+ server is down.
51
+
52
+ [boneio.eu](https://boneio.eu) · [Documentation](https://boneio.eu/docs/intro/) · [Releases](https://github.com/boneIO-eu/app_black/releases)
53
+
54
+ ## The controller
55
+
56
+ - **32x10A** — 32 relay outputs, 10 A each, plus inputs for wall switches.
57
+ - **24x16A** — 24 relay outputs, 16 A each, for heavier loads.
58
+ - **Cover** and **Cover Mix** — boards made for roller blinds, venetian blinds
59
+ and gates.
60
+
61
+ Every board has an OLED status screen, a temperature sensor, power
62
+ monitoring and RS-485 for Modbus devices. It comes with the system image
63
+ installed: power it up, open the panel, pick the board type, done.
64
+
65
+ ## What the software does
66
+
67
+ - **Web panel** — configure outputs, inputs, covers and devices from the
68
+ browser, with no YAML editing needed (YAML stays available for those who
69
+ want it). Accounts with roles, HTTPS, works as a phone app (PWA).
70
+ - **Home Assistant** — every output, input and sensor appears in Home
71
+ Assistant by itself through MQTT discovery. MQTT over TLS is supported.
72
+ - **Local logic** — inputs drive outputs directly on the controller, with
73
+ click / double click / long press actions and conditions. Lights still work
74
+ when Home Assistant or the network does not.
75
+ - **Covers** — time-based roller blinds, venetian blinds with tilt, gates.
76
+ - **Modbus** — ready definitions for energy meters, inverters, HVAC units and
77
+ sensors (SDM630, ORNO, Socomec, Sofar, SHT30, PT100 and more).
78
+ - **Templates** — thermostats, alarm panel, irrigation, schedules, presence
79
+ simulation, sunrise / sunset triggers, virtual switches and energy sensors.
80
+ - **Remote devices** — ESPHome, WLED and other controllers over MQTT or CAN,
81
+ used as inputs and outputs as if they were local.
82
+ - **Updates from the panel** — application and system updates, backups and
83
+ configuration restore without SSH.
84
+
85
+ ## Getting started
86
+
87
+ The controller ships ready to use. Connect it to the network and open
88
+ `https://<controller-ip>:8443`, or plug in USB and open
89
+ `http://192.168.7.2:8090`. The first-run wizard creates the administrator
90
+ account and asks which board this is.
91
+
92
+ Full guide: [boneio.eu/docs](https://boneio.eu/docs/intro/).
93
+
94
+ The supported way to run this software is the boneIO system image on boneIO
95
+ hardware. Installing the Python package by hand on another system is not
96
+ supported.
97
+
98
+ ## Development
99
+
100
+ ```bash
101
+ uv sync
102
+ uv run boneio run -c ~/boneio/config.yaml -dd
103
+ ```
104
+
105
+ Python 3.13 or newer. Frontend sources are in `frontend/`.
106
+
107
+ ## License
108
+
109
+ GNU General Public License v3.0.
@@ -0,0 +1,66 @@
1
+ # boneIO Black
2
+
3
+ **boneIO Black** is a DIN-rail home automation controller: relays, inputs and
4
+ sensors in one box, ready to wire into a switchboard. This repository is the
5
+ software that runs on it — configured from the browser, integrated with
6
+ Home Assistant over MQTT, and working on its own when the network or the
7
+ server is down.
8
+
9
+ [boneio.eu](https://boneio.eu) · [Documentation](https://boneio.eu/docs/intro/) · [Releases](https://github.com/boneIO-eu/app_black/releases)
10
+
11
+ ## The controller
12
+
13
+ - **32x10A** — 32 relay outputs, 10 A each, plus inputs for wall switches.
14
+ - **24x16A** — 24 relay outputs, 16 A each, for heavier loads.
15
+ - **Cover** and **Cover Mix** — boards made for roller blinds, venetian blinds
16
+ and gates.
17
+
18
+ Every board has an OLED status screen, a temperature sensor, power
19
+ monitoring and RS-485 for Modbus devices. It comes with the system image
20
+ installed: power it up, open the panel, pick the board type, done.
21
+
22
+ ## What the software does
23
+
24
+ - **Web panel** — configure outputs, inputs, covers and devices from the
25
+ browser, with no YAML editing needed (YAML stays available for those who
26
+ want it). Accounts with roles, HTTPS, works as a phone app (PWA).
27
+ - **Home Assistant** — every output, input and sensor appears in Home
28
+ Assistant by itself through MQTT discovery. MQTT over TLS is supported.
29
+ - **Local logic** — inputs drive outputs directly on the controller, with
30
+ click / double click / long press actions and conditions. Lights still work
31
+ when Home Assistant or the network does not.
32
+ - **Covers** — time-based roller blinds, venetian blinds with tilt, gates.
33
+ - **Modbus** — ready definitions for energy meters, inverters, HVAC units and
34
+ sensors (SDM630, ORNO, Socomec, Sofar, SHT30, PT100 and more).
35
+ - **Templates** — thermostats, alarm panel, irrigation, schedules, presence
36
+ simulation, sunrise / sunset triggers, virtual switches and energy sensors.
37
+ - **Remote devices** — ESPHome, WLED and other controllers over MQTT or CAN,
38
+ used as inputs and outputs as if they were local.
39
+ - **Updates from the panel** — application and system updates, backups and
40
+ configuration restore without SSH.
41
+
42
+ ## Getting started
43
+
44
+ The controller ships ready to use. Connect it to the network and open
45
+ `https://<controller-ip>:8443`, or plug in USB and open
46
+ `http://192.168.7.2:8090`. The first-run wizard creates the administrator
47
+ account and asks which board this is.
48
+
49
+ Full guide: [boneio.eu/docs](https://boneio.eu/docs/intro/).
50
+
51
+ The supported way to run this software is the boneIO system image on boneIO
52
+ hardware. Installing the Python package by hand on another system is not
53
+ supported.
54
+
55
+ ## Development
56
+
57
+ ```bash
58
+ uv sync
59
+ uv run boneio run -c ~/boneio/config.yaml -dd
60
+ ```
61
+
62
+ Python 3.13 or newer. Frontend sources are in `frontend/`.
63
+
64
+ ## License
65
+
66
+ GNU General Public License v3.0.
@@ -0,0 +1,337 @@
1
+ """Virtual Energy Sensor module.
2
+
3
+ Creates virtual power/energy or water flow sensors linked to outputs.
4
+ When the linked output is ON, the sensor calculates consumption based on
5
+ configured power_usage or flow_rate.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import asyncio
11
+ import json
12
+ import logging
13
+ import time
14
+ from collections.abc import Callable
15
+ from typing import TYPE_CHECKING
16
+
17
+ from boneio.const import ON
18
+ from boneio.models import SensorState
19
+ from boneio.models.events import SensorEvent
20
+
21
+ if TYPE_CHECKING:
22
+ from boneio.components.output.basic import BasicOutput
23
+ from boneio.core.events.bus import EventBus
24
+ from boneio.core.messaging.basic import MessageBus
25
+
26
+ _LOGGER = logging.getLogger(__name__)
27
+
28
+ # How long to wait, once the broker has the subscription, for a stored total.
29
+ # None arriving means the counter has never been published.
30
+ RESTORE_GRACE_SECONDS = 15.0
31
+
32
+
33
+ class VirtualEnergySensor:
34
+ """Virtual energy/water sensor linked to an output.
35
+
36
+ Tracks energy consumption (Wh) or water consumption (L) based on
37
+ configured power_usage (W) or flow_rate (L/h) when the linked output is ON.
38
+
39
+ Args:
40
+ id: Unique sensor identifier
41
+ name: Display name for Home Assistant
42
+ output: The output to track
43
+ message_bus: MessageBus for MQTT communication
44
+ loop: Event loop
45
+ topic_prefix: MQTT topic prefix
46
+ sensor_type: 'power' or 'water'
47
+ power_usage: Power consumption in Watts (for sensor_type='power')
48
+ flow_rate: Flow rate in L/h (for sensor_type='water')
49
+ area: Optional area ID for HA sub-device
50
+ """
51
+
52
+ def __init__(
53
+ self,
54
+ id: str,
55
+ name: str,
56
+ output: BasicOutput,
57
+ message_bus: MessageBus,
58
+ event_bus: EventBus,
59
+ loop: asyncio.AbstractEventLoop,
60
+ topic_prefix: str,
61
+ sensor_type: str,
62
+ power_usage: float | None = None,
63
+ flow_rate: float | None = None,
64
+ area: str | None = None,
65
+ ):
66
+ self._id = id
67
+ self._name = name
68
+ self._output = output
69
+ self._loop = loop or asyncio.get_running_loop()
70
+ self._message_bus = message_bus
71
+ self._event_bus = event_bus
72
+ self._topic_prefix = topic_prefix
73
+ self._sensor_type = sensor_type
74
+ self._power_usage = power_usage
75
+ self._flow_rate = flow_rate
76
+ self._area = area
77
+
78
+ self._virtual_sensors_task = None
79
+ self._restore_task: asyncio.Task | None = None
80
+
81
+ # Counters
82
+ self._energy_consumed_Wh = 0.0
83
+ self._water_consumed_L = 0.0
84
+ self._last_on_timestamp = None
85
+
86
+ # State restore gate — prevents sending state=0 before
87
+ # the retained MQTT message with the real value is received.
88
+ self._restore_done = asyncio.Event()
89
+
90
+ # MQTT topic for this sensor
91
+ self._sensor_topic = f"{topic_prefix}/energy/{id}"
92
+
93
+ # Subscribe to restore state from MQTT
94
+ self._subscribe_restore_state()
95
+
96
+ _LOGGER.info(
97
+ "Initialized VirtualEnergySensor: id=%s, name=%s, output=%s, type=%s", id, name, output.id, sensor_type
98
+ )
99
+
100
+ @property
101
+ def id(self) -> str:
102
+ """Get sensor ID."""
103
+ return self._id
104
+
105
+ @property
106
+ def name(self) -> str:
107
+ """Get sensor name."""
108
+ return self._name
109
+
110
+ @property
111
+ def output_id(self) -> str:
112
+ """Get linked output ID."""
113
+ return self._output.id
114
+
115
+ @property
116
+ def sensor_type(self) -> str:
117
+ """Get sensor type ('power' or 'water')."""
118
+ return self._sensor_type
119
+
120
+ @property
121
+ def area(self) -> str | None:
122
+ """Get area ID."""
123
+ return self._area
124
+
125
+ @property
126
+ def power_usage(self) -> float | None:
127
+ """Get power usage in Watts."""
128
+ return self._power_usage
129
+
130
+ @property
131
+ def flow_rate(self) -> float | None:
132
+ """Get flow rate in L/h."""
133
+ return self._flow_rate
134
+
135
+ @property
136
+ def last_on_timestamp(self) -> float | None:
137
+ """Get timestamp when output was last turned ON."""
138
+ return self._last_on_timestamp
139
+
140
+ def rebind_output(self, resolve: Callable[[BasicOutput], BasicOutput]) -> None:
141
+ """Swap the tracked output for the one registered now under its id.
142
+
143
+ Tracking reads the output's state; after an output reload the old
144
+ object's state no longer changes, so nothing was counted.
145
+
146
+ Args:
147
+ resolve: Maps the held output to the current one.
148
+ """
149
+ self._output = resolve(self._output)
150
+
151
+ def start_tracking(self):
152
+ """Start tracking consumption (called when output turns ON)."""
153
+ if self._last_on_timestamp is None: # ON while already on keeps the stretch
154
+ self._last_on_timestamp = time.time()
155
+ if self._virtual_sensors_task is not None and not self._virtual_sensors_task.done():
156
+ return # Already running
157
+ self._virtual_sensors_task = self._loop.create_task(self._tracking_loop())
158
+ _LOGGER.debug("Started tracking for virtual sensor %s", self._id)
159
+
160
+ def stop_tracking(self):
161
+ """Stop tracking consumption (called when output turns OFF)."""
162
+ # Update one last time before stopping
163
+ self._update_consumption()
164
+ self._last_on_timestamp = None
165
+
166
+ if self._virtual_sensors_task is not None:
167
+ self._virtual_sensors_task.cancel()
168
+ self._virtual_sensors_task = None
169
+
170
+ # Send final state (only if restore is done)
171
+ if self._restore_done.is_set():
172
+ self._send_state()
173
+ _LOGGER.debug("Stopped tracking for virtual sensor %s", self._id)
174
+
175
+ async def _tracking_loop(self):
176
+ """Periodically update and send state every 30 seconds while output is ON."""
177
+ try:
178
+ # Publishing before the stored total is known would replace it
179
+ # with what was counted since boot.
180
+ await self._restore_done.wait()
181
+
182
+ while self._output.state == ON:
183
+ self._update_consumption()
184
+ self._send_state()
185
+ await asyncio.sleep(30)
186
+ except asyncio.CancelledError:
187
+ pass
188
+
189
+ def _update_consumption(self):
190
+ """Update consumption counters based on elapsed time."""
191
+ now = time.time()
192
+ # Not the output's state: by the time OFF is handled it is already
193
+ # off, and the stretch since the last update would be lost.
194
+ if self._last_on_timestamp is not None:
195
+ elapsed = now - self._last_on_timestamp
196
+
197
+ if self._sensor_type == "power" and self._power_usage is not None:
198
+ self._energy_consumed_Wh += (self._power_usage * elapsed) / 3600.0
199
+ _LOGGER.debug("Energy updated for %s: %.4f Wh", self._id, self._energy_consumed_Wh)
200
+ elif self._sensor_type == "water" and self._flow_rate is not None:
201
+ self._water_consumed_L += (self._flow_rate * elapsed) / 3600.0
202
+ _LOGGER.debug("Water updated for %s: %.4f L", self._id, self._water_consumed_L)
203
+
204
+ self._last_on_timestamp = now
205
+
206
+ def _subscribe_restore_state(self):
207
+ """Subscribe to retained MQTT topic to restore state on startup.
208
+
209
+ Sets _restore_done event when restore is complete (or if no retained
210
+ message is available). This gates _send_state() to prevent overwriting
211
+ the retained value with 0.
212
+ """
213
+
214
+ async def on_message(_topic, payload):
215
+ if self._restore_done.is_set():
216
+ return # Late, after giving up: the counter is already published.
217
+ try:
218
+ data = json.loads(payload)
219
+ if isinstance(data, dict):
220
+ # Added, not assigned: the output may have been on since boot.
221
+ if "energy" in data:
222
+ self._energy_consumed_Wh += float(data["energy"])
223
+ _LOGGER.info("Restored energy state for %s: %.4f Wh", self._id, self._energy_consumed_Wh)
224
+ if "water" in data:
225
+ self._water_consumed_L += float(data["water"])
226
+ _LOGGER.info("Restored water state for %s: %.4f L", self._id, self._water_consumed_L)
227
+ except Exception as e:
228
+ _LOGGER.warning("Failed to restore state for %s: %s", self._id, e)
229
+ finally:
230
+ self._restore_done.set()
231
+ await self._message_bus.unsubscribe_and_stop_listen(self._sensor_topic)
232
+
233
+ async def restore():
234
+ await self._message_bus.subscribe_and_listen(self._sensor_topic, on_message)
235
+ # The grace starts once the broker has the subscription, not at
236
+ # boot: connecting can take longer than any fixed timeout.
237
+ await self._message_bus.wait_until_subscribed()
238
+ try:
239
+ await asyncio.wait_for(self._restore_done.wait(), timeout=RESTORE_GRACE_SECONDS)
240
+ except TimeoutError:
241
+ _LOGGER.info("No stored state for %s, counting from boot", self._id)
242
+ self._restore_done.set()
243
+ await self._message_bus.unsubscribe_and_stop_listen(self._sensor_topic)
244
+
245
+ if self._message_bus is not None:
246
+ self._restore_task = asyncio.create_task(restore())
247
+
248
+ def get_current_power(self) -> float:
249
+ """Get current power usage in W (0 if output is OFF)."""
250
+ if self._sensor_type != "power":
251
+ return 0.0
252
+ return (self._power_usage or 0.0) if self._output.state == ON else 0.0
253
+
254
+ def get_total_energy(self) -> float:
255
+ """Get total energy consumed in Wh."""
256
+ return round(self._energy_consumed_Wh, 3)
257
+
258
+ def get_current_flow_rate(self) -> float:
259
+ """Get current flow rate in L/h (0 if output is OFF)."""
260
+ if self._sensor_type != "water":
261
+ return 0.0
262
+ return (self._flow_rate or 0.0) if self._output.state == ON else 0.0
263
+
264
+ def get_total_water(self) -> float:
265
+ """Get total water consumed in L."""
266
+ return round(self._water_consumed_L, 3)
267
+
268
+ def _send_state(self):
269
+ """Send current state to MQTT and EventBus (for WebSocket/frontend)."""
270
+ payload = {}
271
+ timestamp = int(time.time())
272
+
273
+ if self._sensor_type == "power":
274
+ payload["power"] = self.get_current_power()
275
+ payload["energy"] = self.get_total_energy()
276
+
277
+ # Send SensorEvents to frontend via EventBus
278
+ self._event_bus.trigger_event(
279
+ SensorEvent(
280
+ entity_id=f"{self._id}_power",
281
+ state=SensorState(
282
+ id=f"{self._id}_power",
283
+ name=f"{self._name} Power",
284
+ state=self.get_current_power(),
285
+ unit="W",
286
+ timestamp=timestamp,
287
+ ),
288
+ )
289
+ )
290
+ self._event_bus.trigger_event(
291
+ SensorEvent(
292
+ entity_id=f"{self._id}_energy",
293
+ state=SensorState(
294
+ id=f"{self._id}_energy",
295
+ name=f"{self._name} Energy",
296
+ state=self.get_total_energy(),
297
+ unit="Wh",
298
+ timestamp=timestamp,
299
+ ),
300
+ )
301
+ )
302
+ elif self._sensor_type == "water":
303
+ payload["volume_flow_rate"] = self.get_current_flow_rate()
304
+ payload["water"] = self.get_total_water()
305
+
306
+ # Send SensorEvents to frontend via EventBus
307
+ self._event_bus.trigger_event(
308
+ SensorEvent(
309
+ entity_id=f"{self._id}_flow",
310
+ state=SensorState(
311
+ id=f"{self._id}_flow",
312
+ name=f"{self._name} Flow Rate",
313
+ state=self.get_current_flow_rate(),
314
+ unit="L/h",
315
+ timestamp=timestamp,
316
+ ),
317
+ )
318
+ )
319
+ self._event_bus.trigger_event(
320
+ SensorEvent(
321
+ entity_id=f"{self._id}_water",
322
+ state=SensorState(
323
+ id=f"{self._id}_water",
324
+ name=f"{self._name} Water",
325
+ state=self.get_total_water(),
326
+ unit="L",
327
+ timestamp=timestamp,
328
+ ),
329
+ )
330
+ )
331
+
332
+ self._message_bus.send_message(
333
+ topic=self._sensor_topic,
334
+ payload=payload,
335
+ retain=True,
336
+ )
337
+ _LOGGER.debug("Sent state for %s: %s", self._id, payload)