20-sep: [scripts] Script de RPi actualizado para usar PyP100 sincronos en lugar de plugp100 asyncio
This commit is contained in:
@@ -1,36 +1,41 @@
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import asyncio
|
|
||||||
from wakeonlan import send_magic_packet
|
from wakeonlan import send_magic_packet
|
||||||
from plugp100.api.tapo_client import TapoClient
|
from PyP100 import PyP100
|
||||||
from plugp100.api.plug_device import PlugDevice
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
# Credenciales de TAPO (leer del entorno en la Raspberry)
|
# Credenciales de TAPO (leer del entorno en la Raspberry)
|
||||||
TAPO_USER = os.getenv("TAPO_USER")
|
TAPO_USER = os.getenv('TAPO_USER', '')
|
||||||
TAPO_PASS = os.getenv("TAPO_PASS")
|
TAPO_PASS = os.getenv('TAPO_PASS', '')
|
||||||
TAPO_IP = os.getenv("TAPO_IP") # La IP local del enchufe Tapo
|
TAPO_IP = os.getenv('TAPO_IP', '')
|
||||||
|
|
||||||
# MAC detectada de la placa base del sobremesa
|
# MAC detectada de la placa base del sobremesa
|
||||||
PC_MAC = "74-56-3C-CB-0E-CE"
|
PC_MAC = '74-56-3C-CB-0E-CE'
|
||||||
|
|
||||||
async def main():
|
def main():
|
||||||
print("1. Encendiendo monitor via Tapo...")
|
print('1. Encendiendo monitor via Tapo...')
|
||||||
try:
|
try:
|
||||||
client = TapoClient(TAPO_USER, TAPO_PASS)
|
if TAPO_USER and TAPO_PASS and TAPO_IP:
|
||||||
device = PlugDevice(client, TAPO_IP)
|
p100 = PyP100.P100(TAPO_IP, TAPO_USER, TAPO_PASS)
|
||||||
await device.login()
|
p100.handshake()
|
||||||
await device.turn_on()
|
p100.login()
|
||||||
print(" -> Enchufe Tapo encendido correctamente.")
|
p100.turnOn()
|
||||||
|
print(' -> Enchufe Tapo encendido correctamente.')
|
||||||
|
else:
|
||||||
|
print(' -> Saltando Tapo: Faltan credenciales o IP en el .env.')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f" -> Error al encender Tapo: {e}")
|
print(' -> Error al encender Tapo: ' + str(e))
|
||||||
|
|
||||||
print("2. Esperando 3 segundos para estabilidad eléctrica...")
|
print('2. Esperando 3 segundos para estabilidad eléctrica...')
|
||||||
time.sleep(3)
|
time.sleep(3)
|
||||||
|
|
||||||
print(f"3. Enviando paquete Wake-On-LAN al PC (MAC: {PC_MAC})...")
|
print('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
|
# 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='255.255.255.255')
|
||||||
print(" -> Comando de arranque enviado con éxito.")
|
send_magic_packet(PC_MAC, ip_address='192.168.1.255')
|
||||||
|
print(' -> Comando de arranque enviado con éxito.')
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == '__main__':
|
||||||
asyncio.run(main())
|
main()
|
||||||
|
|||||||
Reference in New Issue
Block a user