Best Python code snippet using SeleniumBase
app.py
Source:app.py
1import sys2import time3from tracemalloc import start4from RPi import GPIO5from numpy import average6from helpers.lcdClass import lcdClass7from helpers.klasseknop import Button8from helpers.spiclass import SpiClass9from hx711 import HX71110from datetime import datetime,timedelta11import threading12from subprocess import check_output13from flask_cors import CORS14from flask_socketio import SocketIO, emit, send15from flask import Flask, jsonify, request16from repositories.DataRepository import DataRepository17import neopixel18import board19import os20from selenium import webdriver21# lcd.reset_cursor()22 # ips = check_output(["hostname", "-I"])23 # ips = ips.decode("utf-8")24 # lijst = ips.split()25 # for i in range(0, len(lijst)):26 # if i <2:27 # if (i % 2) == 0:28 # lcd.second_row()29 # else:30 # lcd.first_row()31 # lcd.write_message(lijst[i])32# ifconfig = check_output(['ifconfig', "wlan0"])33# for line in ifconfig.decode().split('\n'):34# fields = line.split()35# if fields[0] == 'inet':36# wifiIp = fields[1] 37# break38# ifconfig = check_output(['ifconfig', "eth0"])39# for line in ifconfig.decode().split('\n'):40# fields = line.split()41# if fields[0] == 'inet':42# lanIp = fields[1] 43# break44# print("wifi",wifiIp,"lan",lanIp )45# variabelen46beginTijdSlapen = None47beginTijdSlapenLater = None48eindTijdSlapen = None49dtWeight = 650clkWeight = 551wekkers = []52Red = 25553Green = 054Blue = 055rs = 2156e = 2057buzz = 2658buzzer = ""59lcdStatus = 160vorips = ""61huidigetijd = "fddfsdf"62tijd = ""63teller = 464minldr = 102365maxldr = 066waardeldr = 067lichtsterkte = 068alarm = ""69timer = 070vorBright = 071aan = False72ring = False73showtekst = False74GaanSlapen = False75alarmopScherm = False76autoBrightness = False77rgbStilletjesAan = False78rgbStilletjesUit = False79startbright = False80gewichtmetingen = []81averagegewicht = -10000082WakkerWorden = "Wakker worden!!!"83vorWakkerWorden = ""84# objecten85timenow = datetime.now().replace(microsecond=0)86joyTimer = time.time()87timerldr = time.time()88timerRGB = time.time()89timeLCDStatus = time.time()90joyBtn = Button(19)91btn = Button(12,700)92knopSlapen = Button(17,700)93knopShutdown = Button(27)94spi = SpiClass(0,0)95lcd = lcdClass(rs,e,None,True)96pixels = neopixel.NeoPixel(board.D18,12)97pixels.brightness = 0.598hx = HX711(dtWeight,clkWeight)99lcd.write_message("Opstarten")100time.sleep(10)101lcd.reset_lcd()102# Code voor Hardware103def setup_gpio():104 global buzzer105 GPIO.setwarnings(False)106 GPIO.setmode(GPIO.BCM)107 GPIO.setup(buzz, GPIO.OUT)108 buzzer = GPIO.PWM(buzz,1000)109 buzzer.ChangeFrequency(1000)110 buzzer.start(0)111 btn.on_press(lees_knop)112 joyBtn.on_press(joy_knop)113 knopSlapen.on_press(Slaap_knop)114 knopShutdown.on_press(Shutdown_knop)115def Slaap_knop(pin):116 print("-------------------------------------------------------")117 global beginTijdSlapen, eindTijdSlapen, GaanSlapen,lcdStatus,timeLCDStatus,tijd,alarmopScherm,rgbStilletjesUit,rgbStilletjesAan118 GaanSlapen = not GaanSlapen119 print("slaap",GaanSlapen)120 if GaanSlapen == 1:121 print("Slaapwel")122 rgbStilletjesUit = True123 beginTijdSlapen = datetime.now().replace(microsecond=0)124 tekstOpLcd("Slaapwel!")125 elif GaanSlapen == 0:126 print("Hallo")127 eindTijdSlapen = datetime.now().replace(microsecond=0)128 timeChecker(beginTijdSlapen,eindTijdSlapen)129 tekstOpLcd("Goeiemorgen")130 rgbStilletjesAan = True131 socketio.emit("B2F_SlaapStatus",{"slapen": GaanSlapen},broadcast=True)132def Shutdown_knop(pin):133 print("Shutdown")134 lcd.reset_lcd()135 pixels.deinit()136 lcd.write_message("Afsluiten")137 time.sleep(2)138 # os.system("sudo poweroff -h now")139 # sys.exit()140 lcd.reset_lcd()141 check_output(["sudo","shutdown","-h","now"])142def lees_knop(pin):143 global lcdStatus,tijd,vorips,alarmopScherm144 if btn.pressed:145 if lcdStatus == 3:146 lcd.disable_cursor()147 lcdStatus += 1148 if lcdStatus >= 2:149 lcdStatus = 0150 vorips = ""151 if wekkers:152 alarmopScherm = True153 tijd = "gggggggg"154 lcd.reset_lcd()155def joy_knop(pin):156 global lcdStatus,tijd,alarm,alarmopScherm,wekkers157 if joyBtn.pressed:158 if lcdStatus == 1 or lcdStatus == 3:159 if lcdStatus == 3:160 lcdStatus = 1161 alarm = tijd162 alarm = datetime.strptime(alarm,"%H:%M:%S")163 alarm = alarm.replace(year=datetime.now().year,month=datetime.now().month,day=datetime.now().day)164 alarm = alarm + timedelta(days=1)165 t = DataRepository.insert_alarm("Alarm",alarm,True,"")166 socketio.emit("B2F_Addalarm",broadcast=True)167 # data = DataRepository.read_alarmen_nog_komen()168 # print("#",data)169 # wekkers = []170 # for w in data:171 # wekkers.append(w["tijd"])172 # print(">",wekkers[0])173 Wekkers()174 print("alarm",alarm,"\n",alarm)175 lcd.disable_cursor()176 alarmopScherm = True177 else:178 lcd.enable_cursor()179 lcdStatus = 3180 lcd.set_cursor(4)181def codeSchakeling():182 global beginTijdSlapenLater,rgbStilletjesUit,eindTijdSlapen,autoBrightness,startbright,timerRGB,rgbStilletjesAan,ring,minldr,maxldr,aan,timer,timerldr,pixels,huidigetijd,timenow,alarmopScherm,GaanSlapen,beginTijdSlapen,lcdStatus,showtekst,lichtsterkte,vorBright183 Wekkers()184 if wekkers:185 alarmopScherm = True186 while True: 187 timer = time.time()188 huidigetijd = time.strftime("%H:%M:%S")189 timenow = datetime.now().replace(microsecond=0)190 joyY = spi.readChannel(1)191 joyX = spi.readChannel(0)192 # ldr193 waardeldr = spi.readChannel(2)194 if(waardeldr < minldr):195 minldr = waardeldr196 if waardeldr > maxldr:197 maxldr = waardeldr198 if maxldr != minldr:199 lichtsterkte = round(100 - (100*((waardeldr - minldr) / (maxldr - minldr))),2)200 if timer - timerldr >= 60:201 print("LDR inlezen") 202 timerldr = time.time()203 insert = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),lichtsterkte,None,2,1)204 data = DataRepository.read_historiek_by_id(insert)205 print("LDR",lichtsterkte)206 # alarm 207 if wekkers:208 if timenow == (wekkers["tijd"] - timedelta(seconds=11)):209 print("jaaaa")210 if startbright == False:211 print("gelijk")212 rgbStilletjesAan = True213 pixels.brightness = 0214 timerRGB = time.time()215 startbright = True216 if timenow == wekkers["tijd"]:217 if showtekst == False:218 startbright = True219 print("fffffff")220 lcd.reset_lcd()221 aan = True222 lcdStatus = 5223 showtekst = True224 eindTijdSlapen = datetime.now().replace(microsecond=0)225 print("WEKKER GAAT AF")226 if timenow == beginTijdSlapenLater:227 tekstOpLcd("Slaapwel!")228 rgbStilletjesUit = True229 beginTijdSlapen = beginTijdSlapenLater230 beginTijdSlapenLater = beginTijdSlapenLater - timedelta(seconds=10)231 GaanSlapen = 1232 socketio.emit("B2F_SlaapStatus",{"slapen": GaanSlapen},broadcast=True)233 if aan == True:234 buzzer.start(10)235 displayStatus(joyY,joyX)236 if rgbStilletjesAan != False:237 if autoBrightness == True:238 autoBrightness = False239 socketio.emit("B2F_autoBrightness",{"autobrightness": autoBrightness})240 if (timer - timerRGB) >=0.25:241 if ring == False:242 ring = True243 socketio.emit("B2F_Ringstatus",{"ring": ring})244 id = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,3)245 pixels.fill((Red,Green,Blue))246 timerRGB = time.time()247 pixels.brightness += 0.025248 # print(pixels.brightness)249 if pixels.brightness == 1:250 rgbStilletjesAan = False251 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),round(pixels.brightness,2),None,4,5)252 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)253 elif rgbStilletjesUit != False:254 if autoBrightness == True:255 autoBrightness = False256 socketio.emit("B2F_autoBrightness",{"autobrightness": autoBrightness})257 if ring == True:258 if (timer - timerRGB) >=0.25:259 if pixels.brightness < 0.025:260 rgbStilletjesUit = False261 ring = False262 socketio.emit("B2F_Ringstatus",{"ring": ring})263 id = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,4)264 else:265 # print("#",pixels.brightness)266 pixels.brightness = pixels.brightness - 0.05267 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)268 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),round(pixels.brightness,2),None,4,5)269 timerRGB = time.time()270 else:271 rgbStilletjesUit = False272 if pixels.brightness != 0:273 pixels.brightness = 0274 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)275 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),round(pixels.brightness,2),None,4,5)276 else:277 if autoBrightness == False:278 if ring == 1:279 pixels.fill((Red,Green,Blue))280 elif ring == 0:281 pixels.fill((0,0,0))282 else:283 if lichtsterkte <= 51:284 if (timer - timerRGB) >=0.25:285 pixels.fill((Red,Green,Blue))286 bright = 1 -lichtsterkte / 50287 if ring == False:288 ring = True289 socketio.emit("B2F_Ringstatus",{"ring": ring})290 id = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,3)291 if abs(bright - vorBright) >0.05 :292 pixels.brightness = float(bright)293 vorBright = bright294 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)295 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),round(pixels.brightness,2),None,4,5)296 timerRGB = time.time()297 else:298 if pixels.brightness != 0:299 pixels.brightness = 0300 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)301 if ring == True:302 ring = False303 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)304 socketio.emit("B2F_Ringstatus",{"ring": ring})305 id = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,4)306 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),round(pixels.brightness,2),None,4,5)307def displayStatus(y,x):308 global vorips , tijd , teller , joyTimer , alarmopScherm, huidigetijd,timer, vorWakkerWorden,timeLCDStatus,lcdStatus309 if lcdStatus == 0:310 lcd.reset_cursor()311 ips = check_output(["hostname", "-I"])312 ips = ips.decode("utf-8")313 lijst = ips.split()314 if ips != vorips:315 for i in range(0, len(lijst)):316 if i <2:317 if (i % 2) == 0:318 lcd.second_row()319 else:320 lcd.first_row()321 lcd.write_message(lijst[i])322 vorips = ips323 elif lcdStatus == 1:324 if tijd != huidigetijd:325 t = 0326 # print(tijd)327 for (a, b) in zip(huidigetijd, tijd):328 if a !=b:329 lcd.set_cursor(4+t)330 lcd.write_message(a)331 t += 1332 tijd = huidigetijd333 if wekkers:334 if alarmopScherm is True:335 print("nieuw alarm")336 lcd.set_cursor(64)337 print("@",wekkers["tijd"].time())338 lcd.write_message(f"Alarm: {wekkers['tijd'].time()}")339 alarmopScherm = False340 elif lcdStatus == 3:341 if timer - joyTimer >=0.3:342 if x > 1000:343 teller += 1344 cijfer = tijd[teller-4:teller-3]345 # als hij op een : komt 1 skippen346 if cijfer == ":":347 teller += 1348 # checken als teller groter is dan lengte tijd349 if teller -4 > len(tijd)-1:350 print("terug naar begin\t",len(tijd))351 teller = 4352 lcd.set_cursor(teller)353 joyTimer = time.time()354 elif x < 10:355 teller -= 1356 cijfer = tijd[teller-4:teller-3]357 # als hij op een : komt 1 skippen358 if cijfer == ":":359 teller -= 1360 # checken als teller kleiner is dan lengte tijd361 if teller <= 3:362 print("kleiner")363 teller = 11364 lcd.set_cursor(teller)365 joyTimer = time.time()366 if y > 1000:367 joyTimer = getal_veranderen(teller,tijd)368 elif y < 10:369 joyTimer = getal_veranderen(teller,tijd,True)370 elif lcdStatus == 5:371 if vorWakkerWorden != WakkerWorden:372 lcd.first_row()373 lcd.write_message(WakkerWorden)374 vorWakkerWorden = WakkerWorden375 elif lcdStatus == 6:376 # print(timer,"\t",timeLCDStatus,"\t",timer-timeLCDStatus)377 if (timer - timeLCDStatus) >=3:378 print("verander display")379 lcdStatus = 1380 lcd.reset_lcd()381def getal_veranderen(teller,vortijd,plus=False):382 global tijd383 cijfer = int(tijd[teller-4])384 if plus is False:385 cijfer -= 1386 else:387 cijfer +=1388 if cijfer <= -1:389 cijfer = 9390 elif cijfer >= 10:391 cijfer = 0392 tijd = tijd[0:teller-4] + str(cijfer) + tijd[teller-3::]393 # lcd.set_cursor(4)394 # lcd.write_message(tijd)395 tijd = checkdeel(tijd)396 # print("#", tijd)397 t = 0398 for (a, b) in zip(vortijd, tijd):399 if a !=b:400 lcd.set_cursor(4+t)401 lcd.write_message(b)402 t += 1403 lcd.set_cursor(teller)404 joyTimer = time.time()405 return joyTimer406def checkdeel(tijd):407 delen = tijd.split(":")408 string = ""409 for deel in range(0,len(delen)):410 if deel == 0:411 # print("M",delen[deel])412 if int(delen[deel]) >= 24:413 delen[deel] = "23"414 else:415 # print("N",delen[deel])416 # if int(delen[deel]) == 90:417 # delen[deel] = "60"418 if int(delen[deel]) >= 60:419 delen[deel] = "59"420 421 string += str(delen[deel])422 if deel != 2:423 string += ":"424 # print(">", string)425 return string426def getWeight():427 global averagegewicht,gewichtmetingen,aan,eindTijdSlapen,GaanSlapen,beginTijdSlapen, lcdStatus,vorWakkerWorden,showtekst,tijd428 # hx.set_scale_ratio(hx.get_data_mean(20)/188.0)429 timergewicht = time.time()430 while True:431 # while aan == True:432 # print(round(hx.get_weight_mean(20),2), 'g')433 reading = hx.get_raw_data_mean(10)434 if aan == False:435 gewichtmetingen.append(reading)436 if len(gewichtmetingen) == 5:437 averagegewicht = average(gewichtmetingen)438 print("gemiddelde",averagegewicht)439 gewichtmetingen = []440 # print(">",averagegewicht,"\t#",gewichtmetingen)441 timergewicht = time.time() 442 else:443 diff = averagegewicht - reading444 print("#",diff)445 if diff < -5000:446 print(">",timer - timergewicht)447 if timer - timergewicht >= 2:448 print("ALARM UIT")449 aan = False450 buzzer.start(0)451 tijd = "gggggggg"452 lcd.reset_lcd()453 showtekst = False454 vorWakkerWorden = ""455 lcdStatus = 1456 print("id wekker",wekkers["alarmID"])457 if wekkers["herhaal"] != "":458 dagenoverlopen = True459 tijdstip = wekkers["tijd"]460 while dagenoverlopen is True:461 tijdstip = tijdstip + timedelta(days=1)462 if tijdstip.strftime("%A") in wekkers["herhaal"]:463 print("NIEUWE DATUM",tijdstip)464 te = DataRepository.update_alarm_tijdstip_by_id(wekkers["alarmID"],tijdstip)465 socketio.emit("B2F_Addalarm",broadcast=True)466 dagenoverlopen = False467 else:468 f = DataRepository.update_alarmActief0_by_id(wekkers["alarmID"])469 print("jaauihdfsulighazuiefzghuizefgui")470 socketio.emit("B2F_Addalarm",broadcast=True)471 if beginTijdSlapen:472 effectievetijd = datetime.now().replace(microsecond=0)473 print("eindTijdSlapen")474 timeChecker(beginTijdSlapen,eindTijdSlapen,effectievetijd)475 # dat = DataRepository.insert_slaap(beginTijdSlapen,eindTijdSlapen,effectievetijd)476 socketio.emit("B2F_NewSleepData",broadcast=True)477 GaanSlapen = 0478 socketio.emit("B2F_SlaapStatus",{"slapen": GaanSlapen},broadcast=True)479 beginTijdSlapen = None480 Wekkers()481 else:482 timergewicht = time.time() 483 print("diff",diff)484def Wekkers():485 global wekkers,alarmopScherm,tijd486 if lcdStatus == 2:487 lcd.reset_lcd()488 wekkers = DataRepository.read_alarm_nog_komen()489 print("W0",wekkers)490 if wekkers:491 alarmopScherm = True492 tijd = "gggggggg"493def timeChecker(begin,einde,effectief=None):494 verschil = einde - begin495 if (verschil.total_seconds() /60) >=1:496 print("---- Nieuwe Slaap data ----")497 dat = DataRepository.insert_slaap(begin,einde,effectief)498 socketio.emit("B2F_NewSleepData",broadcast=True)499 print("New sleepdata id:",dat)500 else:501 print("---- Geen Slaap data ----")502 socketio.emit("B2F_NewSleepData",broadcast=True)503 print("Difference",verschil.total_seconds())504def tekstOpLcd(tekst):505 global lcdStatus, timeLCDStatus, tijd, alarmopScherm506 lcd.reset_lcd()507 lcdStatus = 6508 timeLCDStatus = time.time()509 lcd.set_cursor(3)510 lcd.write_message(tekst)511 tijd = "gggggggg"512 if wekkers:513 alarmopScherm = True514# Code voor Flask515app = Flask(__name__)516app.config['SECRET_KEY'] = 'geheim!'517socketio = SocketIO(app, cors_allowed_origins="*", logger=False,518 engineio_logger=False, ping_timeout=1)519CORS(app)520@socketio.on_error() # Handles the default namespace521def error_handler(e):522 print(e)523# API ENDPOINTS524@app.route('/')525def hallo():526 return "Server is running, er zijn momenteel geen API endpoints beschikbaar."527@app.route('/api/alarm/',methods=["GET","POST"])528def alarmen():529 if request.method == "GET":530 data = DataRepository.read_alarmen()531 if data is not None:532 return jsonify(alarmen=data),200533 elif request.method == "POST":534 gegevens = DataRepository.json_or_formdata(request)535 print(gegevens)536 data = DataRepository.insert_alarm(gegevens["naam"],gegevens["tijd"],gegevens["actief"],gegevens["herhaal"])537 return jsonify(alarmid=data),201538@app.route('/api/alarm/<alarmid>/',methods=["GET","PUT","DELETE"])539def alarmbyid(alarmid):540 if request.method == "GET":541 data = DataRepository.read_alarm_by_id(alarmid)542 if data is not None:543 return jsonify(alarm=data),200544 else:545 return jsonify(status="error"),404546 elif request.method == "DELETE":547 dele = DataRepository.delete_alarm_by_id(alarmid)548 return jsonify(status=dele),201549@app.route('/api/historiek/',methods=["GET","POST"])550def historiek():551 if request.method == "POST":552 gegevens = DataRepository.json_or_formdata(request)553 print(gegevens)554 data = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),gegevens["color"],None,gegevens["deviceID"],gegevens["actieID"])555 return jsonify(historiekID=data),201556@app.route('/api/slaap/',methods=["GET"])557def slaap():558 if request.method == "GET":559 data = DataRepository.read_slaap()560 if data is not None:561 return jsonify(slaap=data),200562@app.route('/api/slaap/week/',methods=["GET"])563def slaapweek():564 if request.method == "GET":565 data = DataRepository.read_slaap_1week()566 if data is not None:567 return jsonify(slaap=data),200568@app.route('/api/slaap/maand/',methods=["GET"])569def slaapmaand():570 if request.method == "GET":571 data = DataRepository.read_slaap_1maand()572 if data is not None:573 return jsonify(slaap=data),200574@app.route('/api/slaap/wekkerdiff/',methods=["GET"])575def slaapWekkerDiff():576 if request.method == "GET":577 data = DataRepository.read_slaap_wekker_diff()578 if data is not None:579 return jsonify(slaap=data),200580# socket endpoints581@socketio.on('connect')582def initial_connection():583 print('A new client connect')584 socketio.emit("B2F_Ringstatus",{"ring": ring})585 socketio.emit("B2F_SlaapStatus",{"slapen": GaanSlapen})586 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness})587 socketio.emit("B2F_SetColor",{"red":Red,"green":Green,"blue":Blue})588 socketio.emit("B2F_autoBrightness",{"autobrightness": autoBrightness})589 590@socketio.on("F2B_SetColor")591def setColor(payload):592 global Red,Green,Blue593 print("---------- Set Color ----------")594 RGB = payload["color"].split(",")595 Red = int(RGB[0])596 Green = int(RGB[1])597 Blue = int(RGB[2])598 print("RGB",Red,Green,Blue)599 socketio.emit("B2F_SetColor",{"red":Red,"green":Green,"blue":Blue},broadcast=True)600@socketio.on("F2B_RGBring")601def setRing(payload):602 global ring603 ring = payload["aan"]604 if payload["aan"] == 1:605 id = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,3)606 else:607 id = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,4)608 socketio.emit("B2F_Ringstatus",{"ring":payload["aan"]})609@socketio.on("F2B_Addalarm")610def addAlarm(payload):611 global alarmopScherm612 Wekkers()613 socketio.emit("B2F_Addalarm",broadcast=True)614@socketio.on("F2B_SetBrightness")615def setBrightness(payload):616 pixels.brightness = float(payload["brightness"])617 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),pixels.brightness,None,4,5)618 socketio.emit("B2F_SetBrightness",{"brightness": payload["brightness"]},broadcast=True)619@socketio.on("F2B_DELalarm")620def delAlarm(payload):621 global alarmopScherm,tijd622 dele = DataRepository.delete_alarm_by_id(payload["alarmid"])623 print(dele)624 Wekkers()625 socketio.emit("B2F_Addalarm",broadcast=True)626@socketio.on("F2B_UpdateAlarm")627def updateAlarm(payload):628 print("*** Update alarm ***")629 dele = DataRepository.update_alarm_by_id(payload["alarmid"],payload["naam"],payload["tijdstip"],payload["actief"],payload["herhaal"])630 Wekkers()631 socketio.emit("B2F_Addalarm",broadcast=True)632@socketio.on("F2B_GaanSlapen")633def setSlaap(payload):634 print("----------------------------")635 # checken of de tijden gelijk zijn voor GaanSlapen inteststellen636 global beginTijdSlapen, eindTijdSlapen,GaanSlapen,beginTijdSlapenLater,rgbStilletjesUit,rgbStilletjesAan637 uur = str(datetime.now().hour)638 if len(uur) == 1:639 uur = "0"+uur640 minut = str(datetime.now().minute)641 if len(minut) == 1:642 minut = "0"+minut643 tijd = uur + ":" + minut644 print("#",payload,tijd)645 if payload["Slapen"] == 1:646 print("#",payload["Slapen"],tijd)647 if payload["tijd"] == tijd:648 print("test")649 tekstOpLcd("Slaapwel!")650 rgbStilletjesUit = True651 GaanSlapen = 1652 beginTijdSlapen = datetime.now().replace(microsecond=0)653 print(beginTijdSlapen)654 else:655 print("andere tijd")656 uur = int(payload["tijd"][0:2])657 minuten = int(payload["tijd"][3:5])658 print("uur",uur,"min",minuten)659 beginTijdSlapenLater = datetime.now().replace(hour=uur,minute=minuten,second=0,microsecond=0)660 if(beginTijdSlapenLater < datetime.now()) == True:661 beginTijdSlapenLater += timedelta(days=1)662 print(beginTijdSlapenLater)663 print(beginTijdSlapenLater)664 # GaanSlapen = payload["Slapen"]665 # print(payload["Slapen"])666 # if GaanSlapen == 1:667 # beginTijdSlapen = datetime.now().replace(microsecond=0)668 # print(beginTijdSlapen)669 elif payload["Slapen"] == 0:670 GaanSlapen = 0671 eindTijdSlapen = datetime.now().replace(microsecond=0)672 rgbStilletjesAan = True673 print(eindTijdSlapen)674 tekstOpLcd("Goeiemorgen")675 timeChecker(beginTijdSlapen,eindTijdSlapen)676 # print(GaanSlapen)677 socketio.emit("B2F_SlaapStatus",{"slapen": GaanSlapen},broadcast=True)678 print("@",rgbStilletjesAan,"#",rgbStilletjesUit)679@socketio.on("F2B_setautobrightness")680def setAutoBrightness(payload):681 global autoBrightness682 autoBrightness = payload["autobrightness"]683 print("auto",autoBrightness)684 if autoBrightness == True:685 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,6)686 else:687 pixels.brightness = 0.5688 socketio.emit("B2F_SetBrightness",{"brightness": pixels.brightness},broadcast=True)689 d = DataRepository.insert_historiek(time.strftime('%Y-%m-%d %H:%M:%S'),None,None,4,7)690 socketio.emit("B2F_autoBrightness",{"autobrightness": autoBrightness},broadcast=True)691@socketio.on("F2B_Shutdown")692def shutdown():693 print("shutdown")694 Shutdown_knop("f")695# START een thread op. Belangrijk!!! Debugging moet UIT staan op start van de server, anders start de thread dubbel op696# werk enkel met de packages gevent en gevent-websocket.697def start_schakeling_thread():698 print("**** Starting SCHAKELING THREAD ****")699 schakelingThread = threading.Thread(target=codeSchakeling, args=(), daemon=True)700 schakelingThread.start()701def start_weight_thread():702 print("**** Starting WEIGHT THREAD ****")703 weightThread = threading.Thread(target=getWeight,args=(),daemon=True)704 weightThread.start()705 706def start_chrome_kiosk():707 import os708 os.environ['DISPLAY'] = ':0.0'709 options = webdriver.ChromeOptions()710 # options.headless = True711 # options.add_argument("--window-size=1920,1080")712 options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36")713 options.add_argument('--ignore-certificate-errors')714 options.add_argument('--allow-running-insecure-content')715 options.add_argument("--disable-extensions")716 # options.add_argument("--proxy-server='direct://'")717 options.add_argument("--proxy-bypass-list=*")718 options.add_argument("--start-maximized")719 options.add_argument('--disable-gpu')720 # options.add_argument('--disable-dev-shm-usage')721 options.add_argument('--no-sandbox')722 options.add_argument('--kiosk')723 # chrome_options.add_argument('--no-sandbox') 724 # options.add_argument("disable-infobars")725 options.add_experimental_option("excludeSwitches", ["enable-automation"])726 options.add_experimental_option('useAutomationExtension', False)727 driver = webdriver.Chrome(options=options)728 driver.get("http://localhost")729 while True:730 pass731def start_chrome_thread():732 print("**** Starting CHROME ****")733 chromeThread = threading.Thread(target=start_chrome_kiosk, args=(), daemon=True)734 chromeThread.start()735# ANDERE FUNCTIES736if __name__ == '__main__':737 try:738 setup_gpio()739 start_schakeling_thread()740 start_weight_thread()741 # start_chrome_thread()742 print("**** Starting APP ****")743 socketio.run(app, debug=False, host='0.0.0.0')744 except KeyboardInterrupt:745 print ('KeyboardInterrupt exception is caught')746 lcd.reset_lcd()747 pixels.deinit()748 finally:...
main_alex.py
Source:main_alex.py
...36print('tijd uit bed gebruiker: ' + str(uit_bed))37print('buzzer instellingen: ' + str(buzzerInstellingen))38print('meldingen instellingen: ' + str(meldingen))39print(datetime.datetime.now().strftime("%H:%M:%S"))40def check_slapen():41 while(datetime.datetime.now().strftime("%H:%M:%S") < str(uit_bed)):42 #print(slapen)43 slapen = True44 time.sleep(2)45 else:46 time.sleep(2)47 slapen = False48 #print(slapen)49 today = datetime.date.today()50 print(today)51#naar bed update 52#we zetten gebruikernaarbed op false, zodat de loop kan starten53while gebruikerNaarBed == False:54 while(datetime.datetime.now().strftime("%H:%M:%S") < str(naar_bed)):...
Choices.py
Source:Choices.py
1print("Je bent wakker.")2print("Wat wil je doen? \n A: Eten \n B: Verder slapen \n C: Douchen")3ant_1 = input()4if ant_1.lower() == "a":5 print("Je gaat eten")6elif ant_1.lower() == "b":7 print("Je gaat verder slapen")8elif ant_1.lower() == "c":9 print("Je gaat nu douchen")10print("wat wil je nu gaan doen? \n A: Gamen \n B: Je kamer schoonmaken")11ant_2 = input()12if ant_2.lower() == "a":13 print("Je gaat nu lekker gamen")14elif ant_2.lower() == "b":15 print("je gaat nu schoonmaken")16print("wat wil je nu gaan doen? \n A: Buiten chillen \n B: Drinken kopen")17ant_3 = input()18if ant_3.lower() == "a":19 print("Je gaat nu buiten chillen")20elif ant_3.lower() == "b":21 print("Je gaat nu drinken halen")22print("wat wil je nu gaan doen? \n A: Pizza maken \n B: Osu spelen")23ant_4 = input()24if ant_4.lower() == "a":25 print("Je gaat nu lekker pizza maken en daarna eten")26elif ant_4.lower() == "b":27 print("je gaat nu osu spelen")28print("wat wil je nu gaan doen? \n A: Slapen \n B: Naar de bioscoop")29ant_5 = input()30if ant_5.lower() == "a":31 print("Je gaat nu lekker slapen")32elif ant_5.lower() == "b":...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!