PiotrMachowski / Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor

This custom integration provides a way to present a live view of a map for Xiaomi (Roborock/Viomi/Roidmi/Dreame) vacuums without a need for rooting.
MIT License
1.16k stars 123 forks source link

"Invalid Calibration" error with Viomi V3 after update #340

Closed foxymichelle closed 2 years ago

foxymichelle commented 2 years ago

Checklist

The problem

I just updated the xiaomi cloud map extractor in HACS, and after refresh, the card on my dashboard shows "Invalid calibration, please check your configuration," then eventually the map view appears with "Failed to retrieve device" instead of the map.

What version of an integration has described problem?

v2.2.0

What was the last working version of an integration?

prior version - was up-to-date

What vacuum model do you have problems with?

viomi.vacuum.v13

What version of Home Assistant do you use?

v2022.9.4

What type of installation are you running?

Home Assistant OS

Camera's configuration

camera:
  - platform: xiaomi_cloud_map_extractor
    host: !secret xiaomi_host
    token: !secret xiaomi_vacuum_token
    username: !secret xiami_username
    password: !secret xiaomi_cloud_password
    country: "us"
    name: "Dusty's Map"
    force_api: roidmi
    draw: ['all']
    attributes:
      - calibration_points
      - rooms

Errors shown in the HA logs (if applicable)

5 errors, pasted in the order they are received:

Logger: homeassistant.components.camera
Source: helpers/entity_platform.py:796
Integration: Camera (documentation, issues)
First occurred: 10:06:12 AM (279 occurrences)
Last logged: 10:36:46 AM

Updating xiaomi_cloud_map_extractor camera took longer than the scheduled update interval 0:00:05

This error originated from a custom integration.

Logger: custom_components.xiaomi_cloud_map_extractor.camera
Source: custom_components/xiaomi_cloud_map_extractor/camera.py:272
Integration: xiaomi_cloud_map_extractor (documentation, issues)
First occurred: 10:02:38 AM (11 occurrences)
Last logged: 10:36:51 AM

Failed to retrieve model

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:515
First occurred: 10:02:47 AM (11 occurrences)
Last logged: 10:36:59 AM

Update of camera.dusty_s_map is taking over 10 seconds

Logger: custom_components.xiaomi_cloud_map_extractor.camera
Source: custom_components/xiaomi_cloud_map_extractor/camera.py:273
Integration: xiaomi_cloud_map_extractor (documentation, issues)
First occurred: 10:02:59 AM (4 occurrences)
Last logged: 10:37:11 AM

Got exception while fetching the state: No response from the device

Logger: miio.miioprotocol
Source: custom_components/xiaomi_cloud_map_extractor/camera.py:320
Integration: xiaomi_cloud_map_extractor (documentation, issues)
First occurred: 10:02:59 AM (102 occurrences)
Last logged: 10:37:32 AM

Got error when receiving: timed out

Additional information

First, I wasn't sure if I should select HA OS or Supervisor. Here's my info copied and pasted: Home Assistant 2022.9.4 Supervisor 2022.08.6 Operating System 9.0 Frontend 20220907.2 - latest

When initially setting this up in June, I believe I had the same error (it was a while ago, so not positive). When asking for help, I was told to add force_api: roidmi to my config, which resolved the issue. I did just now test removing that line, using viomi and xiaomi, then returning back to roidmi - none of these options worked.

I was adding to my map yesterday, at which point it was working fine, and I saw the map on my dashboard this morning. After updating this card in HACS, as well as an HA update (I think Supervisor; not the recent, big Core update), it stopped working and started throwing the above errors in my log.

An interesting note: your docs refer to the Viomi V3 as viomi.vacuum.v13, but the Xiaomi Miot Auto integration lists its model attribute as viomi.vacuum.v23.

PiotrMachowski commented 2 years ago

Please check if IP address/token have changed

foxymichelle commented 2 years ago

I had checked my IP prior and got side-tracked in the middle of double-checking the token, which I meant to do before hitting submit. I went back to wrap that up, and yep, it changed! Is that normal? Quite a coincidence that it lined up with the updating the component?

PiotrMachowski commented 2 years ago

I think it was a coincidence...