boneio 0.9.4.dev3__tar.gz → 0.9.4.dev4__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 (241) hide show
  1. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/PKG-INFO +1 -1
  2. boneio-0.9.4.dev4/boneio/example_config/all_binary_sensor.yaml +106 -0
  3. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/config.yaml +1 -1
  4. boneio-0.9.4.dev4/boneio/helper/queue.py +58 -0
  5. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/mqtt_client.py +14 -15
  6. boneio-0.9.4.dev4/boneio/version.py +2 -0
  7. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/pyproject.toml +1 -1
  8. boneio-0.9.4.dev3/boneio/helper/queue.py +0 -32
  9. boneio-0.9.4.dev3/boneio/version.py +0 -2
  10. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/LICENSE +0 -0
  11. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/README.md +0 -0
  12. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/__init__.py +0 -0
  13. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/boards/0.7/input.yaml +0 -0
  14. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/boards/0.7/output_32_10.yaml +0 -0
  15. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/boards/0.8/cover.yaml +0 -0
  16. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/boards/0.8/cover_mix.yaml +0 -0
  17. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/boards/0.8/input.yaml +0 -0
  18. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/boards/0.8/output_32_10.yaml +0 -0
  19. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/bonecli.py +0 -0
  20. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/const.py +0 -0
  21. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/cover.py +0 -0
  22. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/__init__.py +0 -0
  23. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/adc.yaml +0 -0
  24. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/binary_sensor.yaml +0 -0
  25. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/binary_sensor_v_0_7.yaml +0 -0
  26. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/cover.yaml +0 -0
  27. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/event.yaml +0 -0
  28. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/event_all.yaml +0 -0
  29. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/event_v_0_7.yaml +0 -0
  30. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/led32x4A.yaml +0 -0
  31. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/output24x16A.yaml +0 -0
  32. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/output24x16A_v0.3.yaml +0 -0
  33. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/output32x10A.yaml +0 -0
  34. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/output32x10A_new.yaml +0 -0
  35. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/example_config/output32x5A.yaml +0 -0
  36. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/fonts/danube__.ttf +0 -0
  37. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/group/__init__.py +0 -0
  38. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/group/output.py +0 -0
  39. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/__init__.py +0 -0
  40. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/async_updater.py +0 -0
  41. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/click_timer.py +0 -0
  42. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/config.py +0 -0
  43. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/events.py +0 -0
  44. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/exceptions.py +0 -0
  45. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/filter.py +0 -0
  46. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/gpio.py +0 -0
  47. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/gpiod.py +0 -0
  48. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/ha_discovery.py +0 -0
  49. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/loader.py +0 -0
  50. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/logger.py +0 -0
  51. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/message_bus.py +0 -0
  52. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/mqtt.py +0 -0
  53. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/oled.py +0 -0
  54. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/onewire/W1ThermSensor.py +0 -0
  55. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/onewire/__init__.py +0 -0
  56. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/onewire/ds2482.py +0 -0
  57. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/onewire/onewire.py +0 -0
  58. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/pcf8575.py +0 -0
  59. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/schema_converter.py +0 -0
  60. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/sensor/ina_219_smbus.py +0 -0
  61. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/state_manager.py +0 -0
  62. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/stats.py +0 -0
  63. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/timeperiod.py +0 -0
  64. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/util.py +0 -0
  65. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/helper/yaml_util.py +0 -0
  66. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/input/__init__.py +0 -0
  67. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/input/gpio.py +0 -0
  68. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/input/gpio_new.py +0 -0
  69. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/manager.py +0 -0
  70. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/__init__.py +0 -0
  71. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/client.py +0 -0
  72. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/cwt.json +0 -0
  73. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/dts1964_3f.json +0 -0
  74. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/liquid-sensor.json +0 -0
  75. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/modbuscli.py +0 -0
  76. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/orno-or-we-517.json +0 -0
  77. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/pt100.json +0 -0
  78. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/r4dcb08.json +0 -0
  79. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/sdm120.json +0 -0
  80. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/sdm630.json +0 -0
  81. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/sensor.py +0 -0
  82. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/sht20.json +0 -0
  83. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/sht30.json +0 -0
  84. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/single_sensor.py +0 -0
  85. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/socomec_e03.json +0 -0
  86. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/socomec_e23.json +0 -0
  87. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/sofar.json +0 -0
  88. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/modbus/utils.py +0 -0
  89. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/models/__init__.py +0 -0
  90. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/models/files.py +0 -0
  91. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/models/logs.py +0 -0
  92. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/oled.py +0 -0
  93. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/relay/__init__.py +0 -0
  94. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/relay/basic.py +0 -0
  95. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/relay/gpio.py +0 -0
  96. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/relay/mcp.py +0 -0
  97. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/relay/pca.py +0 -0
  98. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/relay/pcf.py +0 -0
  99. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/runner.py +0 -0
  100. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/actions.yaml +0 -0
  101. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/actions_sensor.yaml +0 -0
  102. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/actions_switch.yaml +0 -0
  103. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/filters.yaml +0 -0
  104. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/filters_adc.yaml +0 -0
  105. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/id.yaml +0 -0
  106. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/schema.yaml +0 -0
  107. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/temp_unit.yaml +0 -0
  108. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/schema/update_interval.yaml +0 -0
  109. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/__init__.py +0 -0
  110. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/adc.py +0 -0
  111. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/gpio.py +0 -0
  112. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/gpio_new.py +0 -0
  113. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/ina219.py +0 -0
  114. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/serial_number.py +0 -0
  115. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/temp/__init__.py +0 -0
  116. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/temp/dallas.py +0 -0
  117. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/temp/lm75.py +0 -0
  118. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/sensor/temp/mcp9808.py +0 -0
  119. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/app.py +0 -0
  120. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/abap-BrgZPUOV.js +0 -0
  121. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/apex-DyP6w7ZV.js +0 -0
  122. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/azcli-BaLxmfj-.js +0 -0
  123. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/bat-CFOPXBzS.js +0 -0
  124. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/bicep-BfEKNvv3.js +0 -0
  125. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/cameligo-BFG1Mk7z.js +0 -0
  126. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/clojure-DTECt2xU.js +0 -0
  127. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/codicon-DCmgc-ay.ttf +0 -0
  128. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/coffee-CDGzqUPQ.js +0 -0
  129. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/cpp-CLLBncYj.js +0 -0
  130. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/csharp-dUCx_-0o.js +0 -0
  131. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/csp-5Rap-vPy.js +0 -0
  132. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/css-D3h14YRZ.js +0 -0
  133. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/cssMode-CtnT2jQE.js +0 -0
  134. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/cypher-DrQuvNYM.js +0 -0
  135. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/dart-CFKIUWau.js +0 -0
  136. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/dockerfile-Zznr-cwX.js +0 -0
  137. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/ecl-Ce3n6wWz.js +0 -0
  138. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/editor.worker-D5ngByhL.js +0 -0
  139. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/elixir-deUWdS0T.js +0 -0
  140. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/flow9-i9-g7ZhI.js +0 -0
  141. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/freemarker2-DGuhXH41.js +0 -0
  142. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/fsharp-CzKuDChf.js +0 -0
  143. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/go-Cphgjts3.js +0 -0
  144. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/graphql-Cg7bfA9N.js +0 -0
  145. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/handlebars-DB9ioYEj.js +0 -0
  146. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/hcl-0cvrggvQ.js +0 -0
  147. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/html-B1N3G2t2.js +0 -0
  148. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/htmlMode-Bu4tsIzC.js +0 -0
  149. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/index-BLdVcyHp.js +0 -0
  150. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/index-CCgG6NMg.css +0 -0
  151. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/ini-Drc7WvVn.js +0 -0
  152. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/java-B_fMsGYe.js +0 -0
  153. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/javascript-Bc9neA1Z.js +0 -0
  154. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/json.worker-F0ZGA5Zk.js +0 -0
  155. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/jsonMode-CKQTb-28.js +0 -0
  156. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/julia-Bqgm2twL.js +0 -0
  157. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/kotlin-BSkB5QuD.js +0 -0
  158. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/less-BsTHnhdd.js +0 -0
  159. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/lexon-YWi4-JPR.js +0 -0
  160. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/liquid-CTaX0gqb.js +0 -0
  161. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/lua-nf6ki56Z.js +0 -0
  162. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/m3-Cpb6xl2v.js +0 -0
  163. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/markdown-DSZPf7rp.js +0 -0
  164. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/mdx-5o2ITl9M.js +0 -0
  165. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/mips-B_c3zf-v.js +0 -0
  166. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/msdax-rUNN04Wq.js +0 -0
  167. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/mysql-DDwshQtU.js +0 -0
  168. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/objective-c-B5zXfXm9.js +0 -0
  169. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/pascal-CXOwvkN_.js +0 -0
  170. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/pascaligo-Bc-ZgV77.js +0 -0
  171. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/perl-CwNk8-XU.js +0 -0
  172. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/pgsql-tGk8EFnU.js +0 -0
  173. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/php-CpIb_Oan.js +0 -0
  174. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/pla-B03wrqEc.js +0 -0
  175. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/postiats-BKlk5iyT.js +0 -0
  176. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/powerquery-Bhzvs7bI.js +0 -0
  177. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/powershell-Dd3NCNK9.js +0 -0
  178. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/protobuf-COyEY5Pt.js +0 -0
  179. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/pug-BaJupSGV.js +0 -0
  180. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/python-Db8FWkCf.js +0 -0
  181. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/qsharp-DXyYeYxl.js +0 -0
  182. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/r-CdQndTaG.js +0 -0
  183. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/razor-CLTS28q7.js +0 -0
  184. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/redis-CVwtpugi.js +0 -0
  185. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/redshift-25W9uPmb.js +0 -0
  186. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/restructuredtext-DfzH4Xui.js +0 -0
  187. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/ruby-Cp1zYvxS.js +0 -0
  188. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/rust-D5C2fndG.js +0 -0
  189. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/sb-CDntyWJ8.js +0 -0
  190. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/scala-BoFRg7Ot.js +0 -0
  191. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/scheme-Bio4gycK.js +0 -0
  192. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/scss-4Ik7cdeQ.js +0 -0
  193. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/shell-CX-rkNHf.js +0 -0
  194. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/solidity-Tw7wswEv.js +0 -0
  195. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/sophia-C5WLch3f.js +0 -0
  196. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/sparql-DHaeiCBh.js +0 -0
  197. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/sql-CCSDG5nI.js +0 -0
  198. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/st-pnP8ivHi.js +0 -0
  199. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/swift-DwJ7jVG9.js +0 -0
  200. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/systemverilog-B9Xyijhd.js +0 -0
  201. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/tcl-DnHyzjbg.js +0 -0
  202. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/tsMode-CrhZjPZD.js +0 -0
  203. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/twig-CPajHgWi.js +0 -0
  204. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/typescript-BEFA7MWI.js +0 -0
  205. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/typespec-D-MeaMDU.js +0 -0
  206. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/vb-DgyLZaXg.js +0 -0
  207. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/wgsl-BIv9DU6q.js +0 -0
  208. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/xml-z_iSgMVJ.js +0 -0
  209. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/yaml-3ScDl3Sa.js +0 -0
  210. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/assets/yaml.worker-C2uymlqn.js +0 -0
  211. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/boneio.svg +0 -0
  212. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/boneio_fav.svg +0 -0
  213. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/frontend-dist/index.html +0 -0
  214. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/adc.schema.json +0 -0
  215. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/binary_sensor.schema.json +0 -0
  216. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/boneio.schema.json +0 -0
  217. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/config.schema.json +0 -0
  218. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/cover.schema.json +0 -0
  219. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/dallas.schema.json +0 -0
  220. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/ds2482.schema.json +0 -0
  221. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/event.schema.json +0 -0
  222. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/ina219.schema.json +0 -0
  223. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/lm75.schema.json +0 -0
  224. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/logger.schema.json +0 -0
  225. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/mcp23017.schema.json +0 -0
  226. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/mcp9808.schema.json +0 -0
  227. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/modbus.schema.json +0 -0
  228. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/modbus_sensors.schema.json +0 -0
  229. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/mqtt.schema.json +0 -0
  230. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/oled.schema.json +0 -0
  231. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/output.schema.json +0 -0
  232. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/output_group.schema.json +0 -0
  233. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/pca9685.schema.json +0 -0
  234. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/pcf8575.schema.json +0 -0
  235. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/sensor.schema.json +0 -0
  236. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/schema/web.schema.json +0 -0
  237. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/web_server.py +0 -0
  238. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/boneio/webui/websocket_manager.py +0 -0
  239. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/tests/32_5_config.yaml +0 -0
  240. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/tests/bandit.yaml +0 -0
  241. {boneio-0.9.4.dev3 → boneio-0.9.4.dev4}/tests/relay_32_5.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: boneio
