sensor.direction = Direction.INPUT sensor.pull = Pull.DOWN sensors.append(sensor) def set_label_color(conditional, index, on_color): if conditional: funhouse.set_text_color(on_color, index) else: funhouse.set_text_color(0x606060, index) # Create the labels funhouse.display.show(None) slider_label = funhouse.add_text(text="Slider:", text_position=(50, 30), text_color=0x606060) capright_label = funhouse.add_text(text="Touch", text_position=(85, 10), text_color=0x606060) pir_label = funhouse.add_text(text="PIR", text_position=(60, 10), text_color=0x606060) capleft_label = funhouse.add_text(text="Touch", text_position=(25, 10), text_color=0x606060) onoff_label = funhouse.add_text(text="OFF", text_position=(10, 25), text_color=0x606060) up_label = funhouse.add_text(text="UP", text_position=(10, 10),
beam_sensor = Debouncer(beam_sense_pin) AMBER = 0xF0D000 BLUE = 0x00D0F0 RED = 0xFF0000 WHITE = 0xFFFFFF GRAY = 0x606060 funhouse = FunHouse(default_bg=None, scale=3) funhouse.peripherals.dotstars.brightness = 0.05 funhouse.peripherals.dotstars.fill(AMBER) # Create the labels funhouse.display.show(None) mail_label = funhouse.add_text(text="No Mail yet", text_position=(4, 14), text_color=AMBER) reset_label = funhouse.add_text(text="reset", text_position=(3, 70), text_color=GRAY) funhouse.display.show(funhouse.splash) def send_io_data(mail_value): funhouse.peripherals.led = True funhouse.network.push_to_io("mail", mail_value) funhouse.peripherals.led = False send_io_data(1)
INITIAL_LIGHT_COLOR = 0x008000 USE_FAHRENHEIT = True try: from secrets import secrets except ImportError: print("WiFi secrets are kept in secrets.py, please add them there!") raise funhouse = FunHouse(default_bg=0x0F0F00) funhouse.peripherals.dotstars.fill(INITIAL_LIGHT_COLOR) funhouse.display.show(None) funhouse.add_text( text="Temperature:", text_position=(20, 30), text_color=0xFF8888, text_font="fonts/Arial-Bold-24.pcf", ) temp_label = funhouse.add_text( text_position=(120, 60), text_anchor_point=(0.5, 0.5), text_color=0xFFFF00, text_font="fonts/Arial-Bold-24.pcf", ) funhouse.add_text( text="Humidity:", text_position=(20, 100), text_color=0x8888FF, text_font="fonts/Arial-Bold-24.pcf", ) hum_label = funhouse.add_text(
if funhouse.peripherals.button_sel: return water_level return states[get_bowl_state(water_level)] # Set Initial States funhouse = FunHouse(default_bg=0x0F0F00) funhouse.peripherals.dotstars.fill(0) water_enable = digitalio.DigitalInOut(board.A0) water_enable.switch_to_output() water_level_sensor = analogio.AnalogIn(board.A1) funhouse.display.show(None) funhouse.add_text( text="Bowl Level:", text_position=(120, 60), text_anchor_point=(0.5, 0.5), text_color=0xFF0000, text_font="fonts/Arial-Bold-24.pcf", ) level_label = funhouse.add_text( text_position=(120, 100), text_anchor_point=(0.5, 0.5), text_color=0xFFFF00, text_font="fonts/Arial-Bold-24.pcf", ) funhouse.display.show(funhouse.splash) status = Circle(229, 10, 10, fill=0xFF0000, outline=0x880000) funhouse.splash.append(status) # Initialize a new MQTT Client object
icon1 = displayio.TileGrid(bitmap4, pixel_shader=palette4, x=2, y=2) # red x icon bitmap5, palette5 = adafruit_imageload.load("/x_icon.bmp", bitmap=displayio.Bitmap, palette=displayio.Palette) icon2 = displayio.TileGrid(bitmap5, pixel_shader=palette5, x=2, y=2) # display group group = displayio.Group() # adding start-up bitmap to group group.append(tile_grid) funhouse.splash.append(group) # text for fume data fume_text = funhouse.add_text( text=" ", text_position=(110, 90), text_anchor_point=(0.5, 0.5), text_color=0xf57f20, text_font="fonts/Arial-Bold-24.pcf", ) # text for fan RPM data fan_text = funhouse.add_text( text=" ", text_position=(110, 165), text_anchor_point=(0.5, 0.5), text_color=0x7fffff, text_font="fonts/Arial-Bold-24.pcf", ) # showing graphics funhouse.display.show(funhouse.splash) # state machines
minutes = seconds // 60 seconds -= minutes * 60 return "{:01}:{:02}".format(minutes, seconds) return "Off" # Set Initial States funhouse = FunHouse(default_bg=0x0F0F00) funhouse.peripherals.dotstars.fill(0) outlet = digitalio.DigitalInOut(board.A0) outlet.direction = digitalio.Direction.OUTPUT last_pir_timestamp = None funhouse.display.show(None) funhouse.add_text( text="Timeout Left:", text_position=(20, 60), text_color=0xFF0000, text_font="fonts/Arial-Bold-24.pcf", ) countdown_label = funhouse.add_text( text_position=(120, 100), text_anchor_point=(0.5, 0.5), text_color=0xFFFF00, text_font="fonts/Arial-Bold-24.pcf", ) funhouse.display.show(funhouse.splash) status = Circle(229, 10, 10, fill=0xFF0000, outline=0x880000) funhouse.splash.append(status) # Initialize a new MQTT Client object if USE_MQTT:
running_state = False trip_time = 30 # seconds to stay tripped, adjust this with buttons while running funhouse.peripherals.dotstars.fill(default_led_color) def set_label_color(conditional, index, on_color): if conditional: funhouse.set_text_color(on_color, index) else: funhouse.set_text_color(0x606060, index) # Create the labels funhouse.display.show(None) up_label = funhouse.add_text(text="+", text_position=(3, 6), text_color=0x606060) down_label = funhouse.add_text(text="-", text_position=(3, 40), text_color=0x606060) running_label = funhouse.add_text( text="paused", text_position=(2, 68), text_color=0x606060 ) time_label = funhouse.add_text( text=trip_time, text_scale=2, text_position=(30, 25), text_color=0x606060 ) funhouse.display.show(funhouse.splash) # Turn on the light print("Turning on light...") lifx.toggle_light(lifx_light) # Set the light's brightness