Aqara Smart Radiator Thermostat E1

No, TCP TRV is Tuya, so the control commands are very different

Aqara E1 TRV uses the standard ZCL clusters, that’s why the basic functions work with HE inbuilt thermostat driver.

But Stu is facing some unexpected Zigbee connectivity problems.

Hi @kkossev, i've paired a few times and i'm situated next to the hub but all appears to be the same. I'm at my computer now, so see more detailed logs.Do the logs provide any more insight to my issue?...Stu

dev:13672023-08-13 20:27:03.080infoaqtrv heatingSetpoint is 22.0

dev:13672023-08-13 20:27:03.071debugaqtrv 0.5 C correction of the heating setpoint22

dev:13672023-08-13 20:27:03.070debugaqtrv setHeatingSetpoint temperature = 22 as int = 22 (previousSetpointt = 21.0)

dev:13672023-08-13 20:25:49.326infoaqtrv heatingSetpoint is 21.0

dev:13672023-08-13 20:25:49.325debugaqtrv 0.5 C correction of the heating setpoint21

dev:13672023-08-13 20:25:49.323debugaqtrv setHeatingSetpoint temperature = 21 as int = 21 (previousSetpointt = 0)

dev:13672023-08-13 20:24:06.030debugaqtrv clearing the Info event

dev:13672023-08-13 20:23:52.197infoaqtrv Round-trip time : timeout

dev:13672023-08-13 20:23:52.195warnaqtrv no response received (sleepy device or offline?)

dev:13672023-08-13 20:23:42.202debugaqtrv ping...

dev:13672023-08-13 20:23:42.199debugaqtrv sendZigbeeCommands(cmd=[he raw 0xB4DA 1 0x01 0x0000 {10 00 00 01 00}])

dev:13672023-08-13 20:23:41.079debugaqtrv sendZigbeeCommands(cmd=[he raw 0xB4DA 1 0x01 0x0001 {10 00 00 20 00}, delay 200, he raw 0xB4DA 1 0x01 0x0001 {10 00 00 21 00}, delay 200, he raw 0xB4DA 1 0x01 0x0201 {10 00 00 00 00 11 00 12 00 1C 00}, delay 100, he raw 0xB4DA 1 0x01 0x0202 {10 00 00 00 00}, delay 100])

dev:13672023-08-13 20:23:41.045infoaqtrv refresh()...

dev:13672023-08-13 20:23:36.036infoaqtrv executed 'configure'

dev:13672023-08-13 20:23:36.008infoaqtrv sent device configuration

dev:13672023-08-13 20:23:36.004debugaqtrv sendZigbeeCommands(cmd=[he raw 0xB4DA 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, delay 299, null])

dev:13672023-08-13 20:23:36.000debugaqtrv sendZigbeeCommands(cmd=[delay 299])

dev:13672023-08-13 20:23:35.999infoaqtrv configureDevice...

dev:13672023-08-13 20:23:35.998infoaqtrv initializeDevice...

dev:13672023-08-13 20:23:35.997debugaqtrv sent aqaraBlackMagic()

dev:13672023-08-13 20:23:35.992debugaqtrv sendZigbeeCommands(cmd=[he raw 0xB4DA 0 0 0x8002 {40 00 00 00 00 40 8f 5f 11 52 52 00 41 2c 52 00 00} {0x0000}, delay 200, zdo bind 0xB4DA 0x01 0x01 0xFCC0 {54EF4410007404DC} {}, zdo bind 0xB4DA 0x01 0x01 0x0406 {54EF4410007404DC} {}, he raw 0xB4DA 1 0x01 0x0001 {10 00 00 20 00}, delay 200])

dev:13672023-08-13 20:23:35.984debugaqtrv [txtEnable:true, logEnable:true, advancedOptions:false, healthCheckMethod:1, healthCheckInterval:240, threeStateEnable:false, debounce:1000, voltageToPercent:false, reverseButton:true]

dev:13672023-08-13 20:23:35.983infoaqtrv configure...

dev:13672023-08-13 20:23:35.982infoaqtrv configure(Configure the device only)...

dev:13672023-08-13 20:22:24.873debugAqara E1 Thermostat clearing the Info event

dev:13672023-08-13 20:21:54.852infoAqara E1 Thermostat updated

dev:13672023-08-13 20:21:54.847debugAqara E1 Thermostat sendZigbeeCommands(cmd=[delay 299])

dev:13672023-08-13 20:21:54.846infoAqara E1 Thermostat configureDevice...

dev:13672023-08-13 20:21:54.845debugAqara E1 Thermostat deviceHealthCheck is scheduled every 240 minutes

