#!/bin/bash source "$(dirname "$0")/../.env" MQTT_AUTH_ARGS=() MQTT_TLS_ARGS=() if [[ -n "${MQTT_USERNAME:-}" ]]; then MQTT_AUTH_ARGS+=( -u "$MQTT_USERNAME" ) fi if [[ -n "${MQTT_PASSWORD:-}" ]]; then MQTT_AUTH_ARGS+=( -P "$MQTT_PASSWORD" ) fi if [[ "${MQTT_TLS_ENABLED:-0}" == "1" || "${MQTT_TLS_ENABLED:-0}" == "true" || "${MQTT_TLS_ENABLED:-0}" == "yes" ]]; then [[ -n "${MQTT_TLS_CA_CERT:-}" ]] && MQTT_TLS_ARGS+=( --cafile "$MQTT_TLS_CA_CERT" ) [[ -n "${MQTT_TLS_CERT:-}" ]] && MQTT_TLS_ARGS+=( --cert "$MQTT_TLS_CERT" ) [[ -n "${MQTT_TLS_KEY:-}" ]] && MQTT_TLS_ARGS+=( --key "$MQTT_TLS_KEY" ) if [[ "${MQTT_TLS_INSECURE:-0}" == "1" || "${MQTT_TLS_INSECURE:-0}" == "true" || "${MQTT_TLS_INSECURE:-0}" == "yes" ]]; then MQTT_TLS_ARGS+=( --insecure ) fi fi echo "Testing MQTT connection to $MQTT_BROKER:$MQTT_PORT" echo "Publishing test message..." mosquitto_pub -h "$MQTT_BROKER" -p "$MQTT_PORT" "${MQTT_AUTH_ARGS[@]}" "${MQTT_TLS_ARGS[@]}" -t "infoscreen/test" -m "Hello from Pi development setup" echo "Subscribing to test topic (press Ctrl+C to stop)..." mosquitto_sub -h "$MQTT_BROKER" -p "$MQTT_PORT" "${MQTT_AUTH_ARGS[@]}" "${MQTT_TLS_ARGS[@]}" -t "infoscreen/test"