Exemple #1
0
 def do_publish(self, arg):
     'Publishes a message to mqq:  publish <topic topic>'
     parts = arg.split(' ', 1)
     topic = parts[0]
     message = parts[1] if len(parts) >= 2 else ""
     mqq_handler.publish(topic, message)
     return self._msg_form("Published: '{} : {}'".format(topic, message))
Exemple #2
0
    def refresh_node_list(self):
        self.nodes = {}
        self.hot_node = None

        # this function will
        mqq_handler.add_callback("esp/log", self._handle_node_messages)

        # connected esps will respond to this message
        mqq_handler.publish("esp/ping_all", "")
Exemple #3
0
 def background_script(self, value):
     self._state["background_script"] = value
     # updates background script on esp via mqq
     if value is not None and len(value) > 0:
         mqq_handler.publish("esp/{}/background_script".format(self.name),
                             value)
Exemple #4
0

# request to get log.  Returns rows of logs...
@app.route('/log')
def log():
    off = int(request.args.get('offset'))
    rows = jlog.rows(off)
    ret = {"rows": rows}
    return json.dumps(ret)


# push mqq log message into log q.
def log_message_handler(client, obj, msg):
    print("ON MESSAGE: " + msg.topic + " " + str(msg.qos) + " " +
          str(msg.payload))
    log_data = json.loads(msg.payload)
    jlog.event(log_data['levelname'], log_data["message"], log_data["client"])


if __name__ == '__main__':

    # setup cloud mqqt
    mqq_handler.init("esp monitor")
    mqq_handler.add_callback("esp/log", log_message_handler)
    mqq_handler.publish("esp/log", _start_message)

    esp_manager.init()

    # reloader reloads this module for debug purposes...
    app.run(debug=True, use_reloader=False, threaded=True, host='0.0.0.0')