import os import time import asyncio from wakeonlan import send_magic_packet from plugp100.api.tapo_client import TapoClient from plugp100.api.plug_device import PlugDevice # Credenciales de TAPO (leer del entorno en la Raspberry) TAPO_USER = os.getenv("TAPO_USER") TAPO_PASS = os.getenv("TAPO_PASS") TAPO_IP = os.getenv("TAPO_IP") # La IP local del enchufe Tapo # MAC detectada de la placa base del sobremesa PC_MAC = "74-56-3C-CB-0E-CE" async def main(): print("1. Encendiendo monitor via Tapo...") try: client = TapoClient(TAPO_USER, TAPO_PASS) device = PlugDevice(client, TAPO_IP) await device.login() await device.turn_on() print(" -> Enchufe Tapo encendido correctamente.") except Exception as e: print(f" -> Error al encender Tapo: {e}") print("2. Esperando 3 segundos para estabilidad eléctrica...") time.sleep(3) print(f"3. Enviando paquete Wake-On-LAN al PC (MAC: {PC_MAC})...") # Broadcast global para asegurar que llega de la 192.168.50.x a la 192.168.1.x send_magic_packet(PC_MAC, ip_address='255.255.255.255') print(" -> Comando de arranque enviado con éxito.") if __name__ == "__main__": asyncio.run(main())