blebox-uniapi 2.5.7__tar.gz → 2.5.9__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 (56) hide show
  1. blebox_uniapi-2.5.9/CHANGELOG.md +232 -0
  2. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/CONTRIBUTING.rst +13 -17
  3. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/MANIFEST.in +2 -2
  4. blebox_uniapi-2.5.9/PKG-INFO +293 -0
  5. blebox_uniapi-2.5.9/README.md +25 -0
  6. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/__init__.py +1 -1
  7. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/box.py +4 -1
  8. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/box_types.py +8 -0
  9. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/sensor.py +15 -4
  10. blebox_uniapi-2.5.9/blebox_uniapi.egg-info/PKG-INFO +293 -0
  11. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi.egg-info/SOURCES.txt +2 -2
  12. blebox_uniapi-2.5.9/setup.cfg +20 -0
  13. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/setup.py +6 -6
  14. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_box.py +18 -0
  15. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_sensor.py +97 -0
  16. blebox_uniapi-2.5.7/HISTORY.rst +0 -174
  17. blebox_uniapi-2.5.7/PKG-INFO +0 -243
  18. blebox_uniapi-2.5.7/README.rst +0 -33
  19. blebox_uniapi-2.5.7/blebox_uniapi.egg-info/PKG-INFO +0 -243
  20. blebox_uniapi-2.5.7/setup.cfg +0 -34
  21. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/LICENSE +0 -0
  22. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/binary_sensor.py +0 -0
  23. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/button.py +0 -0
  24. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/climate.py +0 -0
  25. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/cover.py +0 -0
  26. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/error.py +0 -0
  27. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/feature.py +0 -0
  28. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/jfollow.py +0 -0
  29. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/light.py +0 -0
  30. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/session.py +0 -0
  31. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/switch.py +0 -0
  32. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi/update.py +0 -0
  33. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi.egg-info/dependency_links.txt +0 -0
  34. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi.egg-info/not-zip-safe +0 -0
  35. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi.egg-info/requires.txt +0 -0
  36. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/blebox_uniapi.egg-info/top_level.txt +0 -0
  37. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/Makefile +0 -0
  38. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/authors.rst +0 -0
  39. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/conf.py +0 -0
  40. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/contributing.rst +0 -0
  41. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/history.rst +0 -0
  42. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/index.rst +0 -0
  43. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/installation.rst +0 -0
  44. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/make.bat +0 -0
  45. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/readme.rst +0 -0
  46. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/docs/usage.rst +0 -0
  47. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_box_types.py +0 -0
  48. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_button.py +0 -0
  49. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_climate.py +0 -0
  50. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_cover.py +0 -0
  51. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_light.py +0 -0
  52. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_light_unit.py +0 -0
  53. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_session.py +0 -0
  54. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_switch.py +0 -0
  55. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_unknown.py +0 -0
  56. {blebox_uniapi-2.5.7 → blebox_uniapi-2.5.9}/tests/test_update.py +0 -0
