AlexxIT / Blog

AlexxIT's Blog
https://github.com/AlexxIT/Blog/issues
41 stars 2 forks source link

Support Xiaomi Multimode Gateway on firmware 1.5.5 #13

Open AlexxIT opened 1 year ago

AlexxIT commented 1 year ago

On previous firmware versions of the gateway, only the MiHome token was required to open the telnet. On firmware 1.5.5 this method was blocked.

Software method with key

Open telnet with gateway key. Only useful if you received the key on old gateway firmwares. There is no known way to get the key without a working telnet.

Attention! Gateway key is not a token.

Integration Xiaomi Gateway 3 starting from version 3.3.0 supports adding a gateway on firmware 1.5.5 using a token and a key.

The integration also automatically saves the key to the following places:

It is recommended to securely save your gateway key, even if you have a gateway of a different model. You might need it in the future updates.

Software method with button

Open telnet with gateway button clicks. Only useful if your gateway was previously connected to the integration Xiaomi Gateway 3. Because otherwise there will be a password on the telnet. There is no known way to get this password.

5 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause. https://www.youtube.com/shorts/qJ21wWNE1Gg

Warning! Incorrect clicks can reset the gateway. 10 clicks - reset gateway.

Hardware method with UART

https://github.com/AlexxIT/XiaomiGateway3/wiki

ThomasD013 commented 1 year ago

Hello @AlexxIT ,

Last day, my gateway get automatically updated to this firmware. I met this compatibility problem, and rollbacked my gateway with telnet. Everything is ok now.

How can we prevent this problem ? In the ReadMe you speak "firmware lock", how can we use that to definitely disable the automatic update ?

Thank you

micturkey commented 1 year ago

Hi @AlexxIT, Does that mean, if I update a gateway which has been connected to HA to 1.5.5_0006 and update the integration to 3.3.0, everything will be okay? Or what we can do is just telnet to the gateway with new firmware and flash it back to 1.5.4? The question is, except for the telnet opening, does version 3.3.0 support 1.5.5_0006? In the Wiki it says Limited support, I cannot figure out it is because the telnet opening operation or something else. If it is only about the telnet issue, I would update my gateway to custom firmware version 1.5.5 :) Thank you.

AlexxIT commented 1 year ago

@micturkey

  1. You need update to v3.3.0
  2. You need to check if integration get key for your gateway in the integration setting
  3. After than you can update to v1.5.5

Keep your key safe.

Limited support because of key problem.

micturkey commented 1 year ago

@micturkey

1. You need update to v3.3.0

2. You need to check if integration get key for your gateway in the integration setting

3. After than you can update to v1.5.5

Keep your key safe.

Limited support because of key problem.

Thank you! I have done 1 and 2 and I will try to update it :)

n-sylvain commented 1 year ago

@micturkey

1. You need update to v3.3.0

2. You need to check if integration get key for your gateway in the integration setting

3. After than you can update to v1.5.5

Keep your key safe. Limited support because of key problem.

Thank you! I have done 1 and 2 and I will try to update it :)

Thank you @AlexxIT it finally worked for me. My gateway is now on 1.5.5 after much back and forth.

qukefu commented 1 year ago

I have 2 gateways in my home with diffirent IP , but only one has be restored in key file .

igogold commented 1 year ago

Same as for @qukefu (only one gateway info stored in keys.json file) but I found (and saved in safe place) both keys in /config/.storage/core.config_entries file.

micturkey commented 1 year ago

I have 2 gateways in my home with diffirent IP , but only one has be restored in key file .

You can see it in the integration setting or /config/.storage/core.config_entries. I have three gateways and yes only one in key file but in core.config_entries they are all set.

milobt commented 1 year ago

@micturkey

  1. You need update to v3.3.0
  2. You need to check if integration get key for your gateway in the integration setting
  3. After than you can update to v1.5.5

Keep your key safe.

Limited support because of key problem.

My hub is on earlier FW version (1.5.4_0090) I have done 1 and 2 and can get the key. Do I now only update the xiaomi hub FW to 1.5.5_0006 and should work or do I also need to do enable telnet using the "Software method with button" (5 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause, 2 clicks, pause)? If both, then in which order is best?

