import os import time from wakeonlan import send_magic_packet from PyP100 import PyP100 from dotenv import load_dotenv load_dotenv() # 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', '') # MAC detectada de la placa base del sobremesa PC_MAC = '74-56-3C-CB-0E-CE' def main(): print('1. Encendiendo monitor via Tapo...') try: if TAPO_USER and TAPO_PASS and TAPO_IP: p100 = PyP100.P100(TAPO_IP, TAPO_USER, TAPO_PASS) p100.handshake() p100.login() p100.turnOn() print(' -> Enchufe Tapo encendido correctamente.') else: print(' -> Saltando Tapo: Faltan credenciales o IP en el .env.') except Exception as e: print(' -> Error al encender Tapo: ' + str(e)) print('2. Esperando 3 segundos para estabilidad eléctrica...') time.sleep(3) print('3. Enviando paquete Wake-On-LAN al PC (MAC: ' + PC_MAC + ')...') # Broadcast global para asegurar que llega a la 192.168.1.x send_magic_packet(PC_MAC, ip_address='255.255.255.255') send_magic_packet(PC_MAC, ip_address='192.168.1.255') print(' -> Comando de arranque enviado con éxito.') if __name__ == '__main__': main()