Ir al contenido

Escribir y controlar

Un artefacto no solo muestra datos: si tiene permiso de escritura, escribir una gVar manda una orden a un thing. Es la base de cualquier control (botones, sliders, interruptores).

Escribir es asignar:

gVar.encender = true;

La asignación es síncrona y optimista: tu propia pantalla ve el valor nuevo de inmediato, y el motor de diferencias lo envía en el siguiente ciclo (500 ms como máximo). No hay promesa que esperar.

<button id="luz">Encender luz</button>
const boton = document.querySelector("#luz");
boton.addEventListener("click", () => {
gVar.encender = !gVar.encender;
});

La confirmación llega cuando el thing publica su estado. En vez de pintar el botón como “encendido” al hacer clic, lee la variable de estado real:

setInterval(() => {
boton.classList.toggle("activo", gVar.encendido === true);
}, 500);

Si la plataforma corrige tu valor (un thing que normaliza true a 255), tu variable adopta el valor real cuando llega la confirmación, siempre que no la hayas vuelto a escribir mientras tanto.

Algunas escrituras son un error de programación y lanzan TypeError en el momento:

EscrituraPor qué falla
gVar.nueva = 5La variable no existe. Se crea en Telemetría, no desde el código.
gVar.noSeleccionada = 5Existe en el proyecto pero no está seleccionada.
gVar.temperaturas_time = [...]Las claves _time son internas del sistema.
delete gVar.xNo se pueden borrar variables desde un artefacto.
gVar.temperaturas = [1, 2, 3]Es una serie: se reinicia con = [] o se alimenta con pushData().
gVar.lista = [...3001 elementos]El máximo por lista es 2500 elementos.
Cualquier escritura siendo invitadoUn artefacto privado abierto por un guest es de solo lectura.

En un artefacto público, escribir una variable que no está en su lista permitida no lanza: avisa por console.warn y no cambia nada. Es intencional — una URL pública no revela qué variables existen en el proyecto.

Las series no se escriben por asignación: se alimentan con pushData() y se reinician con = []. Además requieren un rol de escritura cuando hay varias pestañas abiertas. Todo eso está en Series y gráficas.