3
- Version: 0.9.4.dev3
3
+ Version: 0.9.4.dev4
4
4
  Summary: Python App for BoneIO
5
5
  License: GNU General Public License v3.0
6
6
  Author-email: Paweł Szafer <pszafer@gmail.com>
@@ -0,0 +1,106 @@
1
+ - id: IN_01
2
+ boneio_input: IN_01
3
+ actions:
4
+ pressed:
5
+ - action: output
6
+ pin: OUT_01
7
+ - id: IN_02
8
+ boneio_input: IN_02
9
+ actions:
10
+ pressed:
11
+ - action: output
12
+ pin: OUT_02
13
+ # - id: IN_03
14
+ # boneio_input: IN_03
15
+ # - id: IN_04
16
+ # boneio_input: IN_04
17
+ # - id: IN_05
18
+ # boneio_input: IN_05
19
+ # - id: IN_06
20
+ # boneio_input: IN_06
21
+ # - id: IN_07
22
+ # boneio_input: IN_07
23
+ # - id: IN_08
24
+ # boneio_input: IN_08
25
+ # - id: IN_09
26
+ # boneio_input: IN_09
27
+ # - id: IN_10
28
+ # boneio_input: IN_10
29
+ # - id: IN_11
30
+ # boneio_input: IN_11
31
+ # - id: IN_12
32
+ # boneio_input: IN_12
33
+ # - id: IN_13
34
+ # boneio_input: IN_13
35
+ # - id: IN_14
36
+ # boneio_input: IN_14
37
+ # - id: IN_15
38
+ # boneio_input: IN_15
39
+ # - id: IN_16
40
+ # boneio_input: IN_16
41
+ # - id: IN_17
42
+ # boneio_input: IN_17
43
+ # - id: IN_18
44
+ # boneio_input: IN_18
45
+ # - id: IN_19
46
+ # boneio_input: IN_19
47
+ # - id: IN_20
48
+ # boneio_input: IN_20
49
+ # - id: IN_21
50
+ # boneio_input: IN_21
51
+ # - id: IN_22
52
+ # boneio_input: IN_22
53
+ # - id: IN_23
54
+ # boneio_input: IN_23
55
+ # - id: IN_24
56
+ # boneio_input: IN_24
57
+ # - id: IN_25
58
+ # boneio_input: IN_25
59
+ # - id: IN_26
60
+ # boneio_input: IN_26
61
+ # - id: IN_27
62
+ # boneio_input: IN_27
63
+ # - id: IN_28
64
+ # boneio_input: IN_28
65
+ # - id: IN_29
66
+ # boneio_input: IN_29
67
+ # - id: IN_30
68
+ # boneio_input: IN_30
69
+ # - id: IN_31
70
+ # boneio_input: IN_31
71
+ # - id: IN_32
72
+ # boneio_input: IN_32
73
+ # - id: IN_33
74
+ # boneio_input: IN_33
75
+ # - id: IN_34
76
+ # boneio_input: IN_34
77
+ # - id: IN_35
78
+ # boneio_input: IN_35
79
+ # - id: IN_36
80
+ # boneio_input: IN_36
81
+ # - id: IN_37
82
+ # boneio_input: IN_37
83
+ # - id: IN_38
84
+ # boneio_input: IN_38
85
+ # - id: IN_39
86
+ # boneio_input: IN_39
87
+ # - id: IN_40
88
+ # boneio_input: IN_40
89
+ # - id: IN_41
90
+ # boneio_input: IN_41
91
+ # - id: IN_42
92
+ # boneio_input: IN_42
93
+ # - id: IN_43
94
+ # boneio_input: IN_43
95
+ # - id: IN_44
96
+ # boneio_input: IN_44
97
+ # - id: IN_45
98
+ # boneio_input: IN_45
99
+ # - id: IN_46
100
+ # boneio_input: IN_46
101
+ # - id: IN_47
102
+ # boneio_input: IN_47
103
+ # - id: IN_48
104
+ # boneio_input: IN_48
105
+ # - id: IN_49
106
+ # boneio_input: IN_49
@@ -15,7 +15,7 @@ lm75:
15
15
  event: !include event.yaml
