def publish_message()

in src/main.py [0:0]


    def publish_message(self, publish_api, message_object, topic=None, ble_mac=None):
        '''
            IPC / MQTT / BLE message publisher.
            publish_api: ['ipc' | 'mqtt' | 'ble']
            topic: IPC or MQTT Topic, ignored if publish_api == 'ble'
            ble_mac: MAC adress to publish BLE message, ignored if publish_api == 'ipc' or 'mqtt'
        '''

        try:
            # Publish the message to the AWS Greengrass IPC or MQTT APIs
            if publish_api == 'ipc':
                self.ipc_topic_pubsub.publish_to_topic(topic, message_object)

            elif publish_api == 'mqtt':
                self.mqtt_core_pubsub.publish_to_mqtt(topic, message_object)

            elif publish_api == 'ble':
                self.ble_controller.publish_to_ble(ble_mac, message_object)

            else:
                raise Exception('Publish for unknown publish_api: {}'.format(publish_api))

        except Exception as err:
            msg = 'EXCEPTION: Error Publishing PUBLISH_API: {} - TOPIC: {} - MESSAGE: {} - ERROR: {}'.format(publish_api, topic, message_object, err)
            log.error(msg)
            self.publish_error(500, msg)