Escribir y controlar
This content is not available in your language yet.
Un artefacto no solo muestra datos: si tiene permiso de escritura, puede escribir una gVar para mandar una orden a un thing. Es la base de cualquier control (botones, sliders, interruptores).
const { gvar } = window.Undercromo;write(clave, valor) es asíncrono y resuelve cuando la plataforma confirma el
cambio:
await gvar.write("encender", true);El thing que observe esa gVar reaccionará (ver Telemetría con gVar del lado del thing).
Ejemplo: un botón de control
Sección titulada «Ejemplo: un botón de control»<button id="luz">Encender luz</button>const boton = document.querySelector("#luz");
boton.addEventListener("click", async () => { try { await gvar.write("encender", true); } catch (error) { console.error("No se pudo escribir:", error); alert("No tienes permiso para controlar este thing."); }});Maneja siempre el error
Sección titulada «Maneja siempre el error»write falla (la promesa se rechaza) si:
- el artefacto no tiene permiso de escritura, o
- la variable no es visible para él, o
- hay un problema de conexión.
Por eso write va siempre dentro de try/catch (o con .catch(...)). No asumas
que el cambio se aplicó: espera a que la promesa resuelva.
// Refleja el estado real, no el clicgvar.observe("encendido", (estado) => { boton.classList.toggle("activo", estado === true);}, { immediate: true });