home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
69.75k stars 28.91k forks source link

Roborock fan attribute name missing #102533

Closed TopdRob closed 6 months ago

TopdRob commented 8 months ago

The problem

In the logbook there is an attribute error see attached stack trace.

What version of Home Assistant Core has the issue?

core-2023.10.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Roborock

Link to integration documentation on our website

https://www.home-assistant.io/integrations/roborock/

Diagnostics information

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.10.3",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Amsterdam",
    "os_name": "Linux",
    "os_version": "6.1.21-v8",
    "supervisor": "2023.10.0",
    "host_os": "Home Assistant OS 11.0",
    "docker_version": "24.0.6",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "entsoe": {
      "version": "0.0.1",
      "requirements": [
        "entsoe-py==0.5.8"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "electrolux_status": {
      "version": "1.2.0",
      "requirements": [
        "pyelectroluxconnect==0.3.19"
      ]
    },
    "spook_inverse": {
      "version": "1.3.1",
      "requirements": []
    },
    "energyscore": {
      "version": "1.3.3",
      "requirements": []
    },
    "daikin_residential": {
      "version": "2.3.1",
      "requirements": [
        "oic==1.6.0"
      ]
    },
    "hacs": {
      "version": "1.33.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "mold_risk_index": {
      "version": "1.0.1",
      "requirements": []
    },
    "afvalwijzer": {
      "version": "2023.06.01",
      "requirements": []
    },
    "inlite": {
      "version": "0.1.0",
      "requirements": []
    },
    "alarmo": {
      "version": "v1.9.10",
      "requirements": []
    },
    "spook": {
      "version": "1.3.1",
      "requirements": []
    },
    "powercalc": {
      "version": "v1.9.5",
      "requirements": [
        "numpy>=1.21.1"
      ]
    },
    "ms_teams_websockets": {
      "version": "0.0.7",
      "requirements": [
        "websockets==11.0.2"
      ]
    },
    "thermal_comfort": {
      "version": "2.1.1",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "afvalbeheer": {
      "version": "5.2.8",
      "requirements": [
        "rsa",
        "pycryptodome"
      ]
    },
    "chore_helper": {
      "version": "0.1.0",
      "requirements": [
        "python-dateutil>=2.8.2"
      ]
    },
    "sat": {
      "version": "0.0.1",
      "requirements": [
        "pyotgw==2.1.3"
      ]
    }
  },
  "integration_manifest": {
    "domain": "roborock",
    "name": "Roborock",
    "codeowners": [
      "@humbertogontijo",
      "@Lash-L"
    ],
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/roborock",
    "iot_class": "local_polling",
    "loggers": [
      "roborock"
    ],
    "requirements": [
      "python-roborock==0.34.6"
    ],
    "is_built_in": true
  },
  "data": {
    "config_entry": {
      "username": "**REDACTED**",
      "user_data": {
        "uid": "**REDACTED**",
        "tokentype": "",
        "token": "**REDACTED**",
        "rruid": "**REDACTED**",
        "region": "eu",
        "countrycode": "31",
        "nickname": "Robert",
        "rriot": {
          "u": "5h7z9sGfPNQybaXv6QSsvc",
          "s": "nn3nN9",
          "h": "4QZfBydOEV",
          "k": "fCV6k8ZG",
          "r": {
            "r": "EU",
            "a": "https://api-eu.roborock.com",
            "m": "ssl://mqtt-eu.roborock.com:8883",
            "l": "https://wood-eu.roborock.com"
          }
        },
        "tuyaDeviceState": 2,
        "avatarurl": "https://files.roborock.com/iottest/default_avatar.png"
      },
      "base_url": "https://euiot.roborock.com"
    },
    "coordinators": {
      "**REDACTED-0**": {
        "roborock_device_info": {
          "device": {
            "duid": "**REDACTED**",
            "name": "Robbie",
            "localKey": "**REDACTED**",
            "fv": "02.16.68",
            "activeTime": 1696750605,
            "timeZoneId": "Europe/Amsterdam",
            "iconUrl": "",
            "productId": "42qYXusGAhtBh5L2Sa4SMV",
            "share": false,
            "online": true,
            "pv": "1.0",
            "tuyaMigrated": false,
            "extra": "{\"xxxx\": \"xxxx\"}",
            "sn": "R0517S01004071",
            "featureSet": "0",
            "newFeatureSet": "0000000000002000",
            "deviceStatus": {
              "121": 8,
              "122": 100,
              "123": 104,
              "124": 203,
              "125": 94,
              "126": 90,
              "127": 87,
              "120": 0
            },
            "silentOtaSwitch": false
          },
          "network_info": {
            "ip": "192.168.2.11",
            "ssid": "IBM AS/400",
            "mac": "**REDACTED**",
            "bssid": "**REDACTED**",
            "rssi": -63
          },
          "product": {
            "id": "42qYXusGAhtBh5L2Sa4SMV",
            "name": "Roborock S5 Max",
            "model": "roborock.vacuum.s5e",
            "capability": 0,
            "category": "robot.vacuum.cleaner",
            "schema": [
              {
                "id": "101",
                "name": "rpc_request",
                "code": "rpc_request",
                "mode": "rw",
                "type": "RAW"
              },
              {
                "id": "102",
                "name": "rpc_response",
                "code": "rpc_response",
                "mode": "rw",
                "type": "RAW"
              },
              {
                "id": "120",
                "name": "\u9519\u8bef\u4ee3\u7801",
                "code": "error_code",
                "mode": "ro",
                "type": "ENUM"
              },
              {
                "id": "121",
                "name": "\u8bbe\u5907\u72b6\u6001",
                "code": "state",
                "mode": "ro",
                "type": "ENUM"
              },
              {
                "id": "122",
                "name": "\u8bbe\u5907\u7535\u91cf",
                "code": "battery",
                "mode": "ro",
                "type": "ENUM"
              },
              {
                "id": "123",
                "name": "\u6e05\u626b\u6a21\u5f0f",
                "code": "fan_power",
                "mode": "rw",
                "type": "ENUM"
              },
              {
                "id": "124",
                "name": "\u62d6\u5730\u6a21\u5f0f",
                "code": "water_box_mode",
                "mode": "rw",
                "type": "ENUM"
              },
              {
                "id": "125",
                "name": "\u4e3b\u5237\u5bff\u547d",
                "code": "main_brush_life",
                "mode": "rw",
                "type": "VALUE"
              },
              {
                "id": "126",
                "name": "\u8fb9\u5237\u5bff\u547d",
                "code": "side_brush_life",
                "mode": "rw",
                "type": "VALUE"
              },
              {
                "id": "127",
                "name": "\u6ee4\u7f51\u5bff\u547d",
                "code": "filter_life",
                "mode": "rw",
                "type": "VALUE"
              },
              {
                "id": "128",
                "name": "\u989d\u5916\u72b6\u6001",
                "code": "additional_props",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "130",
                "name": "\u5b8c\u6210\u4e8b\u4ef6",
                "code": "task_complete",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "131",
                "name": "\u7535\u91cf\u4e0d\u8db3\u4efb\u52a1\u53d6\u6d88",
                "code": "task_cancel_low_power",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "132",
                "name": "\u8fd0\u52a8\u4e2d\u4efb\u52a1\u53d6\u6d88",
                "code": "task_cancel_in_motion",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "133",
                "name": "\u5145\u7535\u72b6\u6001",
                "code": "charge_status",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "134",
                "name": "\u70d8\u5e72\u72b6\u6001",
                "code": "drying_status",
                "mode": "ro",
                "type": "RAW"
              }
            ]
          },
          "props": {
            "status": {
              "msgVer": 2,
              "msgSeq": 790,
              "state": 8,
              "battery": 100,
              "cleanTime": 1155,
              "cleanArea": 15415000,
              "squareMeterCleanArea": 15.4,
              "errorCode": 0,
              "mapPresent": 1,
              "inCleaning": 0,
              "inReturning": 0,
              "inFreshState": 1,
              "labStatus": 3,
              "waterBoxStatus": 0,
              "fanPower": 104,
              "dndEnabled": 0,
              "mapStatus": 3,
              "isLocating": 0,
              "lockStatus": 0,
              "waterBoxMode": 203,
              "waterBoxCarriageStatus": 0,
              "mopForbiddenEnable": 0,
              "unsaveMapReason": 1,
              "unsaveMapFlag": 0,
              "distanceOff": 60
            },
            "cleanSummary": {
              "cleanTime": 1326954,
              "cleanArea": 18550700000,
              "squareMeterCleanArea": 18550.7,
              "cleanCount": 1080,
              "records": [
                1696750671,
                1696177191,
                1696152577,
                1696145858,
                1695833816,
                1695574324,
                1695402533,
                1695399077,
                1695313209,
                1695228953,
                1695146471,
                1695056244,
                1694779583,
                1694778825,
                1694707020,
                1694329777,
                1694324816,
                1694283783,
                1694195214,
                1694109908
              ]
            },
            "consumable": {
              "mainBrushWorkTime": 74488,
              "sideBrushWorkTime": 74488,
              "filterWorkTime": 74488,
              "filterElementWorkTime": 100117,
              "sensorDirtyTime": 74488,
              "mainBrushTimeLeft": 1005512,
              "sideBrushTimeLeft": 645512,
              "filterTimeLeft": 465512,
              "sensorTimeLeft": 33512
            },
            "lastCleanRecord": {
              "begin": 1696750671,
              "beginDatetime": "2023-10-08T07:37:51+00:00",
              "end": 1696751826,
              "endDatetime": "2023-10-08T07:57:06+00:00",
              "duration": 1155,
              "area": 15415000,
              "squareMeterArea": 15.4
            }
          }
        },
        "api": {
          "unknown": {
            "params": null,
            "response": null,
            "error": null
          },
          "get_status": {
            "params": [],
            "response": {
              "msg_ver": 2,
              "msg_seq": 790,
              "state": 8,
              "battery": 100,
              "clean_time": 1155,
              "clean_area": 15415000,
              "error_code": 0,
              "map_present": 1,
              "in_cleaning": 0,
              "in_returning": 0,
              "in_fresh_state": 1,
              "lab_status": 3,
              "water_box_status": 0,
              "fan_power": 104,
              "dnd_enabled": 0,
              "map_status": 3,
              "is_locating": 0,
              "lock_status": 0,
              "water_box_mode": 203,
              "distance_off": 60,
              "water_box_carriage_status": 0,
              "mop_forbidden_enable": 0,
              "unsave_map_reason": 1,
              "unsave_map_flag": 0
            },
            "error": null
          },
          "get_clean_summary": {
            "params": [],
            "response": [
              1326954,
              18550700000,
              1080,
              [
                1696750671,
                1696177191,
                1696152577,
                1696145858,
                1695833816,
                1695574324,
                1695402533,
                1695399077,
                1695313209,
                1695228953,
                1695146471,
                1695056244,
                1694779583,
                1694778825,
                1694707020,
                1694329777,
                1694324816,
                1694283783,
                1694195214,
                1694109908
              ]
            ],
            "error": null
          },
          "get_consumable": {
            "params": [],
            "response": {
              "main_brush_work_time": 74488,
              "side_brush_work_time": 74488,
              "filter_work_time": 74488,
              "filter_element_work_time": 100117,
              "sensor_dirty_time": 74488
            },
            "error": null
          },
          "get_clean_record": {
            "params": [
              1696750671
            ],
            "response": [
              1696750671,
              1696751826,
              1155,
              15415000,
              0,
              1,
              2,
              1,
              52
            ],
            "error": null
          },
          "get_dnd_timer": {
            "params": [],
            "response": {
              "start_hour": 22,
              "start_minute": 0,
              "end_hour": 8,
              "end_minute": 0,
              "enabled": 0
            },
            "error": null
          },
          "get_sound_volume": {
            "params": [],
            "response": 68,
            "error": null
          }
        }
      },
      "**REDACTED-1**": {
        "roborock_device_info": {
          "device": {
            "duid": "**REDACTED**",
            "name": "Stoffel",
            "localKey": "**REDACTED**",
            "fv": "02.06.62",
            "activeTime": 1695989335,
            "timeZoneId": "Europe/Amsterdam",
            "iconUrl": "",
            "productId": "6cwszeXau9M2YrquXiSjJd",
            "share": false,
            "online": true,
            "pv": "1.0",
            "tuyaMigrated": false,
            "sn": "R58EHR32700766",
            "featureSet": "2097862799162879",
            "newFeatureSet": "00000040385AFFF6",
            "deviceStatus": {
              "121": 8,
              "122": 100,
              "123": 104,
              "124": 203,
              "125": 96,
              "126": 94,
              "127": 91,
              "128": 0,
              "133": 1,
              "120": 0
            },
            "silentOtaSwitch": true
          },
          "network_info": {
            "ip": "192.168.2.173",
            "ssid": "IBM AS/400",
            "mac": "**REDACTED**",
            "bssid": "**REDACTED**",
            "rssi": -50
          },
          "product": {
            "id": "6cwszeXau9M2YrquXiSjJd",
            "name": "Roborock Q8 Max",
            "model": "roborock.vacuum.a73",
            "capability": 0,
            "category": "robot.vacuum.cleaner",
            "schema": [
              {
                "id": "101",
                "name": "rpc_request",
                "code": "rpc_request",
                "mode": "rw",
                "type": "RAW"
              },
              {
                "id": "102",
                "name": "rpc_response",
                "code": "rpc_response",
                "mode": "rw",
                "type": "RAW"
              },
              {
                "id": "120",
                "name": "\u9519\u8bef\u4ee3\u7801",
                "code": "error_code",
                "mode": "ro",
                "type": "ENUM"
              },
              {
                "id": "121",
                "name": "\u8bbe\u5907\u72b6\u6001",
                "code": "state",
                "mode": "ro",
                "type": "ENUM"
              },
              {
                "id": "122",
                "name": "\u8bbe\u5907\u7535\u91cf",
                "code": "battery",
                "mode": "ro",
                "type": "ENUM"
              },
              {
                "id": "123",
                "name": "\u6e05\u626b\u6a21\u5f0f",
                "code": "fan_power",
                "mode": "rw",
                "type": "ENUM"
              },
              {
                "id": "124",
                "name": "\u62d6\u5730\u6a21\u5f0f",
                "code": "water_box_mode",
                "mode": "rw",
                "type": "ENUM"
              },
              {
                "id": "125",
                "name": "\u4e3b\u5237\u5bff\u547d",
                "code": "main_brush_life",
                "mode": "rw",
                "type": "VALUE"
              },
              {
                "id": "126",
                "name": "\u8fb9\u5237\u5bff\u547d",
                "code": "side_brush_life",
                "mode": "rw",
                "type": "VALUE"
              },
              {
                "id": "127",
                "name": "\u6ee4\u7f51\u5bff\u547d",
                "code": "filter_life",
                "mode": "rw",
                "type": "VALUE"
              },
              {
                "id": "128",
                "name": "\u989d\u5916\u72b6\u6001",
                "code": "additional_props",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "130",
                "name": "\u5b8c\u6210\u4e8b\u4ef6",
                "code": "task_complete",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "131",
                "name": "\u7535\u91cf\u4e0d\u8db3\u4efb\u52a1\u53d6\u6d88",
                "code": "task_cancel_low_power",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "132",
                "name": "\u8fd0\u52a8\u4e2d\u4efb\u52a1\u53d6\u6d88",
                "code": "task_cancel_in_motion",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "133",
                "name": "\u5145\u7535\u72b6\u6001",
                "code": "charge_status",
                "mode": "ro",
                "type": "RAW"
              },
              {
                "id": "134",
                "name": "\u70d8\u5e72\u72b6\u6001",
                "code": "drying_status",
                "mode": "ro",
                "type": "RAW"
              }
            ]
          },
          "props": {
            "status": {
              "msgVer": 2,
              "msgSeq": 798,
              "state": 8,
              "battery": 100,
              "cleanTime": 2408,
              "cleanArea": 29655000,
              "squareMeterCleanArea": 29.7,
              "errorCode": 0,
              "mapPresent": 1,
              "inCleaning": 0,
              "inReturning": 0,
              "inFreshState": 1,
              "labStatus": 3,
              "waterBoxStatus": 1,
              "fanPower": 104,
              "dndEnabled": 0,
              "mapStatus": 3,
              "isLocating": 0,
              "lockStatus": 0,
              "waterBoxMode": 203,
              "waterBoxCarriageStatus": 0,
              "mopForbiddenEnable": 0,
              "cameraStatus": 1,
              "isExploring": 0,
              "adbumperStatus": [
                0,
                0,
                0
              ],
              "waterShortageStatus": 0,
              "dockType": 5,
              "dustCollectionStatus": 0,
              "autoDustCollection": 1,
              "avoidCount": 137,
              "mopMode": 300,
              "debugMode": 0,
              "collisionAvoidStatus": 1,
              "switchMapMode": 0,
              "dockErrorStatus": 0,
              "chargeStatus": 1,
              "unsaveMapReason": 0,
              "unsaveMapFlag": 0,
              "distanceOff": 0,
              "inWarmup": 0,
              "cleanPercent": 0,
              "rss": 2,
              "dss": 128,
              "commonStatus": 0
            },
            "cleanSummary": {
              "cleanTime": 48819,
              "cleanArea": 636652500,
              "squareMeterCleanArea": 636.7,
              "cleanCount": 28,
              "dustCollectionCount": 27,
              "records": [
                1697797217,
                1697241601,
                1697155201,
                1697068802,
                1696982400,
                1696896001,
                1696809600,
                1696766548,
                1696723200,
                1696636799,
                1696610106,
                1696550401,
                1696492720,
                1696464001,
                1696439326,
                1696377599,
                1696291199,
                1696204800,
                1696188089,
                1696183839
              ]
            },
            "consumable": {
              "mainBrushWorkTime": 49055,
              "sideBrushWorkTime": 49055,
              "filterWorkTime": 49055,
              "filterElementWorkTime": 0,
              "sensorDirtyTime": 48819,
              "dustCollectionWorkTimes": 27,
              "mainBrushTimeLeft": 1030945,
              "sideBrushTimeLeft": 670945,
              "filterTimeLeft": 490945,
              "sensorTimeLeft": 59181
            },
            "lastCleanRecord": {
              "begin": 1697797217,
              "beginDatetime": "2023-10-20T10:20:17+00:00",
              "end": 1697799632,
              "endDatetime": "2023-10-20T11:00:32+00:00",
              "duration": 2408,
              "area": 29655000,
              "squareMeterArea": 29.7,
              "error": 0,
              "complete": 1,
              "startType": 2,
              "cleanType": 1,
              "finishReason": 52,
              "dustCollectionStatus": 1,
              "avoidCount": 137,
              "mapFlag": 0
            },
            "dockSummary": {
              "dustCollectionMode": {
                "mode": 0
              }
            }
          }
        },
        "api": {
          "unknown": {
            "params": null,
            "response": null,
            "error": null
          },
          "get_status": {
            "params": [],
            "response": {
              "msg_ver": 2,
              "msg_seq": 800,
              "state": 8,
              "battery": 100,
              "clean_time": 2408,
              "clean_area": 29655000,
              "error_code": 0,
              "map_present": 1,
              "in_cleaning": 0,
              "in_returning": 0,
              "in_fresh_state": 1,
              "lab_status": 3,
              "water_box_status": 1,
              "fan_power": 104,
              "dnd_enabled": 0,
              "map_status": 3,
              "is_locating": 0,
              "lock_status": 0,
              "water_box_mode": 203,
              "distance_off": 0,
              "water_box_carriage_status": 0,
              "mop_forbidden_enable": 0,
              "camera_status": 1,
              "is_exploring": 0,
              "adbumper_status": [
                0,
                0,
                0
              ],
              "water_shortage_status": 0,
              "dock_type": 5,
              "dust_collection_status": 0,
              "auto_dust_collection": 1,
              "avoid_count": 137,
              "mop_mode": 300,
              "debug_mode": 0,
              "in_warmup": 0,
              "collision_avoid_status": 1,
              "switch_map_mode": 0,
              "dock_error_status": 0,
              "charge_status": 1,
              "unsave_map_reason": 0,
              "unsave_map_flag": 0,
              "clean_percent": 0,
              "rss": 2,
              "dss": 128,
              "common_status": 0
            },
            "error": null
          },
          "get_clean_summary": {
            "params": [],
            "response": {
              "clean_time": 48819,
              "clean_area": 636652500,
              "clean_count": 28,
              "dust_collection_count": 27,
              "records": [
                1697797217,
                1697241601,
                1697155201,
                1697068802,
                1696982400,
                1696896001,
                1696809600,
                1696766548,
                1696723200,
                1696636799,
                1696610106,
                1696550401,
                1696492720,
                1696464001,
                1696439326,
                1696377599,
                1696291199,
                1696204800,
                1696188089,
                1696183839
              ]
            },
            "error": null
          },
          "get_consumable": {
            "params": [],
            "response": {
              "main_brush_work_time": 49055,
              "side_brush_work_time": 49055,
              "filter_work_time": 49055,
              "filter_element_work_time": 0,
              "sensor_dirty_time": 48819,
              "dust_collection_work_times": 27
            },
            "error": null
          },
          "get_clean_record": {
            "params": [
              1697797217
            ],
            "response": {
              "begin": 1697797217,
              "end": 1697799632,
              "duration": 2408,
              "area": 29655000,
              "error": 0,
              "complete": 1,
              "start_type": 2,
              "clean_type": 1,
              "finish_reason": 52,
              "dust_collection_status": 1,
              "avoid_count": 137,
              "map_flag": 0,
              "cleaned_area": 29655000
            },
            "error": null
          },
          "get_dust_collection_mode": {
            "params": [],
            "response": {
              "mode": 0
            },
            "error": null
          },
          "get_child_lock_status": {
            "params": [],
            "response": {
              "lock_status": 0
            },
            "error": null
          },
          "get_dnd_timer": {
            "params": [],
            "response": {
              "start_hour": 22,
              "start_minute": 0,
              "end_hour": 8,
              "end_minute": 0,
              "enabled": 0,
              "actions": {
                "resume": 1,
                "vol": 1,
                "led": 1,
                "dust": 1,
                "dry": 0
              }
            },
            "error": null
          },
          "get_valley_electricity_timer": {
            "params": [],
            "response": {
              "start_hour": 0,
              "start_minute": 0,
              "end_hour": 0,
              "end_minute": 0,
              "enabled": 0
            },
            "error": null
          },
          "get_sound_volume": {
            "params": [],
            "response": 73,
            "error": null
          }
        }
      }
    }
  }
}

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant
Source: components/roborock/vacuum.py:111
First occurred: 20 oktober 2023 om 06:18:41 (2 occurrences)
Last logged: 20 oktober 2023 om 06:19:11

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 233, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 389, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 172, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 469, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 779, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 879, in _async_write_ha_state
    state, attr = self._async_generate_attributes()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 822, in _async_generate_attributes
    attr.update(self.state_attributes or {})
                ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/vacuum/__init__.py", line 281, in state_attributes
    data[ATTR_FAN_SPEED] = self.fan_speed
                           ^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roborock/vacuum.py", line 111, in fan_speed
    return self._device_status.fan_power.name
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'name'

Additional information

No response

home-assistant[bot] commented 8 months ago

Hey there @humbertogontijo, @lash-l, mind taking a look at this issue as it has been labeled with an integration (roborock) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `roborock` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign roborock` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


roborock documentation roborock source (message by IssueLinks)

Lash-L commented 8 months ago

Typically this is the cause of something else going wrong. I'd attempt reloading the integration and seeing if it works, but I have a future fix coming that should help with this

Lash-L commented 7 months ago

@home-assistant add-label needs-more-information

issue-triage-workflows[bot] commented 6 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.