CHANGELOG.md 7.9 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • declare compatibility with python3.11

Changed

  • TLS now enabled by default (disable via --mqtt-disable-tls)
  • require PySwitchbot>=0.14.0,<0.41 instead of PySwitchbot>=0.10.0,<0.13
  • switchbot-mqtt now requires access to the D-Bus' system socket /var/run/dbus/system_bus_socket as bleak controls bluetooth via BlueZ over D-Bus. access to network namespace containing bluetooth interface is thus no longer required.
  • --fetch-device-info no longer requires CAP_NET_ADMIN (bluepy-helper replaced with bleak)
  • replaced paho-mqtt with its async wrapper aiomqtt
  • container image: upgraded alpine base image from v3.13.1 to v3.18.4

Removed

  • command-line option --mqtt-enable-tls (TLS now enabled by default)
  • compatibility with python3.7
  • compatibility with python3.8 (pySwitchbot v0.17.2 added constraint bleak-retry-connector>=1.1.1 requiring python>=3.9)

3.3.1 - 2022-08-31

Fixed

  • Publish birth and last will message on expected/documented topic homeassistant/switchbot-mqtt/status instead of topic homeassistant/switchbot_mqtt/status.

3.3.0 - 2022-08-30

Added

3.2.1 - 2022-07-09

Fixed

3.2.0 - 2022-04-18

Added

  • command-line option --mqtt-topic-prefix

3.1.0 - 2022-04-02

Added

  • command-line option --mqtt-enable-tls
  • command-line option --mqtt-disable-tls (enabled by default)

Deprecated

  • invocation without --mqtt-enable-tls and --mqtt-disable-tls

3.0.0 - 2022-02-05

Added

  • MQTT messages on topic homeassistant/cover/switchbot-curtain/MAC_ADDRESS/position/set-percent trigger command to set curtain motors' position (payload: decimal integer in range [0, 100])
  • support PySwitchbot v0.11.0 and v0.12.0

Removed

  • compatibility with python3.6
  • no longer report button automator's battery percentage on deprecated topic homeassistant/cover/switchbot/+/battery-percentage (use homeassistant/switch/switchbot/+/battery-percentage instead, see v2.1.0)

2.2.0 - 2021-10-23

Added

  • MQTT messages on topic homeassistant/switch/switchbot/MAC_ADDRESS/request-device-info and homeassistant/cover/switchbot-curtain/MAC_ADDRESS/request-device-info trigger update and reporting of device information (battery level, and curtains' position). Requires --fetch-device-info.

2.1.0 - 2021-10-19

Added

  • --fetch-device-info can alternatively be enabled by assigning a non-empty value to the environment variable FETCH_DEVICE_INFO
  • battery level of button automators will additionally be reported on topic homeassistant/switch/switchbot/MAC_ADDRESS/battery-percentage (old topic kept for downward compatibility)

2.0.0 - 2021-10-16

Added

  • command-line option --fetch-device-info enables battery level reports on topics homeassistant/cover/{switchbot,switchbot-curtain}/MAC_ADDRESS/battery-percentage after every command.
  • option --debug to change log level to DEBUG

Changed

  • changed default log level from DEBUG to INFO
  • shortened log format (revert with --debug)

Removed

  • compatibility with python3.5

1.1.0 - 2021-10-06

Added

  • command-line option --fetch-device-info enables reporting of curtain motors' position on topic homeassistant/cover/switchbot-curtain/MAC_ADDRESS/position after sending stop command.

1.0.0 - 2021-07-25

Added

  • support for password-protected switchbot devices via optional command-line parameter --device-password-file (json file mapping mac addresses to the respective password)

0.7.0 - 2021-07-09

Added

  • command-line parameter --retries to alter maximum number of attempts to send a command to a SwitchBot device (default unchanged)

Fixed

  • dockerfile: split pipenv install into two stages to speed up image builds
  • dockerfile: chmod files copied from host to no longer require o=rX perms on host
  • dockerfile: add registry to base image specifier for podman build
  • dockerfile: add --force flag to rm invocation to avoid interactive questions while running podman build

0.6.0 - 2020-12-19

Added

  • Control SwitchBot Curtain motors via OPEN, CLOSE, and STOP on topic homeassistant/cover/switchbot-curtain/aa:bb:cc:dd:ee:ff/set

Changed

0.5.0 - 2020-11-22

Added

  • Docker image: support parametrization via environment variables (MQTT_HOST, MQTT_PORT, MQTT_USERNAME & MQTT_PASSWORD)

0.4.1 - 2020-06-18

Fixed

  • Compatibility with python3.5:
    • Replaced PEP526-style variable type hint with PEP484-compatible
    • Tests: Fixed AttributeError due to unavailable MagicMock.assert_called_once

0.4.0 - 2020-06-14

Added

  • Added command line parameter --mqtt-password-file

Fixed

  • Docker build: fix pipenv failing to create cache

0.3.0 - 2020-05-08

Added

  • Publish new state to homeassistant/switch/switchbot/MAC_ADDRESS/state on success

0.2.0 - 2020-05-08

Added

  • Added command line parameters --mqtt-username and --mqtt-password

Fixed

  • Fixed executable name in command line help
  • Docker: no longer require build arg SWITCHBOT_MQTT_VERSION (fixes auto build on hub.docker.com)

0.1.0 - 2020-05-08

Added

  • Subscribe to homeassistant/switch/switchbot/+/set. Handle ON and OFF messages.