[Solved] Xiaomi gateway wont go online

Tags: #<Tag:0x00007f5ca56c6ea8> #<Tag:0x00007f5ca56c6d90>

Hi,
it’s my first post here, sorry if it’s a duplicate but I didn’t found any solution on the forum.
I have a xiaomi mi home model: lumi gateway v3 , firmware: 1.4.1_159 , hardware: MW300.

I have a openhab installation openhabian version 2.4.0.M4 on a pine64 working on ethernet. The xiaomi binding seams to be installed correctly.

I tried to add it with the auto discover but it was never found, I tried to reboot both but no changes.
So I tried to had it by file:

Bridge mihome:bridge:7c49xxxxxxx "Xiaomi Gateway" [ serialNumber="7c49xxxxxxxx", ipAddress="192.168.1.38", port=9898, key="xxxxxxxxxxxxxx", pollingInterval=6000 ] {
    Thing mihome:gateway:7c49xxxxxxxx "Xiaomi Mi Smart Home Gateway" [itemId="7c49xxxxxxx"]
}

I found somewhere that the serialNumber is the mac address hope it was right.
And here is my issue the bridge never goes online.

2018-11-18 13:19:11.364 [hingStatusInfoChangedEvent] - 'mihome:bridge:7c49ebb17811' changed from UNINITIALIZED to INITIALIZING 2018-11-18 13:24:11.395 [hingStatusInfoChangedEvent] - 'mihome:bridge:7c49ebb17811' changed from INITIALIZING to OFFLINE

Thanks for your help and for your work!

Double check all steps for the setup procedure:

Thank you for your anwser, I already done this steps at least twice. But no changes.

Are you able to connect via Mi Home App?

Also check this post:

1 Like

I tried to find an issue due to my lan but nothing anormal everithing is on the same local area network.
I choose to try a tcpdump like the guy in the post and I got only one request when it tries to initialize, that seams to fail due to udp check sum:

21:13:49.695000 IP (tos 0x0, ttl 64, id 58558, offset 0, flags [DF], proto UDP (17), length 50)
    openhabianpine64.home.9898 > lumi-gateway-v3miio98929199.home.9898: [bad udp cksum 0x83c1 -> 0x63fa!] UDP, length 22

But I don’t really know what is happening… I hope it helps

I made some configuration change and now I get a valid checksum but nothing else.

21:28:58.294883 IP (tos 0x0, ttl 64, id 22494, offset 0, flags [DF], proto UDP (17), length 50)
    openhabianpine64.home.9898 > lumi-gateway-v3miio98929199.home.9898: [udp sum ok] UDP, length 22

If your gateway is properly connected to your wifi, you are able to see the gateway through the MiHome App and you have a valid developer key added to the config I have unfortunately no idea why auto-discovering of your gateway through openHAB does not work.

Thanks for your help, I will try to install openhab on another board (pi3 instead of pine) to see if it’s working

I tried it on my mac book pro i have the same issue the gateway cannot be found. So not comming from the installation, maybe comming from my local network or from the binding… Have some people experienced network issues with a french orange livebox?

I had massive problems finding the same problem as you have right now.
Solution was pretty simple, between my router and my Webserver is a AP, which doesn’t support multicast traffic and therefore discards all network packages on 224.0.0.50.
Simple MAC-Address ban of my Webserver has got it working again. Yes, a bit of a workaround but it solves the problem for now.
Hope I could help :slight_smile:

1 Like

It could work at which level did you ban the Mac address and which one did you ban? the ap ? the Webserver? Xiaomi Gateway?

Thanks for the answer.

But I think I banned my Xioami Gateways MAC too, just to be sure. They get network anyway

Still not working for me :confused:

I don’t have it working either. Not sure what AP means and what needs to be banned and how. Please can you provide more details.

