| 12345678910111213141516171819202122232425262728 |
- <?php
- $subscriptions = array_filter(array_map('trim', explode(',', (string) env('MQTT_SUBSCRIPTIONS', 'devices/+/telemetry'))));
- $publishTopics = array_filter(array_map('trim', explode(',', (string) env('MQTT_PUBLISH_TOPICS', 'devices/+/command'))));
- return [
- // Keep MQTT disabled until a broker and credentials have been configured.
- 'enabled' => filter_var(env('MQTT_ENABLED', false), FILTER_VALIDATE_BOOL),
- 'address' => sprintf(
- '%s://%s:%d',
- env('MQTT_SCHEME', 'mqtt'),
- env('MQTT_HOST', '127.0.0.1'),
- (int) env('MQTT_PORT', 1883)
- ),
- 'subscriptions' => array_fill_keys($subscriptions, (int) env('MQTT_SUBSCRIBE_QOS', 1)),
- 'publish_topics' => $publishTopics,
- 'max_payload_bytes' => (int) env('MQTT_MAX_PAYLOAD_BYTES', 1048576),
- 'client' => [
- 'client_id' => env('MQTT_CLIENT_ID', 'saiadmin-server'),
- 'username' => env('MQTT_USERNAME', ''),
- 'password' => env('MQTT_PASSWORD', ''),
- 'keepalive' => (int) env('MQTT_KEEPALIVE', 50),
- 'clean_session' => filter_var(env('MQTT_CLEAN_SESSION', false), FILTER_VALIDATE_BOOL),
- 'reconnect_period' => (int) env('MQTT_RECONNECT_PERIOD', 3),
- 'connect_timeout' => (int) env('MQTT_CONNECT_TIMEOUT', 10),
- 'ssl' => filter_var(env('MQTT_SSL', false), FILTER_VALIDATE_BOOL),
- ],
- ];
|