setUsername($username) ->setPassword($password) ->setUseTls($useTls) ->setKeepAliveInterval(60) ->setConnectTimeout(10) ->setSocketTimeout(5) ->setTlsSelfSignedAllowed(true); // ajustar segĂșn CA $mqtt = new MqttClient($host, $port, $clientId); $mqtt->connect($settings, true); $mqtt->publish($topic, is_string($payload) ? $payload : json_encode($payload), $qos, $retain); $mqtt->disconnect(); json_success(['topic' => $topic, 'payload' => $payload]); } catch (Throwable $e) { json_error('Fallo al publicar MQTT: ' . $e->getMessage(), 500); }