Description
The XBee data and metadata objects (messages, status, addresses, etc) are not natively JSON serializable, which slightly complicates integration of this library into a multi-agent control frameworks where agents communicate over a message brokers such as ZeroMQ, RabbitMQ, or Mosquitto, which require all messages JSON serializable. I find myself frequently building serializations for the XBee data classes.
Since the serialize/deserialize format must be compatible between sender and reeiver, it would be good if there are formal serialize/deserialize methods build into these objects to guarantee this compatibility. Something like:
msq = device.read(...)
msq_json = msg.to_json()
publish(msq_json) # some publish over a message broker
from digi.xbee.utils import read_json
msg = read_json(msq_json)