Skip to content
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

Add support for Vacuum 1C STYTJ01ZHM #669

Closed
craiq opened this issue Apr 17, 2020 · 50 comments
Closed

Add support for Vacuum 1C STYTJ01ZHM #669

craiq opened this issue Apr 17, 2020 · 50 comments

Comments

@craiq
Copy link

craiq commented Apr 17, 2020

WARNING:miio.discovery:Found unsupported device dreame-vacuum-mc1808_miio29430xxxx._miio._udp.local. at 192.168.0.172, please report to developers

would love to get support :)

@rytilahti
Copy link
Owner

Could you try if some of the commands of mirobo (or miiocli vacuum) or miiocli viomivacuum work on that device?

@craiq
Copy link
Author

craiq commented Apr 17, 2020

just found the miot-spec files

released:
http://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:vacuum:0000A006:dreame-mc1808:1

debug:
http://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:vacuum:0000A006:dreame-mc1808:2

Could you try if some of the commands of mirobo (or miiocli vacuum) or miiocli viomivacuum work on that device?

ERROR:miio.miioprotocol:Got error when receiving: timed out
Error: No response from the device

@rytilahti
Copy link
Owner

if you are not afraid of testing a PR, you could check out #672 to see what miiocli miotdevice --ip <ip> --token <token> miot_info returns to you. I'll create a WIP PR to add support for this vacuum based on that PR.

@craiq
Copy link
Author

craiq commented Apr 18, 2020

Thanks for your effort!

Running command miot_info ERROR:miio.miioprotocol:Got error when receiving: timed out Error: No response from the device

What I did:

  • clone repo, fetch pr in branch, checkout branch
  • pipenv install requests, pipenv shell, python setup.py install, your command
  • got token via App downgrade - afraid that the app update created a new token

Somewhere I read yesterday some more commands to setup, but can't finde them anymore

Edit: wrong token provide same result

@rytilahti
Copy link
Owner

rytilahti commented Apr 18, 2020

If you reseted the device, the token will change which will lead to timeouts. Is info command working just fine even when miot_info is failing? If so, then the token is definitely correct.

The setup commands you used should be fine, I don't personally use pipenv, but python setup.py install should do the same as pip install ., and if miot_info would not be there (i.e., you wouldn't have that PR), you would be receiving an error about unknown command.

@craiq
Copy link
Author

craiq commented Apr 18, 2020

changed setup now. Running directly from pc not over raspberrypi anymore.
Did reset the vacuum, get token via discover handshake and set wlan via mirobo successfully.
still timeout with miot_info and info

@rytilahti
Copy link
Owner

Info should be working if the token is correct, the token via discover handshake hasn't worked since end of 2017 or so (if you paired it with the mobile app). When the device gets provisioned (either by the app or configure_wifi), it will generate a new token.

@craiq
Copy link
Author

craiq commented Apr 19, 2020

miiocli device ... info && miiocli miotdevice ... info
Model: dreame.vacuum.mc1808
Hardware version: Linux
Firmware version: 3.5.8_1045
Network: {'localIp': '192.168.0.172', 'mask': '255.255.255.0', 'gw': '192.168.0.1'}
AP: {'ssid': '', 'bssid': '2C:51:2F:92:A5:0B', 'rssi': -33}

miiocli miotdevice ... miot_info
Running command miot_info
ERROR:miio.miioprotocol:Got error when receiving: timed out
Error: No response from the device

@craiq
Copy link
Author

craiq commented Apr 20, 2020

if i can help you with any raw commands, let me know

@rytilahti
Copy link
Owner

rytilahti commented Apr 20, 2020

So, you could try this out to see if that is a miot device which simply ignores the miot_info:

miiocli -d miotdevice --ip <xx> --token <xx> raw_command get_prop "[{'did': 'state', 'siid': 3, 'piid': 2 }]"

If it responds back with, it's a miot device and adding some basic support should be straight forward. If that is not working, maybe it is using the miio protocol, but neither miiocli viomivacuum nor mirobo was working for it?

Here's how the interpret the return value (siid/piid description) of that call:

