meph!sto
Vice Admiral
- Registriert
- Nov. 2003
- Beiträge
- 6.352
Hi,
in Vorbereitung meine bestellten Bluetooth Temperatursensoren auszulesen, habe ich mich daran gemacht die Abfragen per Bash zu erstellen, sodass diese später per cronjob abgerufen werden können.
Die Fehlermeldung die ausgespuckt wird lautet:
Die Fehlermeldung ist auch nachvollziehbar, denn die Befehle "=85" etc gibt es natürlich nicht.
Was mir Kopfzerbrechen bereitet ist, dass die Zuweisung
Mein Ziel ist es am Ende ein Array zu haben, mit den Werten
Ich hoffe ihr könnt mir einen Tipp geben bzw. den Fehler direkt sehen (ich kann ich es nicht),
Danke
in Vorbereitung meine bestellten Bluetooth Temperatursensoren auszulesen, habe ich mich daran gemacht die Abfragen per Bash zu erstellen, sodass diese später per cronjob abgerufen werden können.
Bash:
TEST="Getting data from Mi Temperature and Humidity Sensor
FW: 00.00.66
Name: MJ_HT_V1
Battery: 85
Temperature: 21.8
Humidity: 44.1"
echo $TEST
UPDATE_DATE=$(date +%d.%m.%Y)
UPDATE_TIME=$(date +%T)
REGEX_BATTERY="Battery: [0-9]\{1,2\}"
REGEX_TEMP="Temperature: [0-9]\{1,2\}.[0-9]\{1,2\}"
REGEX_HUMID="Humidity: [0-9]\{1,2\}.[0-9]\{1,2\}"
#BATTERY="9"
#TEMP="8"
#HUMID="7"
declare -a REGEX=("$REGEX_BATTERY" "$REGEX_TEMP" "$REGEX_HUMID")
declare -a READINGS=($BATTERY $TEMP $HUMID $UPDATE)
i=0
for R in "${REGEX[@]}"
do
TMP_VAR=$(echo $TEST | grep -or "$R" | cut -d ' ' -f2)
echo $TMP_VAR
${READINGS[i]}=$(echo $TMP_VAR)
echo "count="$i
i=$((i+1))
done
Die Fehlermeldung die ausgespuckt wird lautet:
Bash:
source_file.sh: line 28: =85: command not found
source_file.sh: line 28: =21.8: command not found
source_file.sh: line 28: =44.1: command not found
Die Fehlermeldung ist auch nachvollziehbar, denn die Befehle "=85" etc gibt es natürlich nicht.
Was mir Kopfzerbrechen bereitet ist, dass die Zuweisung
${READINGS[i]}=$(echo $TMP_VAR)
nicht funktioniert und langsam gehen mir die Ideen aus.Mein Ziel ist es am Ende ein Array zu haben, mit den Werten
READINGS=($BATTERY $TEMP $HUMID $UPDATE)
Ich hoffe ihr könnt mir einen Tipp geben bzw. den Fehler direkt sehen (ich kann ich es nicht),
Danke