### Describe the issue
**Integration Version:** landroid_cloud v5.2.6
**Home A…ssistant Core Version:** 2025.4.4
**Problem Description:**
I am experiencing frequent MQTT disconnections and reconnections with the Landroid Cloud integration, leading to unreliable status updates and control of my Worx Landroid mower in Home Assistant. This occurs despite the official Worx mobile app working perfectly fine and a stable network connection from my Home Assistant machine to the Worx MQTT endpoint.
**Mower Details:**
* **Model:** Landroid M700 (WR142E)
* **Serial Number:** `20193019930100736597`
* **MAC Address:** `98D8633BBD24`
* **Firmware Version:** `3.32.0+1`
**Observations:**
1. The official Worx Landroid mobile application on my smartphone shows a stable connection to the mower and works without any issues.
2. Pinging the Worx MQTT endpoint (`iot.eu-west-1.worxlandroid.com`) from the Home Assistant machine shows good and stable response times (max 44ms).
3. Home Assistant logs show the `landroid_cloud` integration successfully fetching mower data after each reconnection. However, the disconnections are frequent.
4. The last reported RSSI for the mower in Home Assistant logs was -79 (as seen around `2025-05-12 12:25:17`), which could indicate a weak signal from Home Assistant's perspective, although the mobile app connection seems unaffected.
**Relevant Log Snippets:**
The logs frequently show a pattern of disconnection and successful reconnection:
* `[pyworxcloud.MQTT.MQTT_Disconnect] MQTT disconnected` (e.g., `2025-05-12 11:47:52.200 DEBUG (SyncWorker_9) [pyworxcloud.MQTT.MQTT_Disconnect] MQTT disconnected`)
* Followed by: `[pyworxcloud.MQTT.Conn_State] Connection Accepted.` and `[pyworxcloud.MQTT.Conn_State] MQTT connected` (e.g., `2025-05-12 11:48:02.091 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/e36a57fd-de54-4534-8771-75ded2145e51) [pyworxcloud.MQTT.Conn_State] MQTT connected`)
This cycle repeats multiple times throughout the logs. For instance, similar disconnection/reconnection events are logged around these timestamps:
* Disconnect: `2025-05-12 11:48:23.191 DEBUG (SyncWorker_0) [pyworxcloud.MQTT.MQTT_Disconnect] MQTT disconnected`
* Reconnect: `2025-05-12 11:48:54.082 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/cca9c17d-c53d-49e1-bfe6-145e86bfecd5) [pyworxcloud.MQTT.Conn_State] MQTT connected`
* And again: Disconnect: `2025-05-12 11:49:13.969 DEBUG (SyncWorker_7) [pyworxcloud.MQTT.MQTT_Disconnect] MQTT disconnected`
* Reconnect: `2025-05-12 11:49:44.871 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/aabb0dbe-800c-4fb6-879d-df818e7832f2) [pyworxcloud.MQTT.Conn_State] MQTT connected`
The integration seems to correctly initialize and fetch data after connecting:
* `[custom_components.landroid_cloud] (Setup) Opening connection to Worx account for mcweis@gmx.de`
* Followed by successful authentication and data fetching for mower 'M' (e.g., `2025-05-12 12:31:53.912 DEBUG (SyncWorker_1) [pyworxcloud.utils.devices.decode_data] Found raw data: {'cfg': ..., 'dat': ...}`).
Home Assistant also logs a warning regarding this custom component:
* `[homeassistant.loader] We found a custom integration landroid_cloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant` (e.g., `2025-05-12 12:12:26.421 WARNING (SyncWorker_9) ...`)
**Expected Behavior:**
The MQTT connection should remain stable, providing consistent status updates and reliable control of the Landroid mower through Home Assistant.
**Actual Behavior:**
Frequent MQTT disconnections lead to intermittent unavailability or outdated information for the mower in Home Assistant.
**Steps to Reproduce:**
The issue appears to occur during normal operation of Home Assistant with the `landroid_cloud` integration enabled.
Please let me know if any further information or logs are required.
Thank you for your work on this integration!
### What version of Home Assistant Core has the issue?
core-2025.4.4
### What was the last working version of Home Assistant Core?
_No response_
### What version of the Landroid Cloud integration do you have installed
5.2.6
### What type of installation are you running?
Home Assistant OS
### Which make and model is the mower used for this integration?
Landroid M700
### Diagnostics information (NOT log entries!)
None
### Relevant log entries
```txt
Landroid Cloud integration
Version: 5.2.6
This is a custom integration
If you have any issues with this you need to open an issue here:
https://github.com/mtrab/landroid_cloud/issues
-------------------------------------------------------------------
2025-05-12 12:32:08.732 DEBUG (MainThread) [custom_components.landroid_cloud] (Setup) Opening connection to Worx account for mcweis@gmx.de
2025-05-12 12:32:08.732 DEBUG (MainThread) [pyworxcloud] Initializing connector...
2025-05-12 12:32:08.733 DEBUG (MainThread) [pyworxcloud] Try getting correct CloudType from WORX
2025-05-12 12:32:08.733 DEBUG (MainThread) [pyworxcloud] Found cloud type <class 'pyworxcloud.clouds.CloudType.WORX'>
2025-05-12 12:32:08.733 DEBUG (MainThread) [pyworxcloud] Initializing the API connector ...
2025-05-12 12:32:08.734 DEBUG (MainThread) [pyworxcloud] Getting logger ...
2025-05-12 12:32:08.734 DEBUG (MainThread) [pyworxcloud] Initializing EventHandler ...
2025-05-12 12:32:08.735 DEBUG (SyncWorker_8) [pyworxcloud] Authenticating mcweis@gmx.de
2025-05-12 12:32:09.249 DEBUG (SyncWorker_8) [pyworxcloud] Authentication for mcweis@gmx.de successful
2025-05-12 12:32:09.252 DEBUG (SyncWorker_5) [pyworxcloud] Fetching basic API data
2025-05-12 12:32:09.457 DEBUG (SyncWorker_5) [pyworxcloud.api] Matching models for mower 'M'
2025-05-12 12:32:09.668 DEBUG (SyncWorker_5) [pyworxcloud.utils.devices.decode_data] Data decoding for M started
2025-05-12 12:32:09.668 DEBUG (SyncWorker_5) [pyworxcloud.utils.devices.decode_data] Found raw data: {'cfg': {'id': 2, 'sn': '20193019930100736597', 'dt': '12/05/2025', 'tm': '12:25:17', 'lg': 'de', 'cmd': 0, 'sc': {'m': 1, 'd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'dd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'distm': 0, 'p': 0, 'ots': {'wtm': 0, 'bc': 0}}, 'mz': [0, 0, 0, 0], 'mzv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'mzk': 1, 'rd': 180, 'al': {'lvl': 0, 't': 60}, 'tq': 0}, 'dat': {'mac': '98D8633BBD24', 'fw': 3.32, 'fwb': 1, 'ls': 1, 'le': 0, 'conn': 'wifi', 'bt': {'t': 35.3, 'v': 19.57, 'p': 100, 'nr': 525, 'c': 0, 'm': 1}, 'dmp': [2.8, 0.9, 359.9], 'st': {'b': 74825, 'd': 1302815, 'wt': 76173, 'bl': 117}, 'act': 1, 'rsi': -79, 'lk': 0, 'tr': 0, 'lz': 0, 'rain': {'s': 0, 'cnt': 0}}}
2025-05-12 12:32:09.675 DEBUG (SyncWorker_5) [pyworxcloud.utils.devices.decode_data] Data for M was decoded
2025-05-12 12:32:09.675 DEBUG (SyncWorker_5) [pyworxcloud.utils.devices.decode_data] Device object:
{'_api': <pyworxcloud.api.LandroidCloudAPI object at 0x7f658c7110>, 'mower': {'id': 300675, 'uuid': '96c52dc6-0df2-4002-a96f-800898b67256', 'product_id': 50, 'user_id': 271763, 'serial_number': '20193019930100736597', 'mac_address': '98D8633BBD24', 'locked': False, 'firmware_version': '3.32.0+1', 'firmware_auto_upgrade': True, 'sim': None, 'test': False, 'iot_registered': True, 'mqtt_registered': True, 'registered_at': datetime.datetime(2020, 4, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'online': True, 'protocol': 0, 'pending_radio_link_validation': None, 'capabilities': ['auto_lock', 'border_cut', 'digital_fence_settings', 'follow_border', 'lock', 'mqtt', 'multi_zone', 'multi_zone_percentage', 'one_time_scheduler', 'ota_upgrade', 'pairing_smartlink', 'pause_over_border', 'pause_over_wire', 'rain_delay', 'rain_delay_start', 'safe_go_home', 'scheduler_two_slots', 'unrestricted_mowing_time', 'zone_keeper'], 'capabilities_available': ['display_pairing_shortcut'], 'mqtt_endpoint': 'iot.eu-west-1.worxlandroid.com', 'mqtt_topics': {'command_in': 'PRM100/98D8633BBD24/commandIn', 'command_out': 'PRM100/98D8633BBD24/commandOut'}, 'name': 'M', 'blade_height_shift': 0, 'push_notifications': True, 'push_notifications_level': 'notice', 'pin_code': None, 'app_settings': None, 'warranty_registered': True, 'purchased_at': datetime.datetime(2019, 12, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'warranty_expires_at': datetime.datetime(2021, 12, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'setup_location': {'latitude': 48.6300889, 'longitude': 11.3008829}, 'city': {'id': 6556334, 'country_id': 276, 'name': 'Brunnen', 'latitude': 48.633301, 'longitude': 11.3, 'created_at': datetime.datetime(2018, 2, 15, 22, 41, 24, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'updated_at': datetime.datetime(2018, 2, 15, 22, 41, 24, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin'))}, 'time_zone': 'Europe/Berlin', 'lawn_size': 250, 'lawn_perimeter': 117, 'auto_schedule_settings': {'boost': 0, 'exclusion_scheduler': {'days': [{'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}], 'exclude_nights': True}, 'grass_type': 'mixed_species', 'irrigation': False, 'nutrition': None, 'soil_type': 'clay'}, 'auto_schedule': False, 'improvement': True, 'diagnostic': True, 'distance_covered': 1302815, 'mower_work_time': 76173, 'blade_work_time': 74825, 'blade_work_time_reset': 74121, 'blade_work_time_reset_at': datetime.datetime(2025, 4, 23, 13, 56, 20, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'battery_charge_cycles': 525, 'battery_charge_cycles_reset': 0, 'battery_charge_cycles_reset_at': None, 'created_at': datetime.datetime(2019, 1, 29, 4, 30, 4, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'updated_at': datetime.datetime(2024, 4, 30, 20, 7, 16, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'last_status': {'timestamp': datetime.datetime(2025, 5, 12, 12, 25, 17, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'payload': {'cfg': {'id': 2, 'sn': '20193019930100736597', 'dt': '12/05/2025', 'tm': '12:25:17', 'lg': 'de', 'cmd': 0, 'sc': {'m': 1, 'd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'dd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'distm': 0, 'p': 0, 'ots': {'wtm': 0, 'bc': 0}}, 'mz': [0, 0, 0, 0], 'mzv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'mzk': 1, 'rd': 180, 'al': {'lvl': 0, 't': 60}, 'tq': 0}, 'dat': {'mac': '98D8633BBD24', 'fw': 3.32, 'fwb': 1, 'ls': 1, 'le': 0, 'conn': 'wifi', 'bt': {'t': 35.3, 'v': 19.57, 'p': 100, 'nr': 525, 'c': 0, 'm': 1}, 'dmp': [2.8, 0.9, 359.9], 'st': {'b': 74825, 'd': 1302815, 'wt': 76173, 'bl': 117}, 'act': 1, 'rsi': -79, 'lk': 0, 'tr': 0, 'lz': 0, 'rain': {'s': 0, 'cnt': 0}}}}, 'model': {'code': 'WR142E', 'friendly_name': 'Landroid M700', 'model_year': 2019, 'cutting_width': 180}}, '_tz': 'Europe/Berlin', '_decode': False, 'battery': {'cycles': {'total': 525, 'current': 0, 'reset_at': None, 'reset_time': None}, 'temperature': 35.3, 'voltage': 19.57, 'percent': 100, 'charging': False}, 'blades': {'total_on': 74825, 'reset_at': 74121, 'reset_time': datetime.datetime(2025, 4, 23, 13, 56, 20, tzinfo=zoneinfo.ZoneInfo(key='UTC')), 'current_on': 704}, 'error': {'id': 0, 'description': 'no error'}, 'orientation': {'pitch': 2.8, 'roll': 0.9, 'yaw': 359.9}, 'capabilities': <pyworxcloud.utils.capability.Capability object at 0x7f62707950>, 'rainsensor': {'delay': 180, 'triggered': False, 'remaining': 0}, 'status': {'id': 1, 'description': 'home'}, 'zone': {'current': 0, 'index': 0, 'indicies': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'starting_point': [0, 0, 0, 0]}, 'warranty': {'expires_at': datetime.datetime(2021, 12, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'registered': True, 'expired': True}, 'firmware': {'auto_upgrade': True, 'version': '3.32.0+1'}, 'schedules': {'daily_progress': 100, 'next_schedule_start': None, 'time_extension': 0, 'active': True, 'auto_schedule': {'settings': {'boost': 0, 'exclusion_scheduler': {'days': [{'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}], 'exclude_nights': True}, 'grass_type': 'mixed_species', 'irrigation': False, 'nutrition': None, 'soil_type': 'clay'}, 'enabled': False}, 'primary': {'monday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'tuesday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'wednesday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'thursday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'friday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'saturday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'sunday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}}, 'secondary': {'monday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'tuesday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'wednesday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'thursday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'friday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'saturday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}, 'sunday': {'start': '00:00', 'end': '00:00', 'duration': 0, 'boundary': False}}}, 'statistics': {'worktime_blades_on': 74825, 'distance': 1302815, 'worktime_total': 76173}, 'in_topic': 'PRM100/98D8633BBD24/commandIn', 'out_topic': 'PRM100/98D8633BBD24/commandOut', 'id': 300675, 'uuid': '96c52dc6-0df2-4002-a96f-800898b67256', 'product_id': 50, 'serial_number': '20193019930100736597', 'mac_address': '98D8633BBD24', 'locked': False, 'sim': None, 'mqtt_registered': True, 'registered_at': datetime.datetime(2020, 4, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'online': True, 'protocol': 0, 'capabilities_available': ['display_pairing_shortcut'], 'name': 'M', 'blade_height_shift': 0, 'pin_code': None, 'setup_location': {'latitude': 48.6300889, 'longitude': 11.3008829}, 'city': {'id': 6556334, 'country_id': 276, 'name': 'Brunnen', 'latitude': 48.633301, 'longitude': 11.3, 'created_at': datetime.datetime(2018, 2, 15, 22, 41, 24, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'updated_at': datetime.datetime(2018, 2, 15, 22, 41, 24, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin'))}, 'time_zone': None, 'improvement': True, 'diagnostic': True, 'mower_work_time': 76173, 'last_status': {'timestamp': datetime.datetime(2025, 5, 12, 12, 25, 17, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'payload': {'cfg': {'id': 2, 'sn': '20193019930100736597', 'dt': '12/05/2025', 'tm': '12:25:17', 'lg': 'de', 'cmd': 0, 'sc': {'m': 1, 'd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'dd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'distm': 0, 'p': 0, 'ots': {'wtm': 0, 'bc': 0}}, 'mz': [0, 0, 0, 0], 'mzv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'mzk': 1, 'rd': 180, 'al': {'lvl': 0, 't': 60}, 'tq': 0}, 'dat': {'mac': '98D8633BBD24', 'fw': 3.32, 'fwb': 1, 'ls': 1, 'le': 0, 'conn': 'wifi', 'bt': {'t': 35.3, 'v': 19.57, 'p': 100, 'nr': 525, 'c': 0, 'm': 1}, 'dmp': [2.8, 0.9, 359.9], 'st': {'b': 74825, 'd': 1302815, 'wt': 76173, 'bl': 117}, 'act': 1, 'rsi': -79, 'lk': 0, 'tr': 0, 'lz': 0, 'rain': {'s': 0, 'cnt': 0}}}}, 'model': 'Landroid M700 (WR142E)', '_DeviceHandler__is_decoded': True, '_DeviceHandler__raw_data': {'cfg': {'id': 2, 'sn': '20193019930100736597', 'dt': '12/05/2025', 'tm': '12:25:17', 'lg': 'de', 'cmd': 0, 'sc': {'m': 1, 'd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'dd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'distm': 0, 'p': 0, 'ots': {'wtm': 0, 'bc': 0}}, 'mz': [0, 0, 0, 0], 'mzv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'mzk': 1, 'rd': 180, 'al': {'lvl': 0, 't': 60}, 'tq': 0}, 'dat': {'mac': '98D8633BBD24', 'fw': 3.32, 'fwb': 1, 'ls': 1, 'le': 0, 'conn': 'wifi', 'bt': {'t': 35.3, 'v': 19.57, 'p': 100, 'nr': 525, 'c': 0, 'm': 1}, 'dmp': [2.8, 0.9, 359.9], 'st': {'b': 74825, 'd': 1302815, 'wt': 76173, 'bl': 117}, 'act': 1, 'rsi': -79, 'lk': 0, 'tr': 0, 'lz': 0, 'rain': {'s': 0, 'cnt': 0}}}, 'rssi': -79, 'updated': datetime.datetime(2025, 5, 12, 12, 25, 17, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'torque': 0, 'partymode_enabled': False}
2025-05-12 12:32:09.676 DEBUG (SyncWorker_5) [pyworxcloud] Mower 'M' data: {'id': 300675, 'uuid': '96c52dc6-0df2-4002-a96f-800898b67256', 'product_id': 50, 'user_id': 271763, 'serial_number': '20193019930100736597', 'mac_address': '98D8633BBD24', 'locked': False, 'firmware_version': '3.32.0+1', 'firmware_auto_upgrade': True, 'sim': None, 'test': False, 'iot_registered': True, 'mqtt_registered': True, 'registered_at': datetime.datetime(2020, 4, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'online': True, 'protocol': 0, 'pending_radio_link_validation': None, 'capabilities': ['auto_lock', 'border_cut', 'digital_fence_settings', 'follow_border', 'lock', 'mqtt', 'multi_zone', 'multi_zone_percentage', 'one_time_scheduler', 'ota_upgrade', 'pairing_smartlink', 'pause_over_border', 'pause_over_wire', 'rain_delay', 'rain_delay_start', 'safe_go_home', 'scheduler_two_slots', 'unrestricted_mowing_time', 'zone_keeper'], 'capabilities_available': ['display_pairing_shortcut'], 'mqtt_endpoint': 'iot.eu-west-1.worxlandroid.com', 'mqtt_topics': {'command_in': 'PRM100/98D8633BBD24/commandIn', 'command_out': 'PRM100/98D8633BBD24/commandOut'}, 'name': 'M', 'blade_height_shift': 0, 'push_notifications': True, 'push_notifications_level': 'notice', 'pin_code': None, 'app_settings': None, 'warranty_registered': True, 'purchased_at': datetime.datetime(2019, 12, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'warranty_expires_at': datetime.datetime(2021, 12, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'setup_location': {'latitude': 48.6300889, 'longitude': 11.3008829}, 'city': {'id': 6556334, 'country_id': 276, 'name': 'Brunnen', 'latitude': 48.633301, 'longitude': 11.3, 'created_at': datetime.datetime(2018, 2, 15, 22, 41, 24, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'updated_at': datetime.datetime(2018, 2, 15, 22, 41, 24, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin'))}, 'time_zone': 'Europe/Berlin', 'lawn_size': 250, 'lawn_perimeter': 117, 'auto_schedule_settings': {'boost': 0, 'exclusion_scheduler': {'days': [{'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}, {'slots': [], 'exclude_day': False}], 'exclude_nights': True}, 'grass_type': 'mixed_species', 'irrigation': False, 'nutrition': None, 'soil_type': 'clay'}, 'auto_schedule': False, 'improvement': True, 'diagnostic': True, 'distance_covered': 1302815, 'mower_work_time': 76173, 'blade_work_time': 74825, 'blade_work_time_reset': 74121, 'blade_work_time_reset_at': datetime.datetime(2025, 4, 23, 13, 56, 20, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'battery_charge_cycles': 525, 'battery_charge_cycles_reset': 0, 'battery_charge_cycles_reset_at': None, 'created_at': datetime.datetime(2019, 1, 29, 4, 30, 4, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'updated_at': datetime.datetime(2024, 4, 30, 20, 7, 16, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'last_status': {'timestamp': datetime.datetime(2025, 5, 12, 12, 25, 17, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')), 'payload': {'cfg': {'id': 2, 'sn': '20193019930100736597', 'dt': '12/05/2025', 'tm': '12:25:17', 'lg': 'de', 'cmd': 0, 'sc': {'m': 1, 'd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'dd': [['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0], ['00:00', 0, 0]], 'distm': 0, 'p': 0, 'ots': {'wtm': 0, 'bc': 0}}, 'mz': [0, 0, 0, 0], 'mzv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'mzk': 1, 'rd': 180, 'al': {'lvl': 0, 't': 60}, 'tq': 0}, 'dat': {'mac': '98D8633BBD24', 'fw': 3.32, 'fwb': 1, 'ls': 1, 'le': 0, 'conn': 'wifi', 'bt': {'t': 35.3, 'v': 19.57, 'p': 100, 'nr': 525, 'c': 0, 'm': 1}, 'dmp': [2.8, 0.9, 359.9], 'st': {'b': 74825, 'd': 1302815, 'wt': 76173, 'bl': 117}, 'act': 1, 'rsi': -79, 'lk': 0, 'tr': 0, 'lz': 0, 'rain': {'s': 0, 'cnt': 0}}}}, 'model': {'code': 'WR142E', 'friendly_name': 'Landroid M700', 'model_year': 2019, 'cutting_width': 180}}
2025-05-12 12:32:09.677 DEBUG (SyncWorker_5) [pyworxcloud.API_Refresh_Scheduler] Scheduling an API refresh at 2025-05-12 12:37:09.677125+02:00
2025-05-12 12:32:09.679 DEBUG (SyncWorker_5) [pyworxcloud] Done fetching basic API data
2025-05-12 12:32:09.680 DEBUG (SyncWorker_5) [pyworxcloud] Setting up MQTT handler
2025-05-12 12:32:19.253 DEBUG (SyncWorker_4) [pyworxcloud.MQTT.MQTT_Disconnect] MQTT disconnected
2025-05-12 12:32:35.331 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/91c0da12-9aa2-49ec-91ce-376e117415df) [pyworxcloud.MQTT.Conn_State] Connection Accepted.
2025-05-12 12:32:35.331 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/91c0da12-9aa2-49ec-91ce-376e117415df) [pyworxcloud.MQTT.Conn_State] MQTT connected
2025-05-12 12:32:35.668 DEBUG (SyncWorker_1) [pyworxcloud] Connection tasks all done
2025-05-12 12:32:50.340 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/0d0ff72a-1d29-446a-8221-017783516e24) [pyworxcloud.MQTT.Conn_State] Connection Accepted.
2025-05-12 12:32:50.340 DEBUG (paho-mqtt-client-WX/USER/271763/homeassistant/0d0ff72a-1d29-446a-8221-017783516e24) [pyworxcloud.MQTT.Conn_State] MQTT connected
2025-05-12 12:32:50.633 DEBUG (SyncWorker_5) [pyworxcloud] Connection tasks all done
```
### Additional information
_No response_