Dynamic clientId

Begonnen von RalfP, 26 September 2024, 11:52:37

Vorheriges Thema - Nächstes Thema

RalfP

Hallo,

ich hab hier einen Hersteller, dessen Zugang zu seinem MQTT Server mit einer clientId als AccessToken erfolgt. Nutzername und Password bleiben gleich. Über ein Login wird ein AccessToken erzeugt, der gleichzeitig auch als clientId für den MQTT Server dient. Dieser AccessToken wird ungültig, sofern eine anderer Client (z.B. HerstellerApp) Zugang erlangt und den alten AccessToken für ungültig erklärt. Somit ist es notwendig, diesen AccessToken bzw. clientId wieder neu zu generieren.

Im MQTT2_Client ist das Setup der clientId als Attribut gestaltet, was ein Speichern bedingt.

Gibt es die Möglichkeit die clientId dynamisch wechseln zu können zu integrieren evtl. als Reading, ohne das die config gespeichert werden muss? (Reading mit höherer Priorität als Attribut)
Gäbe es eine andere elegante Lösung (ohne config speichern) für einen solchen dynamischen Wechsel der clienId?

Vielen Dank
Grüße Ralf

rudolfkoenig

ZitatGäbe es eine andere elegante Lösung (ohne config speichern) für einen solchen dynamischen Wechsel der clienId?
Ja, ueber das MQTT2_CLIENT Attribut connectFn.
Siehe FHEM/LandroidUtils.pm als Beispiel, da wird auch erst mit mehreren HttpUtils_NonblockingGet Aufrufen Serveradresse,  Benutzername und clientId ausgehandelt.

RalfP

Ahh, das sieht gut aus! Das Beispiel hilft mir auf alle Fälle weiter, ich denk ich hab es verstanden.

Vielen Dank
Grüße Ralf