Forum Navigation
Please or Register to create posts and topics.

Funcion crepuscular, dia noche

Una de las cosas mas útiles para un sistema domotico es saber si es de dia o no.

Teniendo el servidor correctamente configurado es facil saberlo... gracias a la central meteorologica virtual, la cual informa de las horas de orto y ocaso.

Teniendo esos datos es muy sencillo saber si estamos por la noche o no... simplemente usando esta función podemos averiguarlo.

 

boolean Noche(){

int ac=hour * 100 + minute;
int h=hour_ocaso * 100 + minute_ocaso;
if (ac>h){return true;}//Si hora mayor a ocaso retorno true

h=hour_orto * 100 + minute_horto;
if (ac<h){return true;}//Si es menor que la hora de  salida tambien es denoche
return false;
}

 

Su uso es muy sencillo, se añade en las funciones de usuario en el configurador, luego la podemos llamar en cualquier sitio de esta manera.

if (Noche()==false){}//Esta condicion se ejecuta si es de dia
if (Noche()){}//Esta condicion se ejecuta si es de noche

Muchas gracias Roberto.

Ciertamente, sencillo y practico, sobre todo para los que disponemos del servidor.

Eso pinta fenomenal.

Gracias Roberto.

Sí son muy útiles, yo las uso mucho, eso sí escribo el código de otra forma,  voy a revisar el tuyo Roberto.

Muy bueno.

Gracias Roberto.

Gracias Roberto,

Era una cosa que tenía  pendiente. Ya solo me falta tiempo.

Muy buena idea.

Gracias Roberto!!

Hola,

Estoy intentando hacer de alguna mara el que las persianas se suban o bajen dependiendo de si es de noche o de día.

Creando una función y dándole al icono de la misma en la pantalla de móvil va perfectamente, pedo me gustaría que fuese automático cuando lo tuviese activado, de la única manera que se me ha ocurrido es haciendo un circuito y activarlo o desactivarlo según me interese, el código es este pero no me funciona.

Alguna idea??

if (circuits[14].Out1_Value){if (Noche()){SelectScene(2);}} //Esta condición se ejecuta si es de noche y se bajan persianas
if (circuits[15].Out1_Value){if (Noche()==false){SelectScene(1);}} //Esta condición se ejecuta si es de día y suben persianas

Mira este tuto y creo que te resultara muy fácil.

https://excontrol.es/orto-y-ocaso-en-central-excontrol/

Esta disponible desde el curso.

danitut has reacted to this post.
danitut

Fácil no, facilísimo básicamente lo que quiero hacer está ahí.

Muchas gracias por la info.