Support for more Mi-Home Aqara items

I had a snapshot running of 10/09 and I see that it’s already working (didn’t tried this sensor anymore). So did you chaged something else since that date?

Yeah this was fixed with this pull request. Just wanted you to know, since then nothing changed. Thanks for checking this!

Hi any news ? :slight_smile:

No news. Sorry

1 Like

I have an Aqara Motion Sensor. How are we supposed to interact with the motion timer channel?

In my paper ui control, it is always displaying as not a number (NaN). Does the binding ever set it?

Do I have to set it in a rule?

Okay! I downloaded an app called “Hue Essentials” but the App isn’t able to discover the bridge since I get an exception when trying to enable the bridge emulation:

2019-01-12 16:58:52.978 [ERROR] [org.openhab.io.hueemulation         ] - bundle org.openhab.io.hueemulation:2.4.0 (292)[org.openhab.io.hueemulation.internal.HueEmulationService(307)] : The modified method has thrown an exception
java.lang.NullPointerException: null
	at org.openhab.io.hueemulation.internal.Utils.getMAC(Utils.java:50) ~[?:?]
	at org.openhab.io.hueemulation.internal.HueEmulationService.restartDiscovery(HueEmulationService.java:413) ~[?:?]
	at org.openhab.io.hueemulation.internal.HueEmulationService.modified(HueEmulationService.java:257) ~[?:?]
	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.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) ~[39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) ~[39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeModifiedMethod(SingleComponentManager.java:810) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:765) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:683) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:647) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:435) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:288) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.scr.impl.manager.RegionConfigurationSupport$1.configurationEvent(RegionConfigurationSupport.java:91) [39:org.apache.felix.scr:2.1.2]
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1667) [9:org.apache.felix.configadmin:1.9.4]
	at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1635) [9:org.apache.felix.configadmin:1.9.4]
	at org.apache.felix.cm.impl.UpdateThread$1.run(UpdateThread.java:126) [9:org.apache.felix.configadmin:1.9.4]
	at org.apache.felix.cm.impl.UpdateThread$1.run(UpdateThread.java:123) [9:org.apache.felix.configadmin:1.9.4]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122) [9:org.apache.felix.configadmin:1.9.4]
	at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) [9:org.apache.felix.configadmin:1.9.4]
	at java.lang.Thread.run(Thread.java:748) [?:?]

Yes it doesn’t work in virtual machines or docker images if no Mac address is available on the main network interface. I think that is reported already as a bug, if not please do so :slight_smile:

I do set the timer in a rule that runs on system start.

Sorry, weirdly the complete wrong thread.
didn’t pay attention here, sorry!
I’m not running docker or a VM, the network interface is the RJ45 Port of my Raspberry.
Cutted out some things, but the ifconfig should be allright.
Its showing my MAC address of the network interface:

Hi all,

Thanks for all the good work :slightly_smiling_face:

There are any plans to support the radio? (For example, start the radio, and stop the radio?)

Best Regards,
Fernando Gomes

Hi!
Thank you so much for your work, it’s very nice that this device is just plug and play in openhab :slight_smile:
There still seems to be an issue with the status channel, for me it still says status unknown.
The first time I ran a self-test the status got updated to unknown.

2019-12-18 15:24:23.432 [vent.ItemStateChangedEvent] - SmokeSensor_Battery changed from NULL to 100
2019-12-18 15:24:23.439 [vent.ItemStateChangedEvent] - SmokeSensor_BatteryLow changed from NULL to OFF
2019-12-18 15:24:24.265 [vent.ItemStateChangedEvent] - SmokeSensor_ParticleDensity changed from NULL to 0
2019-12-18 15:24:24.288 [vent.ItemStateChangedEvent] - SmokeSensor_Battery changed from 100 to 93
2019-12-18 15:24:28.427 [vent.ItemStateChangedEvent] - SmokeSensor_Status changed from NULL to unknown

I’m appending a trace log from when manually triggering the self-test.
However the status is no longer updated, that only occurred the first time.
If I understand the binding xml correctly the status is based on the alarm value.
If so the binding correctly sees the manual alarm (value 2).

