Skip to content

Releases: mtheli/braava_240_ble

v0.3.1

Choose a tag to compare

@mtheli mtheli released this 16 Mar 00:09
  • Fix product name to "Braava Jet 240"
  • Add brand assets (icon, logo)
  • Add HACS and Hassfest validation workflows
  • Add hacs.json
  • Add codeowners, issue_tracker, dependencies to manifest.json

v0.3.0

Choose a tag to compare

@mtheli mtheli released this 24 Feb 20:36

What's New

Lifetime Statistics

5 new diagnostic sensors from GET_BBK_DATA (groups 1 & 2):

  • Total Missions – Lifetime missions started
  • Successful Missions – Lifetime missions completed
  • Failed Missions – Lifetime missions failed
  • Total Cleaning Time – Lifetime cleaning time in hours
  • Average Mission Time – Average mission duration in minutes

Faster Initial Connection

Status, battery, and pad sensors now appear ~9 seconds faster after connecting. One-time data (robot name, lifetime stats) loads in the background after the first poll cycle.

Bug Fixes

  • Fixed BBK Group 2 parsing: ONTIME/RUNTIME fields are at firmware offsets 22/26, not 48/52 as described in the decompiled Java source

Documentation

  • PROTOCOL.md: Added annotated examples from real BLE captures for all major commands
  • PROTOCOL.md: Documented firmware discrepancies, connection timing, and corrected BBK Group 2 field layout
  • README: Updated screenshots, added vacuum card screenshot

v0.2.0

Choose a tag to compare

@mtheli mtheli released this 23 Feb 21:51

What's New

Vacuum Card Support

  • Locate featurevacuum.locate triggers an audible beep to find the robot
  • Extra attributes on the vacuum entity: pad_type, cleaning_mode, runtime_minutes, mission_status, battery_voltage_v
  • Compatible with vacuum-card – see README for example configuration

New Entities

  • Cleaning Mode (Select) – Switch between Normal and Spot cleaning
  • Volume (Number) – Speaker volume slider (0–100)
  • Wetness (4x Select) – Per-pad-type wetness levels (Low / Medium / High)
  • Beep (Button) – Find the robot
  • Reset Wetness (Button) – Reset all wetness levels to defaults

Improvements

  • Increased BUSY timeout resilience with retry logic for start/stop commands
  • Removed deprecated VacuumEntityFeature.BATTERY (battery handled by dedicated sensor)
  • Filter meaningless "0000000" serial numbers during setup
  • README: added entities table, supported commands reference, and vacuum-card example

v0.1.0

Choose a tag to compare

@mtheli mtheli released this 23 Feb 21:35

Initial Release

Custom Home Assistant integration for the iRobot Braava 240 via Bluetooth Low Energy.

Features

  • Auto-discovery via BLE
  • Start/stop cleaning (vacuum entity)
  • Cleaning mode – Normal or Spot
  • Battery level – Calculated from charge current
  • Robot status – Ready / Cleaning / Error
  • Pad detection – Wet, damp, dry, reusable, etc.
  • Wetness control – Per-pad-type levels (Low / Medium / High) with reset
  • Volume control – Speaker volume slider (0–100)
  • Find robot – Beep button
  • Device information – Serial number, firmware, hardware version via GATT
  • Power off – Shut down button (disabled by default)
  • Config flow – Device info page during setup
  • Multilingual – English and German

Installation

Install via HACS as a custom repository or copy custom_components/braava_240_ble/ manually.