Skip to content

Commit 68db2d5

Browse files
authored
Merge pull request #24 from justmobilize/remove-secrets-and-more
Remove secrets and more
2 parents 3c1a130 + b11d549 commit 68db2d5

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

adafruit_hue.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,14 @@ def __init__(
5252
) -> None:
5353
"""
5454
Creates an instance of the Philips Hue Bridge Interface.
55-
:param wifi_manager wifi_manager: WiFiManager from ESPSPI_WiFiManager/ESPAT_WiFiManager
55+
:param wifi_manager wifi_manager: WiFiManager or Session
5656
"""
57-
wifi_type = str(type(wifi_manager))
58-
if "ESPSPI_WiFiManager" in wifi_type or "ESPAT_WiFiManager" in wifi_type:
59-
self._wifi = wifi_manager
60-
else:
61-
raise TypeError("This library requires a WiFiManager object.")
57+
for attr in ("get", "post", "put"):
58+
if not hasattr(wifi_manager, attr):
59+
error = "This library requires a WiFiManager or Session object with a "
60+
error += f"`{attr}` method, not {type(wifi_manager)}"
61+
raise TypeError(error)
62+
self._wifi = wifi_manager
6263
self._ip = bridge_ip
6364
self._username = username
6465
if bridge_ip and username is not None:

examples/hue_simpletest.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,48 @@
22
# SPDX-License-Identifier: MIT
33

44
import time
5+
from os import getenv
56
import board
67
import busio
78
from digitalio import DigitalInOut
89
from adafruit_esp32spi import adafruit_esp32spi
9-
from adafruit_esp32spi import adafruit_esp32spi_wifimanager
10+
from adafruit_esp32spi.adafruit_esp32spi_wifimanager import WiFiManager
1011
import neopixel
1112

1213
# Import Philips Hue Bridge
1314
from adafruit_hue import Bridge
1415

15-
# Get wifi details and more from a secrets.py file
16-
try:
17-
from secrets import secrets
18-
except ImportError:
19-
print("WiFi and API secrets are kept in secrets.py, please add them there!")
20-
raise
16+
# Get WiFi details, ensure these are setup in settings.toml
17+
ssid = getenv("CIRCUITPY_WIFI_SSID")
18+
password = getenv("CIRCUITPY_WIFI_PASSWORD")
2119

2220
# ESP32 SPI
2321
esp32_cs = DigitalInOut(board.ESP_CS)
2422
esp32_ready = DigitalInOut(board.ESP_BUSY)
2523
esp32_reset = DigitalInOut(board.ESP_RESET)
2624
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
2725
esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)
28-
status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2)
29-
wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager(esp, secrets, status_light)
26+
status_pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2)
27+
wifi = WiFiManager(esp, ssid, password, status_pixel=status_pixel)
3028

31-
# Attempt to load bridge username and IP address from secrets.py
32-
try:
33-
username = secrets["hue_username"]
34-
bridge_ip = secrets["bridge_ip"]
35-
my_bridge = Bridge(wifi, bridge_ip, username)
36-
except:
29+
# Attempt to load bridge username and IP address from settings.toml
30+
username = getenv("hue_username")
31+
bridge_ip = getenv("bridge_ip")
32+
33+
if username is None or bridge_ip is None:
3734
# Perform first-time bridge setup
3835
my_bridge = Bridge(wifi)
3936
ip = my_bridge.discover_bridge()
4037
username = my_bridge.register_username()
41-
print(
42-
'ADD THESE VALUES TO SECRETS.PY: \
38+
raise KeyError(
39+
'Please add these values to your settings.toml: \
4340
\n\t"bridge_ip":"{0}", \
4441
\n\t"hue_username":"{1}"'.format(
4542
ip, username
4643
)
4744
)
48-
raise
45+
46+
my_bridge = Bridge(wifi, bridge_ip, username)
4947

5048
# Enumerate all lights on the bridge
5149
my_bridge.get_lights()

0 commit comments

Comments
 (0)