#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
execute_control.py
在用户明确确认后，向设备下发控制指令。
"""

import argparse
import json
import time

ALLOWED_COMMANDS = {
    "重启", "紧急停机", "降功率至80%", "降功率至60%", "降功率至50%",
    "恢复正常功率", "强制充电", "强制放电", "停止充放电", "复位告警",
    "断开并网", "恢复并网"
}

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--device_id", required=True)
    parser.add_argument("--command", required=True)
    args = parser.parse_args()

    if args.command not in ALLOWED_COMMANDS:
        print(json.dumps({"status": "error", "message": f"指令 [{args.command}] 被拒绝执行。"}, ensure_ascii=False))
        return

    # Mock 下发成功
    time.sleep(1)
    
    result = {
        "status": "success",
        "device_id": args.device_id,
        "command": args.command,
        "execute_time": time.strftime("%Y-%m-%d %H:%M:%S"),
        "message": f"已成功向设备 [{args.device_id}] 下发 [{args.command}] 指令。"
    }
    print(json.dumps(result, ensure_ascii=False, indent=2))

if __name__ == "__main__":
    main()
