lafriks / python-karcher

Kärcher Home Robots python client
MIT License
8 stars 1 forks source link

Functionality #4

Closed malgates closed 8 months ago

malgates commented 8 months ago

Hi,

Trying to understand what is possible currently. So far the only value to be fetched is the device id, right?

Thx

lafriks commented 8 months ago

It can get a device list as well as all device data, including map data

neotigger commented 8 months ago

I have no idea about programming, but I can read and so I was able to implement a rudimentary control of my Kärcher RCV 5 vacuum robot via mqtt in Home Assistant. In the code of the repo you will find the mqtt address "eu-gamqttaiot.3irobotix.net" port 8883 and a few topics. So I went into a mqtt explorer and saw what came up, login with email & password from the official app. These are my entries to send mqtt messages to RCV 5, the topics are configured as bridges to the local MQTT server To start the cleaning: service: mqtt.publish data: topic: >- /mqtt/product_id/sn/thing/service_invoke/set_room_clean payload: >- {"msgId": "0000000000000", "version": "3.0", "params": {"clean_type":0, "room_ids":[], "ctrl_value":1 }, "tenantId": "xxxxxx", "method": "service.set_room_clean" }

To stop the device: Message as at start only "ctrl_value":2

Individual rooms can be controlled via "room_ids" and numerical values. Can be read in the mqtt Explorer

Send back to the charging station: service: mqtt.publish data: topic: >- /mqtt/product_id/sn/thing/service_invoke/start_recharge payload: >- {"method":"service.start_recharge", "msgId":"0000000000000", "params":{}, "tenantId": "xxxxxx", "version": "3.0" }

product_id are for RCV3 = '1528986273083777024' RCV5 = '1540149850806333440' RCF5 = '1599715149861306368' sn is the serial number of the device, can be found on the bottom of the device. tenantId from messages in mqtt Explorer, which seems to be fixed.

lafriks commented 8 months ago

User login method returns mqtt password see this document about mobile app communication protocol: https://github.com/lafriks/python-karcher/blob/main/PROTOCOL.md