mirror of
https://github.com/esphome/esphome.git
synced 2025-03-13 22:28:14 +00:00
Make sleep depending on environment variable.
- set QUICKWIZARD to true to disable sleeps.
This commit is contained in:
parent
b25b908aa9
commit
a8fb079814
@ -70,12 +70,20 @@ logger:
|
||||
"""
|
||||
|
||||
|
||||
if os.environ['QUICKWIZARD']:
|
||||
def sleep(time):
|
||||
pass
|
||||
else:
|
||||
from time import sleep
|
||||
|
||||
|
||||
def print_step(step, big):
|
||||
print()
|
||||
print()
|
||||
print("============= STEP {} =============".format(step))
|
||||
print(big)
|
||||
print("===================================")
|
||||
sleep(0.25)
|
||||
|
||||
|
||||
def default_input(text, default):
|
||||
@ -100,17 +108,23 @@ def wizard(path):
|
||||
"or chose another configuration file.".format(color('cyan', path)))
|
||||
return 1
|
||||
print("Hi there!")
|
||||
sleep(1.5)
|
||||
print("I'm the wizard of esphomeyaml :)")
|
||||
sleep(1.25)
|
||||
print("And I'm here to help you get started with esphomeyaml.")
|
||||
sleep(2.0)
|
||||
print("In 5 steps I'm going to guide you through creating a basic "
|
||||
"configuration file for your custom ESP8266/ESP32 firmware. Yay!")
|
||||
sleep(3.0)
|
||||
print()
|
||||
print_step(1, CORE_BIG)
|
||||
print("First up, please choose a " + color('green', 'name') + " for your node.")
|
||||
print("It should be a unique name that can be used to identify the device later.")
|
||||
sleep(1)
|
||||
print("For example, I like calling the node in my living room {}.".format(
|
||||
color('bold_white', "livingroom")))
|
||||
print()
|
||||
sleep(1)
|
||||
name = raw_input(color("bold_white", "(name): "))
|
||||
while True:
|
||||
try:
|
||||
@ -122,15 +136,18 @@ def wizard(path):
|
||||
name = strip_accents(name).replace(' ', '_')
|
||||
name = u''.join(c for c in name if c in cv.ALLOWED_NAME_CHARS)
|
||||
print("Shall I use \"{}\" as the name instead?".format(color('cyan', name)))
|
||||
sleep(0.5)
|
||||
name = default_input("(name [{}]): ", name)
|
||||
|
||||
print("Great! Your node is now called \"{}\".".format(color('cyan', name)))
|
||||
sleep(1)
|
||||
print_step(2, ESP_BIG)
|
||||
print("Now I'd like to know which *board* you're using so that I can compile "
|
||||
"firmwares for it.")
|
||||
print("Are you using an " + color('green', 'ESP32') + " or " +
|
||||
color('green', 'ESP8266') + " based board?")
|
||||
while True:
|
||||
sleep(0.5)
|
||||
print()
|
||||
print("Please enter either ESP32 or ESP8266.")
|
||||
platform = raw_input(color("bold_white", "(ESP32/ESP8266): "))
|
||||
@ -142,6 +159,7 @@ def wizard(path):
|
||||
"\"{}\". Please try again.".format(platform))
|
||||
print("Thanks! You've chosen {} as your platform.".format(color('cyan', platform)))
|
||||
print()
|
||||
sleep(1)
|
||||
|
||||
if platform == ESP_PLATFORM_ESP32:
|
||||
board_link = 'http://docs.platformio.org/en/latest/platforms/espressif32.html#boards'
|
||||
@ -149,6 +167,7 @@ def wizard(path):
|
||||
board_link = 'http://docs.platformio.org/en/latest/platforms/espressif8266.html#boards'
|
||||
|
||||
print("Next, I need to know what " + color('green', 'board') + " you're using.")
|
||||
sleep(0.5)
|
||||
print("Please go to {} and choose a board.".format(color('green', board_link)))
|
||||
print()
|
||||
# Don't sleep because user needs to copy link
|
||||
@ -165,18 +184,22 @@ def wizard(path):
|
||||
except vol.Invalid:
|
||||
print(color('red', "Sorry, I don't think the board \"{}\" exists."))
|
||||
print()
|
||||
sleep(0.25)
|
||||
print("Possible options are {}".format(', '.join(boards)))
|
||||
print()
|
||||
|
||||
print("Way to go! You've chosen {} as your board.".format(color('cyan', board)))
|
||||
print()
|
||||
sleep(1)
|
||||
|
||||
print_step(3, WIFI_BIG)
|
||||
print("In this step, I'm going to create the configuration for "
|
||||
"WiFi.")
|
||||
print()
|
||||
sleep(1)
|
||||
print("First, what's the " + color('green', 'SSID') + " (the name) of the WiFi network {} "
|
||||
"I should connect to?".format(name))
|
||||
sleep(1.5)
|
||||
print("For example \"{}\".".format(color('bold_white', "Abraham Linksys")))
|
||||
while True:
|
||||
ssid = raw_input(color('bold_white', "(ssid): "))
|
||||
@ -187,21 +210,26 @@ def wizard(path):
|
||||
print(color('red', "Unfortunately, \"{}\" doesn't seem to be a valid SSID. "
|
||||
"Please try again.".format(ssid)))
|
||||
print()
|
||||
sleep(1)
|
||||
|
||||
print("Thank you very much! You've just chosen \"{}\" as your SSID.".format(
|
||||
color('cyan', ssid)))
|
||||
print()
|
||||
sleep(0.75)
|
||||
|
||||
print("Now please state the " + color('green', 'password') +
|
||||
" of the WiFi network so that I can connect to it.")
|
||||
print()
|
||||
print("For example \"{}\"".format(color('bold_white', 'PASSWORD42')))
|
||||
sleep(0.5)
|
||||
psk = raw_input(color('bold_white', '(PSK): '))
|
||||
print("Perfect! WiFi is now set up (you can create static IPs and so on later).")
|
||||
sleep(1.5)
|
||||
|
||||
print_step(4, MQTT_BIG)
|
||||
print("Almost there! Now let's setup MQTT so that your node can connect to the outside world.")
|
||||
print()
|
||||
sleep(1)
|
||||
print("Please enter the " + color('green', 'address') + " of your MQTT broker.")
|
||||
print()
|
||||
print("For example \"{}\".".format(color('bold_white', '192.168.178.84')))
|
||||
@ -215,6 +243,7 @@ def wizard(path):
|
||||
broker, err)))
|
||||
print("Please try again.")
|
||||
print()
|
||||
sleep(1)
|
||||
|
||||
print("Thanks! Now enter the " + color('green', 'username') + " and " +
|
||||
color('green', 'password') + " for the MQTT broker. Leave empty for no authentication.")
|
||||
@ -237,6 +266,7 @@ def wizard(path):
|
||||
print("This can be insecure if you do not trust the WiFi network. Do you want to set "
|
||||
"an " + color('green', 'OTA password') + " for remote updates?")
|
||||
print()
|
||||
sleep(0.25)
|
||||
print("Press ENTER for no password")
|
||||
ota_password = raw_input(color('bold_white', '(password): '))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user