This is what is in the state.json, so I really like the integration:
"date_code": "20220617",
"definition": {
"description": "Aqara smart smoke detector",
"exposes": [
{
"access": 5,
"description": "Indicates whether the device detected smoke",
"label": "Smoke",
"name": "smoke",
"property": "smoke",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 5,
"description": "Value of smoke concentration",
"label": "Smoke density",
"name": "smoke_density",
"property": "smoke_density",
"type": "numeric"
},
{
"access": 5,
"description": "Value of smoke concentration in dB/m",
"label": "Smoke density dbm",
"name": "smoke_density_dbm",
"property": "smoke_density_dbm",
"type": "numeric",
"unit": "dB/m"
},
{
"access": 2,
"description": "Starts the self-test process (checking the indicator light and buzzer work properly)",
"label": "Selftest",
"name": "selftest",
"property": "selftest",
"type": "enum",
"values": [
"selftest"
]
},
{
"access": 1,
"description": "Self-test in progress",
"label": "Test",
"name": "test",
"property": "test",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 2,
"description": "The buzzer can be muted and alarmed manually. During a smoke alarm, the buzzer can be manually muted for 80 seconds (\"mute\") and unmuted (\"alarm\"). The buzzer cannot be pre-muted, as this function only works during a smoke alarm. During the absence of a smoke alarm, the buzzer can be manually alarmed (\"alarm\") and disalarmed (\"mute\"), but for this \"linkage_alarm\" option must be enabled",
"label": "Buzzer",
"name": "buzzer",
"property": "buzzer",
"type": "enum",
"values": [
"mute",
"alarm"
]
},
{
"access": 5,
"description": "Buzzer alarmed (manually)",
"label": "Buzzer manual alarm",
"name": "buzzer_manual_alarm",
"property": "buzzer_manual_alarm",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 5,
"description": "Buzzer muted (manually)",
"label": "Buzzer manual mute",
"name": "buzzer_manual_mute",
"property": "buzzer_manual_mute",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 7,
"description": "When this option is enabled then in the normal monitoring state, the green indicator light flashes every 60 seconds",
"label": "Heartbeat indicator",
"name": "heartbeat_indicator",
"property": "heartbeat_indicator",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 7,
"description": "When this option is enabled and a smoke alarm has occurred, then \"linkage_alarm_state\"=true, and when the smoke alarm has ended or the buzzer has been manually muted, then \"linkage_alarm_state\"=false",
"label": "Linkage alarm",
"name": "linkage_alarm",
"property": "linkage_alarm",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 1,
"description": "\"linkage_alarm\" is triggered",
"label": "Linkage alarm state",
"name": "linkage_alarm_state",
"property": "linkage_alarm_state",
"type": "binary",
"value_off": false,
"value_on": true
},
{
"access": 1,
"description": "Remaining battery in %, can take up to 24 hours before reported.",
"label": "Battery",
"name": "battery",
"property": "battery",
"type": "numeric",
"unit": "%",
"value_max": 100,
"value_min": 0
},
{
"access": 1,
"description": "Voltage of the battery in millivolts",
"label": "Voltage",
"name": "voltage",
"property": "voltage",
"type": "numeric",
"unit": "mV"
},
{
"access": 1,
"description": "Number of power outages",
"label": "Power outage count",
"name": "power_outage_count",
"property": "power_outage_count",
"type": "numeric"
},
{
"access": 1,
"description": "Link quality (signal strength)",
"label": "Linkquality",
"name": "linkquality",
"property": "linkquality",
"type": "numeric",
"unit": "lqi",
"value_max": 255,
"value_min": 0
}
],
"model": "JY-GZ-01AQ",
"options": [],
"supports_ota": true,
"vendor": "Xiaomi"
},
"description": "text",
"disabled": false,
"endpoints": {
"1": {
"bindings": [],
"clusters": {
"input": [
"genBasic",
"ssIasZone",
"genIdentify",
"genPowerCfg"
],
"output": [
"genOta"
]
},
"configured_reportings": [],
"scenes": []
}
},
"friendly_name": "Rauchmelder Gast",
"ieee_address": "ieeexxx",
"interview_completed": true,
"interviewing": false,
"manufacturer": "LUMI",
"model_id": "lumi.sensor_smoke.acn03",
"network_address": 7254,
"power_source": "Battery",
"software_build_id": "2019\u0000www.",
"supported": true,
"type": "EndDevice"
},
And this is how it appears in HA without any action from my side. The only thing I did was started pairing to Z2M and giving it a nice name.
The battery still reports 100%