boneio 1.5.0.dev22__tar.gz → 1.5.0.dev24__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 (518) hide show
  1. {boneio-1.5.0.dev22/boneio.egg-info → boneio-1.5.0.dev24}/PKG-INFO +1 -1
  2. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/bonecli.py +3 -0
  3. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/cover/venetian.py +13 -14
  4. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/registration.py +21 -21
  5. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/migrations/v4_wled_cache.py +5 -3
  6. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/schema_converter.py +10 -2
  7. boneio-1.5.0.dev24/boneio/core/config/yaml_compat.py +45 -0
  8. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/yaml_util.py +343 -194
  9. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/timeperiod.py +25 -8
  10. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/actions.py +78 -0
  11. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/MANIFEST.sha256 +1 -0
  12. boneio-1.5.0.dev24/boneio/migrations/assets/wheels/pyyaml-6.0.3-cp313-cp313-linux_armv7l.whl +0 -0
  13. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/bootstrap/boneio-migrate +186 -0
  14. boneio-1.5.0.dev24/boneio/migrations/versions/v1_5_2_libyaml.py +109 -0
  15. boneio-1.5.0.dev24/boneio/migrations/versions/v1_5_3_libyaml_retry.py +102 -0
  16. boneio-1.5.0.dev24/boneio/version.py +2 -0
  17. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/BindingMatrix-C993gYYe.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/BindingMatrix-HeIJ-fdc.js +1 -1
  18. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/ConfigEditor-CTayeo9a.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/ConfigEditor-DungnyP9.js +1 -1
  19. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/EditItemDialog-BitGvgVK.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/EditItemDialog-D6sMQCm4.js +1 -1
  20. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/EntityCard-D-pNme92.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/EntityCard-C4CsnsC3.js +1 -1
  21. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/FormInputToggle-CwSemBhC.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/FormInputToggle-CizPsvVx.js +1 -1
  22. boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/InputsView-B3IC5g5i.js +1 -0
  23. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/LogViewer-hogJ8a1j.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/LogViewer-CvSFLDPH.js +1 -1
  24. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/ModbusView-DOxkfkhx.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/ModbusView-CmCpBs0W.js +1 -1
  25. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/OutputsView-DIF7Ld-3.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/OutputsView-CjWrKAH6.js +1 -1
  26. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/SensorView-NK1xZOGU.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/SensorView-DVmp-mbx.js +1 -1
  27. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/SudoPasswordDialog-CGdz-zg5.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/SudoPasswordDialog-D1FTg4dI.js +1 -1
  28. boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/SystemState-D2NXOXke.js +1 -0
  29. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/TemplatesView-BU0uHOxT.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/TemplatesView-DVOrgw6Y.js +1 -1
  30. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/Tools-DqoipYLB.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/Tools-anCB88sw.js +1 -1
  31. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/UISettings-CYqqM4Nh.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/UISettings-Dwa6-3E-.js +3 -3
  32. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/index-WPqx-mUk.js → boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/index-CuPeVd5n.js +2 -2
  33. boneio-1.5.0.dev24/boneio/webui/frontend-dist/assets/useTranslation-CVJhMndf.js +13 -0
  34. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/index.html +2 -2
  35. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/sw.js +1 -1
  36. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/config_actions.py +59 -4
  37. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/config_core.py +12 -5
  38. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/system.py +19 -4
  39. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24/boneio.egg-info}/PKG-INFO +1 -1
  40. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio.egg-info/SOURCES.txt +21 -17
  41. boneio-1.5.0.dev22/boneio/version.py +0 -2
  42. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/InputsView-DGtDzZQf.js +0 -1
  43. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/SystemState-CbxniflZ.js +0 -1
  44. boneio-1.5.0.dev22/boneio/webui/frontend-dist/assets/useTranslation-C4Lw3b8M.js +0 -13
  45. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/LICENSE +0 -0
  46. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/MANIFEST.in +0 -0
  47. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/README.md +0 -0
  48. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/__init__.py +0 -0
  49. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.2/input.yaml +0 -0
  50. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.2/output_24_16.yaml +0 -0
  51. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.2/output_32_10.yaml +0 -0
  52. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.2/output_32_5.yaml +0 -0
  53. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.2/output_cover.yaml +0 -0
  54. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.2/output_cover_mix.yaml +0 -0
  55. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.3/input.yaml +0 -0
  56. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.3/output_24_16.yaml +0 -0
  57. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.3/output_32_10.yaml +0 -0
  58. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.3/output_32_5.yaml +0 -0
  59. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.3/output_cover.yaml +0 -0
  60. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.3/output_cover_mix.yaml +0 -0
  61. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.4/input.yaml +0 -0
  62. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.4/output_24_16.yaml +0 -0
  63. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.4/output_32_10.yaml +0 -0
  64. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.4/output_32_5.yaml +0 -0
  65. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.4/output_cover.yaml +0 -0
  66. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.4/output_cover_mix.yaml +0 -0
  67. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.5/input.yaml +0 -0
  68. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.5/output_24_16.yaml +0 -0
  69. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.5/output_32_10.yaml +0 -0
  70. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.5/output_cover.yaml +0 -0
  71. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.5/output_cover_mix.yaml +0 -0
  72. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.6/input.yaml +0 -0
  73. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.6/output_24_16.yaml +0 -0
  74. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.6/output_32_10.yaml +0 -0
  75. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.6/output_cover.yaml +0 -0
  76. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.6/output_cover_mix.yaml +0 -0
  77. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.7/input.yaml +0 -0
  78. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.7/output_24_16.yaml +0 -0
  79. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.7/output_32_10.yaml +0 -0
  80. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.7/output_48_4.yaml +0 -0
  81. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.7/output_cover.yaml +0 -0
  82. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.7/output_cover_mix.yaml +0 -0
  83. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.8/input.yaml +0 -0
  84. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.8/output_24_16.yaml +0 -0
  85. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.8/output_32_10.yaml +0 -0
  86. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.8/output_48_4.yaml +0 -0
  87. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.8/output_cover.yaml +0 -0
  88. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/0.8/output_cover_mix.yaml +0 -0
  89. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/1.0/input.yaml +0 -0
  90. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/1.0/output_24_16.yaml +0 -0
  91. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/1.0/output_32_10.yaml +0 -0
  92. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/1.0/output_48_4.yaml +0 -0
  93. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/1.0/output_cover.yaml +0 -0
  94. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/boards/1.0/output_cover_mix.yaml +0 -0
  95. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/__init__.py +0 -0
  96. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/cover/__init__.py +0 -0
  97. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/cover/cover.py +0 -0
  98. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/cover/time_based.py +0 -0
  99. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/group/__init__.py +0 -0
  100. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/group/output_group.py +0 -0
  101. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/__init__.py +0 -0
  102. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/binary_sensor.py +0 -0
  103. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/detectors.py +0 -0
  104. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/event.py +0 -0
  105. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/remote/__init__.py +0 -0
  106. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/remote/base.py +0 -0
  107. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/input/remote/esphome.py +0 -0
  108. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/irrigation/__init__.py +0 -0
  109. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/irrigation/controller.py +0 -0
  110. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/irrigation/water_source.py +0 -0
  111. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/__init__.py +0 -0
  112. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/basic.py +0 -0
  113. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/buzzer.py +0 -0
  114. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/mcp.py +0 -0
  115. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/pca.py +0 -0
  116. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/pcf.py +0 -0
  117. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/output/remote.py +0 -0
  118. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/sensor/__init__.py +0 -0
  119. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/sensor/virtual_energy.py +0 -0
  120. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/template/__init__.py +0 -0
  121. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/template/alarm_panel.py +0 -0
  122. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/template/gate_cover.py +0 -0
  123. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/components/template/thermostat.py +0 -0
  124. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/const.py +0 -0
  125. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/__init__.py +0 -0
  126. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/__init__.py +0 -0
  127. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/data/__init__.py +0 -0
  128. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/data/docker-compose-cloud.yaml +0 -0
  129. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/data/docker-compose.yaml +0 -0
  130. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/data/init-certs-cloud.sh +0 -0
  131. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/cloud/secrets.py +0 -0
  132. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/__init__.py +0 -0
  133. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/config_helper.py +0 -0
  134. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/migrations/__init__.py +0 -0
  135. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/migrations/v1_proxy_port.py +0 -0
  136. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/migrations/v2_transition.py +0 -0
  137. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/package-lock.json +0 -0
  138. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/config/package.json +0 -0
  139. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/discovery.py +0 -0
  140. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/events/__init__.py +0 -0
  141. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/events/bus.py +0 -0
  142. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/__init__.py +0 -0
  143. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/action_conditions.py +0 -0
  144. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/canopen.py +0 -0
  145. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/covers.py +0 -0
  146. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/display.py +0 -0
  147. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/inputs.py +0 -0
  148. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/irrigation.py +0 -0
  149. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/manager.py +0 -0
  150. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/modbus.py +0 -0
  151. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/outputs.py +0 -0
  152. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/remote.py +0 -0
  153. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/remote_input_registrar.py +0 -0
  154. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/sensors.py +0 -0
  155. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/templates/__init__.py +0 -0
  156. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/templates/alarm.py +0 -0
  157. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/templates/gate_cover.py +0 -0
  158. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/templates/thermostat.py +0 -0
  159. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/templates.py +0 -0
  160. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/manager/update.py +0 -0
  161. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/__init__.py +0 -0
  162. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/basic.py +0 -0
  163. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/basic_mqtt.py +0 -0
  164. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/composite.py +0 -0
  165. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/local.py +0 -0
  166. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/lox.py +0 -0
  167. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/mqtt.py +0 -0
  168. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/messaging/queue.py +0 -0
  169. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/__init__.py +0 -0
  170. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/base.py +0 -0
  171. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/can.py +0 -0
  172. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/esphome.py +0 -0
  173. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/mqtt.py +0 -0
  174. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/wled.py +0 -0
  175. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/remote/wled_cache.py +0 -0
  176. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/sensor/__init__.py +0 -0
  177. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/sensor/base.py +0 -0
  178. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/sensor/system.py +0 -0
  179. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/state/__init__.py +0 -0
  180. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/state/manager.py +0 -0
  181. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/system/__init__.py +0 -0
  182. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/system/host_data.py +0 -0
  183. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/system/monitor.py +0 -0
  184. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/__init__.py +0 -0
  185. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/async_updater.py +0 -0
  186. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/conditions.py +0 -0
  187. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/filter.py +0 -0
  188. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/font_util.py +0 -0
  189. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/logger.py +0 -0
  190. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/core/utils/util.py +0 -0
  191. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/24x16/adc.yaml +0 -0
  192. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/24x16/binary_sensor.yaml +0 -0
  193. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/24x16/config.yaml +0 -0
  194. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/24x16/event.yaml +0 -0
  195. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/24x16/mqtt.yaml +0 -0
  196. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/24x16/output24x16A.yaml +0 -0
  197. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/32x10/adc.yaml +0 -0
  198. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/32x10/binary_sensor.yaml +0 -0
  199. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/32x10/config.yaml +0 -0
  200. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/32x10/event.yaml +0 -0
  201. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/32x10/mqtt.yaml +0 -0
  202. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/32x10/output32x10A.yaml +0 -0
  203. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/48x4/adc.yaml +0 -0
  204. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/48x4/binary_sensor.yaml +0 -0
  205. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/48x4/config.yaml +0 -0
  206. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/48x4/event.yaml +0 -0
  207. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/48x4/mqtt.yaml +0 -0
  208. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/48x4/output48x4A.yaml +0 -0
  209. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/__init__.py +0 -0
  210. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/can_master.yaml +0 -0
  211. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/can_slave.yaml +0 -0
  212. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/adc.yaml +0 -0
  213. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/binary_sensor.yaml +0 -0
  214. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/config.yaml +0 -0
  215. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/cover.yaml +0 -0
  216. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/event.yaml +0 -0
  217. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/mqtt.yaml +0 -0
  218. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover/outputCover.yaml +0 -0
  219. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/adc.yaml +0 -0
  220. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/binary_sensor.yaml +0 -0
  221. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/config.yaml +0 -0
  222. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/cover.yaml +0 -0
  223. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/event.yaml +0 -0
  224. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/mqtt.yaml +0 -0
  225. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/cover_mix/outputCoverMix.yaml +0 -0
  226. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/adc.yaml +0 -0
  227. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/all_binary_sensor.yaml +0 -0
  228. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/binary_sensor.yaml +0 -0
  229. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/binary_sensor_v_0_7.yaml +0 -0
  230. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/config_24_16.yaml +0 -0
  231. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/event_all.yaml +0 -0
  232. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/event_v_0_7.yaml +0 -0
  233. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/led32x4A.yaml +0 -0
  234. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/output24x16A.yaml +0 -0
  235. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/output24x16A_v0.3.yaml +0 -0
  236. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/output32x10A.yaml +0 -0
  237. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/example_config/different_configs/output32x5A.yaml +0 -0
  238. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/exceptions.py +0 -0
  239. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/__init__.py +0 -0
  240. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/analog/__init__.py +0 -0
  241. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/analog/adc.py +0 -0
  242. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/__init__.py +0 -0
  243. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/bridge.py +0 -0
  244. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/client.py +0 -0
  245. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/interface.py +0 -0
  246. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/node.py +0 -0
  247. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/node_id.py +0 -0
  248. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/can/test_od.py +0 -0
  249. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/display/__init__.py +0 -0
  250. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/display/early_oled.py +0 -0
  251. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/display/fonts/danube__.ttf +0 -0
  252. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/display/oled.py +0 -0
  253. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/__init__.py +0 -0
  254. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/expanders/__init__.py +0 -0
  255. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/expanders/mcp23017.py +0 -0
  256. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/expanders/pca9685.py +0 -0
  257. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/expanders/pcf8575.py +0 -0
  258. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/input/__init__.py +0 -0
  259. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/input/base.py +0 -0
  260. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/gpio/input/manager.py +0 -0
  261. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/i2c/__init__.py +0 -0
  262. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/i2c/bus.py +0 -0
  263. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/i2c/ina219.py +0 -0
  264. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/i2c/ina219_driver.py +0 -0
  265. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/i2c/mcp9808.py +0 -0
  266. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/i2c/pct2075.py +0 -0
  267. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/onewire/__init__.py +0 -0
  268. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/onewire/bus.py +0 -0
  269. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/onewire/dallas.py +0 -0
  270. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/onewire/ds2482.py +0 -0
  271. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/sensor/__init__.py +0 -0
  272. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/sensor/temperature/__init__.py +0 -0
  273. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/sensor/temperature/base.py +0 -0
  274. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/sensor/temperature/mcp9808.py +0 -0
  275. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/hardware/sensor/temperature/pct2075.py +0 -0
  276. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/integration/__init__.py +0 -0
  277. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/integration/homeassistant.py +0 -0
  278. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/integration/interlock.py +0 -0
  279. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/integration/lox_template.py +0 -0
  280. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/__init__.py +0 -0
  281. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/docker/daemon.json +0 -0
  282. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/docker/nodered/caddy/502.html +0 -0
  283. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/docker/nodered/caddy/init-certs.sh +0 -0
  284. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/docker/nodered/docker-compose.yaml +0 -0
  285. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/docker/nodered/nginx/default.conf +0 -0
  286. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/docker/nodered/node-red/settings.js +0 -0
  287. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/journald/journald.conf +0 -0
  288. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/mosquitto/boneio.conf +0 -0
  289. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/sudoers/boneio +0 -0
  290. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/systemd/boneio-oled-boot.service +0 -0
  291. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/systemd/boneio-oled-shutdown.service +0 -0
  292. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/systemd/boneio.service +0 -0
  293. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/systemd/set-hostname-once.service +0 -0
  294. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/usr-local-bin/set-hostname-once.sh +0 -0
  295. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/usr-sbin/oled_boot_splash.py +0 -0
  296. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/usr-sbin/oled_boot_splash.sh +0 -0
  297. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/usr-sbin/oled_msg.py +0 -0
  298. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/assets/usr-sbin/oled_msg.sh +0 -0
  299. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/bootstrap/install-helper.sh +0 -0
  300. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/bootstrap/sudoers-migrate +0 -0
  301. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/runner.py +0 -0
  302. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/__init__.py +0 -0
  303. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_3_0_baseline.py +0 -0
  304. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_3_1_fix_oled_boot.py +0 -0
  305. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_3_2_cleanup_can_sudoers.py +0 -0
  306. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_4_0_fix_mqtt_sudoers.py +0 -0
  307. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_4_3_oled_shutdown.py +0 -0
  308. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_4_4_caddy.py +0 -0
  309. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_5_0_fix_oled_fifo_permissions.py +0 -0
  310. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/migrations/versions/v1_5_1_ufw_lox_udp.py +0 -0
  311. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/__init__.py +0 -0
  312. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/cli.py +0 -0
  313. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/client.py +0 -0
  314. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/coordinator.py +0 -0
  315. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/__init__.py +0 -0
  316. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/dts1964_3f.json +0 -0
  317. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/le-03mw.json +0 -0
  318. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/le-03mwct.json +0 -0
  319. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/orno-or-we-517.json +0 -0
  320. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/sdm120.json +0 -0
  321. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/sdm630.json +0 -0
  322. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/socomec_e03.json +0 -0
  323. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/energy_meters/socomec_e23.json +0 -0
  324. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/hvac/eht-topventil-plus.json +0 -0
  325. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/hvac/fujitsu-ac.json +0 -0
  326. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/hvac/thessla.json +0 -0
  327. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/hvac/ventclear.json +0 -0
  328. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/hvac/wanas415.json +0 -0
  329. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/inverters/sofar.json +0 -0
  330. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/other/esp32_relay_x4_modbus.json +0 -0
  331. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/other/n4dsc08.json +0 -0
  332. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/other/r4dcb08.json +0 -0
  333. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/boneio-edge-temp.json +0 -0
  334. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/cwt.json +0 -0
  335. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/dyp-a12-ultrasonic.json +0 -0
  336. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/gdfs.json +0 -0
  337. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/gdfx.json +0 -0
  338. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/liquid-sensor.json +0 -0
  339. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/pt100.json +0 -0
  340. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/sht20.json +0 -0
  341. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/devices/sensors/sht30.json +0 -0
  342. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/__init__.py +0 -0
  343. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/base.py +0 -0
  344. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/derived/__init__.py +0 -0
  345. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/derived/numeric.py +0 -0
  346. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/derived/select.py +0 -0
  347. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/derived/switch.py +0 -0
  348. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/derived/text.py +0 -0
  349. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/sensor/__init__.py +0 -0
  350. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/sensor/binary.py +0 -0
  351. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/sensor/numeric.py +0 -0
  352. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/sensor/text.py +0 -0
  353. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/writeable/__init__.py +0 -0
  354. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/writeable/binary.py +0 -0
  355. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/entities/writeable/numeric.py +0 -0
  356. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/mock_coordinator.py +0 -0
  357. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/modbus/utils.py +0 -0
  358. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/__init__.py +0 -0
  359. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/actions.py +0 -0
  360. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/events.py +0 -0
  361. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/files.py +0 -0
  362. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/logs.py +0 -0
  363. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/mqtt.py +0 -0
  364. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/models/state.py +0 -0
  365. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/runner.py +0 -0
  366. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/actions.yaml +0 -0
  367. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/actions_sensor.yaml +0 -0
  368. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/actions_switch.yaml +0 -0
  369. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/condition.yaml +0 -0
  370. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/filters.yaml +0 -0
  371. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/filters_adc.yaml +0 -0
  372. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/id.yaml +0 -0
  373. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/remote_devices.yaml +0 -0
  374. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/remote_inputs.yaml +0 -0
  375. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/remote_outputs.yaml +0 -0
  376. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/schema.yaml +0 -0
  377. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/temp_unit.yaml +0 -0
  378. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/schema/update_interval.yaml +0 -0
  379. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/action_validation.py +0 -0
  380. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/app.py +0 -0
  381. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/dashboard_cards.py +0 -0
  382. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/EntityGrid-Cawu3vXH.js +0 -0
  383. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/HelpLabel-BSTjOtDA.js +0 -0
  384. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/LongPressWrapper-BHOQV7Wq.js +0 -0
  385. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/NodeRedView-CkLYYTOq.js +0 -0
  386. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/Sparkline-BGWlVLtt.js +0 -0
  387. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/aiConfig-IRYCBmLm.js +0 -0
  388. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/aiWizardPrompt-D9OJ-cE7.js +0 -0
  389. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/clipboard-CCtx29e-.js +0 -0
  390. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/codicon-ngg6Pgfi.ttf +0 -0
  391. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/css.worker-CvXBzhp8.js +0 -0
  392. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/editor.worker-Cn2oRESe.js +0 -0
  393. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/fa-CHSdWfvR.js +0 -0
  394. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/formatters-zOiGPJLh.js +0 -0
  395. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/gi-BmJDioil.js +0 -0
  396. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/html.worker-BO6WuOEO.js +0 -0
  397. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/index-v8R9j1A8.css +0 -0
  398. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/json.worker-BkJRGcCJ.js +0 -0
  399. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/longPress-Dx7OCSyP.js +0 -0
  400. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/modbusDeviceCatalog-C2Pi10n6.js +0 -0
  401. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/monaco-61yH0vfd.js +0 -0
  402. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/monaco-Br_kD0ds.css +0 -0
  403. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/rolldown-runtime-QTnfLwEv.js +0 -0
  404. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/select-B2YDgQ4X.js +0 -0
  405. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/tabs-box-Dj36r4_e.js +0 -0
  406. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/ts.worker-B0J26iPs.js +0 -0
  407. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/utils-C8nShLO6.js +0 -0
  408. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/vendor-IzweXARb.js +0 -0
  409. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/workbox-window.prod.es5-Bd17z0YL.js +0 -0
  410. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/assets/yaml.worker-BKRoXlmz.js +0 -0
  411. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/boneio-192.png +0 -0
  412. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/boneio-512.png +0 -0
  413. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/boneio.svg +0 -0
  414. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/boneio_fav.svg +0 -0
  415. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/adc.schema.json +0 -0
  416. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/areas.schema.json +0 -0
  417. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/binary_sensor.schema.json +0 -0
  418. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/boneio.schema.json +0 -0
  419. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/can.schema.json +0 -0
  420. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/config.schema.json +0 -0
  421. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/cover.schema.json +0 -0
  422. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/dallas.schema.json +0 -0
  423. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/ds2482.schema.json +0 -0
  424. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/event.schema.json +0 -0
  425. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/ina219.schema.json +0 -0
  426. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/irrigation.schema.json +0 -0
  427. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/lm75.schema.json +0 -0
  428. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/logger.schema.json +0 -0
  429. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/lox_udp.schema.json +0 -0
  430. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/mcp23017.schema.json +0 -0
  431. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/mcp9808.schema.json +0 -0
  432. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/modbus.schema.json +0 -0
  433. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/modbus_devices.schema.json +0 -0
  434. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/mqtt.schema.json +0 -0
  435. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/oled.schema.json +0 -0
  436. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/output.schema.json +0 -0
  437. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/output_group.schema.json +0 -0
  438. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/pca9685.schema.json +0 -0
  439. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/pcf8575.schema.json +0 -0
  440. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/remote_devices.schema.json +0 -0
  441. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/remote_inputs.schema.json +0 -0
  442. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/remote_outputs.schema.json +0 -0
  443. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/sensor.schema.json +0 -0
  444. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/template.schema.json +0 -0
  445. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/virtual_energy_sensor.schema.json +0 -0
  446. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/schema/web.schema.json +0 -0
  447. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/frontend-dist/workbox-4918f2f6.js +0 -0
  448. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/hvac_svg_templates.py +0 -0
  449. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/middleware/__init__.py +0 -0
  450. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/middleware/auth.py +0 -0
  451. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/modbus_card_templates.py +0 -0
  452. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/__init__.py +0 -0
  453. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/auth.py +0 -0
  454. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/caddy.py +0 -0
  455. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/can.py +0 -0
  456. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/config.py +0 -0
  457. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/config_backups.py +0 -0
  458. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/config_discovery.py +0 -0
  459. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/config_files.py +0 -0
  460. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/covers.py +0 -0
  461. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/dashboard.py +0 -0
  462. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/dev_fake_device.py +0 -0
  463. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/irrigation.py +0 -0
  464. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/migrations.py +0 -0
  465. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/modbus.py +0 -0
  466. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/mqtt_reference.py +0 -0
  467. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/nodered.py +0 -0
  468. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/outputs.py +0 -0
  469. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/remote_devices.py +0 -0
  470. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/sensors.py +0 -0
  471. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/templates.py +0 -0
  472. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/timezone_sudoers.py +0 -0
  473. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/tools.py +0 -0
  474. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/routes/update.py +0 -0
  475. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/adc.schema.json +0 -0
  476. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/areas.schema.json +0 -0
  477. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/binary_sensor.schema.json +0 -0
  478. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/boneio.schema.json +0 -0
  479. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/can.schema.json +0 -0
  480. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/config.schema.json +0 -0
  481. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/cover.schema.json +0 -0
  482. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/dallas.schema.json +0 -0
  483. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/ds2482.schema.json +0 -0
  484. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/event.schema.json +0 -0
  485. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/ina219.schema.json +0 -0
  486. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/irrigation.schema.json +0 -0
  487. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/lm75.schema.json +0 -0
  488. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/logger.schema.json +0 -0
  489. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/lox_udp.schema.json +0 -0
  490. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/mcp23017.schema.json +0 -0
  491. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/mcp9808.schema.json +0 -0
  492. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/modbus.schema.json +0 -0
  493. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/modbus_devices.schema.json +0 -0
  494. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/mqtt.schema.json +0 -0
  495. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/oled.schema.json +0 -0
  496. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/output.schema.json +0 -0
  497. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/output_group.schema.json +0 -0
  498. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/pca9685.schema.json +0 -0
  499. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/pcf8575.schema.json +0 -0
  500. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/remote_devices.schema.json +0 -0
  501. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/remote_inputs.schema.json +0 -0
  502. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/remote_outputs.schema.json +0 -0
  503. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/sensor.schema.json +0 -0
  504. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/template.schema.json +0 -0
  505. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/virtual_energy_sensor.schema.json +0 -0
  506. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/schema/web.schema.json +0 -0
  507. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/services/__init__.py +0 -0
  508. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/services/logs.py +0 -0
  509. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/web_server.py +0 -0
  510. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio/webui/websocket_manager.py +0 -0
  511. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio.egg-info/dependency_links.txt +0 -0
  512. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio.egg-info/entry_points.txt +0 -0
  513. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio.egg-info/requires.txt +0 -0
  514. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/boneio.egg-info/top_level.txt +0 -0
  515. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/pyproject.toml +0 -0
  516. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/setup.cfg +0 -0
  517. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/setup.py +0 -0
  518. {boneio-1.5.0.dev22 → boneio-1.5.0.dev24}/tests/test_py313_compatibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boneio
