logo elektroda
logo elektroda
X
logo elektroda

Full integration of iRobot Roomba with Home Assistant - remote control without the cloud

p.kaczmarek2 144 0
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • iRobot Roomba with open top flap and visible circuit board, near a docking station on a floor
    Here I will show how to make and connect a custom remote control module for iRobot Roomba 500-800 series hoovers. The control will be via Wi-Fi and will offer ready integration with Home Assistant via MQTT. The hoover modified in this way will be able to operate according to a schedule, execute sent commands and will operate fully cloudless. This solution is particularly useful for older Roomba models that do not have factory network connectivity.

    In the previous section...
    Let's start by recalling the previous topic in the series. There, the communication protocol was discussed and an early prototype was presented:
    Home remote control for Roomba hoover - UART interface - control via WiFi [EN]
    Home remote control for Roomba hoover - UART interface - control via WiFi [EN]



    Now we've gone a step further, so it's time to see what has changed.


    Hardware required
    We have implemented the project in our environment on 33+ platforms , so you will need some supported Wi-Fi module. You can check the support status on the repository but in the big picture, some sort of Beken or ESP32 will probably suffice. You'll need inverters from the power supply (because we have battery voltage on the connector from the Roomba) and a UART level converter, as in the diagram:
    Wiring diagram of Wi‑Fi module with UART level shifter and 5V/3.3V power for an iRobot Roomba connector
    The logic level converter is needed because the Roomba's UART interface works with voltages different from most common Wi-Fi modules. Without it, a direct connection could lead to damage to the microcontroller or unstable communication. We managed to sandwich the module together.
    iRobot Roomba vacuum with exposed small circuit board and red, white, and black wires Inside an iRobot Roomba with a small electronic module and wires connected near the compartment

    Required firmware
    Our batch, compiled with Roomba support of course, needs to be uploaded onto the Wi-Fi module. ENABLE_DRIVER_ROOMBA must be enabled in obk_config.h for our platform. You can compile online:
    System online builds OpenBeken - firmware compilation for all platforms on Github [EN]
    System online builds OpenBeken - firmware compilation for all platforms on Github [EN]
    Can be uploaded with our flasher:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    We should get the controls on the device web page:
    Screenshot of “Roomba_test” web UI with Clean/Spot/Dock buttons, sensor readouts, and MQTT status
    From the web interface you can also check the status of the UART connection and verify that the hoover is responding to the commands sent by the firmware.

    Integrate Home Assistant
    Simply perform the classic HASS Discovery, as on other OBK devices:



    This way we get full readings in Home Assistant, together with correct integration of the vacuum cleaner .
    Home Assistant screenshot: Roomba via MQTT with battery sensors, controls, and activity log
    This gives us dedicated controls, docking status, etc:
    Home Assistant card “Roomba Vacuum” with robot vacuum icon, “Docked” status, and 100% battery
    Once the device has been correctly detected in Home Assistant, it will appear as a vacuum entity. This makes standard HA services such as start, stop, return to base or cleaning mode available.
    Home Assistant “Vacuum” card for Roomba showing Docked status, 100% battery, and control buttons

    Summary
    In summary, this integration gives us full control of the hoover from the Home Assistant. In it, we can read data, such as battery, sensor and charging status, and control the hoover - start and stop a cleaning session. By force, this also becomes compatible with HA's automations and schedules, so we can tailor the operation of the device to our individual needs.
    Do you have a hoover paired with Home Assistant, and if so, through what integration?

    Important links:
    Project repository:
    https://github.com/openshwprojects/OpenBK7231T_App
    Flasher for uploading firmware:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    Supported devices:

    Used materials:
    https://www.home-assistant.io/integrations/vacuum/
    https://github.com/denysdovhan/vacuum-card

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14118 posts with rating 11979, helped 642 times. Been with us since 2014 year.
  • ADVERTISEMENT
📢 Listen (AI):
ADVERTISEMENT