Thanks in advance.

AlexxIT commented 1 year ago

Software (button) method works with 1.5.4. But it makes no sense, because telnet will be closed on every gateway reboot.

milobt commented 1 year ago

Please just answer my question: To update the xiaomi hub to 1.5.5_0006 do I need to do the button method or just update the hub's FW (after installing x3.3.0 and successfully getting the key)?

SiwenL commented 1 year ago

I used the software method with button, devices are able to add in but all entities became "This entity is no longer being provided by the xiaomi_gateway3 integration. If the entity is no longer in use, delete it in settings"

Diagnostic Gateway showing "Unavailable", has anyone seen the similar outcome?

felipejgribeiro commented 1 year ago

Hello. My hub already came with the FW 1.5.5_0006 version and I was not able to get the key via the button steps. Even after open the telnet and see the green light, when I connect to the hub via this integration I get:

Name: Gateway Model: lumi.gateway.mgl03 IP: 192.168.15.108 MAC: Token: Telnet: wrong_telnet

Am I doing something wrong or the fact the hub has the 1.5.5_0006 version I'm not able to continue?

AlexxIT commented 1 year ago

Button method only useful if your gateway was previously connected to the integration. Your only way is UART

aleung commented 1 year ago

I tried to follow instruction to flash custom firmware via UART. The script expects a .uart file, however the uart file isn't provided in mgl03_fw since 1.5.x.

Shall I flash 1.4.x first, or there is other approach to flash 1.5.x?


Update: I had flashed the latest 1.4.x that provided the uart file. Then upgraded to latest 1.5.5 using telnet. Everything works fine.

kubamir29 commented 1 year ago

Hello, I have a problem with the gateway, what should I enter in the "key" field? When I do not enter anything, I get the error "Cant connect to the gateway". The gateway model is: ZNDMWG02LM.

Zrzut ekranu 2023-09-26 140520
Edvatronas commented 11 months ago

Where you see this "/config/.storage/core.config_entries" to find the key. I can't find it. Screenshot_3

valiksheva commented 11 months ago

Hi.

None of the software methods of opening telnet or getting the key works for me.

  1. "Open Telnet command" field is simply not there when trying to connect Gateway, instead I got "Key" field
  2. Opening Telnet via php-miio don't work - I'm getting "Deprecated" error
  3. Opening Telnet via python-miio don't work - I'm getting "No response" error
  4. I can't find /config/.storage/core.config_entries or /config/.storage/xiaomi_gateway3/keys.json anywhere on the HAOS
  5. Button clicks don't work, no green light on the Gateway.

My gateway is ZNDMWG03LM (lumi.gateway.mgl03) with 1.4.6 FW, and the MiHome app says it's the latest one, I can't update to 1.5.xxx (which is apparently supported by the Gateway 3 integration.

Do you have any advise on fixing this?

photo_2023-12-10_23-00-48

AlexxIT commented 11 months ago

@valiksheva try to use old HassWP versions with integration v2 https://github.com/AlexxIT/HassWP/tree/v2022.12.8

valiksheva commented 11 months ago

@valiksheva try to use old HassWP versions with integration v2 https://github.com/AlexxIT/HassWP/tree/v2022.12.8

Hi. I tried older version of Integration, but still no luck. I'm getting this error when trying to add integration, not even getting a choice between cloud or manual. image

I also checked /config/.storage/core.config_entries and can't find anything named "key" there, maybe you can point me to where it is (deleted username and password for security) image

There is also no keys.json in /config/.storage/xiaomi_gateway3, only devices.json and email.json, but none of them seems to have proper key image image

AlexxIT commented 11 months ago

You don't need key for this very old firmware.

valiksheva commented 11 months ago

You don't need key for this very old firmware.

Yes, but no. On the current version of HAOS and Gateway3 integration I was not able to connect the gateway - I was constatnly getting "Wrong open telnet command" and the was no way to insert ANY open telnet command.

Anyway, using HassWP_2021.6.5 and built-in Gateway3 integration I finally got the window I needed with "Open telnet command". However, the default one does not work, used this one "{"method":"set_ip_info","params":{"ssid":"\"\"","pswd":"123123 ; passwd -d admin ; echo enable > /sys/class/tty/tty/enable; telnetd"}} After that it works like a charm on my current up-to-date setup, connects without any issues. I was able to get the key from the integration just in case I need it later.

Thanks for your help!

gutian77 commented 11 months ago

it's useful with this method(https://www.youtube.com/shorts/qJ21wWNE1Gg), now my xiaomi multimode gateway 2 firmware(1.07_0019) works well.

lxz946786639 commented 11 months ago

May I ask if it is possible to use key and token on firmware 1.5.6_0001 in multi-mode 1?

AlexxIT commented 11 months ago

It is possible

lxz946786639 commented 11 months ago

It is possible

ok,thanks.. Has anyone tried it?

SebaBosssU commented 10 months ago

Is that 8 digit number from manual a key? If yes, why I can't integrate my gateway, I've done all step by step and still problem with wrong telnet command. Also with clicking(522222-green light double) method...

drakut commented 9 months ago

Is that 8 digit number from manual a key? If yes, why I can't integrate my gateway, I've done all step by step and still problem with wrong telnet command. Also with clicking(522222-green light double) method...

https://github.com/AlexxIT/XiaomiGateway3/issues/1166#issuecomment-1917960012

rere1853 commented 9 months ago

hello, i'm new. I could not connect my xiaomi gateway 3 device to homeassistant. My friend suggested this video https://www.youtube.com/watch?v=Um0cHG8zh7g, but when I add telnet, I get the "Wrong open telnet command" warning. Is there a video you can recommend for installation? How can I find the correct telnet?

stoiangmarius commented 9 months ago

Trying to integrate Xiaomi Gateway 3 ( Model: lumi.gateway.mgl03) with 1.5.6_0001 firmware but no success. Cloud worked, but then I had no way passing the telnet error. Telnet error keeps showing up: Wrong open telnet command. When trying to retrieve data: Telnet: wrong_telnet. Any suggestions? I prefer not to do any hardware operations, only software.

AlexxIT commented 9 months ago

Xiaomi isn't really interested in what you prefer...

You only have a chance for soft-way if the gateway was released from the factory with firmware 1.4.6 and below. Or the gateway has been successfully added to Hass earlier.

stoiangmarius commented 9 months ago

Is there a way to check if my gateway came with the 1.4.6 firmware? If so, I have to make a firmware downgrade, add the gateway, retrive the key, then update to the latest firmware?

AlexxIT commented 9 months ago

You can open telnet with button clicks and check if you have simple password or not. If you have unknown password - hardware is only way.

junnikokuki commented 9 months ago

Hi, I just enabled telnet on 1.4.7_0160, the next update will be 1.5.6_0001. But I have not setup hass yet. Is there any way to manually backup the key?

AlexxIT commented 9 months ago

Clicks will open telnet without password for your case.

junnikokuki commented 9 months ago

Clicks will open telnet without password for your case.

It already opened. I can telnet into it without problem. But I want to backup the key for future use, I have no hass setup for getting the key.

AlexxIT commented 9 months ago

Integration should get key on first connection to gateway. And store it in the integration settings

rere1853 commented 9 months ago

How can I change the version to 1.4.6

bobofruit1970 commented 8 months ago

Hi

My Gateway firmware is 1.5.4_0090 and it is working very well with my 23 zigbee devices.

I can get to gateway via telnet. I know key and token for my gateway3.

If I upgrade firmware via telnet to new 1.5.5 or 1.5.6 will my configuration be preserved after upgrade and it will work just after restart or I will have to add all of my devices again to gateway3 and HA?

I am wondering if it is worth for me to upgrade to new firmware .

AlexxIT commented 8 months ago

I'm using original fw 1.5.4_0090 on my main gateway. If you have gateway's key - update shouldn't be a problem.

wzwick commented 5 months ago

That button method is mad! but works like a charm. feels like a modern Konami code.

@AlexxIT Thank you for all the work you put into this - most of my house is Xiaomi and I would be lost without your work.