in data 01-10-2024 09:05 AM
Buongiorno.
Ho creato una routine su smartthings che dovrebbe attivare la sirena.
Tale routine ha in OR logico l'apertura dei sensori delle varie finestre e porte.
La routine funziona se non vincolata ad un intervallo temporale.
Se invece metto come precondizione il funzionamento tra le 23 e le 6:30 non funziona
La ciondizione temporale si basa sul perido di tempo (23:00 6:30) tutti i giorni.
Nelle mie intenzioni dovrebbe attivarsi nell'intervallo specificato e disattivarsi al di fuoi di questo.
Scrivendo in pseudocodice:
if (interval_start<=time<=interval_end)
{
if((sensore_1==OPEN )||
(sensore_2==OPEN )||
(sensore_3==OPEN )||
(sensore_4==OPEN )||
} ATTIVA_SIRENA
Dove sbaglio?
Grazie
Alessandro
in data 01-10-2024 10:35 AM
02-10-2024 11:47 AM - modificato 02-10-2024 11:48 AM
Ciao a tutti,
ti do il benvenuto nella Community ufficiale di Samsung, Members_3mwlUC3. 🤝
La logica che hai descritto sembra corretta in linea di principio, tuttavia, vi sono alcuni aspetti da considerare.
Faccio un esempio in termini di pseudocodice:
'''// Definizione degli orari di inizio e fine
interval_start = ''23:00''
interval_end= ''06:30''
//funzione per controllare se l'orario attuale si trovi all'interno dell'intervallo
function isTimeInInterval (current_time) {
if (current_time >= interval_start ||
current_time < interval_end) {
return true
}
returne false
}
//Funzione principale
function
checkSensorAndActivateSiren () {
current_time = getCurrentTime ()
// funzione per ottenere orario attuale
if (isTimeInInterval (current_time)) {
if (sensor_1 == OPEN|| sensore_2
== OPEN|| sensore_3 == OPEN||
sensore_4 == OPEN) {
ATTIVA_SIRENA() // Funzione per attivare sirena
}
}
}'''
In parole semplici occorre definire l'intervallo di tempo, creare una funzione per verificare se l'orario attuale rientra nell'intervallo di tempo specificato e controllare lo stato dei sensori; nel tuo caso la sirena se le condizioni sono rispettate.
Perdonami se ho commesso degli errori e se sono stata poco chiara, ad ogni modo l'app Smart Thing non necessità di alcun codice, pertanto occorrerà procedere in tal senso:
Qualora avessi già svolto questi step, è possibile che un'altra routine crei conflitto, pertanto, ti suggerisco di rimuoverle e ripartire dal principio.
Mi fai sapere? Resto a completa disposizione. 😊
Buona giornata!