dev:13672023-08-13 20:21:54.818infoscheduling health check every 240 minutes by Activity check method

dev:13672023-08-13 20:21:54.791debugAqara E1 Thermostat [txtEnable:true, logEnable:true, advancedOptions:false, healthCheckMethod:1, healthCheckInterval:240, threeStateEnable:false, debounce:1000, voltageToPercent:false, reverseButton:true]

dev:13672023-08-13 20:21:54.773infoAqara E1 Thermostat driver version 2.1.3 2023/08/12 1:17 PM (lumi.airrtc.agl001 LUMI) (C-7 2.3.5.152)

dev:13672023-08-13 20:21:54.771infoAqara E1 Thermostat updated...

dev:13672023-08-13 20:21:52.333infoAqara E1 Thermostat battery is 3 Volts

dev:13672023-08-13 20:21:52.331debugAqara E1 Thermostat batteryVoltage = 3.0 V

dev:13672023-08-13 20:21:52.328debugAqara E1 Thermostat descMap = [raw:B4DA0100010A2000201E, dni:B4DA, endpoint:01, cluster:0001, size:0A, attrId:0020, encoding:20, command:01, value:1E, clusterInt:1, attrInt:32]

dev:13672023-08-13 20:21:52.318debugAqara E1 Thermostat parse: read attr - raw: B4DA0100010A2000201E, dni: B4DA, endpoint: 01, cluster: 0001, size: 0A, attrId: 0020, encoding: 20, command: 01, value: 1E

dev:13672023-08-13 20:21:52.227debugAqara E1 Thermostat zigbee received device object Bind Response success: [12, 00]

dev:13672023-08-13 20:21:52.225traceAqara E1 Thermostat otherTuyaOddities - Cluster 8021 NO ATTRIBUTE, skipping

dev:13672023-08-13 20:21:52.223debugAqara E1 Thermostat otherTuyaOddities: descMap = [raw:catchall: 0000 8021 00 00 0040 00 B4DA 00 00 0000 00 00 1200, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:B4DA, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[12, 00]]

dev:13672023-08-13 20:21:52.215debugAqara E1 Thermostat parse: catchall: 0000 8021 00 00 0040 00 B4DA 00 00 0000 00 00 1200

dev:13672023-08-13 20:21:52.175debugAqara E1 Thermostat zigbee received device object Bind Response success: [11, 00]

dev:13672023-08-13 20:21:52.173traceAqara E1 Thermostat otherTuyaOddities - Cluster 8021 NO ATTRIBUTE, skipping

dev:13672023-08-13 20:21:52.170debugAqara E1 Thermostat otherTuyaOddities: descMap = [raw:catchall: 0000 8021 00 00 0040 00 B4DA 00 00 0000 00 00 1100, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:B4DA, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[11, 00]]

dev:13672023-08-13 20:21:52.162debugAqara E1 Thermostat parse: catchall: 0000 8021 00 00 0040 00 B4DA 00 00 0000 00 00 1100

dev:13672023-08-13 20:21:52.152debugAqara E1 Thermostat received Power source battery (03)

dev:13672023-08-13 20:21:52.151debugAqara E1 Thermostat received device model lumi.airrtc.agl001

dev:13672023-08-13 20:21:52.149debugAqara E1 Thermostat Tuya check-in message (attribute 0001 reported: 19)

dev:13672023-08-13 20:21:52.148warnAqara E1 Thermostat zigbee received unknown Basic cluster attribute 0x0000 (value 03)

dev:13672023-08-13 20:21:52.144debugAqara E1 Thermostat received device manufacturer LUMI

dev:13672023-08-13 20:21:52.140debugAqara E1 Thermostat descMap = [raw:B4DA01000064040042044C554D490000002003010000201905000042126C756D692E6169727274632E61676C3030310700003003FEFF86, dni:B4DA, endpoint:01, cluster:0000, size:64, attrId:0004, encoding:42, command:01, value:LUMI, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:19, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:lumi.airrtc.agl001, encoding:42, attrId:0005, consumedBytes:21, attrInt:5], [value:03, encoding:30, attrId:0007, consumedBytes:4, attrInt:7]]]

dev:13672023-08-13 20:21:52.132debugAqara E1 Thermostat otherTuyaOddities? - Cluster 0000 attrId 0007 value 03) N/A, skipping

dev:13672023-08-13 20:21:52.130debugAqara E1 Thermostat otherTuyaOddities? - Cluster 0000 attrId 0005 value lumi.airrtc.agl001) N/A, skipping

dev:13672023-08-13 20:21:52.129debugAqara E1 Thermostat otherTuyaOddities? - Cluster 0000 attrId 0001 value 19) N/A, skipping

