diff --git a/src/pages/AdminSettings.tsx b/src/pages/AdminSettings.tsx index 1b9977f..cde9f8c 100644 --- a/src/pages/AdminSettings.tsx +++ b/src/pages/AdminSettings.tsx @@ -949,10 +949,15 @@ function MqttClientsTab() { const [isService, setIsService] = useState(false) const [creating, setCreating] = useState(false) const [error, setError] = useState('') + const [broker, setBroker] = useState<{ host: string; port: number } | null>(null) const [revealed, setRevealed] = useState<{ id: number; username: string; password: string } | null>(null) const [copied, setCopied] = useState(false) - useEffect(() => { load() }, []) + useEffect(() => { + load() + fetch('/settings/api/mqtt-broker', { credentials: 'include' }) + .then(r => r.ok ? r.json() : null).then(b => b && setBroker(b)).catch(() => {}) + }, []) async function load() { setLoading(true) @@ -1057,6 +1062,25 @@ function MqttClientsTab() { + {broker && ( +
+

+ Point devices at this broker +

+
+ Host {broker.host} + Port {broker.port} +
+

+ Tasmota: Configuration → Configure MQTT. Enter the host and port above, a client's username and password + (use the Password button below), and a unique Topic per switch. The switch must be able to reach this address from its network. +

+
+ )} + {showForm && (