-
-
Notifications
You must be signed in to change notification settings - Fork 563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WalkingPad A1 Pro #797
Comments
I've been looking for ways to get at data from my WalkingPad. Have you been able to interface with it in any way? |
Dreaming about extracting steps data from the device |
Could somebody provide the responses of the |
|
@syssi btw, how did you get those? |
@dmatora if you are talking about getting supported by https://github.com/aholstenson/miio , I wouldn't hold my breath as the last commit is from 2018. If you know of a maintained fork / other project, please let us know! I think it would be a good idea to have a section for "related projects" in the readme file. Also, feel free to create a PR to add support for the walking pad to this library, if you wish :-) |
@rytilahti I am thinking about adding it to home assistant so it can act as a proxy for iOS app anyway I think both options are above my head, but I can give it a try :) |
@dmatora yes, to get it supported in the official homeassistant, the support needs to be added first to this library and then to homeassistant (separately). There is xiaomi_raw (linked in the README.md), which allows using devices without proper integration for the time being. If you are somewhat familiar with python, adding support to new device to this library is not usally very complicated, and there are plenty of examples for other devices available :-) |
can't remember writing anything in python
which is a bluetooth device. |
The short answer is no. |
For BT(LE), https://github.com/zewelor/bt-mqtt-gateway looks nice, but I have never used it so far. There are some bluetooth standardized formats, but I suppose most use some sort of proprietary format and you have to manually reverse-engineer the payload contents to add support. If you want to go that road, see https://reverse-engineering-ble-devices.readthedocs.io/en/latest/ :) |
You could grab a esp32 and use esphome as btle gateway: https://esphome.io/components/sensor/xiaomi_ble.html#lywsd02 |
I spoke to @Ernst79 and he added support for ZenMeasure to HomeAssistant, except that values sensor reports do not mach value shown on ZenMeasure app. I'll think who can I speak to about including HomeAssistant support for Walkingpad :) |
Hey! I just added a pull request here: #975 to support the walkingpad a1 :) |
That's a great news! Thanks! |
hey @syssi are you able to share where you got those get_prop commands from for the walkingpad? I am trying to hunt down if there is a 'total distance' value stored somewhere in the device and so far I've had no luck.... |
@dewgenenny If you use the Mi Home App and setup your miIO device a react.js based plugin is downloaded and used. I've extracted the used properties and methods of the Mi Home App plugin. |
[Full Changelog](0.5.5.2...0.5.6) **Implemented enhancements:** - RFC: Add a script to simplify finding supported properties for miio [\#919](#919) - Improve test\_properties output [\#1024](#1024) ([rytilahti](https://github.com/rytilahti)) - Relax zeroconf version requirement [\#1023](#1023) ([rytilahti](https://github.com/rytilahti)) - Add test\_properties command to device class [\#1014](#1014) ([rytilahti](https://github.com/rytilahti)) - Add discover command to miiocli [\#1013](#1013) ([rytilahti](https://github.com/rytilahti)) - Fix supported oscillation angles of the dmaker.fan.p9 [\#1011](#1011) ([syssi](https://github.com/syssi)) - Add additional operation mode of the deerma.humidifier.jsq1 [\#1010](#1010) ([syssi](https://github.com/syssi)) - Roborock S7: Parse history details returned as dict [\#1006](#1006) ([fettlaus](https://github.com/fettlaus)) **Fixed bugs:** - zeroconf 0.29.0 which is incompatible [\#1022](#1022) - Remove superfluous decryption failure for handshake responses [\#1008](#1008) - Skip pausing on Roborock S50 [\#1005](#1005) - Roborock S7 after Firmware Update 4.1.2-0928 - KeyError [\#1004](#1004) - No air quality value when aqi is 1 [\#958](#958) - Fix exception on devices with removed lan\_ctrl [\#1028](#1028) ([Kirmas](https://github.com/Kirmas)) - Fix start bug and improve error handling in walkingpad integration [\#1017](#1017) ([dewgenenny](https://github.com/dewgenenny)) - gateway: fix zigbee lights [\#1016](#1016) ([starkillerOG](https://github.com/starkillerOG)) - Silence unable to decrypt warning for handshake responses [\#1015](#1015) ([rytilahti](https://github.com/rytilahti)) - Fix set\_mode\_and\_speed mode for airdog airpurifier [\#993](#993) ([alexeypetrenko](https://github.com/alexeypetrenko)) **Closed issues:** - Add Dafang camera \(isa.camera.df3\) support [\#996](#996) - Roborock S7 [\#989](#989) - WalkingPad A1 Pro [\#797](#797) **Merged pull requests:** - Add basic dmaker.fan.1c support [\#1012](#1012) ([syssi](https://github.com/syssi)) - Always return aqi value \[Revert PR\#930\] [\#1007](#1007) ([bieniu](https://github.com/bieniu)) - Added S6 to skip pause on docking [\#1002](#1002) ([Sian-Lee-SA](https://github.com/Sian-Lee-SA)) - Added number of dust collections to CleaningSummary if available [\#992](#992) ([fettlaus](https://github.com/fettlaus)) - Reformat history data if returned as a dict/Roborock S7 Support \(\#989\) [\#990](#990) ([fettlaus](https://github.com/fettlaus)) - Add support for Walkingpad A1 \(ksmb.walkingpad.v3\) [\#975](#975) ([dewgenenny](https://github.com/dewgenenny))
[Full Changelog](0.5.5.2...0.5.6) **Implemented enhancements:** - RFC: Add a script to simplify finding supported properties for miio [\#919](#919) - Improve test\_properties output [\#1024](#1024) ([rytilahti](https://github.com/rytilahti)) - Relax zeroconf version requirement [\#1023](#1023) ([rytilahti](https://github.com/rytilahti)) - Add test\_properties command to device class [\#1014](#1014) ([rytilahti](https://github.com/rytilahti)) - Add discover command to miiocli [\#1013](#1013) ([rytilahti](https://github.com/rytilahti)) - Fix supported oscillation angles of the dmaker.fan.p9 [\#1011](#1011) ([syssi](https://github.com/syssi)) - Add additional operation mode of the deerma.humidifier.jsq1 [\#1010](#1010) ([syssi](https://github.com/syssi)) - Roborock S7: Parse history details returned as dict [\#1006](#1006) ([fettlaus](https://github.com/fettlaus)) **Fixed bugs:** - zeroconf 0.29.0 which is incompatible [\#1022](#1022) - Remove superfluous decryption failure for handshake responses [\#1008](#1008) - Skip pausing on Roborock S50 [\#1005](#1005) - Roborock S7 after Firmware Update 4.1.2-0928 - KeyError [\#1004](#1004) - No air quality value when aqi is 1 [\#958](#958) - Fix exception on devices with removed lan\_ctrl [\#1028](#1028) ([Kirmas](https://github.com/Kirmas)) - Fix start bug and improve error handling in walkingpad integration [\#1017](#1017) ([dewgenenny](https://github.com/dewgenenny)) - gateway: fix zigbee lights [\#1016](#1016) ([starkillerOG](https://github.com/starkillerOG)) - Silence unable to decrypt warning for handshake responses [\#1015](#1015) ([rytilahti](https://github.com/rytilahti)) - Fix set\_mode\_and\_speed mode for airdog airpurifier [\#993](#993) ([alexeypetrenko](https://github.com/alexeypetrenko)) **Closed issues:** - Add Dafang camera \(isa.camera.df3\) support [\#996](#996) - Roborock S7 [\#989](#989) - WalkingPad A1 Pro [\#797](#797) **Merged pull requests:** - Add basic dmaker.fan.1c support [\#1012](#1012) ([syssi](https://github.com/syssi)) - Always return aqi value \[Revert PR\#930\] [\#1007](#1007) ([bieniu](https://github.com/bieniu)) - Added S6 to skip pause on docking [\#1002](#1002) ([Sian-Lee-SA](https://github.com/Sian-Lee-SA)) - Added number of dust collections to CleaningSummary if available [\#992](#992) ([fettlaus](https://github.com/fettlaus)) - Reformat history data if returned as a dict/Roborock S7 Support \(\#989\) [\#990](#990) ([fettlaus](https://github.com/fettlaus)) - Add support for Walkingpad A1 \(ksmb.walkingpad.v3\) [\#975](#975) ([dewgenenny](https://github.com/dewgenenny))
@syssi how did you access react plugin? |
@dmatora The archive is downloaded if you install/pair the device at your smartphone / mihome app. I've sent you the archive by mail (gmail.com). |
@syssi well we got walkingpad already figured out |
Could you create a new issue for the device? Do you know the model identifier (f.e. |
Coming back to this - I'm confused. AFAIK My WalkingPad A1 (not Pro) is BTLE, not WiFi. Is the merged code only useful for the Pro then? Can someone confirm whether WiFi vs Bluetooth is an (unadvertised) difference between the two modeels? |
This library is only useful for devices that use the miio/miot protocol over wifi. The communication with btle devices is usually done by manufacturer specific commands and are out of the scope for this library. |
@thomasvs If you are sure that the non-pro version communicates over BLE (and you are using Home Assistant), we might be able to add it to BLE monitor It's not supported yet, but if you create a HCIDUMP or use the |
I'm pretty sure mine is just the A1. Does yours have a button on the right
hand side? Try long pressing, then searching for a new wifi AP..... I
managed to set mine up using the xiaomi home app initially
…On Thu, 20 May 2021, 14:58 thomasvs, ***@***.***> wrote:
Coming back to this - I'm confused. AFAIK My WalkingPad A1 (not Pro) is
BTLE, not WiFi. Is the merged code only useful for the Pro then? Can
someone confirm whether WiFi vs Bluetooth is an (unadvertised) difference
between the two modeels?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#797 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZKOITOKXRKZ4WIL7NZKOTTOUBPTANCNFSM4P7WBT5A>
.
|
I think there might be different versions? I have the "EU Vesion" of the A1 Pro and it does not seem to have WLAN support. The WalkingPad app uses bluetooth. |
@thomasvs I can control my A1 Pro via BLE using the following code. It does not connect to the Xiaomi App, only to the WalkingPad app. import BLE_GATT
import time
pad_address = '57:4C:4E:29:07:F1'
att_uuid = '0000FE02-0000-1000-8000-00805F9B34FB'
start_cmd = bytes.fromhex("f7a20401a7fd")
sleep_cmd = bytes.fromhex("f7a20202a6fd")
manual_cmd = bytes.fromhex("f7a20201a5fd")
automatic_cmd = bytes.fromhex("f7a20200a4fd")
def set_speed(s):
pad.char_write(att_uuid, (0xf7, 0xa2, 0x01, s, s + 0xa3, 0xfd))
def set_init_speed(s):
pad.char_write(att_uuid, (0xf7, 0xa6, 0x04, 0x00, 0x00, 0x00, s, s + 0xaa, 0xfd))
pad = BLE_GATT.Central(pad_address)
pad.connect()
set_init_speed(20)
time.sleep(0.1)
pad.char_write(att_uuid, start_cmd)
pad.disconnect() One can also read the status of the WalkingPad, which I didn't implement. At least mode and speed are obvious, when looking at the wireshark trace, but not sure how to receive the other statistics (maybe not even possible, because the app does not seem to display them correctly). Reverse engineering the WalkingPad app seems hard because it is written in flutter. |
Thanks for the code @DorianRudolph, it was a life saver! I ended up creating a simple Python command line tool to control my WalkingPad A1 Pro from the terminal (and later from an Elgato Stream Deck) based on your indications. Can you tell me what software you used to capture the Bluetooth communications for Wireshark, so I can try to read the status/statistics? UPDATE: Oh, I found your https://github.com/DorianRudolph/QWalkingPad project, that's awesome! |
I can not see any mention of
and should be used to get these props, since each get_prop takes about second to complete, and commands can not be processed in parallel |
@dmatora you can check the code - there is a quick_status option -
edit - if you can suggest further speed ups to the main status, would be great! |
Maybe it would have been a good idea to have |
@dmatora I would happily pay for this app as this is a major painpoint for me with this product. I’ve reached out multiple times to Xiaomi on this but they won’t help, would be great if you can finish this app and launch it in the market |
@demirkolmustafa I just saw your message. |
Device information:
Use
miiocli device --ip <ip address> --token <token>
.Additional context
The text was updated successfully, but these errors were encountered: