function Decoder(bytes, port) { // Decode an uplink message from a buffer (array) of bytes to an object of fields. var decoded = {}; // decoded.port = port; decoded.humidity = 0; decoded.temp = 0; decoded.pressure=0; if (port === 10) { // Port selection decoded.humidity = (bytes[0] << 16 | bytes[1]<<8 | bytes[2] | (bytes[0] & 0x80 ? 0xFF<<24 : 0))/1000; decoded.temp = (bytes[3] << 16 | bytes[4]<<8 | bytes[5] | (bytes[3] & 0x80 ? 0xFF<<24 : 0))/1000; decoded.pressure = (bytes[6] << 16 | bytes[7]<<8 | bytes[8] | (bytes[6] & 0x80 ? 0xFF<<24 : 0))/1000; decoded.Ain = (bytes[9] << 16 | bytes[10]<<8 | bytes[11] | (bytes[9] & 0x80 ? 0xFF<<24 : 0))/1000; //decoded.feld4 = (parseFloat((bytes[6] << 8) | bytes[7]).toFixed(2)/10.); // Thinhspeak itegration decoded.field1 = decoded.temp; decoded.field2 = decoded.humidity; decoded.field3 = decoded.pressure; decoded.field4 = decoded.Ain; } return decoded; }