@@ -0,0 +1,232 @@
1
+ # Changelog
2
+
3
+ ## [2.5.9](https://github.com/blebox/blebox_uniapi/compare/v2.5.8...v2.5.9) (2026-10-18)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * tankSensor liquidHeight and volume are reported in mm and ml ([#206](https://github.com/blebox/blebox_uniapi/issues/206)) ([7512f43](https://github.com/blebox/blebox_uniapi/commit/7512f4394c2452c77c7d65e9c2d2c645a58019a3))
9
+
10
+ ## [2.5.8](https://github.com/blebox/blebox_uniapi/compare/v2.5.7...v2.5.8) (2026-10-01)
11
+
12
+ ### Features
13
+
14
+ * support tankSensor ([#204](https://github.com/blebox/blebox_uniapi/issues/204)) ([2f93dac](https://github.com/blebox/blebox_uniapi/commit/2f93dac7ad020cd504921e7f5c710e6a4549ed21))
15
+
16
+ ### Bug Fixes
17
+
18
+ * query both info endpoints in OTA check ([#203](https://github.com/blebox/blebox_uniapi/issues/203)) ([a6683c4](https://github.com/blebox/blebox_uniapi/commit/a6683c4cf92e932278d2ed653bae05bc9b56230b))
19
+
20
+ ## [2.5.7](https://github.com/blebox/blebox_uniapi/compare/v2.5.6...v2.5.7) (2026-08-12)
21
+
22
+ ### Bug Fixes
23
+
24
+ * handle sensor state and thermoBox safety off ([#202](https://github.com/blebox/blebox_uniapi/issues/202)) ([1321ce5](https://github.com/blebox/blebox_uniapi/commit/1321ce505fa3864276a5408ab6b30e8c6d45e9fa))
25
+
26
+ ## [2.5.6](https://github.com/blebox/blebox_uniapi/compare/v2.5.5...v2.5.6) (2026-08-06)
27
+
28
+ ### Features
29
+
30
+ * expose gateBox extra button output as a button entity ([#201](https://github.com/blebox/blebox_uniapi/issues/201)) ([eb72cb4](https://github.com/blebox/blebox_uniapi/commit/eb72cb434eb132a18cf1c365ae5fc129640ad5f7))
31
+ * expose product on Box for HASS device model display ([#200](https://github.com/blebox/blebox_uniapi/issues/200)) ([7ff36de](https://github.com/blebox/blebox_uniapi/commit/7ff36deb0eaf60c69171716fba6309a40986ddcd))
32
+
33
+ ### Bug Fixes
34
+
35
+ * log caught API-call exceptions at debug instead of error ([#198](https://github.com/blebox/blebox_uniapi/issues/198)) ([f25183e](https://github.com/blebox/blebox_uniapi/commit/f25183e83db0a7ac8773861c588c5b64fca88e2c))
36
+
37
+ ## [2.5.5](https://github.com/blebox/blebox_uniapi/compare/v2.5.4...v2.5.5) (2026-06-09)
38
+
39
+ ### Features
40
+
41
+ * add support for CO2Sensor ([#195](https://github.com/blebox/blebox_uniapi/issues/195)) ([ac05dfc](https://github.com/blebox/blebox_uniapi/commit/ac05dfc05c62fcc8c5b29df1015195bab03da428))
42
+ * add voltage measurement support for switchBox ([#194](https://github.com/blebox/blebox_uniapi/issues/194)) ([964adf6](https://github.com/blebox/blebox_uniapi/commit/964adf632424807e2d40cc3128fa79d6e8e6050b))
43
+ * add is_calibrated property to Shutter and is_slider guard ([#193](https://github.com/blebox/blebox_uniapi/issues/193)) ([5f0be49](https://github.com/blebox/blebox_uniapi/commit/5f0be498f94ce7db49f3ba03b47fb2a7b88376f4))
44
+ * add reactive energy sensors for energyMeter ([#192](https://github.com/blebox/blebox_uniapi/issues/192)) ([19de0f5](https://github.com/blebox/blebox_uniapi/commit/19de0f5786b0e9a6696415dd606cf89be4d68396))
45
+
46
+ ## [2.5.4](https://github.com/blebox/blebox_uniapi/compare/v2.5.3...v2.5.4) (2026-05-25)
47
+
48
+ ### Features
49
+
50
+ * add OTA firmware update support via Update feature ([#191](https://github.com/blebox/blebox_uniapi/issues/191)) ([b3bfbf6](https://github.com/blebox/blebox_uniapi/commit/b3bfbf671335443294691ce72b719b57196b534d))
51
+ * add new ShutterBox control types and tilt properties ([#190](https://github.com/blebox/blebox_uniapi/issues/190)) ([a977239](https://github.com/blebox/blebox_uniapi/commit/a977239fbe233c880110b66dc58cb0cd75568fa6))
52
+ * add temperature sensors to thermoBox ([#189](https://github.com/blebox/blebox_uniapi/issues/189)) ([775510e](https://github.com/blebox/blebox_uniapi/commit/775510ec628994a4be8725bcf33a167da31e68f6))
53
+
54
+ ### Bug Fixes
55
+
56
+ * RGBWW brightness and channel ordering ([#188](https://github.com/blebox/blebox_uniapi/issues/188)) ([02251d9](https://github.com/blebox/blebox_uniapi/commit/02251d944fca3991a341bcd1fdcffdfda60435ff))
57
+ * color mode logic to restore last color value correctly ([#187](https://github.com/blebox/blebox_uniapi/issues/187)) ([dfbf3bd](https://github.com/blebox/blebox_uniapi/commit/dfbf3bd79c4bc8a0629cb48af2ec75a428ce0fd3))
58
+ * add sensor_id and name parameters to Open and Input binary sensor classes ([#186](https://github.com/blebox/blebox_uniapi/issues/186)) ([1c308d9](https://github.com/blebox/blebox_uniapi/commit/1c308d9263534efc12c2acc17f745ff6b125e45f))
59
+
60
+ ## [2.5.3](https://github.com/blebox/blebox_uniapi/compare/v2.5.2...v2.5.3) (2026-05-08)
61
+
62
+ ### Features
63
+
64
+ * add support for openSensor as both generic and binary sensor ([#184](https://github.com/blebox/blebox_uniapi/issues/184)) ([a4e0a64](https://github.com/blebox/blebox_uniapi/commit/a4e0a6437b1baecdfb6fb750166fd5861180c4a5))
65
+ * add index and name properties to sensors, switches and lights ([#185](https://github.com/blebox/blebox_uniapi/issues/185)) ([20faf7a](https://github.com/blebox/blebox_uniapi/commit/20faf7ad60600b3ff34af90a2bf1f21ed0163155))
66
+ * add support for inputSensor ([#183](https://github.com/blebox/blebox_uniapi/issues/183)) ([cb08d4a](https://github.com/blebox/blebox_uniapi/commit/cb08d4a8cf19df1d47d886b6f486975133d910e3))
67
+
68
+ ### Bug Fixes
69
+
70
+ * ensure sensible_on_value returns list for MONO mode ([#182](https://github.com/blebox/blebox_uniapi/issues/182)) ([bc3a78c](https://github.com/blebox/blebox_uniapi/commit/bc3a78ce11e7dad475b3be8b563757911fdfb8c2))
71
+
72
+ ## [2.5.2](https://github.com/blebox/blebox_uniapi/compare/v2.5.1...v2.5.2) (2026-04-24)
73
+
74
+ ### Features
75
+
76
+ * add is_position_inverted to expose position convention per device type ([#181](https://github.com/blebox/blebox_uniapi/issues/181)) ([be63c03](https://github.com/blebox/blebox_uniapi/commit/be63c035388d240867d1d94a3109974f0e5ab951))
77
+
78
+ ## 2.5.1 (2026-04-21)
79
+
80
+ * fix: multisensor current and energy sensor scales
81
+
82
+ ## 2.5.0 (2024-08-20)
83
+
84
+ * feature: expose sensor_id in sensors and alias in all features by @swistakm in https://github.com/blebox/blebox_uniapi/pull/176
85
+
86
+ ## 2.4.2 (2024-06-04)
87
+
88
+ * fix: add missing support for active power sensors on switchbox/switchboxd devices by @swistakm in https://github.com/blebox/blebox_uniapi/pull/175
89
+
90
+ ## 2.4.1 (2024-06-04)
91
+
92
+ * fix: rectify ambiguity around powerConsumption and wind sensor types
93
+
94
+ ## 2.4.0 (2024-06-03)
95
+
96
+ * Fix: Refactor sensor_factory by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/163
97
+ * Order in BOX_TYPES by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/164
98
+ * Feature: smart meter by @swistakm in https://github.com/blebox/blebox_uniapi/pull/168
99
+ * Smartmeter by @pvsti in https://github.com/blebox/blebox_uniapi/pull/170
100
+ * fix: resolve regressions in cover and climate due to jmespath introduction by @swistakm in https://github.com/blebox/blebox_uniapi/pull/173
101
+
102
+ ## 2.3.0 (2024-03-13)
103
+
104
+ * feat: add new methods to cover feature enabling handling of tilt open/close actions by @swistakm in https://github.com/blebox/blebox_uniapi/pull/154
105
+ * add support for flood sensing for multisensors as binary moisture sensor by @swistakm in https://github.com/blebox/blebox_uniapi/pull/153
106
+ * feat/fix: Add Ruff and Pre-commit Configuration, Resolve Undefined Name by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/158
107
+ * gatebox and shutterbox improvements: by @swistakm in https://github.com/blebox/blebox_uniapi/pull/156
108
+ * BleBox Multisensor Illuminance Integration by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/161
109
+
110
+ ## 2.2.2 (2024-02-07)
111
+
112
+ * fixed wind reading units to get proper raw m/s value (division by 10, see PR #150)
113
+
114
+ ## 2.2.1 (2024-01-26)
115
+
116
+ * fixed support for power measurement capabilities of switchBox and switchBoxD devices
117
+
118
+ ## 2.2.0 (2023-08-29)
119
+
120
+ * added last_reset to energy sensor class
121
+ * added BasicAuth support to http client
122
+
123
+ ## 2.1.4 (2023-01-03)
124
+
125
+ * added tilt position support for `cover.Shutter`
126
+ * added `Wind` for wind sensor of multisensors
127
+ * added `Energy` sensor class for power consumption tracking
128
+ * implementing `default_api_level` for
129
+ * dimmerBox
130
+ * wLightBox
131
+ * wLightBoxS
132
+
133
+ ## 2.1.3 (2022-10-27)
134
+
135
+ * thermoBox boost mode doesn't corrupt state
136
+
137
+ ## 2.1.2 (2022-10-17)
138
+
139
+ * fixed CCT, CCTx2 modes for wLightBox v1 & v2
140
+
141
+ ## 2.1.1 (2022-10-11)
142
+
143
+ * added support for thermoBox devices:
144
+ * added thermoBox config to `BOX_TYPE_CONFIG`
145
+ * `Climate` uses factory method implementation
146
+ * added test coverage
147
+
148
+ ## 2.1.0 (2022-08-05)
149
+
150
+ * added support for multiSensor API:
151
+ * `airQuality` moved to sensor module
152
+ * new binary_sensor module, introducing `Rain` class
153
+
154
+ ## 2.0.2 (2022-07-06)
155
+
156
+ * added `query_string` property in `Button` class
157
+ * fixed test assertions after changes in error raised ValueError
158
+
159
+ ## 2.0.1 (2022-06-01)
160
+
161
+ * used `ValueError` type instead of `BadOnValueError` in methods:
162
+ * evaluate_brightness_from_rgb
163
+ * apply_brightness
164
+ * normalise_elements_of_rgb
165
+ * _set_last_on_value
166
+ * async_on
167
+
168
+ ## 2.0.0 (2022-06-21)
169
+
170
+ * extended support for color modes in wLightBox devices
171
+ * initial support for tvLiftBox device
172
+ * major backward-incompatible architectural changes to enable dynamic configuration of devices
173
+ * removed products.py module and replaced with factory method on Box class
174
+ * general overhaul of public interfaces
175
+
176
+ ## 1.3.3 (2021-05-12)
177
+
178
+ * fix support for wLightBoxS with wLightBox API
179
+ * fix state detection in gateBox
180
+
181
+ ## 1.3.2 (2020-04-2)
182
+
183
+ * use proper module-level logger by default
184
+ * fix formatting
185
+
186
+ ## 1.3.1 (2020-04-2)
187
+
188
+ * never skip command requests
189
+ * improve error messages
190
+
191
+ ## 1.2.0 (2020-03-30)
192
+
193
+ * expose device info
194
+ * always add ip/port in connection errors
195
+ * fixed gateController support
196
+ * support for sauna min/max temp
197
+
198
+ ## 1.1.0 (2020-03-24)
199
+
200
+ * fix bad wLightBox API path
201
+ * wrap api calls in semaphore (to serialize reqests to each box)
202
+ * throttle updates to 2/second (to avoid unnecessary requests)
203
+ * rework error handling and hierarchy (for cleaner usage)
204
+ * use actual device name (to help recognize the device)
205
+ * handle asyncio.TimeoutError (to handle timeout-related errors nicely)
206
+ * properly re-raise exceptions (to avoid lengthy call stacktraces)
207
+ * rename wLightBoxS feature to "brightness"
208
+
209
+ ## 1.1.0 (2020-03-24)
210
+
211
+ * fix switchBox support
212
+ * fix minimum position handling
213
+ * drop Python 3.6 support (still may work)
214
+ * misc fixes, cleanup and increased test coverage
215
+
216
+ ## 1.0.0 (2020-03-24)
217
+
218
+ * Fixed wLightBox issues
219
+ * Fixed wLightBoxS issues
220
+ * Fixed shutterBox issues
221
+ * Handle unknown shutterBox position
222
+ * Improved error handling + lots of new diagnostics
223
+ * Increased tests and test coverage (almost 100%)
224
+ * Lots of rework
225
+
226
+ ## 0.1.1 (2020-03-15)
227
+
228
+ * Fixed switchBox support (newer API versions)
229
+
230
+ ## 0.1.0 (2020-03-10)
231
+
232
+ * First release on PyPI.
@@ -101,10 +101,14 @@ Before you submit a pull request, check that it meets these guidelines:
101
101
  1. The pull request should include tests.
102
102
  2. If the pull request adds functionality, the docs should be updated. Put
103
103
  your new functionality into a function with a docstring, and add the
104
- feature to the list in README.rst.
105
- 3. The pull request should work for Python 3.6, 3.7 and 3.8, and for PyPy. Check
106
- https://travis-ci.com/gadgetmobile/blebox_uniapi/pull_requests
107
- and make sure that the tests pass for all supported Python versions.
104
+ feature to the list in README.md.
105
+ 3. The pull request should work for Python 3.9, 3.10 and 3.11.
106
+ 4. The title follows `Conventional Commits`_: ``fix:`` (patch), ``feat:``
107
+ (minor), ``feat!:`` (major). It becomes the CHANGELOG.md entry. Titles
108
+ without these prefixes (``docs:``, ``chore:``, ``ci:``, ...) or with no
109
+ prefix are left out of the changelog.
110
+
111
+ .. _Conventional Commits: https://www.conventionalcommits.org/
108
112
 
109
113
  Tips
110
114
  ----
@@ -117,16 +121,8 @@ $ pytest tests.test_blebox_uniapi
117
121
  Deploying
118
122
  ---------
119
123
 
120
- A reminder for the maintainers on how to deploy.
121
- Make sure all your changes are committed (including an entry in HISTORY.rst).
122
- Then run::
123
-
124
- $ bump2version patch # possible: major / minor / patch
125
- $ git push --follow-tags
126
-
127
- bump2version bumps the version in setup.py, blebox_uniapi/__init__.py and
128
- setup.cfg, commits the change and creates a matching git tag (e.g. v2.6.0).
129
- Pushing the tag triggers the "Publish to PyPI" GitHub Actions workflow
130
- (.github/workflows/release.yml), which first runs lint + tests, then builds and
131
- uploads to PyPI via Trusted Publishing (OIDC) from the blebox/blebox_uniapi repo.
132
- The publish step only runs if the tests pass.
124
+ Squash-merge pull requests, fixing the title in the commit message if needed.
125
+ release-please keeps an open "chore(master): release X.Y.Z" pull request with
126
+ the version bump and CHANGELOG.md entry. Merging it creates the tag and GitHub
127
+ release, runs the tests and publishes to PyPI. Pushing a tag by hand releases
128
+ nothing.
@@ -1,7 +1,7 @@
1
1
  include CONTRIBUTING.rst
2
- include HISTORY.rst
2
+ include CHANGELOG.md
3
3
  include LICENSE
4
- include README.rst
4
+ include README.md
5
5
 
6
6
 
7
7
  recursive-exclude * __pycache__
@@ -0,0 +1,293 @@
1
+ Metadata-Version: 2.4
2
+ Name: blebox_uniapi
3
+ Version: 2.5.9
4
+ Summary: Python API for accessing BleBox smart home devices
5
+ Home-page: https://github.com/blebox/blebox_uniapi
6
+ Author: BleBox
7
+ Author-email: opensource@blebox.eu
8
+ License: Apache Software License 2.0
9
+ Keywords: blebox_uniapi
10
+ Classifier: Development Status :: 2 - Pre-Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Natural Language :: English
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: aiohttp>=3
21
+ Requires-Dist: jmespath>1.0.0
22
+ Dynamic: author
23
+ Dynamic: author-email
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: home-page
28
+ Dynamic: keywords
29
+ Dynamic: license
30
+ Dynamic: license-file
31
+ Dynamic: requires-dist
32
+ Dynamic: requires-python
33
+ Dynamic: summary
34
+
35
+ # BleBox Python UniAPI
36
+
37
+ [![PyPI](https://img.shields.io/pypi/v/blebox_uniapi.svg)](https://pypi.python.org/pypi/blebox_uniapi)
38
+
39
+ Python API for accessing BleBox smart home devices
40
+
41
+ * Free software: Apache Software License 2.0
42
+ * Documentation: https://blebox-uniapi.readthedocs.io.
43
+
44
+ ## Features
45
+
46
+ * supports [11 BleBox smart home devices]
47
+ * contains functional/integration tests
48
+ * every device supports at least minimum functionality for most common automation needs
49
+ * insight of integration level are accesible from file [box_types.py](blebox_uniapi/box_types.py#L43)
50
+
51
+ (devices with apiLevel lower than defined in BOX_TYPE_CONF will not be supported but higher will)
52
+
53
+ Contributions are welcome!
54
+
55
+ ## Credits
56
+
57
+ [Cookiecutter]: https://github.com/audreyr/cookiecutter
58
+ [audreyr/cookiecutter-pypackage]: https://github.com/audreyr/cookiecutter-pypackage
59
+ [11 BleBox smart home devices]: https://blebox.eu/produkty/?lang=en
60
+
61
+
62
+ # Changelog
63
+
64
+ ## [2.5.9](https://github.com/blebox/blebox_uniapi/compare/v2.5.8...v2.5.9) (2026-10-18)
65
+
66
+
67
+ ### Bug Fixes
68
+
69
+ * tankSensor liquidHeight and volume are reported in mm and ml ([#206](https://github.com/blebox/blebox_uniapi/issues/206)) ([7512f43](https://github.com/blebox/blebox_uniapi/commit/7512f4394c2452c77c7d65e9c2d2c645a58019a3))
70
+
71
+ ## [2.5.8](https://github.com/blebox/blebox_uniapi/compare/v2.5.7...v2.5.8) (2026-10-01)
72
+
73
+ ### Features
74
+
75
+ * support tankSensor ([#204](https://github.com/blebox/blebox_uniapi/issues/204)) ([2f93dac](https://github.com/blebox/blebox_uniapi/commit/2f93dac7ad020cd504921e7f5c710e6a4549ed21))
76
+
77
+ ### Bug Fixes
78
+
79
+ * query both info endpoints in OTA check ([#203](https://github.com/blebox/blebox_uniapi/issues/203)) ([a6683c4](https://github.com/blebox/blebox_uniapi/commit/a6683c4cf92e932278d2ed653bae05bc9b56230b))
80
+
81
+ ## [2.5.7](https://github.com/blebox/blebox_uniapi/compare/v2.5.6...v2.5.7) (2026-08-12)
82
+
83
+ ### Bug Fixes
84
+
85
+ * handle sensor state and thermoBox safety off ([#202](https://github.com/blebox/blebox_uniapi/issues/202)) ([1321ce5](https://github.com/blebox/blebox_uniapi/commit/1321ce505fa3864276a5408ab6b30e8c6d45e9fa))
86
+
87
+ ## [2.5.6](https://github.com/blebox/blebox_uniapi/compare/v2.5.5...v2.5.6) (2026-08-06)
88
+
89
+ ### Features
90
+
91
+ * expose gateBox extra button output as a button entity ([#201](https://github.com/blebox/blebox_uniapi/issues/201)) ([eb72cb4](https://github.com/blebox/blebox_uniapi/commit/eb72cb434eb132a18cf1c365ae5fc129640ad5f7))
92
+ * expose product on Box for HASS device model display ([#200](https://github.com/blebox/blebox_uniapi/issues/200)) ([7ff36de](https://github.com/blebox/blebox_uniapi/commit/7ff36deb0eaf60c69171716fba6309a40986ddcd))
93
+
94
+ ### Bug Fixes
95
+
96
+ * log caught API-call exceptions at debug instead of error ([#198](https://github.com/blebox/blebox_uniapi/issues/198)) ([f25183e](https://github.com/blebox/blebox_uniapi/commit/f25183e83db0a7ac8773861c588c5b64fca88e2c))
97
+
98
+ ## [2.5.5](https://github.com/blebox/blebox_uniapi/compare/v2.5.4...v2.5.5) (2026-06-09)
99
+
100
+ ### Features
101
+
102
+ * add support for CO2Sensor ([#195](https://github.com/blebox/blebox_uniapi/issues/195)) ([ac05dfc](https://github.com/blebox/blebox_uniapi/commit/ac05dfc05c62fcc8c5b29df1015195bab03da428))
103
+ * add voltage measurement support for switchBox ([#194](https://github.com/blebox/blebox_uniapi/issues/194)) ([964adf6](https://github.com/blebox/blebox_uniapi/commit/964adf632424807e2d40cc3128fa79d6e8e6050b))
104
+ * add is_calibrated property to Shutter and is_slider guard ([#193](https://github.com/blebox/blebox_uniapi/issues/193)) ([5f0be49](https://github.com/blebox/blebox_uniapi/commit/5f0be498f94ce7db49f3ba03b47fb2a7b88376f4))
105
+ * add reactive energy sensors for energyMeter ([#192](https://github.com/blebox/blebox_uniapi/issues/192)) ([19de0f5](https://github.com/blebox/blebox_uniapi/commit/19de0f5786b0e9a6696415dd606cf89be4d68396))
106
+
107
+ ## [2.5.4](https://github.com/blebox/blebox_uniapi/compare/v2.5.3...v2.5.4) (2026-05-25)
108
+
109
+ ### Features
110
+
111
+ * add OTA firmware update support via Update feature ([#191](https://github.com/blebox/blebox_uniapi/issues/191)) ([b3bfbf6](https://github.com/blebox/blebox_uniapi/commit/b3bfbf671335443294691ce72b719b57196b534d))
112
+ * add new ShutterBox control types and tilt properties ([#190](https://github.com/blebox/blebox_uniapi/issues/190)) ([a977239](https://github.com/blebox/blebox_uniapi/commit/a977239fbe233c880110b66dc58cb0cd75568fa6))
113
+ * add temperature sensors to thermoBox ([#189](https://github.com/blebox/blebox_uniapi/issues/189)) ([775510e](https://github.com/blebox/blebox_uniapi/commit/775510ec628994a4be8725bcf33a167da31e68f6))
114
+
115
+ ### Bug Fixes
116
+
117
+ * RGBWW brightness and channel ordering ([#188](https://github.com/blebox/blebox_uniapi/issues/188)) ([02251d9](https://github.com/blebox/blebox_uniapi/commit/02251d944fca3991a341bcd1fdcffdfda60435ff))
118
+ * color mode logic to restore last color value correctly ([#187](https://github.com/blebox/blebox_uniapi/issues/187)) ([dfbf3bd](https://github.com/blebox/blebox_uniapi/commit/dfbf3bd79c4bc8a0629cb48af2ec75a428ce0fd3))
119
+ * add sensor_id and name parameters to Open and Input binary sensor classes ([#186](https://github.com/blebox/blebox_uniapi/issues/186)) ([1c308d9](https://github.com/blebox/blebox_uniapi/commit/1c308d9263534efc12c2acc17f745ff6b125e45f))
120
+
121
+ ## [2.5.3](https://github.com/blebox/blebox_uniapi/compare/v2.5.2...v2.5.3) (2026-05-08)
122
+
123
+ ### Features
124
+
125
+ * add support for openSensor as both generic and binary sensor ([#184](https://github.com/blebox/blebox_uniapi/issues/184)) ([a4e0a64](https://github.com/blebox/blebox_uniapi/commit/a4e0a6437b1baecdfb6fb750166fd5861180c4a5))
126
+ * add index and name properties to sensors, switches and lights ([#185](https://github.com/blebox/blebox_uniapi/issues/185)) ([20faf7a](https://github.com/blebox/blebox_uniapi/commit/20faf7ad60600b3ff34af90a2bf1f21ed0163155))
127
+ * add support for inputSensor ([#183](https://github.com/blebox/blebox_uniapi/issues/183)) ([cb08d4a](https://github.com/blebox/blebox_uniapi/commit/cb08d4a8cf19df1d47d886b6f486975133d910e3))
128
+
129
+ ### Bug Fixes
130
+
131
+ * ensure sensible_on_value returns list for MONO mode ([#182](https://github.com/blebox/blebox_uniapi/issues/182)) ([bc3a78c](https://github.com/blebox/blebox_uniapi/commit/bc3a78ce11e7dad475b3be8b563757911fdfb8c2))
132
+
133
+ ## [2.5.2](https://github.com/blebox/blebox_uniapi/compare/v2.5.1...v2.5.2) (2026-04-24)
134
+
135
+ ### Features
136
+
137
+ * add is_position_inverted to expose position convention per device type ([#181](https://github.com/blebox/blebox_uniapi/issues/181)) ([be63c03](https://github.com/blebox/blebox_uniapi/commit/be63c035388d240867d1d94a3109974f0e5ab951))
138
+
139
+ ## 2.5.1 (2026-04-21)
140
+
141
+ * fix: multisensor current and energy sensor scales
142
+
143
+ ## 2.5.0 (2024-08-20)
144
+
145
+ * feature: expose sensor_id in sensors and alias in all features by @swistakm in https://github.com/blebox/blebox_uniapi/pull/176
146
+
147
+ ## 2.4.2 (2024-06-04)
148
+
149
+ * fix: add missing support for active power sensors on switchbox/switchboxd devices by @swistakm in https://github.com/blebox/blebox_uniapi/pull/175
150
+
151
+ ## 2.4.1 (2024-06-04)
152
+
153
+ * fix: rectify ambiguity around powerConsumption and wind sensor types
154
+
155
+ ## 2.4.0 (2024-06-03)
156
+
157
+ * Fix: Refactor sensor_factory by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/163
158
+ * Order in BOX_TYPES by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/164
159
+ * Feature: smart meter by @swistakm in https://github.com/blebox/blebox_uniapi/pull/168
160
+ * Smartmeter by @pvsti in https://github.com/blebox/blebox_uniapi/pull/170
161
+ * fix: resolve regressions in cover and climate due to jmespath introduction by @swistakm in https://github.com/blebox/blebox_uniapi/pull/173
162
+
163
+ ## 2.3.0 (2024-03-13)
164
+
165
+ * feat: add new methods to cover feature enabling handling of tilt open/close actions by @swistakm in https://github.com/blebox/blebox_uniapi/pull/154
166
+ * add support for flood sensing for multisensors as binary moisture sensor by @swistakm in https://github.com/blebox/blebox_uniapi/pull/153
167
+ * feat/fix: Add Ruff and Pre-commit Configuration, Resolve Undefined Name by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/158
168
+ * gatebox and shutterbox improvements: by @swistakm in https://github.com/blebox/blebox_uniapi/pull/156
169
+ * BleBox Multisensor Illuminance Integration by @Pastucha in https://github.com/blebox/blebox_uniapi/pull/161
170
+
171
+ ## 2.2.2 (2024-02-07)
172
+
173
+ * fixed wind reading units to get proper raw m/s value (division by 10, see PR #150)
174
+
175
+ ## 2.2.1 (2024-01-26)
176
+
177
+ * fixed support for power measurement capabilities of switchBox and switchBoxD devices
178
+
179
+ ## 2.2.0 (2023-08-29)
180
+
181
+ * added last_reset to energy sensor class
182
+ * added BasicAuth support to http client
183
+
184
+ ## 2.1.4 (2023-01-03)
185
+
186
+ * added tilt position support for `cover.Shutter`
187
+ * added `Wind` for wind sensor of multisensors
188
+ * added `Energy` sensor class for power consumption tracking
189
+ * implementing `default_api_level` for
190
+ * dimmerBox
191
+ * wLightBox
192
+ * wLightBoxS
193
+
194
+ ## 2.1.3 (2022-10-27)
195
+
196
+ * thermoBox boost mode doesn't corrupt state
197
+
198
+ ## 2.1.2 (2022-10-17)
199
+
200
+ * fixed CCT, CCTx2 modes for wLightBox v1 & v2
201
+
202
+ ## 2.1.1 (2022-10-11)
203
+
204
+ * added support for thermoBox devices:
205
+ * added thermoBox config to `BOX_TYPE_CONFIG`
206
+ * `Climate` uses factory method implementation
207
+ * added test coverage
208
+
209
+ ## 2.1.0 (2022-08-05)
210
+
211
+ * added support for multiSensor API:
212
+ * `airQuality` moved to sensor module
213
+ * new binary_sensor module, introducing `Rain` class
214
+
215
+ ## 2.0.2 (2022-07-06)
216
+
217
+ * added `query_string` property in `Button` class
218
+ * fixed test assertions after changes in error raised ValueError
219
+
220
+ ## 2.0.1 (2022-06-01)
221
+
222
+ * used `ValueError` type instead of `BadOnValueError` in methods:
223
+ * evaluate_brightness_from_rgb
224
+ * apply_brightness
225
+ * normalise_elements_of_rgb
226
+ * _set_last_on_value
227
+ * async_on
228
+
229
+ ## 2.0.0 (2022-06-21)
230
+
231
+ * extended support for color modes in wLightBox devices
232
+ * initial support for tvLiftBox device
233
+ * major backward-incompatible architectural changes to enable dynamic configuration of devices
234
+ * removed products.py module and replaced with factory method on Box class
235
+ * general overhaul of public interfaces
236
+
237
+ ## 1.3.3 (2021-05-12)
238
+
239
+ * fix support for wLightBoxS with wLightBox API
240
+ * fix state detection in gateBox
241
+
242
+ ## 1.3.2 (2020-04-2)
243
+
244
+ * use proper module-level logger by default
245
+ * fix formatting
246
+
247
+ ## 1.3.1 (2020-04-2)
248
+
249
+ * never skip command requests
250
+ * improve error messages
251
+
252
+ ## 1.2.0 (2020-03-30)
253
+
254
+ * expose device info
255
+ * always add ip/port in connection errors
256
+ * fixed gateController support
257
+ * support for sauna min/max temp
258
+
259
+ ## 1.1.0 (2020-03-24)
260
+
261
+ * fix bad wLightBox API path
262
+ * wrap api calls in semaphore (to serialize reqests to each box)
263
+ * throttle updates to 2/second (to avoid unnecessary requests)
264
+ * rework error handling and hierarchy (for cleaner usage)
265
+ * use actual device name (to help recognize the device)
266
+ * handle asyncio.TimeoutError (to handle timeout-related errors nicely)
267
+ * properly re-raise exceptions (to avoid lengthy call stacktraces)
268
+ * rename wLightBoxS feature to "brightness"
269
+
270
+ ## 1.1.0 (2020-03-24)
271
+
272
+ * fix switchBox support
273
+ * fix minimum position handling
274
+ * drop Python 3.6 support (still may work)
275
+ * misc fixes, cleanup and increased test coverage
276
+
277
+ ## 1.0.0 (2020-03-24)
278
+
279
+ * Fixed wLightBox issues
280
+ * Fixed wLightBoxS issues
281
+ * Fixed shutterBox issues
282
+ * Handle unknown shutterBox position
283
+ * Improved error handling + lots of new diagnostics
284
+ * Increased tests and test coverage (almost 100%)
285
+ * Lots of rework
286
+
287
+ ## 0.1.1 (2020-03-15)
288
+
289
+ * Fixed switchBox support (newer API versions)
290
+
291
+ ## 0.1.0 (2020-03-10)
292
+
293
+ * First release on PyPI.
@@ -0,0 +1,25 @@
1
+ # BleBox Python UniAPI
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/blebox_uniapi.svg)](https://pypi.python.org/pypi/blebox_uniapi)
4
+
5
+ Python API for accessing BleBox smart home devices
6
+
7
+ * Free software: Apache Software License 2.0
8
+ * Documentation: https://blebox-uniapi.readthedocs.io.
9
+
10
+ ## Features
11
+
12
+ * supports [11 BleBox smart home devices]
13
+ * contains functional/integration tests
14
+ * every device supports at least minimum functionality for most common automation needs
15
+ * insight of integration level are accesible from file [box_types.py](blebox_uniapi/box_types.py#L43)
16
+
17
+ (devices with apiLevel lower than defined in BOX_TYPE_CONF will not be supported but higher will)
18
+
19
+ Contributions are welcome!
20
+
21
+ ## Credits
22
+
23
+ [Cookiecutter]: https://github.com/audreyr/cookiecutter
24
+ [audreyr/cookiecutter-pypackage]: https://github.com/audreyr/cookiecutter-pypackage
25
+ [11 BleBox smart home devices]: https://blebox.eu/produkty/?lang=en
@@ -2,4 +2,4 @@
2
2
 
3
3
  __author__ = """BleBox"""
4
4
  __email__ = "opensource@blebox.eu"
5
- __version__ = "2.5.7"
5
+ __version__ = "2.5.9"
@@ -387,7 +387,10 @@ class Box:
387
387
  await self._session.async_api_get_ota("/api/ota/check")
388
388
  for _ in range(3):
389
389
  await asyncio.sleep(1)
390
- response = await self._session.async_api_get("/info")
390
+ try:
391
+ response = await self._session.async_api_get("/api/device/state")
392
+ except HttpError:
393
+ response = await self._session.async_api_get("/info")
391
394
  if response is None:
392
395
  raise UnsupportedBoxResponse("Device returned non-JSON response")
393
396
  response = response.get("device", response)
@@ -795,6 +795,14 @@ BOX_TYPE_CONF: dict[str, dict[int, dict[str, Any]]] = {
795
795
  "co2.state": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'co2']|[0]|state",
796
796
  "co2Definition": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'co2Definition']|[0]|value",
797
797
  "co2Definition.state": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'co2Definition']|[0]|state",
798
+ "gaugePressure": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'gaugePressure']|[0]|value",
799
+ "gaugePressure.state": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'gaugePressure']|[0]|state",
800
+ "liquidHeight": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'liquidHeight']|[0]|value",
801
+ "liquidHeight.state": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'liquidHeight']|[0]|state",
802
+ "fillLevel": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'fillLevel']|[0]|value",
803
+ "fillLevel.state": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'fillLevel']|[0]|state",
804
+ "volume": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'volume']|[0]|value",
805
+ "volume.state": lambda x: f"multiSensor.sensors[?id == `{x}`]|[?type == 'volume']|[0]|state",
798
806
  },
799
807
  ]
800
808
  ],