Thanks to everyone involved.
- BREAKING - require Arduino for ESP8266 >= 2.2.0: mDNS querying available instead of having to explicitely specify MQTT / OTA servers host / port (#28)
- Add error reason to the JSON configuration API response
- The MQTT connection fail reason was always
UNKNOWN, this is fixed
- Fix an issue with the configuration API, happening most often in the new 2.2.0 release of Arduino for ESP8266 (#69)
The v1.x.x Web setup is not hosted anymore. You can download it as
Thanks to everyone involved.
- Implement the $uptime device property, refreshed by default every two minutes (#52)
- The ability to subscribe a node to every properties. This is useful for a led strip for example: you will not want to do
node.subscribe("1"); node.subscribe("2"); ...if you have a thousand LED. So now, with a fourth parameter to the
HomieNodeconstructor, you can subscribe to everything. See the LedStrip example for a concrete use case (#62)
- Fix an issue where reconnecting to the MQTT with SSL enabled would crash (#54)
- The default hardware device ID was not used if the device ID was not set in the Web UI. This is fixed (#63)
This is kind of a big one. Thanks to everyone involved.
- You can now set the base topic used on MQTT if you don't want the default
devices/base topic (#44)
- You can also set the device ID to be used on the MQTT topic if you don't want the default hardware ID (#45)
Breaking change (not in the API so still 1.x.x): The new OTA version string sent to the server is now of the following format:
da828fe0=sub2-relay=1.0.0=1.1.0). This makes it easier to parse server-side (#50)
- A lot of work has been done to improve the stability of the MQTT connection when using SSL. Huge thanks to @jpmens which has been very active at testing, he helped a lot
Note: This required a lot of changes in the code, the most notable being most of the dynamic allocations were removed. In other words, there are now hard limits for things like the firmware name (see Limits.hpp and customize it if you need to).
- SSL/TLS fingerprint verification now works for MQTT (#42)
Note: The way the verification is done is not very secure due to some limitations of PubSubClient. Consider it as more secure than no fingerprint at all, but not bulletproof.
- The documentation was moved from the Wiki to the repo. So now, whenever you download a copy of the library, you have an up-to-date documentation for your current Homie library version
- Polyfills are now included in the Web UI, so more web browsers are compatible (#48)
- The Web UI is updated to reflect the latest changes in the library
- It is visually cleaner
- SSL is now configurable from the Web UI
- You can now set your own LED pin if you don't want to use the built-in LED (#39)
- Option to show / hide passwords in the configuration app (#32)
- Setup handlers was called before the MQTT connection was done. This is now fixed (#40)
- 2 new examples added
- Custom branding allows you to change the default
Homietext in the AP name, hostname and MQTT client ID to what you want. Thanks to @vixns
- Configuration mode was blocking at boot for ~5 seconds while scanning for Wi-Fi networks. This is now async