16
16
  binary_sensor: !include binary_sensor.yaml
17
17
 
18
- output: !include output32x5A.yaml
18
+ output: !include output32x10A_new.yaml
19
19
 
20
20
  boneio:
21
21
  name: "boneIO Black 32x10A"
@@ -0,0 +1,58 @@
1
+ """
2
+ Special unique implementation of asyncio.Queue for boneIO.
3
+ If MQTT is down then regular queue can append multiple ON/OFF for same topic.
4
+ After re-connection it would send all messages. It's not necessary, last payload of same topic is enough.
5
+ """
6
+ import asyncio
7
+ from typing import Any, Dict, Tuple
8
+
9
+
10
+ class UniqueQueue(asyncio.Queue):
11
+ """Unique implementation of asyncio.Queue that handles MQTT connection state."""
12
+
13
+ def __init__(self, maxsize: int = 0):
14
+ """Initialize the queue."""
15
+ super().__init__(maxsize=maxsize)
16
+ self._unique_items: Dict[str, Tuple[Any, ...]] = {}
17
+ self._is_connected = False
18
+
19
+ def set_connected(self, state: bool) -> None:
20
+ """Set the connection state."""
21
+ self._is_connected = state
22
+
23
+ def _init(self, maxsize: int) -> None:
24
+ """Initialize the internal queue storage."""
25
+ super()._init(maxsize=maxsize)
26
+ self._unique_items = {}
27
+
28
+ def _put(self, item: Tuple[str, Any, bool]) -> None:
29
+ """Put an item into the queue.
30
+
31
+ If MQTT is not connected:
32
+ - If topic exists, replace the old message
33
+ - If topic doesn't exist, add new message
34
+ If MQTT is connected:
35
+ - Add all messages to queue
36
+
37
+ Args:
38
+ item: Tuple of (topic, payload, retain)
39
+ """
40
+ topic = item[0]
41
+
42
+ if not self._is_connected:
43
+ # When disconnected, replace existing messages for same topic
44
+ if topic in self._unique_items:
45
+ self._queue.remove(self._unique_items[topic])
46
+ super()._put(item)
47
+ self._unique_items[topic] = item
48
+ else:
49
+ # When connected, queue all messages
50
+ super()._put(item)
51
+ self._unique_items[topic] = item
52
+
53
+ def _get(self) -> Tuple[str, Any, bool]:
54
+ """Get an item from the queue and remove it from unique items tracking."""
55
+ item = super()._get()
56
+ if item[0] in self._unique_items:
57
+ del self._unique_items[item[0]]
58
+ return item
@@ -19,10 +19,10 @@ from paho.mqtt.properties import Properties
19
19
  from paho.mqtt.subscribeoptions import SubscribeOptions