3
- Version: 1.5.0.dev22
3
+ Version: 1.5.0.dev24
4
4
  Summary: Python App for BoneIO
5
5
  Author-email: Paweł Szafer <pszafer@gmail.com>
6
6
  License: GNU General Public License v3.0
@@ -217,6 +217,9 @@ def run(
217
217
  _t0 = _time.monotonic()
218
218
  setup_logging(debug_level=debug)
219
219
  _LOGGER.info("BoneIO %s starting.", __version__)
220
+ from boneio.core.config.yaml_compat import log_yaml_backend
221
+
222
+ log_yaml_backend()
220
223
  _LOGGER.debug("[STARTUP TIMING] after setup_logging: %.2fs", _time.monotonic() - _t0)
221
224
 
222
225
  # --- Initialize OLED before anything else (independent of config) ---
@@ -182,9 +182,12 @@ class VenetianCover(BaseCover, BaseVenetianCoverABC):
182
182
  self._last_update_time = time.monotonic() # Upewnij się, że aktualizacja jest wysłana na końcu ruchu
183
183
 
184
184
  # Tilt restore: schedule tilt recovery on the event loop.
185
+ # _tilt_before_close is only set by _save_tilt_for_restore() when
186
+ # the appropriate flag (UI or action) was enabled, so its presence
187
+ # is the authoritative signal that restore was requested.
185
188
  # Skip when position reached 0% (fully closed) or 100% (fully open)
186
189
  # — at extremes, restoring tilt contradicts user intent.
187
- if self._tilt_restore_after_close and self._tilt_before_close is not None:
190
+ if self._tilt_before_close is not None:
188
191
  restore_tilt = self._tilt_before_close
189
192
  self._tilt_before_close = None
190
193
  at_extreme = self._position <= 0 or self._position >= 100
@@ -301,8 +304,8 @@ class VenetianCover(BaseCover, BaseVenetianCoverABC):
301
304
  def _save_tilt_for_restore(self) -> None:
302
305
  """Save current tilt position for later restoration.
303
306
 
304
- Called before any closing movement. Determines whether to save
305
- based on the call source:
307
+ Called before any movement (open, close, or set_position).
308
+ Determines whether to save based on the call source:
306
309
  - UI/HA calls: uses tilt_restore_after_close setting
307
310
  - Action calls: uses _action_tilt_restore flag (set by executor)
308
311
  """
@@ -314,7 +317,7 @@ class VenetianCover(BaseCover, BaseVenetianCoverABC):
314
317
  if should_restore and self._tilt_position > 0:
315
318
  self._tilt_before_close = self._tilt_position
316
319
  _LOGGER.debug(
317
- "VenetianCover %s: saving tilt=%d%% before close",
320
+ "VenetianCover %s: saving tilt=%d%% before movement",
318
321
  self._id,
319
322
  round(self._tilt_position),
320
323
  )
@@ -333,26 +336,22 @@ class VenetianCover(BaseCover, BaseVenetianCoverABC):
333
336
  async def set_cover_position(self, position: int) -> None:
334
337
  """Set cover position with tilt restore support.
335
338
 
336
- When moving to a lower position (closing direction) and
337
- tilt_restore_after_close is enabled, saves the current tilt
338
- so it can be restored after the movement finishes.
339
+ Saves the current tilt so it can be restored after the movement
340
+ finishes, regardless of direction (up or down).
339
341
 
340
342
  Args:
341
343
  position: Target position (0-100).
342
344
  """
343
- if position < self._position:
344
- self._save_tilt_for_restore()
345
- else:
346
- self._tilt_before_close = None
345
+ self._save_tilt_for_restore()
347
346
  await super().set_cover_position(position)
348
347
 
349
348
  async def open(self) -> None:
350
349
  """Open venetian cover.
351
350
 
352
- Clears any saved tilt-before-close value since opening
353
- resets the tilt to 100% naturally.
351
+ Saves the current tilt so it can be restored after the
352
+ opening movement finishes (same as close).
354
353
  """
355
- self._tilt_before_close = None
354
+ self._save_tilt_for_restore()
356
355
  await super().open()
357
356
 
358
357
  def update_config_times(self, config: dict) -> None:
@@ -7,18 +7,19 @@ for PWA support with custom subdomains.
7
7
 
8
8
  import asyncio
9
9
  import base64
10
+ from datetime import datetime, timezone
10
11
  import hashlib
11
12
  import hmac
13
+ from importlib.resources import files
12
14
  import logging
13
15
  import os
16
+ import re
14
17
  import shutil
15
18
  import subprocess
16
19
  from contextlib import suppress
17
20
  from pathlib import Path
18
- from typing import TYPE_CHECKING
19
21
 
20
- if TYPE_CHECKING:
21
- import aiohttp
22
+ import aiohttp
22
23
 
23
24
  from boneio.core.cloud.secrets import MASTER_SECRET as DEFAULT_MASTER_SECRET
24
25
  from boneio.core.system.monitor import get_network_info
@@ -152,10 +153,8 @@ class CloudRegistration:
152
153
  """
153
154
  return {"Authorization": f"Bearer {self._compute_token()}"}
154
155
 
155
- async def _get_session(self) -> "aiohttp.ClientSession":
156
+ async def _get_session(self) -> aiohttp.ClientSession:
156
157
  """Get or create aiohttp session."""
157
- import aiohttp
158
-
159
158
  if self._session is None or self._session.closed:
160
159
  self._session = aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=30))
161
160
  return self._session
@@ -205,8 +204,6 @@ class CloudRegistration:
205
204
  Returns:
206
205
  True if registration was successful
207
206
  """
208
- import aiohttp
209
-
210
207
  try:
211
208
  session = await self._get_session()
212
209
 
@@ -250,8 +247,6 @@ class CloudRegistration:
250
247
  Returns:
251
248
  True if certificate was fetched successfully
252
249
  """
253
- import aiohttp
254
-
255
250
  try:
256
251
  session = await self._get_session()
257
252
 
@@ -327,8 +322,7 @@ class CloudRegistration:
327
322
  # Output format: "notAfter=Jun 3 12:00:00 2026 GMT"
328
323
  line = result.stdout.strip()
329
324
  date_str = line.split("=", 1)[1]
330
-
331
- from datetime import datetime, timezone
325
+ date_str = re.sub(r"\s+", " ", date_str.strip())
332
326
 
333
327
  expiry = datetime.strptime(date_str, "%b %d %H:%M:%S %Y %Z").replace(
334
328
  tzinfo=timezone.utc
@@ -373,8 +367,6 @@ class CloudRegistration:
373
367
  """
374
368
  dest = CADDY_CONFIG_DIR / "init-certs-cloud.sh"
375
369
  try:
376
- from importlib.resources import files
377
-
378
370
  src = files("boneio.core.cloud.data").joinpath("init-certs-cloud.sh")
379
371
  src_bytes = src.read_bytes()
380
372
 
@@ -445,8 +437,6 @@ class CloudRegistration:
445
437
  _LOGGER.info("Backed up docker-compose.yaml to %s", backup)
446
438
 
447
439
  # Replace with bundled cloud template
448
- from importlib.resources import files
449
-
450
440
  cloud_src = files("boneio.core.cloud.data").joinpath("docker-compose-cloud.yaml")
451
441
  cloud_content = cloud_src.read_text(encoding="utf-8")
452
442
  compose_file.write_text(cloud_content)
@@ -484,8 +474,6 @@ class CloudRegistration:
484
474
  if not self._check_compose_writable():
485
475
  return False
486
476
 
487
- from importlib.resources import files
488
-
489
477
  src = files("boneio.core.cloud.data").joinpath("docker-compose.yaml")
490
478
  original_content = src.read_text(encoding="utf-8")
491
479
 
@@ -515,9 +503,10 @@ class CloudRegistration:
515
503
 
516
504
  async def _recreate_caddy(self) -> bool:
517
505
  """
518
- Recreate Caddy container to apply new docker-compose config.
506
+ Recreate and restart Caddy container to apply new certs or docker-compose config.
519
507
 
520
- Uses 'docker compose up -d caddy' to pick up volume and entrypoint changes.
508
+ Uses 'docker compose up -d caddy' and 'docker compose restart caddy' to ensure
509
+ Caddy reloads updated SSL certificates from disk.
521
510
 
522
511
  Returns:
523
512
  True if recreate was successful
@@ -534,8 +523,19 @@ class CloudRegistration:
534
523
  ),
535
524
  )
536
525
 
526
+ # Also restart caddy to ensure mounted TLS certs are reloaded from disk
527
+ await asyncio.get_event_loop().run_in_executor(
528
+ None,
529
+ lambda: subprocess.run(
530
+ ["docker", "compose", "restart", "caddy"],
531
+ cwd=compose_dir,
532
+ capture_output=True,
533
+ timeout=60,
534
+ ),
535
+ )
536
+
537
537
  if result.returncode == 0:
538
- _LOGGER.info("Caddy container recreated successfully")
538
+ _LOGGER.info("Caddy container recreated and restarted successfully")
539
539
  return True
540
540
  else:
541
541
  _LOGGER.error(
@@ -39,9 +39,11 @@ def _persist_wled_cache_strip(config_file: str) -> None:
39
39
  # First, find and extract WLED data from the in-memory parse
40
40
  # to save into .wled_cache.json before removing from YAML
41
41
  try:
42
- from yaml import SafeLoader, load
42
+ from yaml import load
43
43
 
44
- class IncludeLoader(SafeLoader):
44
+ from boneio.core.config.yaml_compat import FastSafeLoader
45
+
46
+ class IncludeLoader(FastSafeLoader):
45
47
  """YAML loader that preserves !include tags."""
46
48
 
47
49
  def _include_constructor(
@@ -70,7 +72,7 @@ def _persist_wled_cache_strip(config_file: str) -> None:
70
72
  include_path = config_dir / rd_section.filename
71
73
  if include_path.exists():
72
74
  with open(include_path, encoding="utf-8") as f:
73
- rd_list = load(f, Loader=SafeLoader) # noqa: S506
75
+ rd_list = load(f, Loader=FastSafeLoader) # noqa: S506
74
76
  _strip_wled_fields_from_file(include_path, rd_list, config_dir)
75
77
  return
76
78
 
@@ -6,10 +6,18 @@ import os
6
6
  from typing import IO, Any, Union
7
7
 
8
8
  import yaml
9
- from yaml import SafeLoader, load
9
+ from yaml import load
10
10
 
11
+ # Prefer the libyaml-backed loader when available (~10x faster). Imported
12
+ # directly instead of via boneio.core.config.yaml_compat because this module
13
+ # must stay importable without the full boneIO dependency graph (CI).
14
+ try:
15
+ from yaml import CSafeLoader as _BaseLoader
16
+ except ImportError: # pragma: no cover - PyYAML built without libyaml
17
+ from yaml import SafeLoader as _BaseLoader # type: ignore[assignment]
11
18
 
12
- class BoneIOLoader(SafeLoader):
19
+
20
+ class BoneIOLoader(_BaseLoader): # type: ignore[misc]
13
21
  """Custom YAML loader with !include constructor."""
14
22
 
15
23
  def __init__(self, stream: Union[str, IO]):
@@ -0,0 +1,45 @@
1
+ """PyYAML backend selection.
2
+
3
+ PyYAML ships two implementations: a pure-Python parser/emitter and a much
4
+ faster one backed by the C library ``libyaml`` (``CSafeLoader`` /
5
+ ``CSafeDumper``). The C backend is roughly 10x faster at parsing and 5x
6
+ faster at emitting, which matters a lot on the BeagleBone Black where the
7
+ pure-Python parser needs several seconds for the boneIO schema.
8
+
9
+ This module exposes ``FastSafeLoader`` / ``FastSafeDumper`` which resolve to
10
+ the C implementation when available and fall back to the pure-Python one
11
+ otherwise. It intentionally imports nothing besides ``yaml`` so it can also
12
+ be used by standalone tooling (e.g. the schema converter run in CI).
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ import logging
18
+
19
+ try:
20
+ from yaml import CSafeDumper as FastSafeDumper
21
+ from yaml import CSafeLoader as FastSafeLoader
22
+
23
+ HAS_LIBYAML = True
24
+ except ImportError: # pragma: no cover - depends on the installed PyYAML build
25
+ from yaml import SafeDumper as FastSafeDumper # type: ignore[assignment]
26
+ from yaml import SafeLoader as FastSafeLoader # type: ignore[assignment]
27
+
28
+ HAS_LIBYAML = False
29
+
30
+ _LOGGER = logging.getLogger(__name__)
31
+
32
+
33
+ def log_yaml_backend() -> None:
34
+ """Log which PyYAML backend is in use.
35
+
36
+ Call this once during startup so slow installations (PyYAML built
37
+ without libyaml) can be spotted in the logs.
38
+ """
39
+ if HAS_LIBYAML:
40
+ _LOGGER.debug("Using libyaml (C) PyYAML backend")
41
+ return
42
+ _LOGGER.warning(
43
+ "PyYAML was built without libyaml — YAML parsing will be ~10x slower. "
44
+ "Install libyaml-dev and reinstall PyYAML to speed up config handling."
45
+ )