Wed, 29 Aug 2018 19:59:02 +0200
MqttMonitorWidget: implemented part 1 of the status tab.
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
3 | # Copyright (c) 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
4 | # |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
5 | |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
7 | Module implementing the MQTT Monitor widget. |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from __future__ import unicode_literals |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
5
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
12 | try: |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
13 | str = unicode # __IGNORE_EXCEPTION__ |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
14 | except NameError: |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
15 | pass |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
16 | |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | import os |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
19 | from PyQt5.QtCore import pyqtSlot, QTimer |
5
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
20 | from PyQt5.QtGui import QTextCursor |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | from PyQt5.QtWidgets import QWidget |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
23 | from E5Gui import E5MessageBox |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
24 | |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | from .Ui_MqttMonitorWidget import Ui_MqttMonitorWidget |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
27 | from .MqttClient import MqttClient, mqttConnackMessage, mqttErrorMessage |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
28 | |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import UI.PixmapCache |
5
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
30 | import Utilities |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | class MqttMonitorWidget(QWidget, Ui_MqttMonitorWidget): |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
35 | Class implementing the MQTT Monitor widget. |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
37 | BrokerStatusTopicPrefix = "$SYS/broker/" |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
38 | BrokerStatusTopic = "$SYS/broker/#" |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
39 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
40 | def __init__(self, plugin, parent=None): |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | Constructor |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
44 | @param plugin reference to the plug-in object |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
45 | @type MqttMonitorPlugin |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | @param parent reference to the parent widget |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | @type QWidget |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | super(MqttMonitorWidget, self).__init__(parent) |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.setupUi(self) |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
52 | self.__plugin = plugin |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
53 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
54 | self.__connectedToBroker = False |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
55 | self.__brokerStatusTopicSubscribed = False |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
56 | |
1
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.pixmapLabel.setPixmap(UI.PixmapCache.getPixmap( |
bf1a17419d44
Added first outline of the MQTT Monitor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | os.path.join("MqttMonitor", "icons", "mqtt48.png"))) |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
59 | |
5
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
60 | self.brokerWidget.setCurrentIndex(0) |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
61 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
62 | self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png")) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
63 | self.brokerComboBox.addItems( |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
64 | self.__plugin.getPreferences("RecentBrokers")) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
65 | self.brokerStatusLabel.hide() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
66 | |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
67 | self.subscribeButton.setIcon(UI.PixmapCache.getIcon("plus.png")) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
68 | self.subscribeButton.setEnabled(False) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
69 | self.unsubscribeButton.setIcon(UI.PixmapCache.getIcon("minus.png")) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
70 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
71 | self.__subscribedTopics = [] |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
72 | self.__topicQueue = {} |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
73 | self.__updateUnsubscribeTopicComboBox() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
74 | |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
75 | self.__statusLabelMapping = { |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
76 | MqttMonitorWidget.BrokerStatusTopicPrefix + "version": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
77 | self.versionLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
78 | MqttMonitorWidget.BrokerStatusTopicPrefix + "timestamp": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
79 | self.timestampLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
80 | MqttMonitorWidget.BrokerStatusTopicPrefix + "uptime": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
81 | self.uptimeLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
82 | MqttMonitorWidget.BrokerStatusTopicPrefix + "subscriptions/count": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
83 | self.subscriptionsLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
84 | MqttMonitorWidget.BrokerStatusTopicPrefix + "clients/connected": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
85 | self.clientsConnectedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
86 | MqttMonitorWidget.BrokerStatusTopicPrefix + "clients/disconnected": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
87 | self.clientsDisconnectedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
88 | MqttMonitorWidget.BrokerStatusTopicPrefix + "clients/expired": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
89 | self.clientsExpiredLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
90 | MqttMonitorWidget.BrokerStatusTopicPrefix + "clients/maximum": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
91 | self.clientsMaximumLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
92 | MqttMonitorWidget.BrokerStatusTopicPrefix + "clients/total": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
93 | self.clientsTotalLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
94 | MqttMonitorWidget.BrokerStatusTopicPrefix + "messages/sent": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
95 | self.messagesSentLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
96 | MqttMonitorWidget.BrokerStatusTopicPrefix + "messages/received": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
97 | self.messagesReceivedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
98 | MqttMonitorWidget.BrokerStatusTopicPrefix + "messages/stored": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
99 | self.messagesStoredLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
100 | MqttMonitorWidget.BrokerStatusTopicPrefix + "store/messages/count": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
101 | self.messagesStoredLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
102 | MqttMonitorWidget.BrokerStatusTopicPrefix + "messages/inflight": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
103 | self.messagesInflightLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
104 | MqttMonitorWidget.BrokerStatusTopicPrefix + \ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
105 | "retained messages/count": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
106 | self.messagesRetainedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
107 | MqttMonitorWidget.BrokerStatusTopicPrefix + \ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
108 | "publish/messages/sent": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
109 | self.publishMessagesSentLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
110 | MqttMonitorWidget.BrokerStatusTopicPrefix + \ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
111 | "publish/messages/received": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
112 | self.publishMessagesReceivedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
113 | MqttMonitorWidget.BrokerStatusTopicPrefix + \ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
114 | "publish/messages/dropped": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
115 | self.publishMessagesDroppedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
116 | MqttMonitorWidget.BrokerStatusTopicPrefix + "bytes/sent": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
117 | self.bytesSentLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
118 | MqttMonitorWidget.BrokerStatusTopicPrefix + "bytes/received": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
119 | self.bytesReceivedLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
120 | ## MqttMonitorWidget.BrokerStatusTopicPrefix + "": |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
121 | ## self.versionLabel, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
122 | } |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
123 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
124 | self.__client = MqttClient() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
125 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
126 | # connect the MQTT client signals |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
127 | self.__client.onConnect.connect(self.__brokerConnected) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
128 | self.__client.onDisconnected.connect(self.__brokerDisconnected) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
129 | self.__client.onMessage.connect(self.__messageReceived) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
130 | self.__client.onPublish.connect(self.__messagePublished) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
131 | self.__client.onSubscribe.connect(self.__topicSubscribed) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
132 | self.__client.onUnsubscribe.connect(self.__topicUnsubscribed) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
133 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
134 | ####################################################################### |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
135 | ## Slots handling MQTT related signals |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
136 | ####################################################################### |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
137 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
138 | @pyqtSlot(dict, int) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
139 | def __brokerConnected(self, flags, rc): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
140 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
141 | Private slot to handle being connected to a broker. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
142 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
143 | @param flags flags set for the connection |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
144 | @type dict |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
145 | @param rc CONNACK result code |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
146 | @type int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
147 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
148 | if rc == 0: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
149 | self.__connectedToBroker = True |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
150 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
151 | msg = mqttConnackMessage(rc) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
152 | self.__flashBrokerStatusLabel(msg) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
153 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
154 | self.connectButton.setIcon(UI.PixmapCache.getIcon("ircDisconnect.png")) |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
155 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
156 | self.subscribeGroup.setEnabled(True) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
157 | self.unsubscribeGroup.setEnabled(True) |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
158 | self.brokerStatusButton.setEnabled(True) |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
159 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
160 | @pyqtSlot(int) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
161 | def __brokerDisconnected(self, rc): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
162 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
163 | Private slot to handle a disconnection from the broker. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
164 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
165 | @param rc MQTT error result code |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
166 | @type int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
167 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
168 | self.__connectedToBroker = False |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
169 | |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
170 | # ensure, the client loop is stopped |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
171 | self.__client.stopLoop() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
172 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
173 | if rc != 0: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
174 | msg = mqttErrorMessage(rc) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
175 | else: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
176 | msg = self.tr("Connection to Broker shut down cleanly.") |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
177 | self.__flashBrokerStatusLabel(msg) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
178 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
179 | self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png")) |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
180 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
181 | self.__subscribedTopics = [] |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
182 | self.__topicQueue = {} |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
183 | self.__updateUnsubscribeTopicComboBox() |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
184 | |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
185 | self.subscribeGroup.setEnabled(False) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
186 | self.unsubscribeGroup.setEnabled(False) |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
187 | self.brokerStatusButton.setEnabled(False) |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
188 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
189 | @pyqtSlot(str, bytes, int, bool) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
190 | def __messageReceived(self, topic, payload, qos, retain): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
191 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
192 | Private slot to handle the receipt of a message. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
193 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
194 | @param topic topic of the message |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
195 | @type str |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
196 | @param payload payload (i.e. data) of the message |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
197 | @type bytes |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
198 | @param qos quality of service indicator |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
199 | @type int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
200 | @param retain flag indicating a retained message |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
201 | @type bool |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
202 | """ |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
203 | if topic.startswith(MqttMonitorWidget.BrokerStatusTopicPrefix): |
5
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
204 | # handle broker status messages |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
205 | self.__handleBrokerStatusMessage(topic, payload) |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
206 | else: |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
207 | self.__appendMessage(topic, payload) |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
208 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
209 | @pyqtSlot(int) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
210 | def __messagePublished(self, mid): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
211 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
212 | Private slot to handle a message being published. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
213 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
214 | @param mid ID of the published message |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
215 | @type int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
216 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
217 | pass |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
218 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
219 | @pyqtSlot(int, tuple) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
220 | def __topicSubscribed(self, mid, grantedQos): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
221 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
222 | Private slot to handle being subscribed to topics. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
223 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
224 | @param mid ID of the subscribe request |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
225 | @type int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
226 | @param grantedQos tuple of granted quality of service |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
227 | @type tuple of int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
228 | """ |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
229 | if mid in self.__topicQueue: |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
230 | topic = self.__topicQueue.pop(mid) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
231 | self.__subscribedTopics.append(topic) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
232 | self.subscribeTopicEdit.clear() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
233 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
234 | self.__updateUnsubscribeTopicComboBox() |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
235 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
236 | @pyqtSlot(int) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
237 | def __topicUnsubscribed(self, mid): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
238 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
239 | Private slot to handle being unsubcribed from a topic. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
240 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
241 | @param mid ID of the unsubscribe request |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
242 | @type int |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
243 | """ |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
244 | if mid in self.__topicQueue: |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
245 | topic = self.__topicQueue.pop(mid) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
246 | try: |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
247 | self.__subscribedTopics.remove(topic) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
248 | self.__updateUnsubscribeTopicComboBox() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
249 | except ValueError: |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
250 | # ignore it |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
251 | pass |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
252 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
253 | ####################################################################### |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
254 | ## Slots handling UI interactions |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
255 | ####################################################################### |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
256 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
257 | @pyqtSlot() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
258 | def __flashBrokerStatusLabel(self, message): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
259 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
260 | Private slot to show the broker status label with some text for |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
261 | 5 seconds. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
262 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
263 | @param message message to be shown |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
264 | @type str |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
265 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
266 | self.brokerStatusLabel.setText(message) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
267 | self.brokerStatusLabel.show() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
268 | QTimer.singleShot(5000, self.brokerStatusLabel.hide) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
269 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
270 | @pyqtSlot(str) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
271 | def on_brokerComboBox_editTextChanged(self, host): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
272 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
273 | Private slot to handling entering or selecting a broker host name. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
274 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
275 | @param host host name of the broker |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
276 | @type str |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
277 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
278 | if not self.__connectedToBroker and not host: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
279 | self.connectButton.setEnabled(False) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
280 | else: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
281 | self.connectButton.setEnabled(True) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
282 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
283 | @pyqtSlot() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
284 | def on_connectButton_clicked(self): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
285 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
286 | Private slot to handle a connect or disconnect request. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
287 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
288 | if self.__connectedToBroker: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
289 | self.__client.disconnectFromServer() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
290 | else: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
291 | host = self.brokerComboBox.currentText() |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
292 | if host: |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
293 | self.__addBrokerToRecent(host) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
294 | self.__client.connectToServer(host) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
295 | # use standard port at 1883 |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
296 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
297 | @pyqtSlot(str) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
298 | def on_subscribeTopicEdit_textChanged(self, topic): |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
299 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
300 | Private slot to handle a change of the entered topic. |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
301 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
302 | @param topic entered topic text |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
303 | @type str |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
304 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
305 | self.subscribeButton.setEnabled(bool(topic)) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
306 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
307 | @pyqtSlot() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
308 | def on_subscribeButton_clicked(self): |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
309 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
310 | Private slot to subscribe to the entered topic. |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
311 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
312 | topic = self.subscribeTopicEdit.text() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
313 | qos = self.subscribeQosSpinBox.value() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
314 | if topic: |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
315 | if topic.startswith(MqttMonitorWidget.BrokerStatusTopicPrefix): |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
316 | E5MessageBox.warning( |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
317 | self, |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
318 | self.tr("Subscribe to Topic"), |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
319 | self.tr("Subscriptions to the Status topic '$SYS' shall" |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
320 | " be done on the Status tab.")) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
321 | else: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
322 | self.__topicQueue[ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
323 | self.__client.subscribe(topic, qos)[1]] = topic |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
324 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
325 | @pyqtSlot(str) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
326 | def on_unsubscribeTopicComboBox_currentIndexChanged(self, topic): |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
327 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
328 | Private slot to handle the selection of a topic to unsubscribe from. |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
329 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
330 | @param topic topic text |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
331 | @type str |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
332 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
333 | self.unsubscribeButton.setEnabled(bool(topic)) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
334 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
335 | @pyqtSlot() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
336 | def on_unsubscribeButton_clicked(self): |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
337 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
338 | Private slot to unsubscribe from the selected topic. |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
339 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
340 | topic = self.unsubscribeTopicComboBox.currentText() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
341 | if topic: |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
342 | self.__topicQueue[ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
343 | self.__client.unsubscribe(topic)[1]] = topic |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
344 | |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
345 | @pyqtSlot() |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
346 | def on_brokerStatusButton_clicked(self): |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
347 | """ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
348 | Private slot to subscribe or unsubscribe the broker status topic. |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
349 | """ |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
350 | if self.__brokerStatusTopicSubscribed: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
351 | # unsubscribe status topic |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
352 | rc, _ = self.__client.unsubscribe( |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
353 | MqttMonitorWidget.BrokerStatusTopic) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
354 | if rc == 0: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
355 | # successfully sent |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
356 | self.__brokerStatusTopicSubscribed = False |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
357 | self.brokerStatusButton.setText(self.tr("Subscribe")) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
358 | self.brokerStatusButton.setToolTip( |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
359 | self.tr("Press to activate the status display")) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
360 | else: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
361 | # subscribe status topic |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
362 | rc, _ = self.__client.subscribe( |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
363 | MqttMonitorWidget.BrokerStatusTopic) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
364 | if rc == 0: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
365 | # successfully sent |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
366 | self.__brokerStatusTopicSubscribed = True |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
367 | self.brokerStatusButton.setText(self.tr("Unsubscribe")) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
368 | self.brokerStatusButton.setToolTip( |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
369 | self.tr("Press to deactivate the status display")) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
370 | |
3
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
371 | ####################################################################### |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
372 | ## Utility methods |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
373 | ####################################################################### |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
374 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
375 | def __addBrokerToRecent(self, host): |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
376 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
377 | Private method to add a host name to the list of recently connected |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
378 | brokers. |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
379 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
380 | @param host host name of broker |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
381 | @type str |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
382 | """ |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
383 | brokerList = self.__plugin.getPreferences("RecentBrokers") |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
384 | if host in brokerList: |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
385 | brokerList.remove(host) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
386 | brokerList.insert(0, host) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
387 | self.__plugin.setPreferences("RecentBrokers", brokerList) |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
388 | |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
389 | self.brokerComboBox.clear() |
82845c0fd550
Fixed some code style issues and implemented the broker connect/disconnect group of the MqttMonitorWidget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
390 | self.brokerComboBox.addItems(brokerList) |
4
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
391 | |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
392 | def __updateUnsubscribeTopicComboBox(self): |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
393 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
394 | Private method to update the unsubcribe topic combo box. |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
395 | """ |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
396 | self.unsubscribeTopicComboBox.clear() |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
397 | self.unsubscribeTopicComboBox.addItems(sorted(self.__subscribedTopics)) |
991db89bda9c
MqttMonitorWidget: added functionality to subscribe to and unsubscribe from topics.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
398 | self.unsubscribeButton.setEnabled(len(self.__subscribedTopics) > 0) |
5
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
399 | |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
400 | def __appendMessage(self, topic, payload): |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
401 | """ |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
402 | Private method to append a received message to the output. |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
403 | |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
404 | @param topic topic of the received message |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
405 | @type str |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
406 | @param payload payload of the received message |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
407 | @type bytes |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
408 | """ |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
409 | payloadStr = str(payload, encoding="utf-8", errors="replace") |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
410 | txt = "{0} {1}".format(topic, payloadStr) |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
411 | if not txt.endswith(("\r\n", "\r", "\n")): |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
412 | txt += "\n" |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
413 | |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
414 | tc = self.messagesEdit.textCursor() |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
415 | tc.movePosition(QTextCursor.End) |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
416 | self.messagesEdit.setTextCursor(tc) |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
417 | self.messagesEdit.insertPlainText(Utilities.filterAnsiSequences(txt)) |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
418 | self.messagesEdit.ensureCursorVisible() |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
419 | |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
420 | def __handleBrokerStatusMessage(self, topic, payload): |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
421 | """ |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
422 | Private method to append a received message to the output. |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
423 | |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
424 | @param topic topic of the received message |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
425 | @type str |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
426 | @param payload payload of the received message |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
427 | @type bytes |
7162c838cfc9
MqttMonitorWidget: added functionality to receive messages and show them in a text edit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
428 | """ |
6
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
429 | payloadStr = str(payload, encoding="utf-8", errors="replace").strip() |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
430 | |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
431 | try: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
432 | label = self.__statusLabelMapping[topic.strip()] |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
433 | label.setText(payloadStr) |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
434 | except KeyError: |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
435 | # ignore topics not shown in display |
d22f5ce3a07a
MqttMonitorWidget: implemented part 1 of the status tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5
diff
changeset
|
436 | pass |