#!/bin/bash
###############################################################################################################
# Titel: read
# Autor: Michael Kaden
# Datum: 14.09.2014
#
# Funktion:
# Dieses Skript ist ein Teilprogramm von fdtsds. Es liest alle Zeichen einer seriellen (RS232) Schnittstelle 
# zeilenweise in einer Endlosschleife und schreibt alle empfangenen Zeilen mit Zeitstempel als Dateiname in je 
# eine Spool-Datei. Die Spool-Dateien werden dann vom Skript fdtsds weiterverarbeitet. Für jede konfigurierte
# Schnittstelle, auf der fdtsds lauschen soll, wird ein eigener Read-Spooler gestartet.
#
# Zweck:
# Das Script dient als Read-Spooler der Entkopplung des Einlesens der empfangenen Daten von der anschließenden 
# Weiterverarbeitung.
#
# Copyright (C) 2014 Michael Kaden
#
# Dieses Programm ist freie Software. Sie können es unter Beachtung der Nutzungsbedingungen benutzen, 
# weitergeben und modifizieren.
# Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, 
# aber OHNE IRGENDEINE GARANTIE, sogar ohne die Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN 
# BESTIMMTEN ZWECK. 
###############################################################################################################

# Config-File einlesen
source /usr/local/smi/trx/etc/sds.conf

myname=$(echo "$0" | $awk -F/ '{ print $NF }')

device=$(echo "$myname" |$awk -F. '{ print $NF }')

# message system, aus dem eigenen Dateinamen bestimmen
msgsys=$(echo "$myname" |$awk -F. '{ print $1 }')

# Daten der seriellen Schnittstelle zeilenweise in einer Endlosschleife einlesen und als MQTT-Nachricht publizieren
while read -r line; do
	$mosquitto_pub -t "$(eval echo $TrxMqttRead)" -m "$line"
done < /dev/$device
exit 255
