"""
Name: mqtt_subscriber
Title:
Author: Cooper
Date: 10/02/2025

Desc:  This subscribes to a given topic at a given broker and just prints whatever it gets.
"""
import time
import _thread
import logging
from hanip.itxpt import mqtt_client

logging.basicConfig(level=logging.DEBUG)
mqttc = mqtt_client.MQTT_Client(client_id="basicclient")

print("Basic MQTT subscriber")
print("This only allows connection to insecure brokers")
broker_ip = input("Broker IP: ")
topic = input("Topic: ")

mqttc.set_broker_address(broker_ip)
mqttc.connect_client()
mqttc.subscribe_to_topics((topic, 0))
_thread.start_new_thread(mqttc.run_client,())

while 1:
    if mqttc.newMsg:
        print(mqttc.payload)
        mqttc.newMsg = False

        time.sleep(0.5)