Skip to content

Releases: eg321/esp32-motorized-roller-blinds

v2.0.1

11 Dec 15:29
Compare
Choose a tag to compare

It's minor release that focused on 2 main things:

  1. Homeassistant auto-discovery support.
  2. Improve stability of WiFi connection.

HA Auto-discovery

This feature simplifies integration with HomeAssistant. With enabled "autodiscovery" at HA side, you can just enable your rollerblinds and HA automatically finds your blinds and adds them with correct configuration.

Please note, current implementation requires HA v2021.11 at least.

Improved stability of WiFi connection.

In scope of these changes were implemented additional checks for WiFi connectivity. By now it uses such workflow:

  • Once WiFi is disconnected, it waits for 15 min for connection restoration.
  • Once 15 minutes is expired and still no WiFi connection is detected, device is going to restart. Timer is started again for another 15 minutes.

Please note:

  • It can switch to Captive Portal mode after restart, if no WiFi connection still detected. I don't like this, because Captive portal is public and anyone can connect to it during this period, but I cannot find better solution now.
  • ESP8266 can restore connection immediately without reboot, but ESP32 requires reboot to properly maintain connection (it always will wait for 15 minutes to expire and try to connect after restart).
  • Device continues handle buttons despite WiFi connection issues (even in Captive portal mode).

Non-backward compatible MQTT changes :

  • removed "register" message, but "available" messages added (for HA auto-discovery needs)

Fixed issues

  • #9 Don't try to connect with disabled MQTT by @eg321 in #10

v2.0.0

01 Aug 07:45
d9fc339
Compare
Choose a tag to compare

This release includes huge refactoring, including non-backward compatible changes at MQTT messaging (to optimize it). Sorry but you should adapt your integrations after upgrade. See details about MQTT in Readme.md. I've prepared example for Home Assistant also.

Main changes:

  • Dynamic configuration of motors, pins, rotation speed (#2) at Captive portal. Main goal is to divide configuration and firmware to allow easy updates to further versions. No needs to change source code for your pin numbers, etc.
  • Up to 4 steppers can be connected to single controller by default. See MAX_STEPPERS_COUNT macro to change that value.
  • Web UI / MQTT does automatically adapted for the count of your steppers.
  • Fixed visibility of "Update available" panel in Web UI. Will appear when update is really available only.
  • Fixed handling of mechanical buttons. 2 options to stop it at needed position:
    • click same button again to stop steppers
    • hold button and release at needed position
  • Fixed issue with incomplete dependencies (#3)

Non-backward compatible MQTT changes :

See details at Readme.md. Few notes:

  • New prefix used for all messages ("ESP_Blinds").
  • Single input, single output topic (enable separate topics with MQTT_UPDATES_PER_STEPPER macro).
  • MQTT and Websocket commands use same format and payload now. Use your browser to check how compose payload properly.
  • All commands available at MQTT also. This allows to configure blinds through MQTT even (or you can write your own UI).

Upgrade note

You should erase entire flash most probably or "Wipe settings" to enter at Captive portal again. Yep, you have to reconfigure your blinds.
I'll do my best to provide further updates without needs of such reconfigurations.

Another note

This project was detached and now developing on its own tree. See project history for the reasons.

Feel free to create your issues with ideas and bugs.

v1.4.2

28 Apr 19:17
Compare
Choose a tag to compare
  • Added support for Up / Down mechanical buttons (long press to tune position). Default pins are 22/23 (initialized with INPUT_PULLUP and activated with GND). You can disable that feature with "USE_BUTTONS" macro.

v1.4.1

13 Mar 17:31
Compare
Choose a tag to compare

Minor changes now:

  • improve MQTT connection reliability. While MQTT hub is unavailable, controller will try to reconnect once per 60 seconds. In this time web interface will be still available.
  • fix update notifications and links.

v1.4.0

16 Sep 14:18
9be81d1
Compare
Choose a tag to compare

Changes:

  • Support of ESP32 (ESP8266 should work too). It makes possible to easily connect up to 3 steppers with 4-pins connectors.
  • Switched to "CheapStepper" library. It allows to configure rotation speed (grep for "setRpm(30)" lines - maybe you'll need to adapt it for your motors).
  • Code was adapted for asynchronous control of steppers. Your steppers can work in parallel without loosing speed now.
  • Switched to another Wi-Fi library. In general it works like previous "WiFi manager", but supports ESP32 also.
  • Added "STOP" command for OpenHab compatibility. See OpenHab config example below.
  • HomeAssistant support. There are separate MQTT topics for blinds position now (out1, out2, out3). See HomeAssistant config example below.

Non-backward compatible changes:

  • mDNS is not supported now, because used library is not compatible with ESP32.