2019-12-18 16:06:23.644 [DEBUG] [.mihome.internal.socket.XiaomiSocket] - Received Datagram from 192.168.3.103:4321 on Port 9898
2019-12-18 16:06:23.647 [TRACE] [internal.handler.XiaomiBridgeHandler] - Received message {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"alarm\":\"2\"}"}
2019-12-18 16:06:23.653 [TRACE] [internal.handler.XiaomiBridgeHandler] - Updated "last time seen" for device 158d0003464972
2019-12-18 16:06:23.659 [DEBUG] [rnal.handler.XiaomiDeviceBaseHandler] - Item got update: {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"alarm\":\"2\"}"}
2019-12-18 16:06:23.679 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Data received and notified 1 listeners
2019-12-18 16:06:23.683 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-76,5,main] waiting for data on port 9898
2019-12-18 16:06:23.688 [DEBUG] [.mihome.internal.socket.XiaomiSocket] - Received Datagram from 192.168.3.103:4321 on Port 9898
2019-12-18 16:06:23.693 [TRACE] [internal.handler.XiaomiBridgeHandler] - Received message {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"density\":\"0\"}"}
2019-12-18 16:06:23.698 [TRACE] [internal.handler.XiaomiBridgeHandler] - Updated "last time seen" for device 158d0003464972
2019-12-18 16:06:23.705 [DEBUG] [rnal.handler.XiaomiDeviceBaseHandler] - Item got update: {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"density\":\"0\"}"}
2019-12-18 16:06:23.715 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Data received and notified 1 listeners
2019-12-18 16:06:23.717 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-76,5,main] waiting for data on port 9898
2019-12-18 16:06:23.720 [DEBUG] [.mihome.internal.socket.XiaomiSocket] - Received Datagram from 192.168.3.103:4321 on Port 9898
==> /var/log/openhab2/events.log <==
2019-12-18 16:06:23.722 [vent.ItemStateChangedEvent] - SmokeSensor_ParticleDensity changed from 1 to 0
==> /var/log/openhab2/openhab.log <==
2019-12-18 16:06:23.726 [TRACE] [internal.handler.XiaomiBridgeHandler] - Received message {"cmd":"heartbeat","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"voltage\":3075,\"alarm\":\"2\"}"}
2019-12-18 16:06:23.730 [TRACE] [internal.handler.XiaomiBridgeHandler] - Updated "last time seen" for device 158d0003464972
2019-12-18 16:06:23.740 [DEBUG] [rnal.handler.XiaomiDeviceBaseHandler] - Item got update: {"cmd":"heartbeat","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"voltage\":3075,\"alarm\":\"2\"}"}
2019-12-18 16:06:23.751 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Data received and notified 1 listeners
2019-12-18 16:06:23.756 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-76,5,main] waiting for data on port 9898
2019-12-18 16:06:27.348 [DEBUG] [.mihome.internal.socket.XiaomiSocket] - Received Datagram from 192.168.3.103:4321 on Port 9898
2019-12-18 16:06:27.352 [TRACE] [internal.handler.XiaomiBridgeHandler] - Received message {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"alarm\":\"0\"}"}
2019-12-18 16:06:27.355 [TRACE] [internal.handler.XiaomiBridgeHandler] - Updated "last time seen" for device 158d0003464972
2019-12-18 16:06:27.361 [DEBUG] [rnal.handler.XiaomiDeviceBaseHandler] - Item got update: {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"alarm\":\"0\"}"}
2019-12-18 16:06:27.370 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Data received and notified 1 listeners
2019-12-18 16:06:27.375 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-76,5,main] waiting for data on port 9898
2019-12-18 16:06:27.390 [DEBUG] [.mihome.internal.socket.XiaomiSocket] - Received Datagram from 192.168.3.103:4321 on Port 9898
2019-12-18 16:06:27.395 [TRACE] [internal.handler.XiaomiBridgeHandler] - Received message {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"density\":\"0\"}"}
2019-12-18 16:06:27.397 [TRACE] [internal.handler.XiaomiBridgeHandler] - Updated "last time seen" for device 158d0003464972
2019-12-18 16:06:27.402 [DEBUG] [rnal.handler.XiaomiDeviceBaseHandler] - Item got update: {"cmd":"report","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"density\":\"0\"}"}
2019-12-18 16:06:27.414 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Data received and notified 1 listeners
2019-12-18 16:06:27.417 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-76,5,main] waiting for data on port 9898
2019-12-18 16:06:27.420 [DEBUG] [.mihome.internal.socket.XiaomiSocket] - Received Datagram from 192.168.3.103:4321 on Port 9898
2019-12-18 16:06:27.423 [TRACE] [internal.handler.XiaomiBridgeHandler] - Received message {"cmd":"heartbeat","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"voltage\":3075,\"alarm\":\"0\"}"}
2019-12-18 16:06:27.425 [TRACE] [internal.handler.XiaomiBridgeHandler] - Updated "last time seen" for device 158d0003464972
2019-12-18 16:06:27.430 [DEBUG] [rnal.handler.XiaomiDeviceBaseHandler] - Item got update: {"cmd":"heartbeat","model":"smoke","sid":"158d0003464972","short_id":61242,"data":"{\"voltage\":3075,\"alarm\":\"0\"}"}
2019-12-18 16:06:27.435 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Data received and notified 1 listeners
2019-12-18 16:06:27.437 [TRACE] [.mihome.internal.socket.XiaomiSocket] - Thread Thread[Thread-76,5,main] waiting for data on port 9898

Is there anything I can do to help resolve this?

System:
Openhab 2.5.0
mihome 2.5.0
Xiaomi gateway v3 FW:1.4.1_170.0158
Smoke sensor bought this summer from Xiaomi store in Shanghai.

For Aqara related development this could be useful :slight_smile:
Sharing is caring: http://docs.opencloud.aqara.com/en/development/gateway-LAN-communication/

HI
how add Xiaomi Water Leak sensor via thing and items ?

Use

sensor_wleak_aq1

for the thing, and then the items accordingly with

Switch - … :leak
Number - … :batteryLevel
Switch - … :lowBattery

Hope this helps

thanks a lot , it works