INFO:__main__:Service: siid 3: (Robot Cleaner): 2 props, 2 actions
* Property piid: 2 (Status): (int8, unit: None) (acc: ['read', 'notify'], value-list: [{'value': 1, 'description': 'Sweeping'}, {'value': 2, 'description': 'Idle'}, {'value': 3, 'description': 'Paused'}, {'value': 4, 'description': 'Error'}, {'value': 5, 'description': 'Go Charging'}, {'value': 6, 'description': 'Charging'}], value-range: None)

@craiq
Copy link
Author

craiq commented Apr 20, 2020

sadly all of the commands time out: Error: No response from the device
Despite ... info is working for all of them

@rytilahti
Copy link
Owner

Okay, then it's likely a miio device, but we need to figure out what commands it accepts. One way to do that would be to capture the traffic between your phone and the device as described here: https://github.com/aholstenson/miio/blob/master/docs/protocol.md. Another potential way involves obtaining the app plugin (from a backup, for example) and reverse engineering it for the expected commands.

@craiq
Copy link
Author

craiq commented Apr 20, 2020

I could not capture commands from my phone. looks like it pings the vacuum with 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff and then the commands are not visible to wireshark anymore. Capturing the info command from pc and decrypt it worked fine.
filter was set to just ignore mac addresses of other devices.

unplug the router from the internet:
can control the vacuum until restart of the app. then the app wont find the vacuum anymore...

regularly the vacuum calls out:

Frame 44: 285 bytes on wire (2280 bits), 285 bytes captured (2280 bits) on interface \Device\NPF_{1A8EAB37-2AE2-4DCB-A1AB-DA14AE08AA91}, id 0
Ethernet II, Src: BeijingX_ec:0f:0e (44:23:7c:ec:00:0), Dst: IPv4mcast_fb (01:00:5e:00:00:fb)
    Destination: IPv4mcast_fb (01:00:5e:00:00:fb)
    Source: BeijingX_ec:0f:0e (44:23:7c:ec:00:00)
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.0.172, Dst: 224.0.0.251
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
    Source Port: 5353
    Destination Port: 5353
    Length: 251
    Checksum: 0x432c [unverified]
    [Checksum Status: Unverified]
    [Stream index: 7]
    [Timestamps]
Multicast Domain Name System (response)
    Transaction ID: 0x8a08
    Flags: 0x8400 Standard query response, No error
    Questions: 0
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 6
    Answers
        _services._dns-sd._udp.local: type PTR, class IN, _miio._udp.local
    Additional records
        _miio._udp.local: type PTR, class IN, dreame-vacuum-mc1808_miio294305000._miio._udp.local
        dreame-vacuum-mc1808_miio294305000._miio._udp.local: type TXT, class IN, cache flush
        dreame-vacuum-mc1808_miio294305000._miio._udp.local: type SRV, class IN, cache flush, priority 0, weight 0, port 54321, target dreame-vacuum-mc1808_miio294305000
        dreame-vacuum-mc1808_miio294305000: type A, class IN, cache flush, addr 192.168.0.172
        dreame-vacuum-mc1808_miio294305000: type A, class IN, cache flush, addr 192.168.0.172
        dreame-vacuum-mc1808_miio294305000: type NSEC, class IN, cache flush, next domain name dreame-vacuum-mc1808_miio294305000
    [Unsolicited: True]

@rytilahti
Copy link
Owner

That 21310020ffff... is the handshake and those mDNS advertisements are just to let the network know that the device is there.

@craiq
Copy link
Author

craiq commented Apr 21, 2020

I got the packages!!! After some research I found out, that you need a wlan adapter in monitor mode to get the packages via wireshark. At the end I found a very simply solution!
You can install Bluestack (android emulator) and run Xiaomi Mi there. As the packages are passing your pc, it's no problem anymore to capture them with wireshark :D

so here you go:
https://textuploader.com/1l3zq

this includes at least starting, pausing and resuming

@rytilahti
Copy link
Owner

rytilahti commented Apr 21, 2020

Ah, that should probably be described in the documentation, it's indeed the simplest way to do that :) Looking at the capture, it is indeed a miot device, but the raw_command I gave you previously was incorrect.

Could you try

miiocli -d miotdevice --ip <xx> --token <xx> raw_command get_properties "[{'did': 'state', 'siid': 3, 'piid': 2 }]"

to see if that works?

edit: looks like get_props works just fine with my device, but so does get_properties, too. I think the proper way is to use the latter for miot device though..

@craiq
Copy link
Author

craiq commented Apr 21, 2020

again no luck :/

dump with first command with device id
http://txt.do/1l3wy

debug answer - with did:deviceID its the same
http://txt.do/1l3y1

@rytilahti
Copy link
Owner

The first link is using get_prop.. But it could very well be, that they are blocking local accesses and only accepting those communications from the cloud :(

@craiq
Copy link
Author

craiq commented Apr 21, 2020

then it's no direct communication with the cloud.
I can control the vacuum when is inet is unplugged

@craiq
Copy link
Author

craiq commented Apr 21, 2020

with the whole junk it worked!

http://txt.do/1l3e4

@rytilahti
Copy link
Owner

Great! Maybe the siid+piid combination was just unfortunate, I just picked it as its valuelist seemed to indicate it's used to query the state of the device.. Anyway, siid 2 is the battery status: 1 is for the percentage and 2 is for the state (yours is charging currently!).

@craiq
Copy link
Author

craiq commented Apr 21, 2020

damn you got me! :D yes it is ^^

@craiq
Copy link
Author

craiq commented Apr 21, 2020

ooook observed strange behavior
miiocli -d miotdevice --ip <xx> --token <xx> raw_command get_properties "[{'did': 'state', 'siid': 3, 'piid': 2 }]"
is working too, when the Xiaomi Home App is running in the background

rytilahti added a commit that referenced this issue Apr 21, 2020
partially autogenerated based on the spec file, so things may or may not work,
so use at your own risk. in its current state it is more or less just for testing.

Fixes #669
@rytilahti
Copy link
Owner

If you want, you can take a look at that PR :-) The status command should be safe (it is just trying to get all the properties), most of the others will not likely work without edits as none of them will send parameters. Those action calls in your log and what is passed in inside in element are the missing parts.

Usage: miiocli dreamevacuum [OPTIONS] COMMAND [ARGS]...

Options:
  --ip TEXT     [required]
  --token TEXT  [required]
  --help        Show this message and exit.

Commands:
  exit_remote        aiid 3 exit-remote: in: [] -> out: []
  identify           aiid 1 Identify: in: [] -> out: []
  info               Get miIO protocol information from the device.
  map_req            aiid 1 map-req: in: [2] -> out: []
  miot_info          Return common miot information.
  raw_command        Send a raw command to the device.
  reset_brush_life   aiid 1 Reset Brush Life: in: [] -> out: []
  reset_brush_life2  aiid 1 Reset Brush Life: in: [] -> out: []
  reset_filter_life  aiid 1 Reset Filter Life: in: [] -> out: []
  start_charge       aiid 1 Start Charge: in: [] -> out: []
  start_remote       aiid 1 start-remote: in: [1, 2] -> out: []
  start_sweep        aiid 1 Start Sweep: in: [] -> out: []
  status             partial(func, *args, **keywords) - new function with...
  stop_clean         aiid 2 stop-clean: in: [] -> out: []
  stop_remote        aiid 2 stop-remote: in: [] -> out: []
  stop_sweeping      aiid 2 Stop Sweeping: in: [] -> out: []
  unknown            aiid 1 : in: [] -> out: []
  unknown2           aiid 2 : in: [] -> out: []
  unknown3           aiid 3 : in: [] -> out: []
  开始清扫               aiid 1 开始清扫: in: [] -> out: []

@craiq
Copy link
Author

craiq commented Apr 21, 2020

wow thanks for this fast pr!
sadly answers with timeout while the previous command answers after sending a command with the app

@rytilahti
Copy link
Owner

rytilahti commented Apr 22, 2020

Yeah, it's generated mostly with a script :) anyways, try to modify the _max_properties to 1 then, it will request each property one by one then.

