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.14k stars 121 forks source link

No error, raw generated but no maps on home assistant #398

Closed max5962 closed 1 year ago

max5962 commented 1 year ago

Checklist

The problem

Hello,

I have install the awesome components. Everything is loading well ( no error code in debug logs ) 2023-01-31 22:48:50.767 DEBUG (SyncWorker_13) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] rooms: ['[number: 12, name: Cuisine, -0.4, -5.95, 2.1, -3.5]', '[number: 10, name: couloir, 2.75, -5.95, 6.1, -3.95]', '[number: 11, name: salon, -0.4, -3.95, 6.55, 0.15]'] 2023-01-31 22:48:50.769 DEBUG (SyncWorker_13) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] current vacuum room: 11 2023-01-31 22:48:50.769 DEBUG (SyncWorker_13) [custom_components.xiaomi_cloud_map_extractor.camera] Map data retrieved 2023-01-31 22:48:50.769 DEBUG (SyncWorker_13) [custom_components.xiaomi_cloud_map_extractor.camera] Map is ok

THe raw is generated :

xiaomiMaps git:(master) ✗ ll total 8K -rw-r--r-- 1 root root 4.5K Jan 31 22:49 map_data_viomi.vacuum.v7.zlib

But no maps :( image

Any help ?

What version of an integration has described problem?

v2.2.0

What was the last working version of an integration?

No response

What vacuum model do you have problems with?

viomi.vacuum.v6 (Viomi Vacuum V2 Pro, Xiaomi Mijia STYJ02YM, Mi Robot Vacuum Mop Pro)

What version of Home Assistant do you use?

Home Assistant 2023.1.7

What type of installation are you running?

Home Assistant Supervised

Camera's configuration

- platform: xiaomi_cloud_map_extractor
  host: XXXXXX
  token: XXXXXXXXXXXXXX
  username: XXXXXz@outlook.fr
  password: XXXXXX
  store_map_raw: true
  store_map_path: /config/xiaomiMaps/

Errors shown in the HA logs (if applicable)

No response

Additional information

No response

max5962 commented 1 year ago

''m not able to read the raw file but it seems correct :

xiaomiMaps git:(master) ✗ strings test.raw wT@> [@<N couloir salon Cuisine [{? [@<N

PiotrMachowski commented 1 year ago

Are you sure there are no errors in HA log?

max5962 commented 1 year ago

I'm sure

2023-02-01 00:15:46.141 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.camera] Retrieving map from Xiaomi cloud
2023-02-01 00:15:46.212 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] feature_flags: 0x78ff, map_id: 1675134015
2023-02-01 00:15:46.213 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION robot_status: offset 0x4
2023-02-01 00:15:46.213 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION image: offset 0x30
2023-02-01 00:15:46.213 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] width: 800, height: 800
2023-02-01 00:15:47.178 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] img: number of rooms: 3, numbers: dict_keys([12, 10, 11])
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION history: offset 0x9c458
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION charge_station: offset 0x9c464
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] pos: (-0.01160002313554287, 0.18782220780849457, a = -90.29691765788779)
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION restricted_areas: offset 0x9c474
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] restricted: (2.4298999309539795, 0.5676000118255615) (2.4298999309539795, -0.4323999881744385) (3.4298999309539795, -0.4323999881744385) (3.4298999309539795, 0.5676000118255615)
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION cleaning_areas: offset 0x9c4dc
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION navigate: offset 0x9c4e8
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] pos: None, foo: 0.000000
2023-02-01 00:15:47.179 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION realtime: offset 0x9c4fc
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] pos: (0.0, 0.0, a = 0.0)
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION unknown1: offset 0x9c511
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION rooms: offset 0x9c519
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] map#1: 地 图 1
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] room#10: couloir (4.6612091064453125, -4.637603759765625)
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] room#11: salon (2.7134361267089844, -2.0138325691223145)
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] room#12: Cuisine (0.9818578362464905, -4.744575023651123)
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION unknown2: offset 0x9c567
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] SECTION room_outlines: offset 0x9c5e2
2023-02-01 00:15:47.180 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] room#10: segment_count: 193
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] room#11: segment_count: 512
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] room#12: segment_count: 179
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.parsing_buffer] all of the data has been processed
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] rooms: ['[number: 12, name: Cuisine, -0.4, -5.95, 2.1, -3.5]', '[number: 10, name: couloir, 2.75, -5.95, 6.1, -3.95]', '[number: 11, name: salon, -0.4, -3.95, 6.55, 0.15]']
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.viomi.map_data_parser] current vacuum room: 11
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.camera] Map data retrieved
2023-02-01 00:15:47.181 DEBUG (SyncWorker_0) [custom_components.xiaomi_cloud_map_extractor.camera] Map is ok
PiotrMachowski commented 1 year ago

Can you try adding store_map_image: true to your config and check if a parsed image is saved?

max5962 commented 1 year ago

I have my image : image

Everything works but ... it doesn't work lol by the way, is it normal that the map do not fit the image ?

PiotrMachowski commented 1 year ago

Maybe something is broken in UI? Are there any errors in browser's console?

by the way, is it normal that the map do not fit the image ?

What do you mean?

max5962 commented 1 year ago

no,

the request is :

https://XXXXX/api/camera_proxy_stream/camera.xiaomi_cloud_map_extractor?token=XXXXXX

And other camera streaming is working fine.

"What do you mean?" => Why the map is so small and the JPG is so big ? :)

PiotrMachowski commented 1 year ago

the request is : https://xxxxx/api/camera_proxy_stream/camera.xiaomi_cloud_map_extractor?token=XXXXXX

Can you try this url: image

Why the map is so small and the JPG is so big ? :)

Because it shows whole available map space. You can trim it in camera's config in yaml

max5962 commented 1 year ago

Hello,

Using camera_proxy instead of camera_proxy_stream is working better ! Is a pluggin issue or my reverseproxy issue ? ( home-assistant is behind an nginx reverseProxy )

Thanks for the help !

PiotrMachowski commented 1 year ago

This integration doesn't support streaming, which probably caused your problems. Can you try to create a local file camera or a generic camera without stream source and check if they behave in the same way?

max5962 commented 1 year ago

Thanks for the help ! I found the issue : my reverseProxy seems missing :

proxy_request_buffering off;
proxy_buffering off;

Now it's working ! :)

PiotrMachowski commented 1 year ago

Great, thank you for info!