Client module for the Hyperion JSON interface. You can also read this in English:gb:
Lista dei Contenuti (clicca per espandere)
- Un'instanza di Hyperion installata e configurata (è suggerita l'installazione e la configurazione via HyperCon). è necessario conoscere l'indirizzo IP locale della macchina su cui è installato Hyperion
Apri il terminale e lancia il comando:
pip install hyperion-client
Per poter usare questo modulo devi importarlo nel tuo progetto python
import hyperion_client as hy
Crea un nuovo client instanziando un nuovo oggetto hyperion_client
h = hy.hyperion_client()
Se la macchina su cui far girare il client è diversa da quella su cui è in esecuzione il server Hyperion, devi specificarne l'indirizzo IP. Se hai modificato la porta di default dell'interfaccia JSON della tua istanza di Hyperion, puoi specificarla qui
h = hy.hyperion_client('192.168.1.42', 19444)
Connettiti al server Hyperion
h.open_connection()
Puoi anche modificare la durata del timout dei tentativi di connessione (di default: 10ms)
h.open_connection(timeout=10)
Se provi a interagire con il server senza aprire una connessione prima, le altre funzioni di questo modulo cercheranno di connettersi automaticamente.
Disconnttiti dal server Hyperion
h.close_connection()
Cambia l'indirizzo IP del server Hyperion a cui vuoi connetterti
h.host = '192.168.1.42'
Quando cambi host è necessario riconnettersi. Ottineni l'indirizzo IP del server Hyperion a cui vuoi connetterti
my_host = h.host()
Cambia la porta del server Hyperion a cui vuoi connetterti
h.port = 19444
Quando cambi porta è necessario riconnettersi. Ottineni la porta del server Hyperion a cui vuoi connetterti
my_port = h.port()
recupera tutte le informazioni utili dal server Hyperion, formattate in JSON (es.: active effects, active color, active color transforms, available effects, etc...)
my_server_info = h.serverinfo()
recupera la lista delle info di tutti gli effetti disponibili dal server Hyperion, formattate in JSON (es.: effect name, effect script path, effect args)
my_effects = h.effects()
recupera la lista dei nomi di tutti gli effetti disponibili dal server Hyperion
my_effects_names = h.effects_names()
recupera la lista delle info di tutti gli effetti attivi dal server Hyperion, formattate in JSON (es.: effect name, effect script path, effect args)
my_active_effects = h.active_effects()
recupera la lista dei nomi di tutti gli effetti attivi dal server Hyperion
my_active_effects_names = h.active_effects_names()
recupera la lista contenente i valori RGB, HEX, HLS del colore attivo dal server Hyperion
my_active_color = h.active_color()
Puoi specificare una delle modalità (RGB/HEX/HLS) per ottenere il valore corrispondente
my_RGB_color = h.active_color("RGB")
Ci sono anche funzioni per ottenere:
- adjustment()
- correction()
- temperature()
- transform()
- priorities()
- hostname()
- hyperion_build()
Dì a Hyperion di mostrare un colore passando i valori di RED, GREEN e BLUE [0-255]
h.set_RGBcolor(255, 255, 255)
Puoi cambiare la priorità per il colore usando il parametro priority (default: 100). Puoi anche cambiare la durata, in millisecondi (default: infinita)
h.set_RGBcolor(red=255, green=255, blue=255, priority=100, duration=1000)
Dì a Hyperion di mostrare un effetto
h.set_effect('Rainbow swirl fast')
Puoi cambiare la priorità per il colore usando il parametro priority (default: 100). Puoi anche cambiare la durata, in millisecondi (default: infinita) e puoi passare argomenti personalizzati in formato JSON
h.set_effect('Rainbow swirl fast', priority=100, effectArgs=my_args, duration=1000)
Spegni l'effetto/colore attivo con priorità più alta (con valore di priority minore)
h.clear()
Puoi cambiare la priorità per lo spegnimento usando il parametro priority (default: 100)
h.clear(100)
Spegni tutti gli effetti/colori attivi
h.clear_all()
Invia un bytearray di dati led (r,g,b) * numero di leds (aka hyperion.ledcount)
h.send_led_data(my_led_data)
Puoi cambiare la priorità per i dati personalizzati usando il parametro priority (default: 100). Puoi anche cambiare la durata, in millisecondi (default: infinita)
h.send_led_data(my_led_data, 100, 1000)
Ci sono anche funzioni per impostare:
- set_image(image_data, width, height, priority=100, duration=0)
- set_adjustment(identifier, redAdjust, greenAdjust, blueAdjust)
- set_correction(identifier, red, green, blue)
- set_temperature(identifier, red, green, blue)
- set_transform(identifier, blacklevel, gamma, luminanceGain, luminanceMinimum, saturationGain, saturationLGain, threshold, valueGain, whitelevel)
Hyperion-controller usa questo modulo
Leggi CONTRIBUTING.md.
- 16/08/2018 - 0.1.0 - beta release