Las instrucciones para interpretar la trama en el gestor de gateways se realizan en JavaScript, siguiendo el mismo orden de bytes realizado en el dispositivo.
Con esta parte se habilita la lectura de los parámetros para gestionar los datos en HomeAssistant mediante un mensaje Mqtt.
function Decode(fPort, bytes, variables) { var Down_rssi = -1*parseInt(bytes[0]); var Down_snr = bytes[1]; var Down_datarate = bytes[2]; // usando entero var unalectura = (bytes[4] << 8) |(bytes[3]); unalectura = (unalectura/1000) unalectura = +unalectura.toFixed(2); var appData = {'Down_rssi':Down_rssi, 'Down_snr':Down_snr, 'Down_datarate':Down_datarate, 'bateria_V': unalectura} return appData; }
función de codificación hacia el dispositivo, Reenvía al dispositivo el Rssi de Uplink del paquete anterior
function Encode(fPort, obj) { var data = new Array(); data[0] = -1*parseInt(obj["Up_rssi"]) return data; }
Automatización en Home-Assistant
para reenviar el Rssi de UpLink hacia el dispositivo para registrar valores en el punto de muestra:
alias: cc01UpRssi_reenviar description: reenviar cc01 Up_rssi al dispositivo trigger: - platform: state entity_id: sensor.rssi_up_cc01 action: - service: mqtt.publish data_template: topic: application/1/device/a53ec615aede3f01/command/down payload_template: >- {"confirmed":false,"fPort":3,"object":{"Up_rssi":{{ trigger.to_state.state }}}}