Forum
>>
Programmazione Python
>>
Scripting
>>
Script per schedulazione chiusura automatica
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da emanuel_b |
2018-12-03 20:09:20 - Script per schedulazione chiusura automatica
|
Ciao a tutti! Sono niubbissimo di Python e questa è la mia prima applicazione. Serve per chiudere automaticamente una serranda ad un determinato orario, la chiusura può pero essere posticipata premendo un pulsante (parte da implementare con i GPIO di raspberry). Sicuramente avrei bisogno di qualche consiglio sulla scrittura del codice, ma mi chiedo il perchè non funzioni o meglio perchè se l'avvio da pycharm e imposto l'orario di chiusura l'applicazione non chiude?
import datetimefrom datetime import timedelta import time import schedule def chiudi(): serranda_down_PL = requests.get('http://192.168.1.2:8080/status.xml?pl3=1') time.sleep(180) luci_PL = requests.get('http://192.168.1.2:8080/status.xml?pl2=1') def apri(): serranda_up = requests.get('http://192.168.1.2:8080/status.xml?pl4=1') def portiere(): bottone_count = 1 # contatore di quante volte è stato premuto il pulsante da integrare con moduloGPIO now = datetime.datetime.now() # ora attuale t = now.time() x = t.strftime("%X") # estrapolazione dell'ora in formato xx:xx ora_chiusura = datetime.time(19,40,00) ritardo_chiusura = datetime.timedelta(minutes=20) t1 = ora_chiusura.strftime ( "%H"':'"%M" ) while bottone_count == 0: return t1 while bottone_count >= 0 and bottone_count <= 3: # ogni volta che il bottone viene premuto incrementa il ritardo di # chiusura di minuti = d4 t3 = datetime.datetime.combine(datetime.date(1,1,1), t)+ ritardo_chiusura print(type(t3)) t4 = t3.strftime("%H"':'"%M") return t4 while bottone_count > 3: return t4 def chiusura_automatica(): def job(): chiudi() def job2(): apri() schedule.every().day.at(portiere()).do(job) schedule.every().day.at("7:50").do(job2) while True: schedule.run_pending() --- Ultima modifica di emanuel_b in data 2018-12-03 20:11:32 --- |
|
Scritto da Daniele aka Palmux |
2018-12-03 21:20:02 - Re: Script per schedulazione chiusura automatica
|
Ciao caro, semplifica tutto e lascia solo la parte in cui chiudi la saracinesca. Per la schedulazione usa cron che all'orario stabilito ti farà partire lo script.
Almeno io farei così, evitando un sacco di problemi. Cya |
|
Scritto da emanuel_b |
2018-12-05 21:59:03 - Re: Script per schedulazione chiusura automatica
|
Allora ho seguito il consiglio di Daniele ed analizzato tutto il codice isolando e i problemi ad un ad uno. Beh, errore mio, lo script che ho postato funziona l’errore si trovava nella parte non ancora implementata del bottone_count: impostandolo a zero il programma va alla grande. Sicuramente sarà da migliorare... questione di tempo .
|
|
Scritto da Daniele aka Palmux |
2018-12-06 08:52:29 - Re: Script per schedulazione chiusura automatica
|
Bravissimo, trovare la soluzione da soli è sempre la cosa più appagante che ci sia.
Happy coding. |
Pagina: 1
Esegui il login per scrivere una risposta.