edit: simply git pull again, I added a quick hack to avoid crashing when it fails with timeouts, just for making it simpler to test.

@craiq
Copy link
Author

craiq commented Apr 22, 2020

still no luck

@rytilahti
Copy link
Owner

Did you see my edit? If you don't mind, join https://matrix.to/#/#python-miio-chat:matrix.org to make it simpler to converse while debugging it.

@craiq
Copy link
Author

craiq commented Apr 22, 2020

yep just tried it. Looks like it loops to command, showing timeout, but can't break the loop xD
need to sleep now... it's 2am at my place and have to work today
let's check this evening

@fr00kt
Copy link

fr00kt commented May 2, 2020

How did it end?

@bskaplou
Copy link
Contributor

bskaplou commented May 7, 2020

It works on my side:

$ miiocli dreamevacuum --ip 192.168.2.88 --token XXX status
Running command status
DreameStatus(battery=100, state=4, error=0, status=6, brush_left_time=285, brush_life_level=95, filter_life_level=90, filter_left_time=135, brush_left_time2=185, brush_life_level2=92, operating_mode=6, area='', timer='', fan_speed=0, last_clean=863, total_clean_count=31, total_area=544, total_log_start=1587473530, button_led=0, clean_success=1, life_sieve='9000-8137', life_brush_side='12000-11137', life_brush_main='18000-17137', dnd_enabled=False, dnd_start_time='22:00', dnd_stop_time='8:00', map_view='tmp', audio_volume=75, audio_language='EN', timezone='Europe/Moscow')
$ miiocli dreamevacuum --ip 192.168.2.88 --token XXX start_sweep
Running command start_sweep
{'did': 'call-3-1', 'siid': 3, 'aiid': 1, 'code': 0, 'out': []}
$ miiocli dreamevacuum --ip 192.168.2.88 --token XXX return_home
Running command return_home
{'did': 'call-2-1', 'siid': 2, 'aiid': 1, 'code': 0, 'out': []}
$ miiocli dreamevacuum --ip 192.168.2.88 --token XXX find
Running command find
{'did': 'call-17-1', 'siid': 17, 'aiid': 1, 'code': 0, 'out': []}

@craiq
Copy link
Author

craiq commented May 8, 2020

First Part of the work is done and a big part of the possible commands are working.
What is missing now is to restructure all vacuums into one single api and then the adaptation of the home assist integration.

@bskaplou
Copy link
Contributor

bskaplou commented May 8, 2020

Maybe I could help :)
"restructure all vacuums" => You mean make DreameVacuum implement same set of commands as Vacuum? Or sthg else?

@rytilahti
Copy link
Owner

So, the DreameVacuum depends on some other structural changes (related to miot support) so it should probably do as the last vacuum, so the starting point would be at first to create base classes, and convert ViomiVacuum and Vacuum (which should maybe be renamed to XiomiVacuum or something) to use them.

Maybe something like VacuumDevice (or VacuumBase) which will provide the common abstract interface and methods (using abc & its decorators, e.g., https://docs.python.org/3/library/abc.html#abc.abstractmethod). The vacuum implementations inherit and implement this interface then. The same handling should also be done for the status container classes.

Feel free to work on that and create a PR whenever you want, any help is more than welcome! :-)

@Limitless1985
Copy link

Limitless1985 commented May 11, 2020

hi guys, thanks for the awesome work on this robot, i'm one of the unlucky one that have a bricked robot that is on a loop of saying "turn me on" every 5 minutes, after the update of the firmware 1045(with experimental maps function), i'm trying to make it back to work, i was able to extract token and comunicate with robot thanks to our work, I already added the files of the PR 672
With the command
jonny@iMacdiJonathan ~ % miiocli dreamevacuum --ip 192.168.1.191 --token xx status

I got this output
http://txt.do/1cq7v

Any suggest to make it comunicate properly? thanks in advance

@craiq
Copy link
Author

craiq commented May 11, 2020

some possible things:

  1. Your token is not correct (high probability)
  2. Your vacuum don't like to answer on the status request
  3. Your vacuum is not in the same network

