Para registrar los eventos de un determinado dispositivo para analizar su comportamiento y registrarlo en un archivo txt se puede usar la librería Paho en Python. El proceso de registro desde luego se puede realizar en un gestor de datos como Home Assistant, se supondrá en éste caso que no está disponible..
Se crea un archivo, al que se añade una linea por cada registros de mensajes MQTT.
Para el ejemplo los datos de guardan sin procesar.
# grabando mensajes MQTT # configurar los parámetros para la creacion de archivo de texto import paho.mqtt.client as mqtt # INGRESO # Parametros para la conexión servidormqtt = "192.168.xx.xx" topicolee = "oficina/+/dispositivo/#" # Para el archivo.txt cuentamensaje = 0 nombrearchivo = 'unreporte.txt' archivo = open(nombrearchivo,'w') archivo.close() # Cierra el archivo # FUNCIONES, para conectar y recibir mensaje MQTT # Al recibir CONNACK desde el servidor. def on_connect(client, userdata, flags, rc): print("Conexión/código de resultado: "+str(rc)) # Inicio o renovación de subscripción client.subscribe(topicolee) return() # el tópico tiene una publicación def on_message(client, userdata, msg): global cuentamensaje print(msg.topic+" "+str(msg.payload)) unmensaje = msg.topic+" "+str(msg.payload) # Archivo en modo añadir 'append' archivo = open(nombrearchivo,'a') unalinea = unmensaje + '\n' archivo.write(unalinea) cuentamensaje = cuentamensaje + 1 print('\n mensajes recibidos: ', cuentamensaje) return() client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect(servidormqtt, 1883, 60) client.loop_forever()
Archivos py o txt desde PC a Raspberry Pi
Para transferir los archivos de Python o de texto generados se encuentra dispobible la instrucción scp. Luego de ejecutar la instrucción se pedirá la clave de acceso del usuario pi para copiar el archivo en el directorio proyecto/
scp archivo.py pi@192.168.xx.xx:projecto/
Para el caso contrario se usa una instrucción semejante pero con los parametros al contrario, observe que termina en un «.»
scp pi@192.168.xx.xx:projecto/archivo.txt .
En el enlace de la referencia se encuentran más instrucciones al respecto
Referencia: https://www.raspberrypi.org/documentation/remote-access/ssh/scp.md