dev:13672023-08-13 20:21:52.127debugAqara E1 Thermostat otherTuyaOddities? - Cluster 0000 attrId 0000 value 03) N/A, skipping

dev:13672023-08-13 20:21:52.126debugAqara E1 Thermostat otherTuyaOddities? - Cluster 0000 attrId 0004 value LUMI) N/A, skipping

dev:13672023-08-13 20:21:52.114infoAqara E1 Thermostat is now online!

dev:13672023-08-13 20:21:52.112infoAqara E1 Thermostat healthStatus changed to online

dev:13672023-08-13 20:21:52.103debugAqara E1 Thermostat parse: read attr - raw: B4DA01000064040042044C554D490000002003010000201905000042126C756D692E6169727274632E61676C3030310700003003FEFF86, dni: B4DA, endpoint: 01, cluster: 0000, size: 64, attrId: 0004, encoding: 42, command: 01, value: 044C554D490000002003010000201905000042126C756D692E6169727274632E61676C3030310700003003FEFF86

dev:13672023-08-13 20:21:52.102infoAqara E1 Thermostat aqaraVersion set to 0.0.0_0025

dev:13672023-08-13 20:21:52.100debugAqara E1 Thermostat not Tuya

dev:13672023-08-13 20:21:52.099debugAqara E1 Thermostat destinationEP = 01

dev:13672023-08-13 20:21:52.098debugAqara E1 Thermostat model = lumi.airrtc.agl001

dev:13672023-08-13 20:21:52.066debugAqara E1 Thermostat InitializeVars()... fullInit = false

dev:13672023-08-13 20:21:52.032infoAqara E1 Thermostat Updated to version 2.1.3 2023/08/12 1:17 PM (lumi.airrtc.agl001 LUMI) (C-7 2.3.5.152)

dev:13672023-08-13 20:21:52.030debugAqara E1 Thermostat updating the settings from the current driver version null to the new version 2.1.3 2023/08/12 1:17 PM (lumi.airrtc.agl001 LUMI) (C-7 2.3.5.152)

dev:13672023-08-13 20:21:51.819infoAqara E1 Thermostat sent device configuration

dev:13672023-08-13 20:21:51.814debugAqara E1 Thermostat sendZigbeeCommands(cmd=[he raw 0xB4DA 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200, delay 299, null])

dev:13672023-08-13 20:21:51.811debugAqara E1 Thermostat sendZigbeeCommands(cmd=[delay 299])

dev:13672023-08-13 20:21:51.810infoAqara E1 Thermostat configureDevice...

dev:13672023-08-13 20:21:51.808infoAqara E1 Thermostat initializeDevice...

dev:13672023-08-13 20:21:51.807debugAqara E1 Thermostat sent aqaraBlackMagic()

dev:13672023-08-13 20:21:51.802debugAqara E1 Thermostat sendZigbeeCommands(cmd=[he raw 0xB4DA 0 0 0x8002 {40 00 00 00 00 40 8f 5f 11 52 52 00 41 2c 52 00 00} {0x0000}, delay 200, zdo bind 0xB4DA 0x01 0x01 0xFCC0 {54EF4410007404DC} {}, zdo bind 0xB4DA 0x01 0x01 0x0406 {54EF4410007404DC} {}, he raw 0xB4DA 1 0x01 0x0001 {10 00 00 20 00}, delay 200])

dev:13672023-08-13 20:21:51.794debugAqara E1 Thermostat [txtEnable:true, logEnable:true, advancedOptions:false]

dev:13672023-08-13 20:21:51.793infoAqara E1 Thermostat configure...

dev:13672023-08-13 20:21:51.722infoAqara E1 Thermostat installed

dev:13672023-08-13 20:21:51.712infoAqara E1 Thermostat installed...

Oh wow, I've tried again and it's working great @kkossev. Just 2 questions I'd you can help. Is there a way to change the temperature which the TRV is reading. I.e. a temperature offset? It's currently reading the room to be 30.9 degrees which is completely not true.

Secondly, is there a way for the TRV to display the room temperature. I.e. what temperature do I need to adjust the setpoint to if I don't actually know what the room temperature currently is?

Hey Stu, I am glad you make it pair! Some devices are really hard to pair to HE, including this Aqara E1 thermostat ...

Keep in mind that this driver is not ready yet. I hope I will have the time to go back to working on it before the 15th of September, when I will go on a late vacation.. : )

The temperature reading may be too high if you have held it on your hands for some time.. I really don't know much about this TRV at the moment. Also, check the batteries - 2.2V is too low?

Once you have it paired, you can switch to HE inbuilt Generic Thermostat driver - others are saying that the basic functionalities are working.

