{
    "cmd_class.0x20.*.cmd.0x01":{
        "comment":"Basic.Set Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) Value: $(cmd_params.0.value)"
        }
    },
    "cmd_class.0x20.*.cmd.0x03":{
        "comment":"Basic.REPORT. Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) Value: $(cmd_params.0.value)"
        }
    },
    "cmd_class.0x25.*.cmd.0x01":{
        "comment":"SwitchBinary.Set Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.0.value_name)"
        }
    },
    "cmd_class.0x25.*.cmd.0x03":{
        "comment":"SwitchBinary.REPORT. Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.0.value_name)"
        }
    },
    "cmd_class.0x26.*.cmd.0x01":{
        "comment":"SwitchMultilevel.Set Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) Value: $(cmd_params.0.value) %"
        }
    },
    "cmd_class.0x26.*.cmd.0x03":{
        "comment":"SwitchMultilevel.REPORT. Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) Value: $(cmd_params.0.value) %"
        }
    },
    "cmd_class.0x30.1.cmd.0x03":{
        "comment":"SensorBinaryV1.Report Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.0.value_name)"
        }
    },
    "cmd_class.0x30.2.cmd.0x03":{
        "comment":"SensorBinaryV2.Report Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.1.value_name) $(cmd_params.0.value_name)"
        }
    },
    "cmd_class.0x30.2.cmd.0x03.param.0x01":{
        "comment":"SensorBinaryV2.Report Fix type field format",
        "patch":{
            "type":"CONST"
        }
    },
    "cmd_class.0x31.*.cmd.0x05":{
        "comment":"SensorMultilevel. Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.0.value_name) $(cmd_params.2.value,ZME_FMT,FPOINT,@cmd_params.1.sub_values.2.value)"
        }
    },
    "cmd_class.0x32.[1,2].cmd.0x02":{
        "comment":"Adds metaparam for Meter.Report command v1. Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.0.sub_values.0.value) $(cmd_params.2.value,ZME_FMT,FPOINT,@cmd_params.1.sub_values.2.value) $(meta_params.0.value_name)",
            "meta_param":{
                "0x01":{
                    "name":"scale",
                    "type":"DEPEND_CONST",
                    "ref":[
                        {   "index":"1",
                            "mask":"0x18",
                            "shift_src":"3",
                            "shift_dst":"0"}
                    ],
                    "dep_const":{
                        "key_i":"0",
                        "key_mask":"0x1F",
                        "value_map":{
                            "0x01":{"0x00":"kWh","0x01":"kVAh","0x02":"W", "0x03":"Pulses","0x04":"V", "0x05":"A", "0x06":"PowFactor", "0x07":"M.S.T"},
                            "0x02":{"0x00":"m^3","0x01":"f^3", "0x03":"Pulses", "0x07":"MST"},
                            "0x03":{"0x00":"m^3","0x01":"f^3", "0x03":"Pulses", "0x07":"MST"}
                        }
                    }
                }

            }
        }
    },
    "cmd_class.0x32.[3,4,5,6].cmd.0x02":{
        "comment":"Adds metaparam for Meter.Report command v3+. Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) $(cmd_params.0.sub_values.0.value) $(cmd_params.2.value,ZME_FMT,FPOINT,@cmd_params.1.sub_values.2.value) $(meta_params.0.value_name)",
            "meta_param":{
                "0x01":{
                    "name":"scale",
                    "type":"DEPEND_CONST",
                    "ref":[
                        {"index":"1",
                        "mask":"0x18",
                        "shift_src":"3",
                        "shift_dst":"0"},
                        {"index":"0",
                        "mask":"0x80",
                        "shift_src":"7",
                        "shift_dst":"2"}
                    ],
                    "dep_const":{
                        "key_i":"0",
                        "key_mask":"0x1F",
                        "value_map":{
                            "0x01":{"0x00":"kWh","0x01":"kVAh","0x02":"W", "0x03":"Pulses","0x04":"V", "0x05":"A", "0x06":"PowFactor", "0x07":"M.S.T"},
                            "0x02":{"0x00":"m^3","0x01":"f^3", "0x03":"Pulses", "0x07":"MST"},
                            "0x03":{"0x00":"m^3","0x01":"f^3", "0x03":"Pulses", "0x07":"MST"},
                            "0x04":{"0x00":"kWh"},
                            "0x05":{"0x00":"kWh"}
                        }
                    }
                }
            }
        }
    },
    "cmd_class.0x71.*.cmd.0x05":{
        "comment":"Notification.Report Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) Type: $(cmd_params.4.value_name) Event: $(cmd_params.5.value)"
        }
    },
    "cmd_class.0x80.*.cmd.0x03":{
        "comment":"Battery.Report Adds advanced spelling",
        "patch":{
            "spelling_format":"$(cc_name).$(cmd_name) Capacity: $(cmd_params.0.value) %"
        }
    }
    

}