20
20
 
21
21
  from boneio.const import OFFLINE, PAHO, STATE
22
- from boneio.helper import UniqueQueue
23
22
  from boneio.helper.config import ConfigHelper
24
23
  from boneio.helper.events import GracefulExit
25
24
  from boneio.helper.message_bus import MessageBus
25
+ from boneio.helper.queue import UniqueQueue
26
26
  from boneio.manager import Manager
27
27
 
28
28
  _LOGGER = logging.getLogger(__name__)
@@ -174,7 +174,7 @@ class MQTTClient(MessageBus):
174
174
  await self._subscribe_manager(self._manager)
175
175
  except MqttError as err:
176
176
  self.reconnect_interval = min(
177
- self.reconnect_interval * 2, 600
177
+ self.reconnect_interval * 2, 60
178
178
  )
179
179
  _LOGGER.error(
180
180
  "MQTT error: %s. Reconnecting in %s seconds",
@@ -182,6 +182,7 @@ class MQTTClient(MessageBus):
182
182
  self.reconnect_interval,
183
183
  )
184
184
  self._connection_established = False
185
+ self.publish_queue.set_connected(False)
185
186
  await asyncio.sleep(self.reconnect_interval)
186
187
  self.create_client() # reset connect/reconnect futures
187
188
  except (asyncio.CancelledError, GracefulExit):
