Connection from xiao esp32-C3 to s2100 via modbus

This the decoder javascript :slight_smile:

function decodeUplink(input) {
  let bytes = input.bytes;
  let data = {};

  // Parcours du payload SenseCAP (peut contenir plusieurs channels)
  /*for (let i = 0; i < bytes.length;) {
    let channelId = (bytes[i] << 8) | bytes[i+1]; // 2 octets
    let dataType = bytes[i+2];                   // 1 octet
    i += 3;

    if (dataType === 0x02) { // Uint16
      let value = (bytes[i] << 8) | bytes[i+1];
      data["channel_" + channelId] = value;
      i += 2;
    } else {
      // type non supporté (skip ?)
      break;
    }
  }*/
  for (let i = 0; i < bytes.length;) {
    let channelId = (bytes[i] << 8) | bytes[i+1]; // 2 octets
    let dataType = bytes[i+2];                   // 1 octet
    i += 3;

    if (channelId === 0x1301) {
      let value = (bytes[i] << 8) | bytes[i+1]; // Uint16
      data["dataType"] = dataType;
      data.bike_count = value;
      i += 2;
    } else {
      // skip unsupported / unknown
      break;
    }
  }