boneio 1.3.0.dev6__tar.gz → 1.3.0.dev14__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 (506) hide show
  1. {boneio-1.3.0.dev6/boneio.egg-info → boneio-1.3.0.dev14}/PKG-INFO +1 -1
  2. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/bonecli.py +34 -0
  3. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/cover/cover.py +16 -8
  4. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/cover/time_based.py +2 -2
  5. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/group/output_group.py +5 -0
  6. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/input/binary_sensor.py +1 -2
  7. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/input/event.py +2 -2
  8. boneio-1.3.0.dev14/boneio/components/irrigation/__init__.py +6 -0
  9. boneio-1.3.0.dev14/boneio/components/irrigation/controller.py +853 -0
  10. boneio-1.3.0.dev14/boneio/components/irrigation/water_source.py +64 -0
  11. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/output/basic.py +99 -9
  12. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/sensor/virtual_energy.py +3 -3
  13. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/template/alarm_panel.py +7 -7
  14. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/template/gate_cover.py +10 -10
  15. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/template/thermostat.py +6 -6
  16. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/const.py +6 -0
  17. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/registration.py +7 -7
  18. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/config_helper.py +13 -3
  19. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/migrations/__init__.py +6 -4
  20. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/migrations/v1_proxy_port.py +1 -1
  21. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/migrations/v2_transition.py +1 -1
  22. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/schema_converter.py +2 -4
  23. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/yaml_util.py +5 -12
  24. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/discovery.py +20 -1
  25. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/events/bus.py +1 -1
  26. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/__init__.py +2 -0
  27. boneio-1.3.0.dev14/boneio/core/manager/action_conditions.py +351 -0
  28. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/canopen.py +4 -3
  29. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/covers.py +9 -2
  30. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/display.py +65 -1
  31. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/inputs.py +7 -5
  32. boneio-1.3.0.dev14/boneio/core/manager/irrigation.py +582 -0
  33. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/manager.py +98 -34
  34. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/modbus.py +1 -1
  35. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/outputs.py +64 -1
  36. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/remote.py +1 -1
  37. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/sensors.py +9 -9
  38. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/templates/__init__.py +2 -2
  39. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/templates/alarm.py +3 -3
  40. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/templates/gate_cover.py +2 -2
  41. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/templates/thermostat.py +2 -2
  42. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/templates.py +4 -4
  43. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/manager/update.py +9 -22
  44. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/messaging/basic.py +2 -2
  45. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/messaging/local.py +2 -2
  46. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/messaging/mqtt.py +19 -7
  47. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/remote/esphome.py +2 -1
  48. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/remote/wled.py +2 -2
  49. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/state/manager.py +2 -2
  50. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/async_updater.py +3 -3
  51. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/conditions.py +3 -2
  52. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/util.py +2 -2
  53. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/analog/adc.py +3 -3
  54. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/client.py +5 -4
  55. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/interface.py +1 -1
  56. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/node.py +2 -2
  57. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/sudoers.py +2 -2
  58. boneio-1.3.0.dev14/boneio/hardware/display/__init__.py +33 -0
  59. boneio-1.3.0.dev14/boneio/hardware/display/early_oled.py +238 -0
  60. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/display/oled.py +1 -1
  61. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/input/base.py +12 -1
  62. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/input/manager.py +11 -11
  63. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/i2c/bus.py +5 -5
  64. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/onewire/__init__.py +1 -1
  65. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/integration/homeassistant.py +264 -2
  66. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/cli.py +2 -1
  67. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/coordinator.py +2 -2
  68. boneio-1.3.0.dev14/boneio/modbus/devices/other/esp32_relay_x4_modbus.json +172 -0
  69. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/derived/numeric.py +0 -1
  70. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/sensor/binary.py +0 -1
  71. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/sensor/text.py +1 -2
  72. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/utils.py +0 -1
  73. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/__init__.py +3 -1
  74. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/actions.py +1 -0
  75. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/state.py +6 -0
  76. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/runner.py +28 -49
  77. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/schema.yaml +412 -8
  78. boneio-1.3.0.dev14/boneio/version.py +2 -0
  79. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/app.py +28 -8
  80. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/ConfigEditor-CrqODtD9.js +1 -0
  81. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/aiConfig-DCT969oj.js +2 -0
  82. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/aiWizardPrompt-Dpts0jpN.js +2 -0
  83. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/editor.worker-BVjSvWeP.js +12 -0
  84. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/index-CCPsr7-u.css +2 -0
  85. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/index-Cdw9RS1j.js +39 -0
  86. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/json.worker-CqOJL4FD.js +51 -0
  87. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/monaco-B9WiNxkw.css +1 -0
  88. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/monaco-CAZoGZNF.js +1047 -0
  89. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/rolldown-runtime-Dw2cE7zH.js +1 -0
  90. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/useTranslation-xq1ST8U-.js +13 -0
  91. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/vendor-BD5Ml_Uz.js +55 -0
  92. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/workbox-window.prod.es5-BJd1pjeW.js +2 -0
  93. boneio-1.3.0.dev14/boneio/webui/frontend-dist/assets/yaml.worker-nZQZSRZ7.js +375 -0
  94. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/index.html +8 -5
  95. {boneio-1.3.0.dev6/boneio/webui → boneio-1.3.0.dev14/boneio/webui/frontend-dist}/schema/config.schema.json +710 -11
  96. boneio-1.3.0.dev14/boneio/webui/frontend-dist/schema/irrigation.schema.json +352 -0
  97. {boneio-1.3.0.dev6/boneio/webui → boneio-1.3.0.dev14/boneio/webui/frontend-dist}/schema/modbus_devices.schema.json +3 -0
  98. {boneio-1.3.0.dev6/boneio/webui → boneio-1.3.0.dev14/boneio/webui/frontend-dist}/schema/output.schema.json +62 -0
  99. {boneio-1.3.0.dev6/boneio/webui → boneio-1.3.0.dev14/boneio/webui/frontend-dist}/schema/template.schema.json +299 -11
  100. boneio-1.3.0.dev14/boneio/webui/frontend-dist/sw.js +1 -0
  101. boneio-1.3.0.dev14/boneio/webui/frontend-dist/workbox-4eca85ba.js +1 -0
  102. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/middleware/auth.py +3 -3
  103. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/__init__.py +3 -1
  104. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/caddy.py +14 -14
  105. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/can.py +5 -5
  106. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/config.py +77 -17
  107. boneio-1.3.0.dev14/boneio/webui/routes/irrigation.py +316 -0
  108. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/modbus.py +1 -1
  109. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/outputs.py +62 -0
  110. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/remote_devices.py +3 -3
  111. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/system.py +1 -1
  112. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/timezone_sudoers.py +2 -2
  113. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/update.py +70 -38
  114. {boneio-1.3.0.dev6/boneio/webui/frontend-dist → boneio-1.3.0.dev14/boneio/webui}/schema/config.schema.json +710 -11
  115. boneio-1.3.0.dev14/boneio/webui/schema/irrigation.schema.json +352 -0
  116. {boneio-1.3.0.dev6/boneio/webui/frontend-dist → boneio-1.3.0.dev14/boneio/webui}/schema/modbus_devices.schema.json +3 -0
  117. {boneio-1.3.0.dev6/boneio/webui/frontend-dist → boneio-1.3.0.dev14/boneio/webui}/schema/output.schema.json +62 -0
  118. {boneio-1.3.0.dev6/boneio/webui/frontend-dist → boneio-1.3.0.dev14/boneio/webui}/schema/template.schema.json +299 -11
  119. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/web_server.py +3 -1
  120. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/websocket_manager.py +2 -2
  121. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14/boneio.egg-info}/PKG-INFO +1 -1
  122. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio.egg-info/SOURCES.txt +25 -97
  123. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/pyproject.toml +30 -27
  124. boneio-1.3.0.dev6/boneio/hardware/display/__init__.py +0 -7
  125. boneio-1.3.0.dev6/boneio/version.py +0 -2
  126. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/ConfigEditor-C-8NHjAg.js +0 -1
  127. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/abap-CRCWOmpq.js +0 -1
  128. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/aiWizardPrompt-BD92OsHJ.js +0 -2
  129. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/apex-DnsZk_dE.js +0 -1
  130. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/azcli-1IWB1ccx.js +0 -1
  131. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/bat-DPkNLes8.js +0 -1
  132. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/bicep-Corcdgou.js +0 -2
  133. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/cameligo-CGrWLZr3.js +0 -1
  134. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/clojure-D9WOWImG.js +0 -1
  135. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/coffee-B7EJu28W.js +0 -1
  136. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/cpp-SEyurbux.js +0 -1
  137. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/csharp-BoL64M5l.js +0 -1
  138. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/csp-C46ZqvIl.js +0 -1
  139. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/css-DQU6DXDx.js +0 -3
  140. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/cssMode-DShylJqh.js +0 -4
  141. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/cypher-D84EuPTj.js +0 -1
  142. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/dart-D8lhlL1r.js +0 -1
  143. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/dockerfile-DLk6rpji.js +0 -1
  144. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/ecl-BO6FnfXk.js +0 -1
  145. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/editor.worker-B4pQIWZD.js +0 -12
  146. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/elixir-BRjLKONM.js +0 -1
  147. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/flow9-Cac8vKd7.js +0 -1
  148. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/freemarker2-CdX7KyE5.js +0 -3
  149. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/fsharp-fd1GTHhf.js +0 -1
  150. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/go-O9LJTZXk.js +0 -1
  151. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/graphql-LQdxqEYJ.js +0 -1
  152. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/handlebars-C3LDizRo.js +0 -1
  153. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/hcl-DxDQ3s82.js +0 -1
  154. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/html-z-YV0Mzh.js +0 -1
  155. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/htmlMode-D7IIR2va.js +0 -4
  156. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/index-BZZGqf-N.css +0 -1
  157. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/index-BdfPdf2z.js +0 -105
  158. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/ini-BvajGCUy.js +0 -1
  159. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/java-SYsfObOQ.js +0 -1
  160. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/javascript-CH6jkTQ0.js +0 -1
  161. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/json.worker-aFakAbRR.js +0 -44
  162. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/jsonMode-CLzeI5HJ.js +0 -10
  163. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/julia-DQXNmw_w.js +0 -1
  164. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/kotlin-qQ0MG-9I.js +0 -1
  165. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/less-GGFNNJHn.js +0 -2
  166. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/lexon-Canl7DCW.js +0 -1
  167. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/liquid-DuoI_Tv0.js +0 -1
  168. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/lua-D28Ae8-K.js +0 -1
  169. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/m3-DPitgjJI.js +0 -1
  170. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/markdown-B811l8j2.js +0 -1
  171. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/mdx-C2KSoPE6.js +0 -1
  172. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/mips-CdjsipkG.js +0 -1
  173. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/monaco-DVn9mNSL.js +0 -739
  174. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/monaco-xnhJeWAr.css +0 -1
  175. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/msdax-CYqgjx_P.js +0 -1
  176. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/mysql-BHd6q0vd.js +0 -1
  177. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/objective-c-B1aVtJYH.js +0 -1
  178. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/pascal-BhNW15KB.js +0 -1
  179. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/pascaligo-5jv8CcQD.js +0 -1
  180. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/perl-DlYyT36c.js +0 -1
  181. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/pgsql-Dy0bjov7.js +0 -1
  182. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/php-120yhfDK.js +0 -1
  183. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/pla-CjnFlu4u.js +0 -1
  184. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/postiats-CQpG440k.js +0 -1
  185. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/powerquery-DdJtto1Z.js +0 -1
  186. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/powershell-Bu_VLpJB.js +0 -1
  187. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/protobuf-IBS6jZEB.js +0 -2
  188. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/pug-kFxLfcjb.js +0 -1
  189. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/python-Dh7Kzq6D.js +0 -1
  190. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/qsharp-q7JyzKFN.js +0 -1
  191. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/r-BIFz-_sK.js +0 -1
  192. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/razor-CJwYmOfy.js +0 -1
  193. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/redis-CHOsPHWR.js +0 -1
  194. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/redshift-CBifECDb.js +0 -1
  195. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/restructuredtext-CghPJEOS.js +0 -1
  196. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/ruby-CYWGW-b1.js +0 -1
  197. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/rust-DMDD0SHb.js +0 -1
  198. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/sb-BYAiYHFx.js +0 -1
  199. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/scala-Bqvq8jcR.js +0 -1
  200. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/scheme-Dhb-2j9p.js +0 -1
  201. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/scss-CTwUZ5N7.js +0 -3
  202. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/shell-CsDZo4DB.js +0 -1
  203. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/solidity-CME5AdoB.js +0 -1
  204. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/sophia-RYC1BQQz.js +0 -1
  205. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/sparql-KEyrF7De.js +0 -1
  206. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/sql-BdTr02Mf.js +0 -1
  207. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/st-C7iG7M4S.js +0 -1
  208. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/swift-D7IUmUK8.js +0 -1
  209. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/systemverilog-DgMryOEJ.js +0 -1
  210. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/tcl-PloMZuKG.js +0 -1
  211. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/tsMode-VSMpyycN.js +0 -11
  212. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/twig-BfRIq3la.js +0 -1
  213. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/typescript-C4HjhnfC.js +0 -1
  214. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/typespec-CzxlYoT_.js +0 -1
  215. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/vb-BwAE3J76.js +0 -1
  216. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/vendor-8TE4Uyqi.js +0 -3
  217. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/wgsl-B_1kOXbF.js +0 -298
  218. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/workbox-window.prod.es5-BIl4cyR9.js +0 -2
  219. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/xml-ByUHJiRO.js +0 -1
  220. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/yaml-CTy8Ej0Q.js +0 -1
  221. boneio-1.3.0.dev6/boneio/webui/frontend-dist/assets/yaml.worker-DBeHcBRc.js +0 -411
  222. boneio-1.3.0.dev6/boneio/webui/frontend-dist/sw.js +0 -1
  223. boneio-1.3.0.dev6/boneio/webui/frontend-dist/workbox-226dbdbf.js +0 -1
  224. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/LICENSE +0 -0
  225. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/MANIFEST.in +0 -0
  226. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/README.md +0 -0
  227. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/__init__.py +0 -0
  228. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.2/input.yaml +0 -0
  229. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.2/output_24_16.yaml +0 -0
  230. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.2/output_32_10.yaml +0 -0
  231. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.2/output_32_5.yaml +0 -0
  232. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.2/output_cover.yaml +0 -0
  233. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.2/output_cover_mix.yaml +0 -0
  234. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.3/input.yaml +0 -0
  235. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.3/output_24_16.yaml +0 -0
  236. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.3/output_32_10.yaml +0 -0
  237. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.3/output_32_5.yaml +0 -0
  238. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.3/output_cover.yaml +0 -0
  239. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.3/output_cover_mix.yaml +0 -0
  240. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.4/input.yaml +0 -0
  241. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.4/output_24_16.yaml +0 -0
  242. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.4/output_32_10.yaml +0 -0
  243. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.4/output_32_5.yaml +0 -0
  244. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.4/output_cover.yaml +0 -0
  245. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.4/output_cover_mix.yaml +0 -0
  246. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.5/input.yaml +0 -0
  247. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.5/output_24_16.yaml +0 -0
  248. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.5/output_32_10.yaml +0 -0
  249. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.5/output_cover.yaml +0 -0
  250. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.5/output_cover_mix.yaml +0 -0
  251. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.6/input.yaml +0 -0
  252. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.6/output_24_16.yaml +0 -0
  253. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.6/output_32_10.yaml +0 -0
  254. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.6/output_cover.yaml +0 -0
  255. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.6/output_cover_mix.yaml +0 -0
  256. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.7/input.yaml +0 -0
  257. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.7/output_24_16.yaml +0 -0
  258. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.7/output_32_10.yaml +0 -0
  259. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.7/output_48_4.yaml +0 -0
  260. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.7/output_cover.yaml +0 -0
  261. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.7/output_cover_mix.yaml +0 -0
  262. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.8/input.yaml +0 -0
  263. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.8/output_24_16.yaml +0 -0
  264. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.8/output_32_10.yaml +0 -0
  265. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.8/output_48_4.yaml +0 -0
  266. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.8/output_cover.yaml +0 -0
  267. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/boards/0.8/output_cover_mix.yaml +0 -0
  268. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/__init__.py +0 -0
  269. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/cover/__init__.py +0 -0
  270. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/cover/venetian.py +1 -1
  271. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/group/__init__.py +0 -0
  272. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/input/__init__.py +0 -0
  273. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/input/detectors.py +2 -2
  274. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/output/__init__.py +0 -0
  275. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/output/mcp.py +2 -2
  276. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/output/pca.py +1 -1
  277. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/output/pcf.py +0 -0
  278. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/sensor/__init__.py +0 -0
  279. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/components/template/__init__.py +1 -1
  280. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/__init__.py +0 -0
  281. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/__init__.py +0 -0
  282. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/data/__init__.py +0 -0
  283. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/data/docker-compose-cloud.yaml +0 -0
  284. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/data/docker-compose.yaml +0 -0
  285. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/data/init-certs-cloud.sh +0 -0
  286. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/cloud/secrets.py +0 -0
  287. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/__init__.py +0 -0
  288. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/package-lock.json +0 -0
  289. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/config/package.json +0 -0
  290. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/events/__init__.py +1 -1
  291. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/messaging/__init__.py +0 -0
  292. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/messaging/basic_mqtt.py +0 -0
  293. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/messaging/queue.py +0 -0
  294. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/remote/__init__.py +0 -0
  295. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/remote/base.py +0 -0
  296. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/remote/can.py +0 -0
  297. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/remote/mqtt.py +0 -0
  298. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/sensor/__init__.py +0 -0
  299. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/sensor/base.py +0 -0
  300. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/sensor/system.py +0 -0
  301. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/state/__init__.py +0 -0
  302. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/system/__init__.py +1 -1
  303. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/system/host_data.py +1 -1
  304. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/system/monitor.py +0 -0
  305. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/__init__.py +0 -0
  306. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/filter.py +0 -0
  307. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/font_util.py +0 -0
  308. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/logger.py +0 -0
  309. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/core/utils/timeperiod.py +0 -0
  310. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/24x16/adc.yaml +0 -0
  311. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/24x16/binary_sensor.yaml +0 -0
  312. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/24x16/config.yaml +0 -0
  313. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/24x16/event.yaml +0 -0
  314. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/24x16/mqtt.yaml +0 -0
  315. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/24x16/output24x16A.yaml +0 -0
  316. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/32x10/adc.yaml +0 -0
  317. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/32x10/binary_sensor.yaml +0 -0
  318. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/32x10/config.yaml +0 -0
  319. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/32x10/event.yaml +0 -0
  320. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/32x10/mqtt.yaml +0 -0
  321. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/32x10/output32x10A.yaml +0 -0
  322. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/48x4/adc.yaml +0 -0
  323. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/48x4/binary_sensor.yaml +0 -0
  324. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/48x4/config.yaml +0 -0
  325. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/48x4/event.yaml +0 -0
  326. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/48x4/mqtt.yaml +0 -0
  327. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/48x4/output48x4A.yaml +0 -0
  328. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/__init__.py +0 -0
  329. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/can_master.yaml +0 -0
  330. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/can_slave.yaml +0 -0
  331. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/adc.yaml +0 -0
  332. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/binary_sensor.yaml +0 -0
  333. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/config.yaml +0 -0
  334. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/cover.yaml +0 -0
  335. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/event.yaml +0 -0
  336. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/mqtt.yaml +0 -0
  337. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover/outputCover.yaml +0 -0
  338. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/adc.yaml +0 -0
  339. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/binary_sensor.yaml +0 -0
  340. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/config.yaml +0 -0
  341. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/cover.yaml +0 -0
  342. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/event.yaml +0 -0
  343. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/mqtt.yaml +0 -0
  344. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/cover_mix/outputCoverMix.yaml +0 -0
  345. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/adc.yaml +0 -0
  346. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/all_binary_sensor.yaml +0 -0
  347. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/binary_sensor.yaml +0 -0
  348. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/binary_sensor_v_0_7.yaml +0 -0
  349. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/config_24_16.yaml +0 -0
  350. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/event_all.yaml +0 -0
  351. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/event_v_0_7.yaml +0 -0
  352. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/led32x4A.yaml +0 -0
  353. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/output24x16A.yaml +0 -0
  354. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/output24x16A_v0.3.yaml +0 -0
  355. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/output32x10A.yaml +0 -0
  356. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/example_config/different_configs/output32x5A.yaml +0 -0
  357. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/exceptions.py +0 -0
  358. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/__init__.py +0 -0
  359. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/analog/__init__.py +0 -0
  360. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/__init__.py +0 -0
  361. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/bridge.py +0 -0
  362. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/node_id.py +0 -0
  363. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/can/test_od.py +0 -0
  364. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/display/fonts/danube__.ttf +0 -0
  365. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/__init__.py +0 -0
  366. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/expanders/__init__.py +0 -0
  367. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/expanders/mcp23017.py +0 -0
  368. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/expanders/pca9685.py +0 -0
  369. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/expanders/pcf8575.py +0 -0
  370. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/gpio/input/__init__.py +0 -0
  371. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/i2c/__init__.py +0 -0
  372. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/i2c/ina219.py +0 -0
  373. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/i2c/ina219_driver.py +0 -0
  374. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/i2c/mcp9808.py +0 -0
  375. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/i2c/pct2075.py +0 -0
  376. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/onewire/bus.py +0 -0
  377. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/onewire/dallas.py +0 -0
  378. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/onewire/ds2482.py +0 -0
  379. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/sensor/__init__.py +0 -0
  380. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/sensor/temperature/__init__.py +0 -0
  381. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/sensor/temperature/base.py +0 -0
  382. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/sensor/temperature/mcp9808.py +0 -0
  383. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/hardware/sensor/temperature/pct2075.py +0 -0
  384. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/integration/__init__.py +1 -1
  385. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/integration/interlock.py +0 -0
  386. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/__init__.py +0 -0
  387. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/client.py +0 -0
  388. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/__init__.py +0 -0
  389. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/le-03mw.json +0 -0
  390. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/le-03mwct.json +0 -0
  391. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/orno-or-we-517.json +0 -0
  392. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/sdm120.json +0 -0
  393. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/sdm630.json +0 -0
  394. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/socomec_e03.json +0 -0
  395. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/energy_meters/socomec_e23.json +0 -0
  396. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/hvac/fujitsu-ac.json +0 -0
  397. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/hvac/ventclear.json +0 -0
  398. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/inverters/sofar.json +0 -0
  399. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/inverters/thessla.json +0 -0
  400. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/other/n4dsc08.json +0 -0
  401. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/other/r4dcb08.json +0 -0
  402. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/other/wanas415.json +0 -0
  403. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/boneio-edge-temp.json +0 -0
  404. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/cwt.json +0 -0
  405. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/dts1964_3f.json +0 -0
  406. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/dyp-a12-ultrasonic.json +0 -0
  407. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/gdfs.json +0 -0
  408. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/gdfx.json +0 -0
  409. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/liquid-sensor.json +0 -0
  410. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/pt100.json +0 -0
  411. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/sht20.json +0 -0
  412. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/devices/sensors/sht30.json +0 -0
  413. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/__init__.py +4 -4
  414. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/base.py +0 -0
  415. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/derived/__init__.py +0 -0
  416. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/derived/select.py +2 -2
  417. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/derived/switch.py +2 -2
  418. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/derived/text.py +1 -1
  419. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/sensor/__init__.py +0 -0
  420. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/sensor/numeric.py +0 -0
  421. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/writeable/__init__.py +0 -0
  422. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/writeable/binary.py +0 -0
  423. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/modbus/entities/writeable/numeric.py +0 -0
  424. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/events.py +0 -0
  425. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/files.py +0 -0
  426. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/logs.py +0 -0
  427. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/models/mqtt.py +0 -0
  428. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/actions.yaml +0 -0
  429. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/actions_sensor.yaml +0 -0
  430. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/actions_switch.yaml +0 -0
  431. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/condition.yaml +0 -0
  432. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/filters.yaml +0 -0
  433. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/filters_adc.yaml +0 -0
  434. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/id.yaml +0 -0
  435. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/remote_devices.yaml +0 -0
  436. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/temp_unit.yaml +0 -0
  437. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/schema/update_interval.yaml +0 -0
  438. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/action_validation.py +0 -0
  439. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/assets/codicon-DCmgc-ay.ttf +0 -0
  440. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/boneio-192.png +0 -0
  441. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/boneio-512.png +0 -0
  442. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/boneio.svg +0 -0
  443. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/boneio_fav.svg +0 -0
  444. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/adc.schema.json +0 -0
  445. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/areas.schema.json +0 -0
  446. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/binary_sensor.schema.json +0 -0
  447. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/boneio.schema.json +0 -0
  448. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/can.schema.json +0 -0
  449. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/cover.schema.json +0 -0
  450. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/dallas.schema.json +0 -0
  451. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/ds2482.schema.json +0 -0
  452. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/event.schema.json +0 -0
  453. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/ina219.schema.json +0 -0
  454. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/lm75.schema.json +0 -0
  455. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/logger.schema.json +0 -0
  456. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/mcp23017.schema.json +0 -0
  457. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/mcp9808.schema.json +0 -0
  458. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/modbus.schema.json +0 -0
  459. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/mqtt.schema.json +0 -0
  460. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/oled.schema.json +0 -0
  461. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/output_group.schema.json +0 -0
  462. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/pca9685.schema.json +0 -0
  463. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/pcf8575.schema.json +0 -0
  464. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/remote_devices.schema.json +0 -0
  465. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/sensor.schema.json +0 -0
  466. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/virtual_energy_sensor.schema.json +0 -0
  467. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/frontend-dist/schema/web.schema.json +0 -0
  468. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/middleware/__init__.py +0 -0
  469. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/auth.py +0 -0
  470. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/covers.py +0 -0
  471. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/sensors.py +0 -0
  472. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/templates.py +0 -0
  473. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/routes/tools.py +0 -0
  474. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/adc.schema.json +0 -0
  475. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/areas.schema.json +0 -0
  476. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/binary_sensor.schema.json +0 -0
  477. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/boneio.schema.json +0 -0
  478. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/can.schema.json +0 -0
  479. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/cover.schema.json +0 -0
  480. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/dallas.schema.json +0 -0
  481. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/ds2482.schema.json +0 -0
  482. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/event.schema.json +0 -0
  483. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/ina219.schema.json +0 -0
  484. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/lm75.schema.json +0 -0
  485. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/logger.schema.json +0 -0
  486. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/mcp23017.schema.json +0 -0
  487. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/mcp9808.schema.json +0 -0
  488. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/modbus.schema.json +0 -0
  489. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/mqtt.schema.json +0 -0
  490. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/oled.schema.json +0 -0
  491. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/output_group.schema.json +0 -0
  492. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/pca9685.schema.json +0 -0
  493. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/pcf8575.schema.json +0 -0
  494. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/remote_devices.schema.json +0 -0
  495. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/sensor.schema.json +0 -0
  496. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/virtual_energy_sensor.schema.json +0 -0
  497. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/schema/web.schema.json +0 -0
  498. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/services/__init__.py +2 -2
  499. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio/webui/services/logs.py +0 -0
  500. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio.egg-info/dependency_links.txt +0 -0
  501. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio.egg-info/entry_points.txt +0 -0
  502. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio.egg-info/requires.txt +0 -0
  503. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/boneio.egg-info/top_level.txt +0 -0
  504. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/setup.cfg +0 -0
  505. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/setup.py +0 -0
  506. {boneio-1.3.0.dev6 → boneio-1.3.0.dev14}/tests/test_py313_compatibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boneio
