def main(): config = gardentools.get_config() GPIO.setmode(GPIO.BOARD) watered = pump(config) if config['camera']['enabled'] and config['camera'][ 'frequency'] == 'on pump': photo = camera.take_picture() else: photo = None with gardentools.Logs('opengardener.db') as logs: logs.write(watered=watered, photo_path=photo)
def home(): with gardentools.Logs('opengardener.db') as db: logs = db.get(5) latest_image = db.get_latest_image() headers = db.columns if not latest_image or latest_image == '/static/img/plant/': latest_image = '/static/img/logo.png' return flask.render_template('home.html', logs=logs, latest_image=latest_image, headers=headers)
def image_logs(): with gardentools.Logs() as db: logs = db.get() logs = [log for log in logs if log.get('photo_path')] photos = [[]] for row in logs: if row.get('photo_path'): photo = row.get('photo_path') if len(photos[-1]) == 5: photos.append([]) if photo != '/static/img/plant/': photos[-1].append(photo) return flask.render_template('photos.html', photos=photos)
def main(): config = gardentools.get_config() pin = config['light_sensor']['pin'] GPIO.setmode(GPIO.BOARD) GPIO.setup(pin, GPIO.IN, GPIO.PUD_DOWN) dark = GPIO.input(pin) if dark: dark = True if config['light']['enabled'] and config['light'][ 'frequency'] == 'when dark': light_enabled = light.main() else: light_enabled = None else: dark = False light_enabled = None with gardentools.Logs('opengardener.db') as db: db.write(dark=dark, light_enabled=light_enabled)
def main(): config = gardentools.get_config() moisture_pin = config['moisture_sensor']['pin'] GPIO.setmode(GPIO.BOARD) GPIO.setup(moisture_pin, GPIO.IN, GPIO.PUD_DOWN) dry = GPIO.input(moisture_pin) if dry: dry = True if config['pump']['enabled'] and config['pump']['frequency'] == 'when dry': watered = pump.pump() else: watered = None if config['camera']['enabled'] and config['pump']['frequency'] == 'when dry': photo = camera.take_picture() else: photo = None else: dry = False watered = None photo = None with gardentools.Logs('opengardener.db') as db: db.write(dry=dry, photo_path=photo, watered=watered)
def main(): picture = take_picture() with gardentools.Logs('opengardener.db') as logs: logs.write(photo_path=picture)
def text_logs(): with gardentools.Logs() as db: logs = db.get() headers = db.columns return flask.render_template('logs.html', logs=logs, headers=headers)