Chiudi

What are you looking for?

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

SmartThings attiva allarme su base tempo

(Argomento creato il giorno: 01-10-2024 09:05 AM)
274 Visualizzazioni
Members_3mwlUC3
First Poster
Opzioni

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

 

 

0 Likes
2 Risposte
LeonardoChiodi
Big Cheese
Opzioni
Il tuo codice sembra corretto. Puoi, per favore postare un'immagine di come hai configurato la routine sulla dashboard?
0 Likes
Jessica_A
Moderator
Moderator
Opzioni

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:

  • apri l'app e crea una routine
  • premi su Se
  • setta il periodo di tempo
  • imposta una precondizione Se - Allora
  • seleziona il dispositivo
  • setta nuovamente la precondizione
  • premi su Allora
  • procedi con il salvataggio

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!

Jessica
Samsung Community Expert

0 Likes