Insteon-MQTT tries to track why a device changed state and reports this as reason. The possible values are:
deviceif a button was pressed on the device.sceneif the device is responding to a scene trigger.refreshif the update is from a refresh'.commandif the device is responding to an on/off command.an arbitrary stringif one was passed in via the scene or on/off style command inputs.
The reason string is a value that can be used in templating. It is not enabled by default. You will need to edit your config.yaml file if you wish to enable reason support.
It can be useful in automations to pass the reason why a device state was changed so that other automations can see and handle the change appropriately.