Pyde1

Latest version: v2.0.0

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

Scan your dependencies

Page 3 of 6

1.4.0

------------------

Overview
========

Adds ability to patch DE1 from config file on connect.

Support for features in firmware through 1352. Of these, perhaps the
steam-purge mode control is the most interesting.

* RESOURCE v3.8.0
* MAPPING v4.2.1

1.3.0

New
===

* Patch DE1 from config file when it first connects -- ``0c22418``

* Support for firmware through version 1352 -- ``94034a5``


Changed
=======

* Add ``last_updated`` to DE1 "state" API to resolve ambiguity between API calls
and MQTT notifications -- ``4594ad8``

* JSON profile "version" element can now accept a semantic-version string
-- ``e95e3b4``

* Logging

* Value that triggered ``DE1APIValueError`` now in message -- ``df5d20d``

* ``MMR0x80LowAddr`` shown in hex when unknown -- ``004e287``

* Added debug logging for "state-less" writes to database -- ``78cfa38``


* Clarified return value of ``DE1().start_notifying()`` as an event
that triggers when the notification is received. Removed return value
of ``stop_notifying()`` which was always ``None``. -- ``c425703``


Fixed
=====

* Gracefully handle "shots" without weight for Visualizer upload -- ``a9d9f01``

* Fix ``last_mmr0x80()`` for pre-1250 firmware version reported -- ``5249e65``

Removed
=======

* Internal ``DE1().write_one_mmr0x80()`` was only used in one place and then
in a context that replicated other calls. ``write_and_read_back_mmr0x80()``
is a preferred replacement.


------------------

1.2.0

------------------

- Adds to ``DE1ModeEnum`` Espresso, HotWaterRinse, Steam, HotWater for
use by non-GHC machines

- ``.can_post`` now returns False, reflecting that POST is and was not
supported

Response Codes
--------------

- 409 — When the current state of the device does not permit the action
- ``DE1APIUnsupportedStateTransitionError``

- 418 — When the device is incapable of or blocked from taking the
action
- ``DE1APIUnsupportedFeatureError``

Fixed
=====

Resolved pickling errors related to a custom exception. It now is
properly reported to and by the HTTP server.

Changed BleakClient initialization to avoid
``AttributeError: 'BleakClientBlueZDBus' object has no attribute 'lower'``
and similar for ``'BleakClientCoreBluetooth'``

Exiting prior to device connection no longer results in
``AttributeError: 'NoneType' object has no attribute 'disconnect'``

Deprecated
==========

``try_de1.py`` is deprecated in favor of ``run.py`` or similar
three-liners.

Removed
=======

"null" outbound API implementation — Removed as not refactored for new
IPC. If there is a need, the MQTT implementation can be modified to only
consume from the pipe and not create or use an MQTT client.

Known Issues
============

Exceptions on a non-supervised task or callback are "swallowed" by the
default handler. They are reported in the log, but do not terminate the
caller.

The API for enabling and disabling auto-tare and stop-at can only do so
within the limits of the FlowSequencer's list of applicable states. See
further ``autotare_states``, ``stop_at_*_states``, and
``last_drops_states``

The main process can return a non-zero code even when the shutdown
appeared to be due to a shutdown signal, rather than an exception.

The hard limit of two restarts should be changed to a time-based limit.


------------------

1.2.0b1

--------------------

Overview
========

RESOURCE and MAPPING changes to enable uploading profiles
without requiring DE1 connectivity. Use case suggested by EBengoechea, thanks!

Scale-management reworked in preparation of further changes to support
Acaia and other scales that are typically not connected 24x7.

Ending a sequence before flow starts should no longer bloat the database.

Changed
=======

scale: Change logger name to Scale.AtomaxSkaleII - ``fd48ec3``

File logging can be disabled and SubscribedEvent can notify
without a pipe present (for testing) - ``6b5e6cf``, ``d78cfa0``

Add config.de1.SEQUENCE_WATCHDOG_TIMEOUT (default, 270 seconds)- ``a4a2dda``

Fixed
=====

de1: scale: Quiet all connection attempt/fail logging when "not logging"
- ``6936f24``

scale: Factory now properly checks keys of name-to-class mapping - ``323bbca``

Python 3.10: Change import for Callable from collections to typing - ``39f7a57``

Sequences that are terminated before flow starts should no longer continue
writing to the database. Watchdog timer also added - ``a4a2dda``

Deprecated
==========

"first_if_found", "id", "scan" deprecated - ``207a492``

To start a scan, the parameter has been changed to prefer a positive number
for the timeout, or null (to accept the default). Use of a bool here
has been DEPRECATED. The preferred forms include:

.. code-block::

{'begin': null}
{'begin': 5}
{'begin': 5.0}

To start a scan and select the first-found device of the desired type,
set the id to 'scan'. Use of the 'first_if_found' key has been DEPRECATED:
The preferred forms include:

.. code-block::

{'id': 'scan'}
{'id': 'aa:bb:cc:dd:ee:ff'}
{'id': null}


DEPRECATED forms include:

.. code-block::

{'begin': true}
{'begin': false}
{'first_if_found': true}
{'first_if_found': false}


------------------

1.1.0

------------------

- Adds
``DE1_CALIBRATION_LINE_FREQUENCY = 'de1/calibration/line_frequency'``

``DE1``, ``FlowSequencer``, and ``ScaleProcessor`` are now
``Singleton``.

``DE1()`` and ``Scale()`` no longer accept an address as an argument.
Use the ``.address`` property.

``BleakClientWrapped`` unifies ``atexit`` to close connected devices.

Fixed
=====

Better error reporting if the JSON value can not be converted to the
internal enum.

Python 3.8 compatibility: Changed "subscripted" type hints for ``dict``,
``list``, and ``set`` to their capitalized versions from ``typing``,
added replacement for ``str.removeprefix()``

Running on macOS with ``bleak`` 0.12.0 no longer raises device-name
lookup errors. This was not a ``bleak`` issue, but due to hopeful access
to its private internals.

Removed
=======

``DE1()`` and ``Scale()`` no longer accept an address as an argument.
Use the ``.address`` property.


------------------

1.1.0b2

--------------------

Overview
========

Updated, expanded, and reorganized installation documentation

Changed
=======

Documentation (only)

.. _changelog_v1.1.0b1:

--------------------

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.