* added tests for HADeviceTracker
* added support for progmem property value in the HASerializer
* codebase update
* add support for source type in HADeviceTracker
* added support for HACamera
* added support for HALock
* rename HABinarySensor::getState to getCurrentState
* standardize sender name in all callback headers
* remove duplicate serializer field protection (reduce flash usage)
* optimize HAUtils
* minor improvements
* optimize writing progmem payload
* optimize HAUtils:numberToStr
* remove relloc from HASerializer
* optimize HASerializerArray
* remove includeNullTerminator arg from the topics size generators
* optimize HASerializer
* replace dtostrf with custom implementation
* optimize BaseDeviceType
* removed relloc from the HAMqtt
* removed support for floats
* removed vtable for HADevice, HAMqtt, HASerializer and HASerializerArray
* implemented HASwitch with tests
* implemented basic HADeviceTrigger
* added support for built-in triggers
* finished HADeviceTrigger
* update changelog
* implemented base HASensor
* implemented HASensorInteger
* finished HASensorFloat
* override onMqttConnected in HASensorInteger and HASensorFloat
* add more tests for HASensorInteger and HASensorFloat
* optimize HASensorFloat
* update changelog
* standardize constructor of the HABinarySensor
* update readme
* readme
* readme
* standardize HADeviceTracker API
* standardize HASwitch API
* update docs README
* move Sphinx files to docsrc directory
* type in HASwitch
* test docs
* add .nojekyll to the docs directory
* update makefile of the docs
* wip: docs
* docs: fix html title
* docs: update styling and sidebar
* docs: add "Basics" section
* docs: device configuration
* docs: availability
* docs: MQTT discovery
* docs: MQTT security
* docs: MQTT advanced features
* rename BaseDeviceType to HABaseDeviceType
* update gitignore
* add API reference
* update gitignore
* HADevice doxygen
* doxygen css
* HADevice doxygen typos
* docs: update links
* docs: HAUtils doxygen
* HAMqtt and HADevice doxygen
* docs: device types
* docs: HABaseDeviceType
* reduced flash usage by 190 bytes
* fix tests
* move HAUtils class to the utils directory
* make HADevice const in HAMqtt
* HABinarySensor docs
* doxygen
* HADeviceTrigger doxygen
* HALock doxygen
* HASensor doxygen
* HASensor doxygen
* HASwitch doxygen
* HATagScanner doxygen
* HASerializer doxygen
* fix SAMD compile error
* add HAMqtt::publish method
* update examples
* add HAButton example
* update changelog
* added support for the optimistic property in the HACover
* do not set optimistic property in the HASwitch if it's set to default value
* update examples list
* update HASensor example
* update MQTT docs
* fix device trigger example link
* fix search form style on the search result page
* added support for the optimistic property in the HALock
* update readme
* change readme icon
* added HALock example
* MDNS example
* added HASensorFloat and HASensorInteger examples
* update readme
* update examples
* fix crash in the HABaseDeviceType
* add support for storing RAM elements in the HASerializerArray
* update tests cases in the CoverTest
* finished tests for HASelect
* added support for HASelect
* update README, CHANGELOG and examples list
* DeviceTest typos
* add more tests to SelectTest
* optimize HASelect command's handler
* improve CoverTest
* optimize HACover command's handler
* optimize HALock command's handler
* update SerializerTest
* remove HAMqtt::writePayload_P method
* remove FlagInternalType from the HASerializer
* added support for __FlashStringHelper in the topics related functions
* migrated serializer to use __FlashStringHelper
* add __FlashStringHelper to the HABaseDeviceType::publishOnDataTopic method
* move component name to flash memory
* update docs
* fix debug logs
* fix memory leaks
* monitor memory leaks in all test cases
* optimize tests (RAM)
* fix HALock states
* fix bug in the HASensor (invalid serialization of the value template property)
* fix memory leak in the HASelect
* fix crash in HASelect
* fix memory leak in the HADeviceTrigger
* fix memory leak in the HADevice
* tests: add support for ESP8266 and ESP32 envs
* update docs
* add multi-switch example
* update docs structure
* update MQTT advanced example in the docs
* HADevice: fix _uniqueId memory release
* wip: HANumber
* add HANumber to defines
* refactor HASensor implementation for numbers (again)
* update docs
* wip: HANumber
* wip: add support for number's precision in the HASerializer
* add support for float numbers in the HASerializer
* optimize vtables in the HASensor
* wip: HANumber
* fix crash in the float serialization
* handle another edge case in the float serialization
* replace int32_t with HAUtils::Number type
* HANumber fixes
* tests for HANumber
* change HAUtils::Number type to int64_t
* implemented HAUtils::strToNumber
* finished HANumber command handler
* finished HANumber
* update docs
* add number example
* added support for HAScene
* add scene example, update docs
* update doxygen
* remove memset from the codebase
* micro optimizations
* fix commands handlers
* update HACover code
* codebase cleanup
* finished HAFan implementation
* update docs, added fan example
* make json readable in all tests
* make position configurable in the HACover
* docs
* added support for HALight
* implement default values as static HAFan members
* update docs, added light example
* added support for color temperature in the HALight
* update light example
* update docs
* wip: HVAC
* improve all tests with callbacks
* update logs
* add HVAC to the docs
* optimize HANumber
* add current temperature to the HVAC
* started work on HVAC tests
* added action feature to the HVAC
* add temperature unit to the HVAC
* add more tests to UtilsTest
* fix fake MQTT messages mock - message shouldn't include null terminator
* fix HAUtils::strToNumber
* optimize HAFan, HACover and HALight
* add min/max temp to the HVAC
* added temp step property to the HVAC
* rename HASensorNumber::getCurrentValueAsFloat to getCurrentValueFloat
* update docs
* added support for aux heating in the HVAC
* added power command to the HVAC
* add subscriptions to the HVAC
* added fan mode to the HVAC
* update examples
* update command handlers in all device types
* added swing mode to the HVAC
* finished HVAC
* update docs
* fix memory leak in the HVAC
* added support for the target temperature in the HVAC
* add HVAC example
* update docs
* remove unnecessary checks from some device types
* added support for RGB in the HALight
* update docs
* standardize HAHVAC code
* rename HAButton::onPress method to onCommand
* rename HAScene::onActivate method to onCommand
* fix seg fault in the HAUtils
* HASensorNumber: do not publish default value on connect
* add return uint16_t to the HAUtils::numberToStr method
* simplify logic in the HALight::publishRGBColor
* optimize numbers serialization in the HASerializer
* update README, added LICENSE.md
* rename license file
* added tag-scanner example
* update publishOnDataTopic methods
* added esp32-cam example
* update docs
* add examples to the README.md
* update examples
* update HAMqtt.h for latest SAMD core, update aunier
* update README, fix auniter settings for esp32
* update README
* added documentation link to the README
* final tweaks in the HACover
* fix logic of the speed feature in the HAFan
* fix mdns example
* fix bug in the DeviceTrigger (invalid serialization of the progmem type/subtype)
* implemented HANumeric
* update HASensorNumber
* update HANumber
* update HALight
* update HAHVAC
* update HAFan
* update HACover
* update examples
* update tests
* update docs
* fix HANumeric constructor bug
* update HANumeric for SAMD
* update readme and docs
* add payload_on to the scene config (HA throws an exception if this property is missing)
* update sensor-analog example
* update sensor-integer example
* HVAC fixes
* update docs
Co-authored-by: Dawid Chyrzynski <dawid.chyrzynski@gmail.com>
* Add support for HVAC (#15)
* remove HASwitch::triggerCallback method
* fix typo in docs
* HASwitch: simplify callback #define
* work in progress: HVAC
* replace local mqtt instances with singleton
* device types optimization
* cleanup
* finished aux heating and away mode
* wip: HVAC
* finished HVAC implementation
* HVAC implementation
* add ifdefs for all HA components
* wip: optimization
* update readme
* update examples
* remove unused constructor from HAMqtt
* update HAUtils
* remove mqtt from constructors, fix compilation warnings
* finished HVAC
* add HVAC example, add changelog
* update changelog, add documentation
* Add support for icons in HASwitch and HASensor (#16)
* add support for icon in HASwitch
* add support for icon in HASensor
* update changelog
* add support for setting retain flag in HASwitch
* Add support for text payload in HASensor (#17)
* refactored HASensor
* update changelog
* fix sensor example
* Add support for fans (HAFan) (#18)
* finished basic implementation of the HAFan
* add retain method to DeviceTypeSerializer
* finished HAFan implementation
* update HAHVAC
* device types cleanup
* add HAFan example
* update changelog
* update readme
* update fan example
* optimization, add support for ActionFeature in HVAC
* Add support for MQTT LWT (#19)
* add support for hostname in HAMqtt
* add support for LWT and shared availability
* minor fixes
* added advanced availability example
* update examples
* update changelog
* cleanup & bug fix
* bump up version
* minor improvements and fixes
* update readme
* add HAMqtt::onMessage method
* Add support for covers (#28)
* add HACovers
* add cover example, update implementation
* disable debug
* update mqtt-events example
* Add support for setting different prefix for non-discovery topics (#29)
* add support for data prefix
* cleanup
* update comments and logs
* update multi-state-button example
* rename rexample from mqtt-events to mqtt-advanced
* update changelog
* update links in changelog
* Home Assistant 2021.4.5 - MQTT upgrade (#33)
* updae HAFan implementation
* change lib version
* update changelog
* fix setSpeed method
* update HAFan example
* Separate uniqueId from name (#34)
* rename name to uniqueId
* remove legacy labels
* update examples
* rename isMyTopic to compareTopics
* update changelog, rename name to uniqueId
* Implement onBeforeStateChanged callback in HASwitch (#35)
* add low latency mode to HASwitch
* add onBeforeStateChanged callback to HASwitch
* update readme
* rename DEPRECATED macro
* update advanced MQTT example
* hide onMqttConnected and onMqttMessage methods in BaseDeviceType class
* bump up version
* replace HAComponentName with initialization inside constructor
* add missing documentation to begin() method
* add support for availability in BaseDeviceType
* add support for availability in HABinarySensor, HASensor and HASwitch
* move serialization to separate class
* wip: DeviceTypeSerializer
* update device types
* refactored all devices types to use common serializer
* update examples
* update availability example README.md
* bugs fixes
* fix build for NodeMCU
* cleanup