Try the ... info command instead of status

Edit: misclicked ...

@craiq craiq closed this as completed May 11, 2020
@craiq craiq reopened this May 11, 2020
@Limitless1985
Copy link

Limitless1985 commented May 11, 2020

info work with every command tipe, device vacuum etc, that's the output, seem token is right

jonny@iMacdiJonathan ~ % miiocli dreamevacuum --ip 192.168.1.191 --token xx info
Model: dreame.vacuum.mc1808
Hardware version: Linux
Firmware version: 3.5.8_1045
Network: {'localIp': '192.168.1.191', 'mask': '255.255.255.0', 'gw': '192.168.1.254'}
AP: {'ssid': 'JonnyWiFi', 'bssid': '68:7F:74:1B:DB:88', 'rssi': -23}

@DavidConnack
Copy link

Not sure if this can help in any way, but it seems like openHab has some implementation of this device.
https://github.com/openhab/openhab-addons/tree/2.5.x/bundles/org.openhab.binding.miio#dreame-vacuum-mc1808
Im not sure how they implement this. But if it helps

@Limitless1985
Copy link

Limitless1985 commented May 16, 2020

Unlucky even the openhab one doesn't work properly, maybe i found a way to upgrade the firmware (via : mirobo IpXX tokenXX raw-command update-firmare) but I miss the urls and the md5, could some you find it in the mihome log, or knew a way to get them?

@marcelrv
Copy link

@Concentricc openhab is only reference implementation, based on converting the onine spec, similar as @rytilahti did in the python-miio version.

@Limitless1985 what would help though if you could share a openhab debug log while it is doing the properties refresh. If indeed this device is requiring the property refresh per single property, also in OH you can set the maxproperties to 1.

@craiq
Copy link
Author

craiq commented May 16, 2020

You can check the linked pull request. Connection is working just fine. I can control my vacuum. Only home assist adaptations are missing.
Max properties 14 was what worked for me max.
In the pull request you should also find a sniff of the connection with the app in case you want to dig deeper.

@marcelrv
Copy link

@craiq I was looking for a openhab log, as @Limitless1985 indicated he tried that.
I'm the author of that implementation. Hence the interest.

@DavidConnack
Copy link

DavidConnack commented May 17, 2020

