Elisonpp

Orion library

Dec 9th, 2024
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. from orion.client import OrionClient
  2. import time
  3.  
  4. # Conectar à instância Orion
  5. client = OrionClient('http://localhost:5000') # URL de conexão com o servidor Orion
  6.  
  7. # Obter uma lista de dispositivos conectados
  8. def listar_dispositivos():
  9. dispositivos = client.devices.list()
  10. for dispositivo in dispositivos:
  11. print(f"Dispositivo: {dispositivo.name}, ID: {dispositivo.id}")
  12.  
  13. # Exemplo de controle de um dispositivo
  14. def ligar_dispositivo(dispositivo_id):
  15. dispositivo = client.devices.get(dispositivo_id)
  16. if dispositivo:
  17. dispositivo.turn_on() # Liga o dispositivo
  18. print(f"{dispositivo.name} foi ligado.")
  19. else:
  20. print("Dispositivo não encontrado!")
  21.  
  22. def desligar_dispositivo(dispositivo_id):
  23. dispositivo = client.devices.get(dispositivo_id)
  24. if dispositivo:
  25. dispositivo.turn_off() # Desliga o dispositivo
  26. print(f"{dispositivo.name} foi desligado.")
  27. else:
  28. print("Dispositivo não encontrado!")
  29.  
  30. # Loop para monitoramento e controle
  31. def monitorar_controle():
  32. while True:
  33. print("\nSelecionando um dispositivo para controle:")
  34. listar_dispositivos()
  35.  
  36. dispositivo_id = input("Digite o ID do dispositivo para controlar: ")
  37. acao = input("Digite '1' para ligar ou '0' para desligar: ")
  38.  
  39. if acao == '1':
  40. ligar_dispositivo(dispositivo_id)
  41. elif acao == '0':
  42. desligar_dispositivo(dispositivo_id)
  43. else:
  44. print("Ação inválida!")
  45.  
  46. # Espera 5 segundos antes de mostrar o menu novamente
  47. time.sleep(5)
  48.  
  49. if __name__ == "__main__":
  50. monitorar_controle()
Advertisement
Add Comment
Please, Sign In to add comment