Skip to content

Commit 72b4692

Browse files
authored
Update miplug.sh
去除了三次尝试并输出日志到shell
1 parent e68a906 commit 72b4692

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

miplug.sh

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ if [ ! -f "$VENV_PATH/bin/activate" ]; then
2323
exit 1
2424
fi
2525

26-
# 最大重试次数和重试间隔
27-
MAX_RETRIES=3
28-
RETRY_DELAY=2
29-
3026
# 日志记录函数
3127
log() {
3228
local OPERATION=$1
@@ -63,33 +59,41 @@ source "$VENV_PATH/bin/activate"
6359
# 执行操作
6460
case "$ACTION" in
6561
on|off)
66-
echo "正在尝试 $ACTION 插座..."
6762
VALUE=$( [[ "$ACTION" == "on" ]] && echo "True" || echo "False" )
68-
for ((i=1; i<=MAX_RETRIES; i++)); do
69-
OUTPUT=$(miiocli $DEVICE_TYPE --ip $DEVICE_IP --token $DEVICE_TOKEN on 2>&1)
70-
if [ $? -eq 0 ]; then
71-
echo "操作成功!"
72-
log "$ACTION" "成功"
73-
break
74-
else
75-
echo "尝试 $i/$MAX_RETRIES 失败,等待 $RETRY_DELAY 秒后重试..."
76-
sleep $RETRY_DELAY
77-
fi
78-
done
63+
ACTION_CHINESE=$( [[ "$ACTION" == "on" ]] && echo "打开" || echo "关闭" )
64+
echo "正在尝试$ACTION_CHINESE插座..."
7965

80-
if [ $i -gt $MAX_RETRIES ]; then
81-
echo "操作失败,请检查设备状态或网络连接。"
82-
log "$ACTION" "失败" "$OUTPUT"
66+
OUTPUT=$(miiocli $DEVICE_TYPE --ip $DEVICE_IP --token $DEVICE_TOKEN raw_command set_properties "[{'siid': 2, 'piid': 1, 'value': $VALUE}]" 2>&1)
67+
if [ $? -eq 0 ] && [[ "$OUTPUT" == *"成功"* ]]; then # 检查输出内容
68+
echo "操作成功!"
69+
log "$ACTION" "成功" # 仍然记录日志
70+
else
71+
echo "$OUTPUT"
72+
echo "操作失败,请检查设备ip token和网络连接。"
73+
log "$ACTION" "失败" "$OUTPUT" # 仍然记录日志
74+
fi
75+
;;
76+
status)
77+
echo "正在查询插座状态..."
78+
OUTPUT=$(miiocli $DEVICE_TYPE --ip $DEVICE_IP --token $DEVICE_TOKEN raw_command get_properties "[{'siid': 2, 'piid': 1}]" 2>&1)
79+
if [ $? -eq 0 ] && [[ "$OUTPUT" == *"状态信息"* ]]; then # 检查输出内容
80+
echo "查询成功:$OUTPUT"
81+
log "status" "成功" "状态: $OUTPUT"
82+
else
83+
echo "查询失败:$OUTPUT"
84+
echo "操作失败,请检查设备ip token和网络连接。"
85+
log "status" "失败" "$OUTPUT"
8386
fi
8487
;;
8588
info)
86-
echo "正在查询插座信息..."
89+
echo "正在获取设备信息..."
8790
OUTPUT=$(miiocli $DEVICE_TYPE --ip $DEVICE_IP --token $DEVICE_TOKEN info 2>&1)
88-
if [ $? -eq 0 ]; then
91+
if [ $? -eq 0 ] && [[ "$OUTPUT" == *"设备信息"* ]]; then # 检查输出内容
8992
echo "获取成功:$OUTPUT"
9093
log "info" "成功" "$OUTPUT"
9194
else
9295
echo "获取失败:$OUTPUT"
96+
echo "操作失败,请检查设备ip token和网络连接。"
9397
log "info" "失败" "$OUTPUT"
9498
fi
9599
;;
@@ -98,6 +102,3 @@ case "$ACTION" in
98102
show_help
99103
;;
100104
esac
101-
102-
# 退出Python虚拟环境
103-
deactivate

0 commit comments

Comments
 (0)