@craiq
are you running the latest firmware on your vacuum?
My vacuum is communicating, but i am not getting the same responses as above:
miiocli dreamevacuum --ip 10.0.10.28 --token token status Running command status ERROR:miio.miioprotocol:Got error when receiving: timed out ERROR:miio.device:Unable to request properties [{'did': 'battery', 'siid': 2, 'piid': 1}, {'did': 'state', 'siid': 2, 'piid': 2}, {'did': 'error', 'siid': 3, 'piid': 1}, {'did': 'status', 'siid': 3, 'piid': 2}, {'did': 'brush_left_time', 'siid': 26, 'piid': 1}, {'did': 'brush_life_level', 'siid': 26, 'piid': 2}, {'did': 'filter_life_level', 'siid': 27, 'piid': 1}, {'did': 'filter_left_time', 'siid': 27, 'piid': 2}, {'did': 'brush_left_time2', 'siid': 28, 'piid': 1}, {'did': 'brush_life_level2', 'siid': 28, 'piid': 2}, {'did': 'operating_mode', 'siid': 18, 'piid': 1}, {'did': 'area', 'siid': 18, 'piid': 4}, {'did': 'timer', 'siid': 18, 'piid': 5}, {'did': 'fan_speed', 'siid': 18, 'piid': 6}] ERROR:miio.miioprotocol:Got error when receiving: timed out ERROR:miio.device:Unable to request properties [{'did': 'last_clean', 'siid': 18, 'piid': 13}, {'did': 'total_clean_count', 'siid': 18, 'piid': 14}, {'did': 'total_area', 'siid': 18, 'piid': 15}, {'did': 'total_log_start', 'siid': 18, 'piid': 16}, {'did': 'button_led', 'siid': 18, 'piid': 17}, {'did': 'clean_success', 'siid': 18, 'piid': 18}, {'did': 'life_sieve', 'siid': 19, 'piid': 1}, {'did': 'life_brush_side', 'siid': 19, 'piid': 2}, {'did': 'life_brush_main', 'siid': 19, 'piid': 3}, {'did': 'dnd_enabled', 'siid': 20, 'piid': 1}, {'did': 'dnd_start_time', 'siid': 20, 'piid': 2}, {'did': 'dnd_stop_time', 'siid': 20, 'piid': 3}, {'did': 'map_view', 'siid': 23, 'piid': 1}, {'did': 'audio_volume', 'siid': 24, 'piid': 1}] ERROR:miio.miioprotocol:Got error when receiving: timed out ERROR:miio.device:Unable to request properties [{'did': 'audio_language', 'siid': 24, 'piid': 3}, {'did': 'timezone', 'siid': 25, 'piid': 1}] Traceback (most recent call last): File "/home/concentric/dev/mi/venv/bin/miiocli", line 11, in <module> load_entry_point('python-miio', 'console_scripts', 'miiocli')() File "/home/concentric/dev/mi/python-miio/miio/cli.py", line 44, in create_cli return cli(auto_envvar_prefix="MIIO") File "/home/concentric/dev/mi/python-miio/miio/click_common.py", line 59, in __call__ return self.main(*args, **kwargs) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/home/concentric/dev/mi/python-miio/miio/click_common.py", line 280, in wrap kwargs["result"] = func(*args, **kwargs) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/decorators.py", line 73, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "/home/concentric/dev/mi/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/home/concentric/dev/mi/python-miio/miio/click_common.py", line 245, in command_callback return miio_command.call(miio_device, *args, **kwargs) File "/home/concentric/dev/mi/python-miio/miio/click_common.py", line 193, in call return method(*args, **kwargs) File "/home/concentric/dev/mi/python-miio/miio/dreamevacuum.py", line 231, in status return self.get_properties_for_dataclass(DreameStatus) File "/home/concentric/dev/mi/python-miio/miio/miot_device.py", line 63, in get_properties_for_dataclass response = { File "/home/concentric/dev/mi/python-miio/miio/miot_device.py", line 64, in <dictcomp> prop["did"]: prop["value"] if prop["code"] == 0 else None TypeError: list indices must be integers or slices, not str

Edit: think my token was wrong, re-paired, working now.
Awesome.

@rytilahti rytilahti added the miot label Jun 14, 2020
@graynk
Copy link

graynk commented Aug 15, 2020

Unlucky even the openhab one doesn't work properly, maybe i found a way to upgrade the firmware (via : mirobo IpXX tokenXX raw-command update-firmare) but I miss the urls and the md5, could some you find it in the mihome log, or knew a way to get them?

Did you manage to unbrick your vacuum? I'm communicating with it normally, but I don't know where to get the firmware (as for url and md5: you're supposed to serve it locally yourself)

@rytilahti
Copy link
Owner

It may or may not be related, but there are mentions in some issue reports that starting from some newish version the vacuums do not accept the update command from local rfc1918 addresses. Unfortunately, I don't know anything about the firmware versions locations (I have only used that with valetudo firmwares / firmwares linked elsewhere) so I cannot personally help you with that, just wanted to let you know that the upgrade procedure may also fail even if you have that information.

@pawel54321
Copy link

I have this same problem. Problem don't resolve?/Could you tell me how fast resolve?

@AmitaiWeil
Copy link

AmitaiWeil commented Nov 1, 2021

Hi,
I didn't manage to follow - If my STYTJ01ZHM is bricked -
is there a way for bringing it back to life?
Will rooting it as appearing in valetudo help?

@phil-schneider
Copy link

I have the same model, but I am not sure, what the status is here.
Is the model supported or not?
I am trying to use it with home assistant

@rytilahti
Copy link
Owner

Support by this lib since #1290, adding support to homeassistant will require further changes that are not directly relevant to this issue so this can be closed now.

@craiq
Copy link
Author

craiq commented Mar 20, 2022

What is needed for HA support?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.