mirror of
https://github.com/markqvist/Sideband.git
synced 2025-02-14 13:41:26 -05:00
Added MQTT configuration UI
This commit is contained in:
parent
c4cdd388b7
commit
d459780ed7
@ -767,6 +767,16 @@ class RVDetails(MDRecycleView):
|
|||||||
threading.Thread(target=lj, daemon=True).start()
|
threading.Thread(target=lj, daemon=True).start()
|
||||||
|
|
||||||
release_function = select
|
release_function = select
|
||||||
|
|
||||||
|
elif name == "Reticulum Transport":
|
||||||
|
te = "enabled" if s["values"]["transport_enabled"] else "disabled"
|
||||||
|
formatted_values = f"Reticulum Transport [b]{te}[/b]"
|
||||||
|
|
||||||
|
elif name == "LXMF Propagation":
|
||||||
|
tp = str(s["values"]["total_peers"])
|
||||||
|
ap = str(s["values"]["active_peers"])
|
||||||
|
formatted_values = f"Peered with [b]{tp}[/b] LXMF Propagation Nodes, [b]{ap}[/b] available"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
formatted_values = f"{name}"
|
formatted_values = f"{name}"
|
||||||
for vn in s["values"]:
|
for vn in s["values"]:
|
||||||
|
@ -44,6 +44,30 @@ class Telemetry():
|
|||||||
else:
|
else:
|
||||||
self.screen.ids.telemetry_collector.text = RNS.hexrep(self.app.sideband.config["telemetry_collector"], delimit=False)
|
self.screen.ids.telemetry_collector.text = RNS.hexrep(self.app.sideband.config["telemetry_collector"], delimit=False)
|
||||||
|
|
||||||
|
self.screen.ids.telemetry_mqtt_host.bind(focus=self.telemetry_save)
|
||||||
|
if self.app.sideband.config["telemetry_mqtt_host"] == None:
|
||||||
|
self.screen.ids.telemetry_mqtt_host.text = ""
|
||||||
|
else:
|
||||||
|
self.screen.ids.telemetry_mqtt_host.text = self.app.sideband.config["telemetry_mqtt_host"]
|
||||||
|
|
||||||
|
self.screen.ids.telemetry_mqtt_port.bind(focus=self.telemetry_save)
|
||||||
|
if self.app.sideband.config["telemetry_mqtt_port"] == None:
|
||||||
|
self.screen.ids.telemetry_mqtt_port.text = ""
|
||||||
|
else:
|
||||||
|
self.screen.ids.telemetry_mqtt_port.text = self.app.sideband.config["telemetry_mqtt_port"]
|
||||||
|
|
||||||
|
self.screen.ids.telemetry_mqtt_user.bind(focus=self.telemetry_save)
|
||||||
|
if self.app.sideband.config["telemetry_mqtt_user"] == None:
|
||||||
|
self.screen.ids.telemetry_mqtt_user.text = ""
|
||||||
|
else:
|
||||||
|
self.screen.ids.telemetry_mqtt_user.text = self.app.sideband.config["telemetry_mqtt_user"]
|
||||||
|
|
||||||
|
self.screen.ids.telemetry_mqtt_pass.bind(focus=self.telemetry_save)
|
||||||
|
if self.app.sideband.config["telemetry_mqtt_pass"] == None:
|
||||||
|
self.screen.ids.telemetry_mqtt_pass.text = ""
|
||||||
|
else:
|
||||||
|
self.screen.ids.telemetry_mqtt_pass.text = self.app.sideband.config["telemetry_mqtt_pass"]
|
||||||
|
|
||||||
self.screen.ids.telemetry_icon_preview.icon_color = self.app.sideband.config["telemetry_fg"]
|
self.screen.ids.telemetry_icon_preview.icon_color = self.app.sideband.config["telemetry_fg"]
|
||||||
self.screen.ids.telemetry_icon_preview.md_bg_color = self.app.sideband.config["telemetry_bg"]
|
self.screen.ids.telemetry_icon_preview.md_bg_color = self.app.sideband.config["telemetry_bg"]
|
||||||
self.screen.ids.telemetry_icon_preview.icon = self.app.sideband.config["telemetry_icon"]
|
self.screen.ids.telemetry_icon_preview.icon = self.app.sideband.config["telemetry_icon"]
|
||||||
@ -83,6 +107,9 @@ class Telemetry():
|
|||||||
|
|
||||||
self.screen.ids.telemetry_allow_requests_from_anyone.active = self.app.sideband.config["telemetry_allow_requests_from_anyone"]
|
self.screen.ids.telemetry_allow_requests_from_anyone.active = self.app.sideband.config["telemetry_allow_requests_from_anyone"]
|
||||||
self.screen.ids.telemetry_allow_requests_from_anyone.bind(active=self.telemetry_save)
|
self.screen.ids.telemetry_allow_requests_from_anyone.bind(active=self.telemetry_save)
|
||||||
|
|
||||||
|
self.screen.ids.telemetry_to_mqtt.active = self.app.sideband.config["telemetry_to_mqtt"]
|
||||||
|
self.screen.ids.telemetry_to_mqtt.bind(active=self.telemetry_save)
|
||||||
|
|
||||||
|
|
||||||
self.screen.ids.telemetry_scrollview.effect_cls = ScrollEffect
|
self.screen.ids.telemetry_scrollview.effect_cls = ScrollEffect
|
||||||
@ -259,6 +286,11 @@ class Telemetry():
|
|||||||
self.app.sideband.config["telemetry_allow_requests_from_trusted"] = self.screen.ids.telemetry_allow_requests_from_trusted.active
|
self.app.sideband.config["telemetry_allow_requests_from_trusted"] = self.screen.ids.telemetry_allow_requests_from_trusted.active
|
||||||
self.app.sideband.config["telemetry_allow_requests_from_anyone"] = self.screen.ids.telemetry_allow_requests_from_anyone.active
|
self.app.sideband.config["telemetry_allow_requests_from_anyone"] = self.screen.ids.telemetry_allow_requests_from_anyone.active
|
||||||
self.app.sideband.config["telemetry_collector_enabled"] = self.screen.ids.telemetry_collector_enabled.active
|
self.app.sideband.config["telemetry_collector_enabled"] = self.screen.ids.telemetry_collector_enabled.active
|
||||||
|
self.app.sideband.config["telemetry_to_mqtt"] = self.screen.ids.telemetry_to_mqtt.active
|
||||||
|
self.app.sideband.config["telemetry_mqtt_host"] = self.screen.ids.telemetry_mqtt_host.text
|
||||||
|
self.app.sideband.config["telemetry_mqtt_port"] = self.screen.ids.telemetry_mqtt_port.text
|
||||||
|
self.app.sideband.config["telemetry_mqtt_user"] = self.screen.ids.telemetry_mqtt_user.text
|
||||||
|
self.app.sideband.config["telemetry_mqtt_pass"] = self.screen.ids.telemetry_mqtt_pass.text
|
||||||
|
|
||||||
self.app.sideband.save_configuration()
|
self.app.sideband.save_configuration()
|
||||||
if run_telemetry_update:
|
if run_telemetry_update:
|
||||||
@ -880,6 +912,90 @@ MDScreen:
|
|||||||
on_release: root.delegate.telemetry_bg_color(self)
|
on_release: root.delegate.telemetry_bg_color(self)
|
||||||
disabled: False
|
disabled: False
|
||||||
|
|
||||||
|
MDLabel:
|
||||||
|
text: "MQTT Configuration"
|
||||||
|
font_style: "H6"
|
||||||
|
|
||||||
|
MDLabel:
|
||||||
|
id: telemetry_info6
|
||||||
|
markup: True
|
||||||
|
text: "\\nYou can configure Sideband to send all received telemetry data to an MQTT server by specifying the relevant hostname, port and authentication details.\\n"
|
||||||
|
size_hint_y: None
|
||||||
|
text_size: self.width, None
|
||||||
|
height: self.texture_size[1]
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
orientation: "horizontal"
|
||||||
|
size_hint_y: None
|
||||||
|
padding: [0,0,dp(24),dp(0)]
|
||||||
|
height: dp(48)
|
||||||
|
|
||||||
|
MDLabel:
|
||||||
|
text: "Send telemetry to MQTT"
|
||||||
|
font_style: "H6"
|
||||||
|
|
||||||
|
MDSwitch:
|
||||||
|
id: telemetry_to_mqtt
|
||||||
|
pos_hint: {"center_y": 0.3}
|
||||||
|
active: False
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
orientation: "vertical"
|
||||||
|
spacing: dp(24)
|
||||||
|
size_hint_y: None
|
||||||
|
padding: [dp(0),dp(0),dp(0),dp(0)]
|
||||||
|
#height: dp(232)
|
||||||
|
height: self.minimum_height
|
||||||
|
|
||||||
|
MDTextField:
|
||||||
|
id: telemetry_mqtt_host
|
||||||
|
hint_text: "Server Hostname"
|
||||||
|
text: ""
|
||||||
|
font_size: dp(24)
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
orientation: "vertical"
|
||||||
|
spacing: dp(24)
|
||||||
|
size_hint_y: None
|
||||||
|
padding: [dp(0),dp(0),dp(0),dp(0)]
|
||||||
|
#height: dp(232)
|
||||||
|
height: self.minimum_height
|
||||||
|
|
||||||
|
MDTextField:
|
||||||
|
id: telemetry_mqtt_port
|
||||||
|
hint_text: "Server Port"
|
||||||
|
text: ""
|
||||||
|
font_size: dp(24)
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
orientation: "vertical"
|
||||||
|
spacing: dp(24)
|
||||||
|
size_hint_y: None
|
||||||
|
padding: [dp(0),dp(0),dp(0),dp(0)]
|
||||||
|
#height: dp(232)
|
||||||
|
height: self.minimum_height
|
||||||
|
|
||||||
|
MDTextField:
|
||||||
|
id: telemetry_mqtt_user
|
||||||
|
hint_text: "Username"
|
||||||
|
text: ""
|
||||||
|
font_size: dp(24)
|
||||||
|
|
||||||
|
MDBoxLayout:
|
||||||
|
orientation: "vertical"
|
||||||
|
spacing: dp(24)
|
||||||
|
size_hint_y: None
|
||||||
|
padding: [dp(0),dp(0),dp(0),dp(60)]
|
||||||
|
#height: dp(232)
|
||||||
|
height: self.minimum_height
|
||||||
|
|
||||||
|
MDTextField:
|
||||||
|
id: telemetry_mqtt_pass
|
||||||
|
password: True
|
||||||
|
hint_text: "Password"
|
||||||
|
text: ""
|
||||||
|
font_size: dp(24)
|
||||||
|
|
||||||
MDLabel:
|
MDLabel:
|
||||||
text: "Advanced Configuration"
|
text: "Advanced Configuration"
|
||||||
font_style: "H6"
|
font_style: "H6"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user