diff --git a/news_from_ismas b/news_from_ismas index de4f592..08d2a56 100755 --- a/news_from_ismas +++ b/news_from_ismas @@ -9,13 +9,27 @@ if [ "${news_from_ismas_sourced:-1}" = "1" ]; then # include only once updates_available () { local func="${FUNCNAME[0]}" 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 local trigger="$(echo $json_response | jq -r .Fileupload.TRG)" - log_debug "$func:${LINENO}: apism_trigger=\"$trigger\"" - grep -qE "WAIT" <<< "$trigger" && return 0 + local ismas_device_id="$(echo $json_response | jq -r .Dev_ID.Device_ID)" + 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 - log_error "$func:${LINENO}: apism request failed" + log_error "$func:${LINENO}: APISM REQUEST FAILED" fi return 1 } @@ -23,11 +37,11 @@ if [ "${news_from_ismas_sourced:-1}" = "1" ]; then # include only once update_status () { local func="${FUNCNAME[0]}" 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="" if [ $? -eq 0 ]; then trigger="$(echo $json_response | jq -r .Fileupload.TRG)" - log_debug "$func:${LINENO}: apism_trigger=\"$trigger\"" + log_info "$func:${LINENO}: apism_trigger=<$trigger>" else log_error "$func:${LINENO}: apism request failed" fi