Skip to content

v2.0.0: The final big, big release

Compare
Choose a tag to compare
@timpur timpur released this 26 Mar 21:07
· 139 commits to develop since this release
bfba03d

Banner

After more than 6 months of development + 6 months of testing and perfecting, the long awaited v2.0.0 Homie for ESP82666 is finally ready for a beta release! There are a lot of new features that should take your IoT ESP8266 devices to a whole new level. Before going into the details, I would like to thanks all the awesome contributors who made this release possible. In particular:

The v2 is obviously a breaking release. Sketches are indeed not backward compatible with the v1. The v2 also conforms to the new Homie convention v2.0.1.

📝 Documentation

The documentation was moved to https://github.com/homieiot/homie-esp8266/. I recommend you read it all, even if you come from Homie for ESP8266 v1, because a lot of things changed.

The new documentation script will allow you to access the documentation of every release released from now on, including the old v1.5.0 version, with the very same link.

✨ Features

  • Static IP, custom BSSID and channel support
  • MQTT is now provided by the AsyncMqttClient library, which is asynchronous, and this is actually the biggest change in the v2. Change that you won't notice... What this means is that the network code is not blocking anymore, everything is handled in another "thread", so your code cannot be blocked (in v1, if the MQTT server was unavailable, your code blocked for ~7 seconds) and can handle way more messages without crashing. In other words: the v2 is more bulletproof.
  • Custom settings! 🎉 In configuration mode, you're now able to provide custom settings, booleans, numbers, strings... That you can also change in normal mode through a special MQTT topic.
  • OTA is now done over MQTT. No need for an HTTP server serving the firmwares anymore, the only requirements for Homie for ESP8266 are a Wi-Fi connection, and an MQTT broker.
  • Standalone mode. It was a requested feature (#125) to allow the device to operate without being configured first. It was already possible with the v1, but the device would still boot into configuration mode and spawn an AP, which was insecure.
  • Broadcast channel allows you to receive broadcasts, so that a controller can trigger anything on every Homie devices.
  • Range properties allows you to define a property with multiple endpoints. Useful for a LED strip for example, where you would have a range property led ranging from 1 to 10, for example.
  • Optimized for battery-powered sensors. The Wi-Fi and MQTT connection are way faster than on the v1, and a new Homie.prepareToSleep() function allows to cleanly disconnect from the broker in order to deep sleep safely.
  • And a lot more...

🌐 Setup UI

The setup UI sources are now available on its own repo, marvinroger/homie-esp8266-setup. It makes use of Vue.js instead of, previously, React. The new online address is http:https://setup.homie-esp8266.marvinroger.fr/.

🔧 Homie v2.1.0

Dont forget Homie ESP8266 v2.1.0 is also on its way