Endpoint
El objeto endpoint representa un endpoint dentro de un dispositivo instalado en la plataforma. Normalmente se accede a los endpoints a través de la propiedad endpoints del objeto device.
Propiedades
### address (string) La propiedad address representa la dirección del endpoint, como texto.
Ejemplos
Este ejemplo muestra la dirección del primer endpoint de un dispositivo, a través de la consola de log.
env.log('Endoint address: ', myDevice.endpoints.byIndex(0).address);### description (string) La propiedad description representa la descripción del endpoint.
Ejemplos
Este ejemplo muestra la descripción del primer endpoint de un dispositivo, a través de la consola de log.
env.log('Endoint description: ', myDevice.endpoints.byIndex(0).description);### endpointType (int enum)
La propiedad endpointType indica el tipo de endpoint. Los valores posibles para esta propiedad, son los siguientes:
- endpointType.appliance (1): el endpoint es de tipo on/off, es decir que puede encenderse y apagarse, como puede ser una lámpara sin regulación de brillo, una válvula, una bomba de agua, etc.
- endpointType.dimmer (2): el endpoint puede encenderse y apagarse, pero también se puede controlar su brillo.
- endpointType.lightSensor (4): el endpoint es un sensor de luz.
- endpointType.colorDimmer (7): el endpoint es capaz de controlar luz cromática (RGB o similar).
- endpointType.closureController (10): el endpoint es un controlador de válvulas, cortinas o cerramientos, que pueden abrirse, cerrarse, y posicionarse.
- endpointType.curtainController (10): equivalente a endpointType.closureController. Este valor existe por compatibilidad con versiones anteriores.
- endpointType.thermostat (12): el endpoint es un termostato.
- endpointType.camera (13): el endpoint es una cámara.
- endpointType.temperatureSensor (14): el endpoint es un sensor de temperatura.
- endpointType.energyMeter (17): el endpoint es un medidor de energía.
- endpointType.doorLock (19): el endpoint es una cerradura electrónica.
- endpointType.iasSensor (20): el endpoint es un sensor de intrusión, presencia, movimiento, o cualquier otro que se utilice para seguridad, y que tenga una cantidad discreta de estados.
- endpointType.locationTracker (22): el endpoint es un tracker de posición (GPS).
- endpointType.humiditySensor (23): el endpoint es un sensor de humedad.
- endpointType.volumeSensor (24): el endpoint es un sensor de volumen.
- endpointType.weightSensor (25): el endpoint es un sensor de peso.
- endpointType.pressureSensor (26): el endpoint es un sensor de presión.
- endpointType.flowSensor (27): el endpoint es un sensor de flujo para líquidos o gases, es decir que la unidad de flujo es un volumen.
- endpointType.genericSensor (28): el endpoint es un sensor escalar genérico, para el cual pueden elegirse las unidades arbitrariamente.
- endpointType.genericFlowSensor (29): el endpoint es un sensor de flujo genérico, de algún otro tipo, para el cual pueden elegirse las unidades arbitrariamente.
- endpointType.voltageSensor (30): el endpoint es un sensor de voltaje (voltímetro).
- endpointType.currentSensor (31): el endpoint es un sensor de corriente (amperímetro).
- endpointType.activePowerSensor (32): el endpoint es un sensor de potencia activa.
- endpointType.reactivePowerSensor (33): el endpoint es un sensor de potencia reactiva.
- endpointType.apparentPowerSensor (34): el endpoint es un sensor de potencia aparente.
- endpointType.cosPhiSensor (35): el endpoint es un sensor de factor de potencia.
- endpointType.frequencyMeter (36): el endpoint es un sensor de frecuencia (frequencímetro).
- endpointType.runTimeMeter (37): el endpoint es un medidor de tiempo de uso (horómetro / run time meter).
- endpointType.ppmConcentrationSensor (38): el endpoint es un sensor de concentración, expresado en partes por millón (ppm).
- endpointType.mvConcentrationSensor (39): el endpoint es un sensor de concentración, expresado en unidades de masa por unidades de volumen.
- endpointType.airQualityIndexSensor: el endpoint es un sensor de calidad de aire (AQI).
- endpointType.peopleFlowSensor (41): el endpoint es un sensor de flujo de personas, es decir que puede detectar el ingreso y/o egreso de personas.
- endpointType.peopleCounter (42): el endpoint es un sensor de cantidad de personas, es decir que puede detectar cuántas personas están presentes en un área determinada.
- endpointType.textContainer (43): el endpoint es un sensor de texto, es decir que puede almacenar cualquier texto hasta 255 caracteres de longitud
Ejemplos
Este ejemplo muestra el tipo de endpoint del primer endpoint de un dispositivo, a través de la consola de log.
env.log('Endoint type: ', myDevice.endpoints.byIndex(0).endpointType);### endpointSubType (int enum)
La propiedad endpointSubType indica el subtipo de endpoint. El subtipo puede indicarse solamente para ciertos tipos de endpoint, como se indica a continuación. Los valores posibles para esta propiedad, son los siguientes:
Para endpoints de tipo endpointType.appliance:
- applianceEndpointSubType.lamp (1): indica que el endpoint es una lámpara.
- applianceEndpointSubType.valve (2): indica que el endpoint es una válvula.
- applianceEndpointSubType.socket (3): indica que el endpoint es un socket, o interruptor enchufable.
- applianceEndpointSubType.pump (4): indica que el endpoint es un bomba de agua u otro líquido.
- applianceEndpointSubType.sprinkler (5): indica que el endpoint es un regador o circuito de riego.
- applianceEndpointSubType.fan (6): indica que el endpoint es un ventilador.
Para endpoints de tipo endpointType.iasSensor:
- iasEndpointSubType.motionSensor (1): indica que el endpoint es un sensor de movimiento.
- iasEndpointSubType.doorSensor (2): indica que el endpoint es un sensor de puerta o ventana.
- iasEndpointSubType.floodSensor (3): indica que el endpoint es un detector de inundación.
- iasEndpointSubType.presenceSensor (4): indica que el endpoint es un sensor de presencia.
- iasEndpointSubType.alarmInput (5): indica que el endpoint es un sensor de alarma.
- iasEndpointSubType.coSensor (6): indica que el endpoint es un sensor de monóxido de carbono.
- iasEndpointSubType.co2Sensor (7): indica que el endpoint es un sensor de dióxido de carbono.
- iasEndpointSubType.gasSensor (8): indica que el endpoint es un sensor de gases de otro tipo.
- iasEndpointSubType.smokeDetector (9): indica que el endpoint es un sensor de humo.
- iasEndpointSubType.parkingSensor (10): indica que el endpoint es un sensor vehicular de estacionamiento.
Para endpoints de tipo endpointType.ppmConcentrationSensor:
- ppmConcentrationSensorSubType.ammonia (1): indica que el endpoint es un sensor de amoníaco.
- ppmConcentrationSensorSubType.Ozone (2): indica que el endpoint es un sensor de ozono.
- ppmConcentrationSensorSubType.nitricOxide (3): indica que el endpoint es un sensor de óxido nítrico.
- ppmConcentrationSensorSubType.nitrogenDioxide (4): indica que el endpoint es un sensor de dióxido de nitrógeno.
- ppmConcentrationSensorSubType.sulfurDioxide (5): indica que el endpoint es un sensor de dióxido de azufre.
- ppmConcentrationSensorSubType.carbonMonoxide (6): indica que el endpoint es un sensor de monóxido de carbono.
- ppmConcentrationSensorSubType.carbonDioxide (7): indica que el endpoint es un sensor de dióxido de carbono.
- ppmConcentrationSensorSubType.voc (8): indica que el endpoint es un sensor de componentes orgánicos volátiles.
Para endpoints de tipo endpointType.mvConcentrationSensor:
- mvConcentrationSensorSubType.lead (1): indica que el endpoint es un sensor de plomo.
- mvConcentrationSensorSubType.pm2_5 (2): indica que el endpoint detecta materia particulada de hasta 2.5 micrones.
- mvConcentrationSensorSubType.pm10 (3): indica que el endpoint detecta materia particulada de hasta 10 micrones.
Ejemplos
Este ejemplo muestra el subtipo de endpoint del primer endpoint de un dispositivo, a través de la consola de log.
env.log('Endoint subtype: ', myDevice.endpoints.byIndex(0).endpointSubType);### accessType (int enum)
La propiedad accessType indica el tipo de acceso que se aplica al endpoint. Los valores posibles para esta propiedad son los siguientes:
- endpointAccessType.readOnly (1): indica que el valor asociado al endpoint no puede modificarse manualmente.
- endpointAccessType.readWrite (2): indica que el valor asociado al endpoint puede modificarse manualmente. Al hacerlo, el nuevo valor se registrará inmediatamente, sin interactuar con el dispositivo.
- endpointAccessType.readWriteCommand (3): indica que el valor asociado al endpoint puede modificarse manualmente. Al hacerlo, se enviará un comando al dispositivo para cambiar el valor. Es responsabilidad del dispositivo reportar el nuevo valor al aceptar el comando.
Ejemplos
Este ejemplo muestra el valor de la propiedad accessType del primer endpoint de un dispositivo, a través de la consola de log.
env.log('Endoint access type: ', myDevice.endpoints.byIndex(0).accessType);### operationSecurityLevel (int enum)
La propiedad operationSecurityLevel indica el nivel de seguridad asociado a la operación del endpoint. Los valores posibles para esta propiedad son los siguientes:
- endpointOperationSecurityLevel.simple (1): indica que el endpoint puede operarse directamente. No es necesario un mensaje de advertencia ni una confirmación por parte del usuario. En las interfaces de usuario, al operar el endpoint, el correspondiente comando se envía inmediatamente.
- endpointOperationSecurityLevel.medium (2): indica que para operar el endpoint, es necesario mostrar antes un mensaje de confirmación, y las opciones correspondientes para aceptar o cancelar la operación. El mensaje es configurable a nivel de endpoint individual, pero es opcional. En caso de no especificarse un mensaje, se utilizará un mensaje de confirmación por defecto.
- endpointOperationSecurityLevel.high (3): indica que para operar el endpoint, es necesaria la confirmación correspondiente al nivel de seguridad medium, pero además se solicita que el usuario reingrese su contraseña.
Ejemplos
Este ejemplo muestra el valor de la propiedad operationSecurityLevel del primer endpoint de un dispositivo, a través de la consola de log.
env.log('Endoint access type: ', myDevice.endpoints.byIndex(0).operationSecurityLevel);### tags (array) La propiedad tags indica el conjunto de tags que se aplica al endpoint. Esta propiedad es un array de strings, cada uno de los cuales indica un tag.
Ejemplos
Este ejemplo muestra la lista de tags del primer endpoint de un device.
myDevice.endpoints.byIndex(0).tags.forEach(item => env.log(item));Métodos
### getCurrentState() El método getCurrentState() permite obtener el estado actual del endpoint.
Parámetros
Este método no tiene parámetros.
Resultado
El valor devuelto por el método es un objeto DataPoint que representa el estado actual del endpoint. Si aún no se ha establecido el estado actual del endpoint, el valor devuelto es null.
Ejemplo 1
Este ejemplo muestra la temperatura actual en un endpoint.
env.log(myDevice.endpoints.byIndex(0).getCurrentState().value);### updateTemperatureSensorStatus(temperature [, utcDateTime]) El método updateTemperatureSensorStatus() permite actualizar el valor de un sensor de temperatura, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- temperature (double): este parámetro indica la temperatura medida, en grados Celsius.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una temperatura de 32 grados Celsius en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateTemperatureSensorStatus(32);### updateHumiditySensorStatus(humidity [, utcDateTime]) El método updateHumiditySensorStatus() permite actualizar el valor de un sensor de humedad, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- humidity (double): este parámetro indica la humedad medida, en porcentaje.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una humedad del 47% en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateHumiditySensorStatus(47);### updateLightSensorStatus(lightIntensity [, utcDateTime]) El método updateLightSensorStatus() permite actualizar el valor de un sensor de iluminación, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- lightIntensity (double): este parámetro indica la intensidad luminosa medida, expresada en lux.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una intensidad luminosa de 7550 lux en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateLightSensorStatus(7550);### updateWeightSensorStatus(weightGrams [, utcDateTime]) El método updateWeightSensorStatus() permite actualizar el valor de un sensor de peso, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- weightGrams (double): este parámetro indica el peso medido, en gramos.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar un peso de 72.5 kg en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateWeightSensorStatus(72500);### updateVolumeSensorStatus(volumeLiters [, utcDateTime]) El método updateVolumeSensorStatus() permite actualizar el valor de un sensor de volumen, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- volumeLiters (double): este parámetro indica el volumen medido, en litros.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar un volumen de 15.000 litros en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateVolumeSensorStatus(15000);### updatePressureSensorStatus(pressurePascals [, utcDateTime]) El método updatePressureSensorStatus() permite actualizar el valor de un sensor de volumen, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- pressurePascals (double): este parámetro indica la presión medida, en Pascales.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una presión de 1013 hectopascales (101300 pascales) en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updatePressureSensorStatus(101300);### updateIASSensorStatus(state [, utcDateTime]) El método updateIASSensorStatus() permite actualizar el estado de un sensor IAS, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- state (int): este parámetro indica el estado del sensor, entre los siguientes:
- iasSensorState.Unknown (0): Desconocido. No se conoce el estado del sensor.
- iasSensorState.idle (1): Inactivo. El sensor no registra actividad.
- iasSensorState.active (2): Activo. El sensor registra actividad.
- iasSensorState.cleaning (3): En limpieza. El espacio asociado al sensor está siendo limpiado.
- iasSensorState.cleaningNeeded (4): Necesita limpieza. El espacio asociado al sensor necesita limpieza.
- iasSensorState.testMode (5): En modo test. El sensor está actualmente en modo de prueba.
- iasSensorState.tampered (6): El sensor ha sido manipulado y puede no estar funcionando correctamente.
- iasSensorState.maintenanceNeeded (7): El sensor requiere mantenimiento y puede no estar funcionando correctamente.
- iasSensorState.entering (8): El sensor detecta que un vehículo está entrando a la plaza de estacionamiento.
- iasSensorState.leaving(9): El sensor detecta que un vehículo está saliendo de la plaza de estacionamiento.
- iasSensorState.violation(10): El sensor informa que la plaza de estacionamiento se encuentra en estado de infracción.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar el estado inactivo en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateIASSensorStatus(1);### updateVoltageSensorStatus(voltageVolts [, utcDateTime]) El método updateVoltageSensorStatus() permite actualizar el estado de un sensor de voltaje, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- voltageVolts (double): este parámetro indica el voltaje medido, en Volts.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de 235V en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateVoltageSensorStatus(235);### updateCurrentSensorStatus(currentAmps [, utcDateTime]) El método updateCurrentSensorStatus() permite actualizar el estado de un sensor de voltaje, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- currentAmps (double): este parámetro indica la corrriente medida, en Amperes.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de 19.5A en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateCurrentSensorStatus(19.5);### updateActivePowerSensorStatus(activePowerWatts [, utcDateTime]) El método updateActivePowerSensorStatus() permite actualizar el estado de un sensor de potencia activa, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- activePowerWatts (double): este parámetro indica la potencia activa medida, en Watts.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de 1250W en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateActivePowerSensorStatus(1250);### updateReactivePowerSensorStatus(reactivePowerVAR [, utcDateTime]) El método updateReactivePowerSensorStatus() permite actualizar el estado de un sensor de potencia activa, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- reactivePowerVAR (double): este parámetro indica la potencia reactiva medida, en Volt-Ampere-Reactivo (VAR).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de 750VAR en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateReactivePowerSensorStatus(750);### updateApparentPowerSensorStatus(apparentPowerVA [, utcDateTime]) El método updateApparentPowerSensorStatus() permite actualizar el estado de un sensor de potencia aparente, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- apparentPowerVA (double): este parámetro indica la potencia aparente medida, en Volt-Ampere (VA).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de 1300VA en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateApparentPowerSensorStatus(1300);### updateCosPhiSensorStatus(cosPhi [, utcDateTime]) El método updateCosPhiSensorStatus() permite actualizar el estado de un sensor de coseno fi (factor de potencia), opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- cosPhi (double): este parámetro indica el coseno fi medido.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de coseno fi de 0.98 en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateCosPhiSensorStatus(0.98);### updateFrequencySensorStatus(frequencyHz [, utcDateTime]) El método updateFrequencySensorStatus() permite actualizar el estado de un sensor de frecuencia (frecuencímetro), opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- frequencyHz (double): este parámetro indica la frecuencia medida, en Hz.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de frecuencia de 60Hz en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateFrequencySensorStatus(60);### updateGenericSensorStatus(value [, utcDateTime]) El método updateGenericSensorStatus() permite actualizar el estado de un sensor escalar genérico, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- value (double): este parámetro indica el valor medido, en las unidades que se hayan seleccionado para el endpoint.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de valor 1234 en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateGenericSensorStatus(1234);### updatePpmConcentrationSensorStatus(value [, utcDateTime]) El método updatePpmConcentrationSensorStatus() permite actualizar el estado de un sensor de medición de concentración, opcionalmente indicando la fecha y hora de la actualización. Esta función sólo es válida para sensores de concentración expresada como partes por millón (ppm).
Parámetros
- value (double): este parámetro indica el valor medido, en partes por millón (ppm).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de valor 1234 ppm en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updatePpmConcentrationSensorStatus(1234);### updateMvConcentrationSensorStatus(value [, utcDateTime]) El método updateMvConcentrationSensorStatus() permite actualizar el estado de un sensor de medición de concentración, opcionalmente indicando la fecha y hora de la actualización. Esta función sólo es válida para sensores de concentración expresada como relación entre masa y volumen (m/v).
Parámetros
- value (double): este parámetro indica el valor medido, microgramos por metro cúbico (μg/m³).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de valor 1234 μg/m³ en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateMvConcentrationSensorStatus(1234);### updateAqiSensorStatus(value [, utcDateTime]) El método updateAqiSensorStatus() permite actualizar el estado de un sensor de calidad de aire, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- value (double): este parámetro indica el valor medido, indicado de acuerdo a la escala AQI (0-500).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una medición de valor 123 en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateAqiSensorStatus(123);### updateApplianceStatus(turnedOn[, utcDateTime]) El método updateApplianceStatus() permite actualizar el estado de un endpoint de tipo on-off (appliance), opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- turnedOn (boolean): este parámetro indica si el endpoint está encendido (true) o apagado (false).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la actualización. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar que el primer endpoint de un dispositivo está encendido.
myDevice.endpoints.byIndex(0).updateApplianceStatus(true);### updateDimmerStatus(turnedOn, level[, utcDateTime]) El método updateDimmerStatus() permite actualizar el estado de un endpoint de tipo dimmer, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- turnedOn (boolean): este parámetro indica si el endpoint está encendido (true) o apagado (false).
- level (int): este parámetro indica el nivel de brillo, entre 1% (mínimo) y 100% (máximo), independientemente de si el dimmer está encendido o apagado.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la actualización. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar que el primer endpoint de un dispositivo está encendido al 75%.
myDevice.endpoints.byIndex(0).updateDimmerStatus(true, 75);### updateClosureControllerStatus(moving, position[, utcDateTime]) El método updateApplianceStatus() permite actualizar el estado de un endpoint de tipo cerramiento (cortina, portón motorizado, etc.), opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- moving (boolean): este parámetro indica si el cerramiento está actualmente en movimiento (abriendo o cerrando). El valor true indica que está en movimiento, mientras que el valor false indica que está detenido.
- position (int): este parámetro indica la posición actual, desde 0% (cerrado) hasta 100% (abierto).
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la actualización. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar que el primer endpoint de un dispositivo está detenido en la posición “abierto”.
myDevice.endpoints.byIndex(0).updateClosureControllerStatus(false, 100);### updateHVACStatus(mode, fanMode, setpoint, ambientTemperature[, utcDateTime]) El método updateHVACStatus() permite actualizar el estado de un dispositivo HVAC, tal como un termostato, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- mode (enum): modo actual del dispositivo:
- thermostatMode.off = 1: el dispositivo está apagado.
- thermostatMode.auto = 2: el dispositivo está encendido en modo automático.
- thermostatMode.heat = 3: el dispositivo está encendido en modo calor.
- thermostatMode.cool = 4: el dispositivo está encendido en modo frío.
- thermostatMode.dry = 5: el dispositivo está encendido en modo deshumidificación.
- thermostatMode.fan = 6: el dispositivo está encendido en modo ventilador.
- fanMode (enum): indica el modo actual del ventilador:
- thermostatFanMode.auto = 1: el ventilador está en modo automático.
- thermostatFanMode.low = 2: el ventilador está en velocidad baja.
- thermostatFanMode.mid = 3: el ventilador está en velocidad media.
- thermostatFanMode.high = 4: el ventilador está en velocidad alta.
- setpoint (number): indica el valor de temperatura deseado, en grados Celsius.
- ambientTemperature (number): indica el valor de la temperatura ambiente, en grados Celsius.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la actualización. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar que el primer endpoint de un dispositivo está encendido en modo frío, con el ventilador en velocidad automática, una temperatura deseada de 25 grados Celsius, y una temperatura ambiente de 26 grados Celsius.
myDevice.endpoints.byIndex(0).updateHVACStatus(thermostatMode.cool, thermostatFanMode.auto, 25, 27);### updateLocationTrackerStatus(latitude, longitude [, altitude, flags, utcDateTime]) El método updateLocationTrackerStatus() permite actualizar el estado de un rastreador de ubicación, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- latitude (double): Indica la latitud. El valor debe ser entre -90 y 90. El separador para los decimales es el punto
- longitude (double): Indica la longitud. El valor debe ser entre -180 y 180. El separador para los decimales es el punto
- altitude (double): Indica la altura. Valor numérico. El separador para los decimales es el punto
- flags (int, opcional): Indica información extra para la posición. Es un valor entero que representa una suma bit a bit. Los estados disponibles son:
- locationTrackerFlags.none (0): Nada en especial
- locationTrackerFlags.moving (1): La posición del sensor está cambiando
- locationTrackerFlags.noPosition (2): El sensor no puede adquirir la posición
- locationTrackerFlags.malfunctioning (4): El sensor no funciona correctamente. La posición informada puede ser incorrecta
- locationTrackerFlags.lowPrecision (8): La posición informada tiene baja precisión
Los valores pueden combinarse a través de la operación OR. Por ejemplo, para indicar que la posición informada tiene baja precisión, y la posición está cambiando, debe utilizarse (8 OR 1) = 9.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar una ubicación con latitud -13.9957594 y longitud 48.933938 en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateLocationTrackerStatus(-13.9957594, 48.933938);Ejemplo 2
Este ejemplo muestra cómo informar una ubicación con latitud -13.9957594, longitud 48.933938 y altura 123 en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateLocationTrackerStatus(-13.9957594, 48.933938, 123);Ejemplo 3
Este ejemplo muestra cómo informar una ubicación con latitud -13.9957594, longitud 48.933938, altura 123 y flag 1 (La posición del sensor está cambiando) en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateLocationTrackerStatus(-13.9957594, 48.933938, 123, locationTrackerFlags.moving);Ejemplo 4
Este ejemplo muestra cómo informar una ubicación con latitud -13.9957594, longitud 48.933938 y un timestamp específico en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateLocationTrackerStatus(-13.9957594, 48.933938, 0, locationTrackerFlags.none, '2021-02-23T14:55:03');### updateEnergySensorValueSummation(activeEnergySummationWh, reactiveEnergySummationVARh [, utcDateTime]) El método updateEnergySensorValueSummation() permite actualizar la sumatoria de energía activa y reactiva de un sensor de energía, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- activeEnergySummationWh (double): Indica el valor actual de la sumatoria de energía activa, expresada en Wh.
- reactiveEnergySummationVARh (double): Indica el valor actual de la sumatoria de energía reactiva, expresada en VARh.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar un acumulado de energía activa y reactiva de 14650 Wh y 1280 VARh respectivamente, en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateEnergySensorValueSummation(14650, 1280);### updateEnergySensorValueUnits(activeEnergyWh, reactiveEnergyVARh [, utcDateTime]) El método updateEnergySensorValueUnits() permite agregar un valor de consumo de energía activa y reactiva de un sensor de energía, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- activeEnergyWh (double): indica la cantidad de energía activa consumida, expresada en Wh. Este valor se sumará al consumo de energía activa registrado anteriormente.
- reactiveEnergyVARh (double): Indica la cantidad de energía reactiva consumida, expresada en VARh. Este valor se sumará al consumo de energía reactiva registrado anteriormente.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar un consumo de 160 Wh y 22 VARh respectivamente, en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateEnergySensorValueUnits(160, 22);### updateFlowSensorValueSummation(summationValue, [, utcDateTime]) El método updateFlowSensorValueSummation() permite actualizar la sumatoria de flujo de un sensor de flujo, sensor de flujo genérico, o sensor de flujo de personas, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- summationValue (double): Indica el valor actual de la sumatoria de flujo.
- Para los sensores de flujo, el valor indicado debe estar expresado en litros.
- Para los sensores de flujo genéricos, el valor indicado debe estar expresado en la unidad asociada a la variable elegida para el sensor.
- Para los sensores de flujo de personas, el valor está indicado en personas.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar un acumulado de flujo de 14650 litros en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateFlowSensorValueSummation(14650);### updateFlowSensorValueUnits(value, [, utcDateTime]) El método updateFlowSensorValueUnits() permite agregar un valor al flujo registrado por un sensor de flujo, sensor de flujo genérico, o sensor de flujo de personas, opcionalmente indicando la fecha y hora de la actualización.
Parámetros
- value (double): indica el valor de flujo registrado. Este valor se sumará al valor registrado anteriormente.
- Para los sensores de flujo, el valor indicado debe estar expresado en litros.
- Para los sensores de flujo genéricos, el valor indicado debe estar expresado en la unidad asociada a la variable elegida para el sensor.
- Para los sensores de flujo de personas, el valor está indicado en personas.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo informar un flujo de 182 litros en el primer endpoint de un dispositivo.
myDevice.endpoints.byIndex(0).updateFlowSensorValueUnits(182);### updateTextContainerStatus(text, [, utcDateTime]) El método updateTextContainerStatus() permite agregar texto hasta 255 caracteres de longitud
Parámetros
- text : Indica el texto que se desea agregar
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC de la muestra. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo agregar texto
myDevice.endpoints.byIndex(0).updateTextContainerStatus("Sample text for text container endpoint");### uploadCameraSnapshot(base64Content, fileType, [, utcDateTime]) El método uploadCameraSnapshot() permite almacenar una imagen obtenida de una cámara.
Parámetros
- base64Content: es el texto, en formato base/64, correspondiente al contenido binario de la imagen.
- fileType: indica el tipo de imagen. Los valores aceptados son “jpg” y “png”.
- utcDateTime (date, opcional): este parámetro indica la fecha y hora UTC en que se tomó la imagen. Si se omite el parámetro, se asumirá la fecha y hora actual.
Ejemplo 1
Este ejemplo muestra cómo agregar texto
myDevice.endpoints.byIndex(0).uploadCameraSnapshot("VGhpcyBpcyBzb21lIHRleHQ....[more text].....", "jpg");Endpoint collection
El objeto endpoint collection representa una colección de endpoints contenidos en un dispositivo. Usualmente se accede a la lista de endpoints a través de la...
Device model configuration
El objeto device model configuration permite establecer la configuración básica para un modelo de dispositivo, típicamente empleado en los scripts de...