VZM31-SN energy reset

First a thank you to the Inovelli team for making many of the best smart home products in the world. The team should be proud of the contributions they are making to the this community and the world at large. Thank you!

Context:
I would like to align my electrical billing with the energy meters in my smart home products. In other words, my energy bill cycle is from the 12th to the 11th across every month, for example, Jan 12 - Feb 11, Feb 12 - Mar 11, and so forth.

Request:
I would like to reset the energy meter (kWh) on the 12th of every month to align with my bill. In other words, on Feb 12th, the energy meter would be reset to 0 kWh, and would begin to accumulate until Mar 11th, where it might be 3.5kWh. Hopefully, I can automate something to reset the meter back to 0 kWh on Mar 12th.

Research:
Currently, I’m using zigbee2mqtt, and I don’t see this as an exposed option.

When I looked through the parameters, I don’t see anything obvious here:

Can anyone provide me some insight into whether the VZM31-SN product can do this?

Thank you!
SixO

This is available on the hub side. Hubitat can do it so I’m sure the HA world can easily perform what you’re requesting. Just need to find the MQTT experts.

I appreciate hint.

I found the source code here:
https://raw.githubusercontent.com/InovelliUSA/Hubitat/master/Drivers/inovelli-dimmer-blue-series-vzm31-sn.src/inovelli-dimmer-blue-series-vzm31-sn.groovy

And this appears to be the code:

def resetEnergyMeter() {
    if (infoEnable) log.info "${device.displayName} resetEnergyMeter(" + device.currentValue("energy") + "kWh)"
    state.lastCommandSent =                        "resetEnergyMeter(" + device.currentValue("energy") + "kWh)"
    state.lastCommandTime = nowFormatted()
    def cmds = []
    cmds += zigbee.command(0xfc31,0x02,["mfgCode":"0x122F"],shortDelay,"0")
    cmds += zigbee.readAttribute(CLUSTER_SIMPLE_METERING, 0x0000)
    if (debugEnable) log.debug "${device.displayName} resetEnergyMeter $cmds"
    return cmds 
}

My speculation is that I could enter this: 0xfc31,0x02,[“mfgCode”:“0x122F”],shortDelay,“0” (and this? CLUSTER_SIMPLE_METERING, 0x0000) some how into the dev console in zigbee2mqtt. That’d certainly be a first step.

Second step would be to figure out a way to do this without the console.

I’d love some help converting the code into something I can do in zigbee2mqtt.

Appreciate the help!