3
- Version: 1.3.0.dev6
3
+ Version: 1.3.0.dev14
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
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import time as _boot_time
6
+
6
7
  _BOOT_T0 = _boot_time.monotonic()
7
8
 
8
9
  import logging
@@ -20,6 +21,7 @@ print(f"[BOOT TIMING] stdlib imports: {_boot_time.monotonic() - _BOOT_T0:.2f}s",
20
21
  # startup time. Only version is imported here for --version CLI flag.
21
22
  _t_ver = _boot_time.monotonic()
22
23
  from boneio.version import __version__
24
+
23
25
  print(f"[BOOT TIMING] ALL imports: {_boot_time.monotonic() - _BOOT_T0:.2f}s", flush=True)
24
26
 
25
27
  TASK_CANCELATION_TIMEOUT = 1
@@ -205,7 +207,9 @@ def run(
205
207
  ) -> int:
206
208
  """Run BoneIO."""
207
209
  import time as _time
210
+
208
211
  from yaml import MarkedYAMLError
212
+
209
213
  from boneio.core.config import load_config_from_file
210
214
  from boneio.core.events import GracefulExit
211
215
  from boneio.core.utils.logger import configure_logger, setup_logging
@@ -214,12 +218,33 @@ def run(
214
218
  setup_logging(debug_level=debug)
215
219
  _LOGGER.info("BoneIO %s starting.", __version__)
216
220
  _LOGGER.debug("[STARTUP TIMING] after setup_logging: %.2fs", _time.monotonic() - _t0)
221
+
222
+ # --- Initialize OLED before anything else (independent of config) ---
223
+ # This is wrapped in try/except so the app always starts even if
224
+ # OLED hardware is missing, broken, or display libraries aren't installed.
225
+ try:
226
+ from boneio.hardware.display.early_oled import (
227
+ draw_config_error,
228
+ draw_crash,
229
+ draw_status,
230
+ init_early_oled,
231
+ )
232
+ init_early_oled()
233
+ draw_status("Loading config...")
234
+ except Exception:
235
+ # OLED is optional — define no-op stubs so rest of the function works
236
+ _LOGGER.debug("Early OLED not available, continuing without display")
237
+ def draw_status(msg: str) -> None: pass # noqa: E731
238
+ def draw_config_error(msg: str) -> None: pass # noqa: E731
239
+ def draw_crash(exc: BaseException) -> None: pass # noqa: E731
240
+
217
241
  try:
218
242
  _t1 = _time.monotonic()
219
243
  _config = load_config_from_file(config_file=config)
220
244
  _LOGGER.debug("[STARTUP TIMING] load_config_from_file: %.2fs", _time.monotonic() - _t1)
221
245
  if not _config:
222
246
  _LOGGER.error("Config not loaded. Exiting.")
247
+ draw_config_error("Config file is empty or missing")
223
248
  return 1
224
249
  configure_logger(log_config=_config.get("logger") or {}, debug=debug)
225
250
  # Granular timing of runner sub-imports to find the bottleneck
@@ -242,6 +267,9 @@ def run(
242
267
  from boneio.runner import async_run
243
268
  _LOGGER.debug("[RUNNER IMPORT] boneio.runner (rest): %.2fs", _time.monotonic() - _t_a)
244
269
  _LOGGER.debug("[STARTUP TIMING] total before async_run: %.2fs", _time.monotonic() - _t0)
270
+
271
+ draw_status("Starting...")
272
+
245
273
  ret = asyncio.run(
246
274
  async_run(
247
275
  config=_config,
@@ -260,6 +288,11 @@ def run(
260
288
  return 0
261
289
  except (ConfigurationException, MarkedYAMLError) as err:
262
290
  _LOGGER.error("Failed to load config. %s Exiting.", err)
291
+ draw_config_error(str(err)[:100])
292
+ return 1
293
+ except Exception as err:
294
+ _LOGGER.error("Unexpected error during startup: %s", err, exc_info=True)
295
+ draw_crash(err)
263
296
  return 1
264
297
 
265
298
 
@@ -268,6 +301,7 @@ def run_modbus_command(
268
301
  ) -> int:
269
302
  """Run BoneIO."""
270
303
  from yaml import MarkedYAMLError
304
+
271
305
  from boneio.core.events import GracefulExit
272
306
  from boneio.core.utils.logger import configure_logger, setup_logging
273
307
  from boneio.exceptions import ConfigurationException, RestartRequestException
@@ -1,13 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
- import logging
5
4
  import json
5
+ import logging
6
6
  import threading
7
7
  import time
8
8
  from abc import ABC, abstractmethod
9
9
  from collections.abc import Callable
10
10
 
11
+ from boneio.components.output import BasicOutput
11
12
  from boneio.const import (
12
13
  CLOSED,
13
14
  CLOSING,
@@ -20,7 +21,6 @@ from boneio.core.events import EventBus
20
21
  from boneio.core.messaging import BasicMqtt
21
22
  from boneio.core.utils import TimePeriod
22
23
  from boneio.models import CoverState, PositionDict
23
- from boneio.components.output import BasicOutput
24
24
  from boneio.models.events import CoverEvent
25
25
 
26
26
  _LOGGER = logging.getLogger(__name__)
@@ -267,9 +267,7 @@ class BaseCover(BaseCoverABC, BasicMqtt):
267
267
  await self.stop()
268
268
  elif self._position >= 100:
269
269
  await self.close()
270
- elif self._position <= 0:
271
- await self.open()
272
- elif self._last_operation == CLOSING:
270
+ elif self._position <= 0 or self._last_operation == CLOSING:
273
271
  await self.open()
274
272
  else:
275
273
  await self.close()
@@ -309,9 +307,7 @@ class BaseCover(BaseCoverABC, BasicMqtt):
309
307
  await self.open()
310
308
  elif self._position >= 100:
311
309
  await self.close()
312
- elif self._position <= 0:
313
- await self.open()
314
- elif self._last_operation == CLOSING:
310
+ elif self._position <= 0 or self._last_operation == CLOSING:
315
311
  await self.open()
316
312
  else:
317
313
  await self.close()
@@ -325,6 +321,18 @@ class BaseCover(BaseCoverABC, BasicMqtt):
325
321
  else:
326
322
  return CLOSED if self._position == 0 else OPEN
327
323
 
324
+ @property
325
+ def is_open(self) -> bool:
326
+ """Whether the cover is currently open (position > 0).
327
+
328
+ Used by the action conditions system to evaluate ``is_open`` / ``is_closed``
329
+ checks for covers.
330
+
331
+ Returns:
332
+ True if the cover is not fully closed.
333
+ """
334
+ return self._position > 0
335
+
328
336
  @property
329
337
  def position(self) -> int:
330
338
  return round(self._position, 0)
@@ -6,11 +6,11 @@ import threading
6
6
  import time
7
7
  from collections.abc import Callable
8
8
 
9
- from boneio.const import CLOSE, CLOSING, IDLE, OPEN, OPENING, STOP
10
9
  from boneio.components.cover.cover import BaseCover
10
+ from boneio.components.output import BasicOutput
11
+ from boneio.const import CLOSE, CLOSING, IDLE, OPEN, OPENING, STOP
11
12
  from boneio.core.events import EventBus
12
13
  from boneio.core.utils import TimePeriod
13
- from boneio.components.output import BasicOutput
14
14
 
15
15
  _LOGGER = logging.getLogger(__name__)
16
16
  DEFAULT_RESTORED_STATE = {"position": 100}
@@ -112,6 +112,11 @@ class OutputGroup(BasicOutput):
112
112
  """Check if group is active (ON state)."""
113
113
  return self._state == ON
114
114
 
115
+ @property
116
+ def group_members(self) -> list[BasicOutput]:
117
+ """Return list of member outputs."""
118
+ return self._group_members
119
+
115
120
  @override
116
121
  async def async_send_state(self, optimized_value: str | None = None) -> None:
117
122
  """Send state to message bus and event bus for WebSocket."""
@@ -3,12 +3,11 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import logging
6
-
7
6
  import time
8
7
  from typing import cast
9
8
 
10
9
  from boneio.components.input.detectors import BinarySensorDetector
11
- from boneio.const import BinaryStateTypes, ClickTypes, PRESSED, RELEASED
10
+ from boneio.const import PRESSED, RELEASED, BinaryStateTypes, ClickTypes
12
11
  from boneio.hardware.gpio.input import GpioBaseClass, get_gpio_manager
13
12
  from boneio.models import InputState
14
13
  from boneio.models.events import InputEvent
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  import logging
6
6
  import time
7
7
 
8
- from boneio.const import ClickTypes
9
8
  from boneio.components.input.detectors import MultiClickDetector
10
- from boneio.hardware.gpio.input import GpioBaseClass, get_gpio_manager
9
+ from boneio.const import ClickTypes
11
10
  from boneio.core.utils import TimePeriod
11
+ from boneio.hardware.gpio.input import GpioBaseClass, get_gpio_manager
12
12
 
13
13
  _LOGGER = logging.getLogger(__name__)
14
14
 
@@ -0,0 +1,6 @@
1
+ """Irrigation components."""
2
+
3
+ from .controller import IrrigationController, IrrigationZone
4
+ from .water_source import WaterSource
5
+
6
+ __all__ = ["IrrigationController", "IrrigationZone", "WaterSource"]