@@ -194,21 +195,19 @@ class MQTTClient(MessageBus):
194
195
 
195
196
  async def _subscribe_manager(self, manager: Manager) -> None:
196
197
  """Connect and subscribe to manager topics + host stats."""
197
- # Create a new future for this run
198
- self._cancel_future = asyncio.Future()
199
-
200
- async def wait_for_cancel():
201
- await self._cancel_future
202
- # When future completes, raise CancelledError to stop other tasks
203
- raise asyncio.CancelledError("Stop requested")
204
-
205
198
  async with AsyncExitStack() as stack:
206
- tasks: Set[asyncio.Task] = set()
207
-
208
- # Connect to the MQTT broker.
209
199
  await stack.enter_async_context(self.asyncio_client)
210
- # Reset the reconnect interval after successful connection.
211
- self.reconnect_interval = 1
200
+ self._connection_established = True
201
+ self.publish_queue.set_connected(True)
202
+ # Create a new future for this run
203
+ self._cancel_future = asyncio.Future()
204
+
205
+ async def wait_for_cancel():
206
+ await self._cancel_future
207
+ # When future completes, raise CancelledError to stop other tasks
208
+ raise asyncio.CancelledError("Stop requested")
209
+
210
+ tasks: Set[asyncio.Task] = set()
212
211
 
