What is the difference between device and origin in MQTT?

Both device and origin fields have an entry called sw_version.

I think sw_version under device means the firmware version flashed into the device. How about the sw_version under origin?

sw_version in origin would be like zigbee2mqtt’s software version, where under device it would be the hue bulb’s firmware.

I still don’t get it. I wrote Arduino code to publish the message. Is the sw_version the version of the library I used to publish the message?

In that case, it would be the same, since the device is also the software provider.

Gotcha! Thanks.