You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi.
Xiaomi curtain motor b1 has battery, so it didn't need external power.
Therefore we need to know battery level.
I find solution, but i have some problem in coding.
Battery level read packet(comand) (It must send command for knowing battery level.)
=> payload = {0x0021: {value, type: 0x39}};
Battery level read packet(Read)
=> cluster:CLUSTER_POWER(0x0001), battery level : msg.data['61440'] (The value located same as cover position and percentage.)
I hope my information helped you.
The text was updated successfully, but these errors were encountered:
{zigbeeModel: ['lumi.curtain.hagl04'],model: 'ZNCLDJ12LM',vendor: 'Xiaomi',description: 'Aqara B1 curtain motor ',supports: 'open, close, stop, position',fromZigbee: [fz.ZNCLDJ11LM_ZNCLDJ12LM_curtain_analog_output,fz.cover_position_tilt,fz.ignore_basic_report,fz.battery],toZigbee: [tz.ZNCLDJ11LM_ZNCLDJ12LM_control,tz.ZNCLDJ12LM_options],onEvent: async(type,data,device)=>{// The position (genAnalogOutput.presentValue) reported via an attribute contains an invaid value// however when reading it will provide the correct value.if(data.type==='attributeReport'&&data.cluster==='genAnalogOutput'){awaitdevice.endpoints[0].read('genAnalogOutput',['presentValue']);}},meta: {configureKey: 1},configure: async(device,coordinatorEndpoint)=>{constendpoint=device.endpoints[0];awaitbind(endpoint,coordinatorEndpoint,['genPowerCfg']);awaitconfigureReporting.batteryPercentageRemaining(endpoint);},},
After this I expect the battery to be reported within 24 hours.
Hi.
Xiaomi curtain motor b1 has battery, so it didn't need external power.
Therefore we need to know battery level.
I find solution, but i have some problem in coding.
following this link(https://github.com/uqpqpu/st-driver/blob/master/devicetypes/shinjjang/xiaomi-curtain-b1.src/xiaomi-curtain-b1.groovy#L109)
The link has packet information.
Battery level read packet(comand) (It must send command for knowing battery level.)
=> payload = {0x0021: {value, type: 0x39}};
Battery level read packet(Read)
=> cluster:CLUSTER_POWER(0x0001), battery level : msg.data['61440'] (The value located same as cover position and percentage.)
I hope my information helped you.
The text was updated successfully, but these errors were encountered: