What do I need at Ikea?

If you make the change to disable power reporting that I posted above in What do I need at Ikea? - #298 by HAL9000, disable health checks also for now. The health checks include getting very upset if power monitoring stats aren’t being received.

This was suggested, but I haven’t tried it yet:

Replace this entire section inside deviceHealthCheck() with

// Only perform stale-report checks when automatic reporting is enabled
if (enablePowerReporting != false) {

// Voltage staleness check
def lastVoltage = device.currentState("voltage")
if (lastVoltage == null || (now() - lastVoltage.date.time) > 1 * 3600 * 1000L) {
    logWarn "No voltage report in >1h — requesting voltage attribute read"
    sendHubCommand(new HubAction(
        matter.readAttributes([matter.attributePath(0x02, 0x0090, 0x000B)]),
        Protocol.MATTER))
} else {
    logDebug "Voltage report is recent (last: ${lastVoltage.date})"
}

// Power staleness check
def lastPower = device.currentState("power")
if (lastPower == null || (now() - lastPower.date.time) > 1 * 3600 * 1000L) {
    logWarn "No power report in >1h — requesting power attribute read"
    sendHubCommand(new HubAction(
        matter.readAttributes([matter.attributePath(0x02, 0x0090, 0x0008)]),
        Protocol.MATTER))
} else {
    logDebug "Power report is recent (last: ${lastPower.date})"
}

// Energy staleness check
def lastEnergy = device.currentState("energy")
if (lastEnergy == null || (now() - lastEnergy.date.time) > 1 * 3600 * 1000L) {
    logWarn "No energy report in >1h — requesting energy attribute read"
    sendHubCommand(new HubAction(
        matter.readAttributes([matter.attributePath(0x02, 0x0091, 0x0001)]),
        Protocol.MATTER))
} else {
    logDebug "Energy report is recent (last: ${lastEnergy.date})"
}

}