Rapsbery{i 3. Raspbian.GNU/Linux

I have same problem. Mi Home app is running fine on my phone. Gateway is recognized and working.
Developers password copied and toggled to on and pressed OK.
Installed Xiaomi binding but cannot find the gateway. I tried it manually entering the Ip and dev. key and this is result
2019-08-08 20:51:24.704 [INFO ] [core.karaf.internal.FeatureInstaller] - Uninstalled ‘openhab-binding-mihome’

2019-08-08 20:51:24.712 [thome.event.ExtensionEvent] - Extension ‘binding-mihome’ has been uninstalled.

2019-08-08 20:51:43.541 [thome.event.ExtensionEvent] - Extension ‘binding-mihome’ has been installed.

2019-08-08 20:52:33.006 [hingStatusInfoChangedEvent] - ‘mihome:bridge:fc0017ff’ changed from UNINITIALIZED to INITIALIZING

2019-08-08 20:57:33.069 [hingStatusInfoChangedEvent] - ‘mihome:bridge:fc0017ff’ changed from INITIALIZING to OFFLINE

I have taken the IP address from the app and also checked it in the Wifi settings.
Where does this goes wrong ?
Help much appreciated.

Reading about NMAP : run with result
0 IP addresses (0 hosts up) scanned in 1.64 seconds

       Raw packets sent: 0 (0B) | Rcvd: 0 (0B)

WARNING: No targets were specified, so 0 hosts scanned.

1 Like

@Walter1 what firmware is your gateway running?
There is a known issue with the latest firmware which breaks the connection on the local area.

My version was 1.4.1_167 and now 1.4.1_170 but no changes sadly still the same issue on both version. Still @Walter1’s issue is the same has mine.
My logs if it can help :slight_smile:

23:01:51.084 [DEBUG] [.internal.handler.XiaomiBridgeHandler] - Init socket on Port: 9898
23:01:51.086 [DEBUG] [me.internal.socket.XiaomiBridgeSocket] - Setup socket
23:01:51.086 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘mihome:bridge:9b8ce449’ changed from UNINITIALIZED (DISABLED) to INITIALIZING
23:01:51.086 [ERROR] [me.internal.socket.XiaomiBridgeSocket] - Setup socket error
java.net.SocketException: Can’t assign requested address
at java.net.PlainDatagramSocketImpl.join(Native Method) ~[?:?]
at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178) ~[?:?]
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323) ~[?:?]
at org.openhab.binding.mihome.internal.socket.XiaomiBridgeSocket.setupSocket(XiaomiBridgeSocket.java:47) [198:org.openhab.binding.mihome:2.4.0]
at org.openhab.binding.mihome.internal.socket.XiaomiSocket.intialize(XiaomiSocket.java:71) [198:org.openhab.binding.mihome:2.4.0]
at org.openhab.binding.mihome.internal.handler.XiaomiBridgeHandler.initialize(XiaomiBridgeHandler.java:128) [198:org.openhab.binding.mihome:2.4.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.10.0.oh240]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]
23:01:51.208 [TRACE] [g.mihome.internal.socket.XiaomiSocket] - Staring reveicer thread for socket on port 9898
23:01:51.208 [DEBUG] [g.mihome.internal.socket.XiaomiSocket] - There are 1 open sockets: {9898=java.net.MulticastSocket@7cd1e8e4}
23:01:51.208 [TRACE] [g.mihome.internal.socket.XiaomiSocket] - Adding socket listener org.openhab.binding.mihome.internal.handler.XiaomiBridgeHandler@7e4e889b
23:01:51.208 [TRACE] [g.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-87,5,main] waiting for data on port 9898
23:01:52.214 [DEBUG] [.internal.handler.XiaomiBridgeHandler] - Triggered discovery
23:01:52.216 [DEBUG] [.internal.handler.XiaomiBridgeHandler] - Send to bridge mihome:bridge:9b8ce449: {“cmd”: “get_id_list”}
23:01:52.217 [TRACE] [g.mihome.internal.socket.XiaomiSocket] - Sending message: {“cmd”: “get_id_list”} to /192.168.1.32:9898

I think I found what the issue is with my gateway it one of the models that need to be open: