Simple test

Ensure your device works with this simple test.

examples/hue_simpletest.py
 1# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
 2# SPDX-License-Identifier: MIT
 3
 4import time
 5import board
 6import busio
 7from digitalio import DigitalInOut
 8from adafruit_esp32spi import adafruit_esp32spi
 9from adafruit_esp32spi import adafruit_esp32spi_wifimanager
10import neopixel
11
12# Import Philips Hue Bridge
13from adafruit_hue import Bridge
14
15# Get wifi details and more from a secrets.py file
16try:
17    from secrets import secrets
18except ImportError:
19    print("WiFi and API secrets are kept in secrets.py, please add them there!")
20    raise
21
22# ESP32 SPI
23esp32_cs = DigitalInOut(board.ESP_CS)
24esp32_ready = DigitalInOut(board.ESP_BUSY)
25esp32_reset = DigitalInOut(board.ESP_RESET)
26spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
27esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)
28status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2)
29wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light)
30
31# Attempt to load bridge username and IP address from secrets.py
32try:
33    username = secrets["hue_username"]
34    bridge_ip = secrets["bridge_ip"]
35    my_bridge = Bridge(wifi, bridge_ip, username)
36except:
37    # Perform first-time bridge setup
38    my_bridge = Bridge(wifi)
39    ip = my_bridge.discover_bridge()
40    username = my_bridge.register_username()
41    print(
42        'ADD THESE VALUES TO SECRETS.PY: \
43                            \n\t"bridge_ip":"{0}", \
44                            \n\t"hue_username":"{1}"'.format(
45            ip, username
46        )
47    )
48    raise
49
50# Enumerate all lights on the bridge
51my_bridge.get_lights()
52
53# Turn on the light
54my_bridge.set_light(1, on=True)
55
56# RGB colors to Hue-Compatible HSL colors
57hsl_y = my_bridge.rgb_to_hsb([255, 255, 0])
58hsl_b = my_bridge.rgb_to_hsb([0, 0, 255])
59hsl_w = my_bridge.rgb_to_hsb([255, 255, 255])
60hsl_colors = [hsl_y, hsl_b, hsl_w]
61
62# Set the light to Python colors!
63for color in hsl_colors:
64    my_bridge.set_light(1, hue=int(color[0]), sat=int(color[1]), bri=int(color[2]))
65    time.sleep(5)
66
67# Set a predefinedscene
68# my_bridge.set_group(1, scene='AB34EF5')
69
70# Turn off the light
71my_bridge.set_light(1, on=False)