86 lines
4.7 KiB
Markdown
86 lines
4.7 KiB
Markdown
# Changelog
|
|
|
|
## 2.0.0
|
|
|
|
**New features:**
|
|
|
|
* Added support for the `icon` property in the `HABinarySensor` (you can set the icon using `HABinarySensor::setIcon("iconName")`)
|
|
* Added support for changing the current state of the `HABinarySensor` using `HABinarySensor::setCurrentState` method
|
|
* Added support for forcing `setState` in `HABinarySensor` using a second argument as follows `HABinarySensor::setState(true, true)`
|
|
* Added support for the `device_class` property in the `HACover` (you can set the class using `HACover::setDeviceClass("className")`
|
|
* Added support for the `icon` property in the `HACover` (you can set the icon using `HACover::setIcon("iconName")`)
|
|
* Added pointer of the sender to the `HACover` callback function
|
|
* Added support for `optimistic` property in the `HACover` (you can change the mode using `HACover::setOptimistic(true)`)
|
|
* Added support for forcing `setPosition` in `HACover` using a second argument as follows `HACover::setPosition(100, true)`
|
|
* Added support for the `device_class` property in the `HASwitch` (you can set the class using `HASwitch::setDeviceClass("className")`
|
|
* Added support for the `optimistic` property in the `HASwitch` (you can change the mode using `HASwitch::setOptimistic(true)`)
|
|
* Added support for the `force_update` property in the `HASensor` (you can set the mode using `HASensor::setForceUpdate(true)`)
|
|
* Added support for the `HAButton` device type
|
|
* Added support for the `HADeviceTracker` device type
|
|
* Added support for the `HACamera` device type
|
|
* Added support for the `HALock` device type
|
|
* Added support for the `HASelect` device type
|
|
* Added support for the `HANumber` device type
|
|
* Added support for the `HAScene` device type
|
|
* Added support for the `HALight` device type
|
|
|
|
**Bugs fixes:**
|
|
* Last Will Message is now retained (#70)
|
|
* Compilation error on SAMD family (#82)
|
|
|
|
**New examples:**
|
|
* [Button](examples/button/button.ino) - adding simple buttons to the Home Assistant panel.
|
|
|
|
**Breaking changes:**
|
|
|
|
* Changed structure of all MQTT topics used in the library.
|
|
* Changed constructor of the `HABinarySensor` class (removed `deviceClass` and `initialState` arguments)
|
|
* Renamed `HABinarySensor::getState()` method to `HABinarySensor::getCurrentState()`
|
|
* Replaced `HATriggers` with `HADeviceTrigger` - the new implementation is not backward compatible. Please check the updated example of the `multi-state-button`.
|
|
* Renamed `HADevice::isOnline()` method to `HADevice::isAvailable()`
|
|
* Renamed `HASwitch::onStateChanged` method to `HASwitch::onCommand`.
|
|
* Renamed `HAFan::onStateChanged` method to `HAFan::onStateCommand`.
|
|
* Renamed `HAFan::onSpeedChanged` method to `HAFan::onSpeedCommand`.
|
|
* Changed logic of the `HASwitch` callback. Please check the `led-switch` example.
|
|
* Refactored `HASensor` logic. It's now divided into two different classes: `HASensor` and `HASensorNumber`.
|
|
* Removed all legacy constructors with `HAMqtt` argument
|
|
* Removed `onConnectionFailed` callback from the `HAMqtt` class
|
|
* The position in the `HACover` is now available as configurable feature. It's disabled by default.
|
|
* Refactored `HAHVAC` class to support more features of the MQTT discovery. Please check the update example.
|
|
|
|
## 1.3.0
|
|
|
|
**New features:**
|
|
* Added `onMessage()` method to HAMqtt class
|
|
* Added support for HA Covers
|
|
* Added support for setting different prefix for non-discovery topics (see [Advanced MQTT example](examples/mqtt-advanced/mqtt-advanced.ino))
|
|
* Added `setName` method to HASensor
|
|
* Added `setName` method to HASwitch
|
|
* Added `onBeforeStateChanged` callback to HASwitch
|
|
|
|
**Improvements:**
|
|
* Removed legacy properties from HAFan (Home Assistant 2021.4.4). Deprecated methods will be removed after a quarter (2021.7)
|
|
* Separated `uniqueID` field from `name` in all devices types
|
|
|
|
## 1.2.0
|
|
|
|
**Breaking changes:**
|
|
* Refactored HASensor implementation. Please take a look at [updated example](examples/sensor/sensor.ino)
|
|
|
|
**New features:**
|
|
* Added support for HVAC
|
|
* Added support for excluding devices types from the compilation using defines (see [src/ArduinoHADefines.h](src/ArduinoHADefines.h))
|
|
* Added support for setting icon in HASwitch and HASensor
|
|
* Added support for setting retain flag in HASwitch
|
|
* Added support for text (const char*) payload in HASensor
|
|
* Added support for fans (HAFan)
|
|
* Added support for connecting to the MQTT broker using hostname
|
|
* Added `onConnected()` method in the HAMqtt
|
|
* Added `onConnectionFailed()` method in the HAMqtt
|
|
* Added support for MQTT LWT (see [Advanced Availability example](examples/advanced-availability/advanced-availability.ino))
|
|
|
|
**Improvements:**
|
|
* Optimized codebase and logic in all devices types
|
|
* Updated all examples
|
|
* Fixed compilation warnings in all classes
|