Smarthomeconnect

Latest version: v0.9.0

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.6.0

New Features

- Compatibility with Python 3.10 (thanks to fabaff)
- New [**Telegram Bot** interface](https://smarthomeconnect.readthedocs.io/en/latest/interfaces/telegram.html)
- New [**Command** interface](https://smarthomeconnect.readthedocs.io/en/latest/interfaces/misc.html#command) for executing arbitrary shell commands and using their exit code or STDOUT in SHC (thanks to fabaff)


Breaking Changes

- Web: `WebServer.serve_static_file()` returns full URL of static file (including `WebServer.root_url`)
- Web: `WebServer.add_js_file()` and `WebServer.add_css_file()` have been replaced with [`WebServer.add_static_directory()`](https://smarthomeconnect.readthedocs.io/en/latest/web.html#shc.web.interface.WebServer.add_static_directory)


Improvements

- SHCWebClient interface mitigates more state inconsistencies by reflecting probably conflicting received updates back to the server
- Expressions: Make expressions more efficient by using the published value instead of *reading* all values upon triggered update
- PulseAudio: `shc.interfaces.pulse` can be imported without needing `libpulse` installed to use the PulseAudio datatypes


Fixes

- Web API: Fix InvalidState error after a long poll on the HTTP/REST API has been aborted
- base: Fix detection of (possible) conflicting updates to synchronous `.trigger()`s for mitigating state inconsistencies in `Subscribable._publish()`
- Fix exponential backoff timeout when reconnecting to MQTT/SHC API/etc. to reset on successful connection
- Do not include SHC's tests in Pip/PyPI distribution
- PulseAudio: Fix handling of exceptions in `*PeakConnector`


Documentation

- Added [docstring for `Connectable.connect()`](https://smarthomeconnect.readthedocs.io/en/latest/base.html#shc.base.Connectable.connect)
- Added [documentation of the HTTP/REST and websocket API](https://smarthomeconnect.readthedocs.io/en/latest/web.html#configuring-the-http-rest-websocket-api)
- Added [documentation for configuring web UI](https://smarthomeconnect.readthedocs.io/en/latest/web.html#configuring-the-user-interface)
- Added [documentation and example for creating custom web UI Widgets](https://smarthomeconnect.readthedocs.io/en/latest/web.html#creating-custom-widgets)

0.5.0

- New [Pulseaudio interface](https://smarthomeconnect.readthedocs.io/en/latest/interfaces/pulse.html) for monitoring and controlling volumes, mute and sink/source state
- New `Variable.field()` method for accessing VariableFields of NamedTuple-typed variables (see [Docs](https://smarthomeconnect.readthedocs.io/en/latest/variables_expressions.html#tuple-field-access))
- **Deprecation**: Access to VariableFields via attributes is now deprecated in favor of the new `.field()` method
- New MyPy Plugin for typechecking VariableFields
- New datatype [`FadeStep`](https://smarthomeconnect.readthedocs.io/en/latest/datatypes.html#shc.datatypes.FadeStep) for processing dimming/fading actions
- New [`FadeStepAdapter`](https://smarthomeconnect.readthedocs.io/en/latest/misc.html#shc.misc.FadeStepAdapter) and [`FadeStepRamp`](https://smarthomeconnect.readthedocs.io/en/latest/timer.html#shc.timer.FadeStepRamp) for connecting FadeStep-typed objects to Range-typed Variables
- Added Support for KNX DPT 3.xxx (Dimming) with new datatype [`KNXControlDimming`](https://smarthomeconnect.readthedocs.io/en/latest/interfaces/knx.html#shc.interfaces.knx.KNXControlDimming), compatible with FadeStep

0.4.0

- New decorator [expression](https://smarthomeconnect.readthedocs.io/en/latest/variables_expressions.html#shc.expressions.expression) for creating SHC expressions from simple Python functions
- New [Multiplexer](https://smarthomeconnect.readthedocs.io/en/latest/variables_expressions.html#shc.expressions.Multiplexer) expression
- New [Ramp generators](https://smarthomeconnect.readthedocs.io/en/latest/timer.html#ramp-generators)
- New interface [Ping](https://smarthomeconnect.readthedocs.io/en/latest/interfaces/misc.html#ping)
- New [energy sensor connectors](https://smarthomeconnect.readthedocs.io/en/latest/interfaces/tasmota.html#shc.interfaces.tasmota.TasmotaInterface.energy_power) for Tasmota interface
- Frontend web assets are now pulled from NPM and bundled with Parcel.js when building the Python distribution
- Updated frontend web asset versions
- Updated Python dependency versions, esp. adding support for Jinja2 3.x.

0.3.1

Fixes
- `shc.handler()` decorator does not mistake Expressions in the origin for recursive execution of the handler anymore

0.3

Major changes (probably breaking)

* Rework of subscription system (asynchronous publishing, `_publish` is no coroutine anymore, origin clearing for state consistency)
* Interfaces' `wait()` method dropped
* `persistence` module renamed to `log` and completely refactored

Other major changes
* New SHC websockt client interface
* New MQTT & Tasmota interfaces
* New web UI widgets for logging
* New helper classes (e.g. `Hysteresis`, `TimerSwitch`, `BreakableSubscription`)

… and many, many minor changes and fixes

Page 2 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.