[Deprecated] Xiaomi / Aqara / Opple Drivers with Presence!

@markus, When will you be showing some mercy to LLKZMK11LM Relay?
Regards,

I don't have one of those and wasn't even aware people used it? I've also never seen it in my local Aqara store nor from any of the online stores I buy from. As such it is not really on my list of drivers to write, but if someone finds a way to have one sent to me here in China I'll write a driver. Shouldn't take more than 1 hour or so. I currently only have the Xiaomi Gas Sensor left on my list of Xiaomi/Aqara devices to write a driver for.

1 Like

Does this help- link to an existing driver? The relay seems to share properties with the wall switch.

If my guess is correct, you prefer to observe the device directly? or does it not matter?

Huge Thank You for all you do, much appreciated.

1 Like

Try my Aqara Wall Switch driver, they might work with these. Didn't realize it, but went through debug logs for that device a while back, test it and see if it works as expected, otherwise some minor tweaks might be needed.

1 Like

Hey @markus any chance you adding ON/OFF to the driver so we can use it for the the Ikea Outlet/repeaters?

I have a driver for those, it's the Generic Zigbee Outlet driver you can find here:

1 Like

Hey @markus, testing your drivers :grinning:, a question, how could it be there is a recent Last Activity but the Temperature & Humidity Sensor is not present?

log

dev:9652020-07-25 21:30:42.429 infoSending humidity event (Humidity: 62.6%, old humidity: 70.80%, change: 8.20%)
dev:9652020-07-25 21:30:32.137 infoSending humidity event (Humidity: 70.8%, old humidity: 92.90%, change: 22.10%)
dev:9652020-07-25 21:30:32.135 infoSending temperature event (Temperature: 24.6 °C, old temp: 24.3, change: 0.3)
dev:9652020-07-25 21:30:21.872 infoSending humidity event (Humidity: 92.9%, old humidity: 87.10%, change: 5.80%)
dev:9652020-07-25 21:30:21.865 infoSending temperature event (Temperature: 24.3 °C, old temp: 23.7, change: 0.6)
dev:9652020-07-25 21:30:12.924 infoSending temperature event (Temperature: 23.7 °C, old temp: 23.2, change: 0.5)
dev:9652020-07-25 21:30:12.924 infoSending humidity event (Humidity: 87.1%, old humidity: 61.70%, change: 25.40%)
dev:9652020-07-25 21:24:19.562 infoKNOWN event (Xiaomi/Aqara specific data structure with battery data - 42 - hourly checkin) - description:read attr - raw: 73130100005201FF42250121950B0421A84305210900062401000100006429BD096521E517662B258901000A21625A, dni: 7313, endpoint: 01, cluster: 0000, size: 52, attrId: FF01, encoding: 42, command: 0A, value: 250121950B0421A84305210900062401000100006429BD096521E517662B258901000A21625A | parseMap:[raw:73130100005201FF42250121950B0421A84305210900062401000100006429BD096521E517662B258901000A21625A, dni:7313, endpoint:01, cluster:0000, size:52, attrId:FF01, encoding:41, command:0A, value:[raw:[battery:0B95, unknown1:43A8, RSSI_dB:0009, LQI:0000010001, temperature:09BD, humidity:17E5, pressure:00018925, routerid:5A62], battery:2965, unknown1:17320, RSSI_dB:9, LQI:65537, temperature:2493, humidity:6117, pressure:100645, routerid:23138], clusterInt:0, attrInt:65281]
dev:9652020-07-25 21:17:05.908 infoRecovery Mode set as: Normal
dev:9652020-07-25 21:17:05.839 infoRecovery feature ENABLED
dev:9652020-07-25 21:17:05.775 infogetDriverVersion() = v0.8.1.0720
dev:9652020-07-25 21:17:05.740 infoinitialize()
dev:9652020-07-25 20:59:24.626 infoSending humidity event (Humidity: 61.7%, old humidity: 62.30%, change: 0.60%)
dev:9652020-07-25 20:56:45.433 inforesetRestoredCounter()
dev:9652020-07-25 20:31:49.111 infoSending pressure event (Pressure: 100.60, old pressure: 100.70, change: 0.10)
dev:9652020-07-25 20:31:49.101 infoSending humidity event (Humidity: 62.3%, old humidity: 62.00%, change: 0.30%)
dev:9652020-07-25 20:24:56.885 infoKNOWN event (Xiaomi/Aqara specific data structure with battery data - 42 - hourly checkin) - description:read attr - raw: 73130100005201FF42250121950B0421A84305210900062401000300006429CB0965215A18662B658901000A21625A, dni: 7313, endpoint: 01, cluster: 0000, size: 52, attrId: FF01, encoding: 42, command: 0A, value: 250121950B0421A84305210900062401000300006429CB0965215A18662B658901000A21625A | parseMap:[raw:73130100005201FF42250121950B0421A84305210900062401000300006429CB0965215A18662B658901000A21625A, dni:7313, endpoint:01, cluster:0000, size:52, attrId:FF01, encoding:41, command:0A, value:[raw:[battery:0B95, unknown1:43A8, RSSI_dB:0009, LQI:0000030001, temperature:09CB, humidity:185A, pressure:00018965, routerid:5A62], battery:2965, unknown1:17320, RSSI_dB:9, LQI:196609, temperature:2507, humidity:6234, pressure:100709, routerid:23138], clusterInt:0, attrInt:65281]