213
212
  publish_task = asyncio.create_task(self._handle_publish())
214
213
  tasks.add(publish_task)
@@ -0,0 +1,2 @@
1
+ # flake8: noqa
2
+ __version__ = "0.9.4dev4"
@@ -35,7 +35,7 @@ dependencies = [
35
35
  "qrcode==7.4.2",
36
36
  ]
37
37
  requires-python = ">=3.7"
38
- version = "0.9.4.dev3"
38
+ version = "0.9.4.dev4"
39
39
 
40
40
  [project.license]
41
41
  text = "GNU General Public License v3.0"
@@ -1,32 +0,0 @@
1
- """
2
- Special unique implementation of asyncio.Queue for boneIO.
3
- If MQTT is down then regular queue can append multiple ON/OFF for same topic.
4
- After re-connection it would send all messages. It's not necessary, last payload of same topic is enough.
5
- """
6
- import asyncio
7
-
8
-
9
- class UniqueQueue(asyncio.Queue):
10
- """Unique implementation of asyncio.Queue."""
11
-
12
- def _init(self, maxsize):
13
- """Create unique dict of tuple[0]."""
14
- super()._init(maxsize=maxsize)
15
- self._unique_set = {}
16
-
17
- def _put(self, item):
18
- """If item does not exists add it.
19
- If exists remove old one and put new one in the beginning of the queue."""
20
- if item[0] not in self._unique_set:
21
- super()._put(item)
22
- self._unique_set[item[0]] = item
23
- else:
24
- self._queue.remove(self._unique_set[item[0]])
25
- super()._put(item)
26
- self._unique_set[item[0]] = item
27
-
28
- def _get(self):
29
- """Get item and remove it."""
30
- item = super()._get()
31
- del self._unique_set[item[0]]
32
- return item
@@ -1,2 +0,0 @@
1
- # flake8: noqa
2
- __version__ = "0.9.4dev3"
File without changes
File without changes
File without changes
File without changes
File without changes