1: Wait 5 seconds for ISMAS response.

2: For ISMAS response: check if device_id (=machine_nr) sent from ISMAS
is the same as the local machine_nr. If NO, return 1 (fail).
This commit is contained in:
Gerhard Hoffmann 2023-06-29 13:27:01 +02:00
parent fcf179bee1
commit 0e7f5938c7

View File

@ -9,13 +9,27 @@ if [ "${news_from_ismas_sourced:-1}" = "1" ]; then # include only once
updates_available () { updates_available () {
local func="${FUNCNAME[0]}" local func="${FUNCNAME[0]}"
local json_response="$((echo -n '#M=APISM #C=REQ_ISMASParameter #J={}'; local json_response="$((echo -n '#M=APISM #C=REQ_ISMASParameter #J={}';
sleep 1) | nc localhost $APISM_DIRECT_PORT)" sleep 5) | nc localhost $APISM_DIRECT_PORT)"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
local trigger="$(echo $json_response | jq -r .Fileupload.TRG)" local trigger="$(echo $json_response | jq -r .Fileupload.TRG)"
log_debug "$func:${LINENO}: apism_trigger=\"$trigger\"" local ismas_device_id="$(echo $json_response | jq -r .Dev_ID.Device_ID)"
grep -qE "WAIT" <<< "$trigger" && return 0 local machine_nr=$(cat "/etc/machine_nr")
log_info "$func:${LINENO}: json_response=$json_response"
log_info "$func:${LINENO}: apism_trigger=<$trigger> device_id=<$ismas_device_id> machine_nr=<$machine_nr>"
if [ ! -z "$ismas_device_id" -a "$ismas_device_id" != " " ]; then
if [ ! -z "$machine_nr" -a "$machine_nr" != " " ]; then
if [ "$ismas_device_id" != "$machine_nr" ]; then
log_error "$func:${LINENO}: ISMAS DEVICE ID <$ismas_deviceId> != LOCAL_MACHINE_NUMBER <$machine_nr>"
return 1
fi
fi
fi
if grep -qE "WAIT" <<< "$trigger"; then
log_info "$func:${LINENO}: FOUND WAIT TRIGGER"
return 0
fi
else else
log_error "$func:${LINENO}: apism request failed" log_error "$func:${LINENO}: APISM REQUEST FAILED"
fi fi
return 1 return 1
} }
@ -23,11 +37,11 @@ if [ "${news_from_ismas_sourced:-1}" = "1" ]; then # include only once
update_status () { update_status () {
local func="${FUNCNAME[0]}" local func="${FUNCNAME[0]}"
local json_response="$((echo -n '#M=APISM #C=REQ_ISMASParameter #J={}'; local json_response="$((echo -n '#M=APISM #C=REQ_ISMASParameter #J={}';
sleep 1) | nc localhost $APISM_DIRECT_PORT)" sleep 5) | nc localhost $APISM_DIRECT_PORT)"
local trigger="" local trigger=""
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
trigger="$(echo $json_response | jq -r .Fileupload.TRG)" trigger="$(echo $json_response | jq -r .Fileupload.TRG)"
log_debug "$func:${LINENO}: apism_trigger=\"$trigger\"" log_info "$func:${LINENO}: apism_trigger=<$trigger>"
else else
log_error "$func:${LINENO}: apism request failed" log_error "$func:${LINENO}: apism request failed"
fi fi