The presence and other related attributes being updated is the reason.

I think I found the problem, all my other zigbee devices had the "Enable Last Checkin Date" ON except for this one sensor, when I changed it the sensor stayed present.

Is the the presence attribute direct linked to the "Last Checkin Date"?

Hi @markus
I have a temp/humisity sensor that is working just fine.
The only thing is I keep seeing this in my logs.
dev:27552020-07-27 19:09:55.284 warnEvent interval INCORRECT, recovery mode (Normal) ACTIVE! If this is shown every hour for the same device and doesn't go away after three times, the device has probably fallen off and require a quick press of the reset button or possibly even re-pairing. It MAY also return within 24 hours, so patience MIGHT pay off.

dev:27552020-07-27 19:09:55.261 warnOne or several EXPECTED checkin events have been missed! Something MIGHT be wrong with the mesh for this device. Minutes since last checkin: 2 (maximum expected 1)

--- Live Log Started, waiting for events ---

When I look in the events for the device I can see that it is reporting in OK.
Not sure what to make of it.

Name Value Unit Description Text Source Type Date
lastCheckin 2020-07-27 19:07:34 DEVICE 2020-07-27 19:07:34.360 BST
humidity 64 % DEVICE 2020-07-27 19:07:34.340 BST
lastCheckin 2020-07-27 19:07:34 DEVICE 2020-07-27 19:07:34.335 BST
temperature 3.4 °C DEVICE 2020-07-27 19:07:34.322 BST
lastCheckin 2020-07-27 18:57:17 DEVICE 2020-07-27 18:57:17.483 BST
lastCheckin 2020-07-27 18:57:17 DEVICE 2020-07-27 18:57:17.479 BST
lastCheckin 2020-07-27 18:57:17 DEVICE 2020-07-27 18:57:17.474 BST
humidity 68 % DEVICE 2020-07-27 18:57:17.446 BST
lastCheckin 2020-07-27 18:50:12 DEVICE 2020-07-27 18:50:12.391 BST
lastCheckin 2020-07-27 18:50:12 DEVICE 2020-07-27 18:50:12.358 BST

@markus I’ve been testing this for a bit now but noticed these in the log:

dev:5452020-07-27 08:21:41.511 warnUnhandled Event PLEASE REPORT TO DEV - description:read attr - raw: BC4D01000012040042044C554D49, dni: BC4D, endpoint: 01, cluster: 0000, size: 12, attrId: 0004, encoding: 42, command: 01, value: 044C554D49 | msgMap:[raw:BC4D01000012040042044C554D49, dni:BC4D, endpoint:01, cluster:0000, size:12, attrId:0004, encoding:42, command:01, value:LUMI, clusterInt:0, attrInt:4]

dev:5452020-07-27 06:22:38.456 warnUnhandled Event PLEASE REPORT TO DEV - description:read attr - raw: BC4D01000012040042044C554D49, dni: BC4D, endpoint: 01, cluster: 0000, size: 12, attrId: 0004, encoding: 42, command: 01, value: 044C554D49 | msgMap:[raw:BC4D01000012040042044C554D49, dni:BC4D, endpoint:01, cluster:0000, size:12, attrId:0004, encoding:42, command:01, value:LUMI, clusterInt:0, attrInt:4]

dev:5452020-07-27 05:23:54.691 warnUnhandled Event PLEASE REPORT TO DEV - description:read attr - raw: BC4D01000012040042044C554D49, dni: BC4D, endpoint: 01, cluster: 0000, size: 12, attrId: 0004, encoding: 42, command: 01, value: 044C554D49 | msgMap:[raw:BC4D01000012040042044C554D49, dni:BC4D, endpoint:01, cluster:0000, size:12, attrId:0004, encoding:42, command:01, value:LUMI, clusterInt:0, attrInt:4]