@kkossev you are an absolute superstar! I'm elated that this is now working, I can't begin to tell you how thankful I am.

I really look forward to your driver as there are a few unanswered questions regards this TRV.

I've added rechargeable batteries to the TRV, for some reason, they always seem to show lower battery strength, I've witnessed this with other devices so I'll swap them out for conventional batteries.

The temperature is dropping slowly which would imply that the TRV isnt ultra fast acting to temperature changes, however I guess the rate of change is inline with general room temperature rises and falls. My TRV started at such a high temperature because I had it stored next to my hub which was actually in my boiler room. Oops.

That said, I've found the ability to change temperature offsets useful in the past on my Hue outdoor motion sensors and my internal smarthings motion sensors which both measure temperature.

In summary, I'm extremely grateful for your help on this matter. You've taken away a weeks frustrations👍

1 Like

@dandanache - moving the conversation here :

Yes, this is exactly the setup which is best controlled by individual electronic thermostat radiator valves. There are a lot of different TRVs makes/ models, but we hope that the Aqara one may be better than Tuya's ...

What we believe is an advantage of the Aqara E1 thermostat over the other models is the possibility to use an external temperature sensor for the TRV built-in internal PID algorithm control, not the sensor that is inside the TRV - it is too close to the radiator heat.

This is a long thread of the Z2M implementation and somewhere there was the link to the already reverse-engineered aqara-specific protocol between the TRV and the external temperature sensor.

So there is no such possibility to add aqara thermostat E1 to hubitat with external temperature sensor?

Not at the moment. I mean, there is no HE driver yet.

Any news on a dedicated driver yet? Happy to help with any testing. I have 8 units and also have 8 aqara temperature units too so can test all features.

Omg, does anyone have a faulty one for sale. I bought mine 2 weeks ago and one of my children have stood on it and snapped it so it won't remain on the TRV body. I'd like to make a good one out of 2 broken ones👍

@darren.rockach you can try this test version :

https://raw.githubusercontent.com/kkossev/Hubitat/development/Drivers/Aqara%20E1%20Thermostat/Aqara_E1_Thermostat_lib_included.groovy

It is still far away from adding an external temperature sensor, but at least allows configuration for a more frequent update of the TRV internal temperature sensor.
image

It also decodes (only decode!) the Aqara-specific settings :
image

That's great thank you. I've set it for just a single unit at the moment and everything seems good. :slight_smile:
Hopefully will swap the rest over in a little while.

Better use only one device for the tests...

There is still one major functionality missing - the operating state of the E1 valve - whether the thermostat is in a heating or in an idle (closed valve) mode.

Yesterday I updated the firmware of my Aqara E1 thermostat using Aqara E1 USB hub.
From 0.0.0937 it was updated first to 0.0.0_825 and then again to 0.0.0_1030
As a result, the battery level updates are not working anymore .. : (
Hopefully, these updates are fixing some other issues that we were not aware of.

Aqara does not follow the Zigbee standards even for the firmware version standard commands, so after the updates this driver (and also HE inbuilt drivers) will still show the old version.. This is next thing to fix in this driver when I have a chance.

I am now 99% certain that Aqara E1 thermostat does not send back to the Zigbee coordinator the actual open/closed status of the valve. Which is very disappointing for me, because most of the other TRVs that I have used so far are sending the valve status (open/closed, or even the percentage!). This was very important for me, because I used it in some nice charts in the previous years, and the percentage of the valve opening is a very good indicator of the effectivity of the TRV built-in PID control algorithm... With Aqara we will have to live without this extra.

No news in this case ?

Hi guys, I do like the physical functionality of the Aqara TRV. However, it seems that it doesn't quite tick the boxes in Hubitat.

I love the rotatable temperature dial and how it updates the temperature settings and display, it's very WAF and Child friendly but it doesn't work as we would like in HE.

I had a Moeshouse TRV which was effective, however, the touch screen display on the top was not user friendly and terrible for WAF and Children.

So a question to everyone, is there a similar ZigBee TRV out there which has a rotating dial which updates the TRV display and HE effectively. I.e.a hybrid of the Moe's House and Square TRV. Please help and thanks in advance :+1:

I am slowly switching to TRVs drivers support now... After I finish the work for this Tuya/Moes TRV, will ba back on Aqara.

@stueyhughes what is the most important feature you would like to have implemented for Aqara E1? The external temperature sensor will be the last feature to be added, as it is the most complex... what are the other most important features for you?

For me external temperature sensor :crazy_face:

1 Like

Oh thanks, I'm looking for any TRV with a rotatable head. On the Aqara, it would be great if it displayed the current room temperature, I assume it will do this once the external sensor issue is sorted. Will this be the case?