Files
ETTerms/tools/scripts/test-power_cycle_SVOS.ttl
T
etwen 7b8f04e1dd feat(scripting): add sprintf2 command and fix prompt-wait race (v0.1.2)
- Add TeraTerm-compatible sprintf2 (C printf formatting into a string var)

- Fix SVOS power-cycle script racing ahead by gating prompt waits behind output-completion markers

- Bump version to 0.1.2; docs and README updates
2026-06-04 14:13:43 +08:00

48 lines
1.3 KiB
Turtle

prompt_SVOS = "SVOS> "
ip = "192.168.1.21" ; PDU IP
device = 1 ; PDU 裝置編號(iPoMan II/III 1 為預設)
port = 1 ; 要測試的插座埠
act_off = 0
act_on = 1
; ── 連線 ──
pduconnect device ip
if result == 0 then
messagebox 'PDU connect failed — 檢查 IP / 網路 / community'
endif
cnt_total = 0
while 1
; ── 單埠 OFF ON 電源循環 ──
flushrecv ; 清掉上一輪殘留輸出,等待 boot 訊息更乾淨
pause 3
pductrl device port act_off
pause 5
pductrl device port act_on
pause 3
wait "Select profile(primary):"
sendln "0"
wait "ServiceOS login:"
sendln "admin"
wait prompt_SVOS ; 登入後第一個就緒提示(此處無指令輸出,安全)
sendln "version"
wait "SHA:" ; 先等 version 輸出跑完(最後一行),避免比對到回顯的 "SVOS> version"
wait prompt_SVOS
sendln "help"
wait "more info" ; 先等 help 輸出跑完,再等就緒提示
wait prompt_SVOS
sendln "help"
wait "more info"
wait prompt_SVOS
cnt_total = cnt_total + 1
sprintf2 total_print "====== Total Power Cycle :%d ======" cnt_total
sendln total_print
wait prompt_SVOS
endwhile