Driver details:

  • endpointId: 01
  • application:
  • driver: v0.8.2.0720b
  • model: lumi.vibration.aq1
  • manufacturer:

Current States

  • acceleration : inactive
  • activityLevel : 23
  • battery : 100
  • batteryLastReplaced : Jun 01 2020
  • currentX : 88.3
  • currentY : -0.9
  • currentZ : 1.4
  • driver : v0.8.2.0720b
  • lastCheckin : 2020-07-27 22:13:15
  • lastDropped : 2020-07-21 20:44:35
  • lastStationary : 2020-07-21 20:45:47
  • lastTilted : 2020-07-21 20:45:45
  • lastVibration : 2020-07-17 08:34:31
  • motion : inactive
  • notPresentCounter : 0
  • numberOfButtons : 1
  • presence : present
  • pushed : 1
  • restoredCounter : 0
  • sensitivityLevel : Low
  • sensorState : stationary
  • tiltAngle : 89

State Variables

  • currentAngleZ : -88.2
  • motionactive : 0
  • comment : Works with model DJT11LM.
  • prefsSetCount : 1
  • currentAngleY : 0.6
  • currentAngleX : -1.7

Any ideas?

Yes, either Last Checkin Date and/or Last Checkin Epoch needs to be enabled. These are the timestamps used to determine presence. The description of Enable Presence mentions this as a requirement for the feature to work.

It looks like you have entered Forced Recovery mode and not left it. Could have happened if you were on one Beta driver and switched to another with it running, there was a rename of some schedules recently. Take a screenshot of your scheduled events on that device (in case the issue is another one) and then run the "Force Recovery Mode" with minutes set to 0 and this should be sorted.

Thank you for reporting, there is no harm in these messages, but I've added a filter for them for the next release.

4 Likes

No On/Off buttons? That sounds strange, they are there as long as the correct driver is selected. Please provide a screenshot.

@mwboudro It helps. It does tell me that it doesn't seem to use any of the Aqara-specific clusters. Please try a new Beta driver I just uploaded here. After switching to this driver, run the Initialize command on the device page.

1 Like

Actually this makes sense. I did use forced recovery mode mode but put in "1" as I just assumed it needed a figure. This ties in with the logs.
Did as you suggested and now it is OK.
Thanks for your help and of course, your fantastic apps/drivers.

I may have missed it but do you have a "donation" page?
I'm using your drivers exclusively when I can.

2 Likes

Thanks for offering :slight_smile: Living in China I don't really have any good options for that. Paypal doesn't allow donation pages for China-based accounts. I don't know of any other services that do either. With that said I haven't really given it much thought until recently, it came up regarding a device and since it is very difficult to send devices here I did accept a payment through Paypal to cover me purchasing a specific device here in China. I'm doing this for fun and if someone wants a specific device implemented which I don't have that might be a good reason for a donation, if it can be purchased here in China that is. Not everything on AliExpress exists domestically. For these instances a payment to my Paypal can work even though I don't have a donation page.

Happy you like them! When I initially wrote them I wasn't so sure they would be liked since I don't conform to "HE standards".

On a different note: If someone has a Hue Bridge v2 they don't need and want to ship it to China (probably not possible/easy from USA) I'd be happy to receive it, what I find here seems to be some strange locked-down version without local API :frowning:

1 Like

Thanks @markus, I did that. Here's a snapshot of the device page. It looks as if it's initialized, but still no buttons to actually control the device.

You should have two child devices that have the on/off buttons.

1 Like

Yep, that's it. Seems to be working, thanks for all your help.

Hello @markus. One of your 'creations" asked me to share a message with you

I think it's some kind of secret code language

dev:20902020-07-29 11:40:04.785 am infoCOPY AND PASTE THIS ROW TO THE DEVELOPER: fingerprint model:"TRADFRI signal repeater", manufacturer:"IKEA of Sweden", profileId:"0104", endpointId:"01", inClusters:"0000,0003,0009,0B05,1000,FC7C", outClusters:"0019,0020,1000", application:"20"

Thank you again for the tremendous work on these drivers, I love being able to know my tradfri & xbee repeaters are working, really helps with tracking down all my issues.

1 Like

It's the device fingerprint, it's what is used to auto-select a driver on pairing. This fingerprint is different from all of my IKEA Repeaters in two locations, will add it to the driver, thank you :slight_smile:

Always happy to hear my code is appreciated :slight_smile:

1 Like