Skip to content

v7.0.0

Choose a tag to compare

@github-actions github-actions released this 10 Apr 10:47

v7 is here

This is a big one.

v7 is a full rebuild of the integration and the jump from v6 is large enough that it is worth reading these notes before updating. A lot of things got better in this release. The mower entity has been rebuilt as part of the new integration model, device automations are back, detailed mower states are back, firmware updates are exposed directly in Home Assistant, and a much larger part of the mower setup is now available as native Home Assistant entities instead of staying in the app.

It also means v7 is not a drop-in replacement for v6. Some entity IDs changed. Some legacy entities were removed. Schedule handling moved to a new service model. A lot of configuration and diagnostic entities are now disabled by default. Existing v6 config entries should migrate automatically during setup, but dashboards, helpers, scripts, and automations may still need attention afterwards. If you have spent time building automations around this integration, read the sections below before you upgrade.

This release also picked up a few last-minute fixes before the full release. That includes restored raw device data in diagnostics, Kress zone fixes, a party mode call fix, cutting height step alignment with the mobile app, and updated translations. They are smaller changes than the v7 rewrite itself, but they make the first stable release a lot cleaner.

⚠️ breaking changes

The biggest upgrade impact is on automations, dashboards, and helpers that were built around the old entity model. Home Assistant will treat many v7 entities as new entities because the unique IDs now come from a different entity model. If an automation points to an old entity ID, it won't follow the rename on its own.

Known high-impact entity renames include locked to lock, offlimits to off_limits, zoneselect to zone, raindelay to rain_delay, timeextension to time_extension, battery_charging to charging, rainsensor_triggered to rain_sensor, next_start to next_schedule, distance to distance_driven_total, worktime_total to mower_runtime_total, reset_charge_cycles to reset_battery_cycles, and pause_mode to party_mode.

These legacy entities are no longer part of the integration: online, request_update, and restart.

🗓️ schedule and service changes

v6 used broad legacy services. v7 uses purpose-built services instead. That change is most visible in schedule automation.

Available custom services in v7 are landroid_cloud.ots, landroid_cloud.add_schedule, landroid_cloud.edit_schedule, landroid_cloud.delete_schedule, landroid_cloud.set_exclusion_day, landroid_cloud.add_exclusion_schedule, landroid_cloud.edit_exclusion_schedule, landroid_cloud.delete_exclusion_schedule, landroid_cloud.set_nutrition, and landroid_cloud.clear_nutrition.

Schedule payloads are different as well. Creating a schedule now uses fields such as days, start, duration, and optional boundary. Editing a schedule targets an existing entry with current_day and optional current_start. Deleting a schedule uses day and optional start, or all_schedules: true. Old schedule payloads can't be migrated with a simple rename.

🌿 auto-schedule and new entity coverage

Auto-schedule is now exposed directly in Home Assistant. The integration now has an auto_schedule switch, related irrigation and exclude-night switches, selects for boost, grass type, and soil type, summary sensors for nutrition and exclusion schedules, plus writable lawn metadata such as lawn size and perimeter where the mower model supports it.

This release also adds or restores more state and diagnostic coverage. That includes charging, blade and battery diagnostics, last update, blade reset data, pitch, roll, yaw, rain delay remaining, torque, time extension, explicit sensor icons, firmware update entities with release notes, and restored raw device data in diagnostics.

🔧 disabled by default

A large set of configuration and diagnostic entities are disabled by default in v7. This is expected. If something looks missing after the upgrade, check the entity registry before assuming the feature is gone.

This especially affects entities such as zone selection, last update, rain delay, cutting height, time extension, torque, auto-schedule controls, party mode, lock, ACS, rain sensor, next schedule, nutrition and exclusion summary sensors, pitch, roll, yaw, blade runtime reset fields, and many other diagnostic sensors.

🧭 migration notes

Upgrade with the expectation that some cleanup is part of the move from v6 to v7.

  1. Let the integration migrate the existing config entry before trying any manual cleanup.
  2. Review entities that are unavailable or missing after upgrade. Some were renamed, some are new, and some are disabled by default.
  3. Re-enable the configuration and diagnostic entities you actually use.
  4. Update dashboards, helpers, scripts, and automations to use the new entity IDs.
  5. Remove or rewrite automations that still call landroid_cloud.config, landroid_cloud.schedule, or landroid_cloud.send_raw.
  6. Rewrite schedule automations to use the new schedule services and their new fields.
  7. Update any automation that expects next_schedule to always contain a timestamp. It can now be unavailable.
  8. Update any automation that keys off mower state so it can handle rain_delayed where that distinction matters.

Changes

🚀 Features

🐛 Bug Fixes

🧰 Maintenance

  • #1057 Update devcontainer, scripts and workflows @MTrab
  • #1058 Add AGENTS and move old code to legacy status @MTrab

🌐 Translations

📦 Dependencies

Say thanks

Buy Me A Coffee