Pular para o conteúdo principal

rtc (real time clock)

Grupo de funções utilizado para manipular o RTC e os dados de relógio do equipamento.

Fuso Horário

Os dias e horários são exibidos e configurados conforme o fuso horário configurado no webserver do equipamento.

descrição das variáveis

Durante essa página serão utilizados algumas variáveis para descrever os métodos e respostas das funções. Veja abaixo a descrição dessas variáveis.

VariávelDescriçãotipoRange
hhoraint0 a 23
minminutoint0 a 59
ssegundoint0 a 59
ddiaint0 a 31
monmêsint1 a 12
yanoint2000 a 2099
wddia da semanaint1 a 7
yddia do anoint1 a 366
tsunix timestamp [s]int0 a 1.8446744e+19

RTC

Função global utilizada para utilizar o relógio em tempo real RTC (Real Time Clock). Com ele é possível saber o valor do relógio interno nesse momento e funções de verificação relacionado a data e horários.

rtc.now

Retorna o valor atual do horário.

rtc.now(str);

Resposta: obj

Possíveis valores

Entrada "str"DescriçãoResposta obj
"t"Retorna horário atual{h, min, s}
"d"Retorna data atual{d, mon, y, wd, yd}
"ts"Retorna timestamp atualts

Exemplo

Caso os comandos fossem solicitados no dia 04/jan/2023 as 12:30:15 (GMT -3) as respostas seriam da seguinte forma:

rtc.now("t");

Resposta: {h: 12, min: 30, s: 15}


rtc.lastchange

Retorna o tempo que passou desde a última mudança de estado de uma variável binária em relação a um valor específico. Também retorna o timestamp que ocorreu tal mudança.

Necessita de objeto global para guardar respostas. let aux = {"since": -1, "past": 0};

aux = rtc.lastchange(state, boolreference, aux.since, aux.past);

Resposta: objeto {"since": timestamp, "past": timePassed}

Exemplo

Precisamos saber quanto tempo uma variável binária está com seu estado em false.

Você pode utilizar qualquer valor booleano.

let aux = {"since": -1, "past": 0};

let loop = function() {
aux = rtc.lastchange(myVar, false, aux.since, aux.past);
log(aux);
delay(1000);
};

Resposta: {"since": 1697560430, "past": 1209} Nesse caso se passaram 1209 segundos desde que o valor booleano foi para false.


rtc.isnow

Retorna se hora e dia atual são iguais a entrada da função.

rtc.isnow(d, mon, y, h, min);

Resposta: true/false

Exemplo

Caso os comandos fossem solicitados no dia 05/jan/2023 as 12:30:15 as respostas seriam da seguinte forma:

rtc.isnow(5, 1, 2023, 12, 30);

Resposta: true


rtc.isnow_time

Retorna se hora atual é igual a entrada da função.

rtc.isnow_time(h, min);

Resposta: true/false

Exemplo

Caso os comandos fossem solicitados em qualquer dia as 12:30:15 as respostas seriam da seguinte forma:

rtc.isnow_time(12, 30);

Resposta: true


rtc.isnow_date

Retorna se a data atual é igual a entrada da função. Caso o ano não seja informado a função considera que pode ser o ano atual do equipamento.

rtc.isnow_date(d, mon, y = this_year);

Resposta: true/false

Exemplo

Caso os comandos fossem solicitados no dia 05/jan/2023 a resposta seria da seguinte forma:

rtc.isnow_date(5, 1, 2023);

Resposta: true

rtc.isnow_date(5, 1);

Resposta: true

rtc.isnow_date(5, 1, 2025);

Resposta: false


rtc.isnow_x

Retorna se a variavel atual é igual a entrada da função.

rtc.isnow_x(str, int);

Resposta: true/false

Possíveis valores

Entrada strEntrada int
"h"0-23
"min"0-59
"d"1-31
"mon"1-12
"y"2000-2099
"wd"1-7
"yd"1-366

Exemplo

Caso o comando fosse solicitado em qualquer horário de uma quarta feira a resposta seria da seguinte forma:

rtc.isnow_date("wd", 4);

Resposta: true


rtc.millis

Retorna o tempo de execução em millisegundos desde que o processador foi inicializado (reseta em uInt64). Útil para utilização em lógicas de tempo.

rtc.millis();

Resposta: Tempo em millisegundos


rtc.seconds

Retorna o tempo de execução em segundos desde que o processador foi inicializado (reseta em uInt64/1000). Útil para utilização em lógicas de tempo.

rtc.seconds();

Resposta: Tempo em segundos