Febris CO2 Quick Start Guide

Are you looking for the Febris CO2 Quick Start Guide?

Here you will find the Febris CO2 Quick Start Guide.

Febris_2-2

Commissioning

📢 Please note that when using knives or other sharp objects, the case or electronics may be damaged.

  1. Open the sensor on the tab provided for this purpose (in the picture at the bottom). Use a sharp object carefully if necessary.
  2. Insert the cells now To achieve the specified runtimes and the performance specified in the datasheets, the following primary cells are allowed:
    1. For LoRaWAN® and mioty® sensors
      - Energizer® Ultimate Lithium Batteries – AA
      - VARTA ULTRA LITHIUM Mignon AA
    2. For cellular sensors (NB-IoT)
      - Energizer® Ultimate Lithium Batteries – AA
      - VARTA ULTRA LITHIUM Mignon AA

      Each sensor requires 4 cells.Untitled (17)
  3. The sensor is now open. If you have a NB-IoT sensor and you want to insert your own SIM card, insert the SIM card now.Untitled (18)Untitled (20)
  4. If the sensor is now open, press the switch to start the device. After flipping the switch, the sensor starts, the 3 LEDs on the front flash and you can hear a sound sequence. The sensor then performs a measurement. The LED light shows you the result.

 

NFC parameterization and position of the NFC tag

  1. Activation takes place via an NFC app. A smartphone is required for this. The app can be downloaded from the respective app stores. Just search for “Sentinum LinQs” and download the LinQs app.Untitled (29)
  2. Locate the tag on the sensor first and then the reader on your device. The position of the NFC tag can be found in the following pictures.Untitled (23)

LoRaWAN® Payload Decoder Febris Series

function decodeUplink(input) {

    var decoded = {};
    var bytes = input.bytes;

    if (input.fPort == 1) {//TELEMETRY

        //decode header
        decoded.base_id = bytes[0] >> 4;
        decoded.major_version = bytes[0] & 0x0F;
        decoded.minor_version = bytes[1] >> 4;
        decoded.product_version = bytes[1] & 0x0F;
        decoded.up_cnt = bytes[2];
        decoded.battery_voltage = ((bytes[3] << 8) | bytes[4]) / 1000.0;
        decoded.internal_temperature = ((bytes[5] << 8) | bytes[6]) / 10 - 100;
        decoded.networkBaseType = 'lorawan';
        decoded.networkSubType = 'tti';
        
        var it = 7;
        
        if(decoded.minor_version >= 3){
            it = 7;
        
            //Luftfeuchte ist bei allen Varianten enthalten
            decoded.humidity = bytes[it++];
    
            if (decoded.product_version & 0x01) { // Co2 und Druck sind enthalten wenn subversion bit0 = 1, andernfalls 0
                decoded.pressure = (bytes[it++] << 8 | bytes[it++]);
                decoded.co2_ppm = (bytes[it++] << 8 | bytes[it++]);
            } else {
                it += 4;//Werte sind 0  aus kompatibilitäts Gründen, daher überspringen
            }
    
            decoded.alarm = bytes[it++];//Alarm-Level, entspricht grün, gelb, rot
    
            //FIFO Werte wegwerfen (1 byte fifo size, 1 byte period, 7 bytes pro fifo eintrag)
            it += 2 + bytes[it] * 7;
    
            decoded.dew_point = ((bytes[it++] << 8) | bytes[it++]) / 10 - 100;
            
            // Wandtemperatur und Feuchte enthalten wenn subversion bit 2 = 1
            if (decoded.product_version & 0x04) {
                decoded.wall_temperature = ((bytes[it++] << 8) | bytes[it++]) / 10 - 100;
                decoded.therm_temperature = ((bytes[it++] << 8) | bytes[it++]) / 10 - 100;
                decoded.wall_humidity = bytes[it++];
            }
    
        }else{
            it = 7;
        
            //Luftfeuchte ist bei allen Varianten enthalten
            decoded.humidity = bytes[it++];
    
            if (decoded.product_version & 0x01) { // Co2 und Druck sind enthalten wenn subversion bit0 = 1, andernfalls 0
                decoded.pressure = (bytes[it++] << 8 | bytes[it++]);
                decoded.co2_ppm = (bytes[it++] << 8 | bytes[it++]);
            } else {
                it += 4;//Werte sind 0  aus kompatibilitäts Gründen, daher überspringen
            }
    
            decoded.alarm = bytes[it++];//Alarm-Level, entspricht grün, gelb, rot
    
            //FIFO Werte wegwerfen (1 byte fifo size, 1 byte period, 7 bytes pro fifo eintrag)
            it += 2 + bytes[it] * 7;
    
            //Taupunkt seit minor version 2 bei alle Varianten enthalten (ausnahme früher versionen subversion 2, daher byte prüfen)
            if (decoded.minor_version >= 2 && bytes[it] ) {
              
                decoded.dew_point = bytes[it++] - 100;
            }
            
            // Wandtemperatur und Feuchte enthalten wenn subversion bit 2 = 1
            if (decoded.product_version & 0x04) {
                decoded.wall_temperature = bytes[it++] - 100;
                decoded.therm_temperature = bytes[it++] - 100;
                decoded.wall_humidity = bytes[it++];
    
            }
    
    
        }
    }

    return {
        data: decoded,
        warnings: [],
        errors: []
    };

}