Metadata-Version: 2.4
Name: vacuum-map-parser-ijai
Version: 0.0.0
Summary: Functionalities for Ijai vacuum map parsing
License: Apache-2.0
License-File: LICENSE
Author: Alexander Vassilyevsky
Author-email: tarh_@mail.ru
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Home Automation
Requires-Dist: Pillow
Requires-Dist: pycryptodome
Requires-Dist: vacuum-map-parser-base (>=0.1.5)
Project-URL: Bug Tracker, https://github.com/maksp86/Python-package-vacuum-map-parser-ijai/issues
Project-URL: Changelog, https://github.com/maksp86/Python-package-vacuum-map-parser-ijai/releases
Project-URL: Homepage, https://github.com/maksp86/Python-package-vacuum-map-parser-ijai
Project-URL: Repository, https://github.com/maksp86/Python-package-vacuum-map-parser-ijai
Description-Content-Type: text/markdown


# Vacuum map parser - Ijai

Map data parser that can be used to parse maps generated by Ijai vacuums (based on map data parser for Viomi by Piotr Machowski).

## Installation

Not currently applicable
```shell
pip install vacuum-map-parser-ijai
```
  
  
*This package is not yet published on PyPI, so you need to install it manually.*  
  
Install the latest development version from GitHub
```shell
pip install git+https://github.com/Tarh-76/Python-package-vacuum-map-parser-ijai.git@develop
```

## Usage

```python
from vacuum_map_parser_base.config.color import ColorsPalette
from vacuum_map_parser_base.config.drawable import Drawable
from vacuum_map_parser_base.config.image_config import ImageConfig
from vacuum_map_parser_base.config.size import Sizes
from vacuum_map_parser_base.config.text import Text
from vacuum_map_parser_ijai.map_data_parser import IjaiMapDataParser

palette: ColorsPalette = ColorsPalette()
sizes: Sizes = Sizes()
drawables: list[Drawable] = [Drawable.PATH, Drawable.CHARGER]
image_config: ImageConfig = ImageConfig()
texts: list[Text] = []
raw_map: bytes = b''

parser = IjaiMapDataParser(palette, sizes, drawables, image_config, texts)

unpacked_map = parser.unpack_map(raw_map, 
                                 wifi_sn='******SD**********', 
                                 owner_id='**********', 
                                 device_id='**********', 
                                 model='ijai.vacuum.***', 
                                 device_mac='**:**:**:**:**:**')
parsed_map = parser.parse(unpacked_map)
```
  
## Supported vacuums:
- ijai.vacuum.* (at least v1, v2, v3, v10, v13, v18, v19)
- xiaomi.vacuum.c103
- xiaomi.vacuum.c104
- xiaomi.vacuum.b106eu
*If you got another vacuum to work, please tell us*

## Special thanks

The code of this library was initially created by [@halfbakery](https://github.com/halfbakery) as a part of [Xiaomi Cloud Map Extractor](https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor).

