Cellocator protocol is updated: Event code 8 (MultiSense Added) and Event code 9 (MultiSense Removed) of Module 28 (General Status Event) are supported.
The following flespi parameters are registered for these events:

  • sensor.mac.address - MAC Address
  • sensor.battery.level - Battery level, %
  • sensor.rssi - Last RSSI value (SR-RF) (Signed, dBm units)

    The following settings are added for Cellocator CelloTrack Nano device, Actions tab:

    • Request Position
    • Request SIM ICCID
    • Connect to Server
    • Reset Unit

      15 days later
      • Edited

      Cellocator protocol is updated: Module 1 - DTC Event of Message Type 11 is supported.
      The following flespi parameters are registered for this module:

      • moduel.id=1 signifying that Module 1 DTC Event is received from the device
      • can.dtc.number - Number of DTCs received by Mode 3
      • can.dtc (indexed parameter, optional) - Mode 3 DTCs
      • can.pending.dtc (indexed parameter, optional) - Mode 7 DTCs
        12 days later

        Event code 17: Tag mode MultiSense raw data of Module 28 of Message type 11 is supported for CelloTrack Nano device. The following parameters are registered:

        • byte 10: RSSI - sensor.rssi, dBm
        • bytes 11 - 16: MAC Address - sensor.mac.address
        • bytes 18,19, bits 0-13: Battery Level - sensor.battery.voltage, volts
        • byte 25, bits 5-7: Zone # - sensor.zone
          6 days later
          • Edited

          Module 46 - 2G/3G/4G Cell-ID of Message Type 11 is supported for Cellocator protocol.
          The following flespi parameters are registered for this module:

          • bytes 10,11: Serving Cell MCC - gsm.mcc
          • bytes 12,13: Serving Cell MNC - gsm.mnc
          • bytes 14,15: Serving Cell LAC / TAC - gsm.lac
          • bytes 16 - 22: Serving Cell Global Cell ID - gsm.cellid
          • bytes 23, 24: Serving Cell PSC / Physical Cell ID - gsm.pcid
          • byte 25: Serving Cell Reference Signal Received Power, dBm - network.signal.rsrp
          • byte 26: Serving Cell Access Technology: 2G=0, 3G=2, 4G=7 - gsm.network.type

          For the neighbor cells, if any, the same parameters are registered additionally with indexes starting from 1.

          16 days later

          Cellocator protocol is updated: now position parameters are copied into all messages for different modules of Message Type 11.

          13 days later
          12 days later
          • Edited

          Module 90: Primary Battery Fuel Gauge Status is supported for Message type 11 of Cellocator protocols. The following flespi parameters are registered for this module:

          • byte 5: Battery State of Health, % - battery.health
          • byte 6: Battery Fuel Gauge Status 1 - battery.state.bitmask.1
          • byte 7: Battery Fuel Gauge Status 2 - battery.state.bitmask.2
          • bytes 10,11: Temperature Reading, degrees - battery.temperature
          • byte 14: Cellular RSSI, dBm - gsm.signal.dbm

          The update is applicable for Cellocator CelloTrack 10Y

          Cellocator protocol updated: added Module 35 EDR Crash Attributes and Module 43 Calibration Matrix Response of CSA (Cellocator Safety Application) OTA Protocol
          Mapping to flespi parameters is the following:

          Module 35

          • Crash ID - crash.id
          • Vehicle Type - vehicle.type
          • Crash Type - crash.type
          • Acceleration Max (X or Y) during Crash - crash.max.acceleration
          • Crash Orientation - crash.orientation
          • Roll Indication - rollover.event
          • Parking Indication - driving.status
          • Crash Duration - crash.duration
          • Number of Acceleration Samples Between Last GPS Before Crash and Crash - samples.before.crash
          • Number of Acceleration Samples Between Crash and Next GPS - samples.after.crash
          • Number of Complete GPS Seconds Before Crash - time.before.crash
          • Number of Complete GPS Seconds After Crash - time.after.crash

          Module 43

          • Index 1 ... Index 21 - calibration.matrix.index.1 ... calibration.matrix.index.21
          6 days later

          Cellocator protocol is updated as a part of big refactoring process. The following changes are introduced.
          Modules 46: 2G/3G/4G Cell-ID, 70: Driver Behavior Event and 75: Driver Behavior Maneuver Extended Data will not be registered a separate message any more, instead all parameters that come for these modules will be registered into one message for each packet received from device.

          Below is a layout of modules values into flespi parameters.

          Module 70: Driver Behavior Event

          • Calibration Status - calibration.status: true - calibration is in progress, false - calibration is finished
          • Engine - engine.ignition.status: true - ignition is On, false - ignition is OFF
          • Driver ID - driver.id
          • Event Reason 2 - Accident (Crash) event:
            -- crash.event=true will always present for Accident (Crash) event
            -- Crash Orientation- crash.direction.enum
            -- Roll - rollover.alarm.status: true - roll detected, false - roll not detected
            -- Parking - crash.movement.status: true - crash while driving, false - crash while parking
          • Event Reason 5 - Calibration event:
            -- Calibration Status - calibration.state.enum
            -- Calibration Step - calibration.step
            -- Calibration Phase - calibration.phase
          • Event Reason 6 - Harsh Acceleration:
            -- harsh.acceleration.event=true will be registered for this event
          • Event Reason 7 - Harsh Braking:
            -- harsh.braking.event=true will be registered for this event
          • Event Reason 8 - Harsh Turn:
            -- harsh.turn.event=true will be registered for this event
            -- harsh.turn.right.event=true will be registered for right turn detected
            -- harsh.turn.left.event=true will be registered for left turn detected
          • Event Reason 9 - Over Speeding:
            -- overspeeding.event: true - for Over Speeding Start event, false for - Over Speeding Stop event.

          Module 75: Driver Behavior Maneuver Extended Data

          • Maneuver Type: depending on the value one of the following parameters will ve registered:
            -- maneuver.harsh.acceleration.event=true
            -- maneuver.harsh.braking.event=true
            -- maneuver.harsh.turn.right.event=true
            -- maneuver.harsh.turn.left.event=true
            -- maneuver.overspeeding.event=true
          • Maneuver Start Longitude - maneuver.start.longitude ,degrees
          • Maneuver Start Latitude - maneuver.start.latitude, degrees
          • Maneuver Stop Longitude - maneuver.stop.longitude, degrees, registered only for over speeding event
          • Maneuver Stop Latitude - maneuver.stop.latitude, degrees, registered only for over speeding event
          • Maneuver Start GPS Fix - maneuver.start.position.valid: true - GPS fix is valid, false - no GPS fix
          • Maneuver Start time and date - maneuver.start.timestamp, seconds
          • Maneuver Stop GPS Fix - maneuver.stop.position.valid: true - GPS fix is valid, false - no GPS fix, registered only for over speeding event
          • Maneuver Stop time and date - maneuver.stop.timestamp, seconds, registered only for over speeding event
          • Maneuver Duration - maneuver.duration, seconds
          • Max X Acceleration - maneuver.max.x.acceleration, g
          • Max Y Acceleration - maneuver.max.y.acceleration, g
          • Max Speed - maneuver.max.speed, km/h
          • Turn Direction Change - maneuver.harsh.turn.angle, degrees

          Module 46: 2G/3G/4G Cell-ID: see parameters layout in this post namo

          7 days later
          • Edited

          Below is a layout of values of MultiSense modules of message type 11 into flespi parameters for Cellocator CelloTrack Nano

          Module 40: Measurement Readings

          • Event Code - sensor.readings.type: 1 - temperature °C, 2 - humidity %
          • Metadata Source - measurement.source
          • Readings with corresponding timestamp are regiatered into JSON object parameter sensor.readings:
          "sensor.readings": [
              {
                "timestamp": 1636952492,
                "value": 41.8
              },
              {
                "timestamp": 1636952552,
                "value": 41.9
              },
              {
                "timestamp": 1636952612,
                "value": 42
              },
              ...
          ]

          Module 42: Nano Inherent Sensors

          • X acceleration - device.x.acceleration, g
          • Y acceleration - device.y.acceleration, g
          • Z acceleration - device.z.acceleration, g
          • Ambient Light - device.illuminance, lux
          • Air pressure translated to altitude above sea-level - device.pressure.altitude, m
          • Current temperature from the most accurate available source - device.temperature, °C
          • Temperature Readings Validity - device.temperature.valid: true - valid, false - invalid
          • Nano battery level - device.battery.level, %
          • RSSI of cellular modem - gsm.signal.dbm, dbm

          Module 44: MultiSense Additional Information

          • MultiSense MAC address - sensor.mac.address.additional
          • Battery level - sensor.battery.level.additional, %
          • Last BLE RSSI - sensor.rssi.additional, dBm
          • Time of last communication from the specific MultiSense - sensor.last.timestamp.additional, s
          • Last measured temperature - _sensor.temperature.additional, °C
          • Last measured humidity - sensor.humidity.additional, %
          • Last measured light level - sensor.illuminance.additional, lux
          • Last measured X acceleration - sensor.x.acceleration.additional, g
          • Last measured Y acceleration - sensor.y.acceleration.additional, g
          • Last measured Z acceleration - sensor.z.acceleration.additional, g
          • Magnetic Sensor State - sensor.magnet.status.additional: true - magnet present, false - magnet not present
          • Package State - sensor.package.status.additional: true - opened, false - closed
          • Edited

          Below is a layout of values of MultiSense module 28 of message type 11 into flespi parameters.
          Applicable for Cellocator CelloTrack Nano

          Module 28: General Status Event

          • Event Category - event.category, event.category.1, event.category.2 etc
          • Event Code - event.enum, event.enum.1, event.enum.2 etc

          Since this module can contian several events, parameters event.category and event.enum are registered with indices staring with 1 and increasing by 1 for the second and subsequest events (if present). If module 28 contains only one event - only one pair of parameters will be registered: event.category and event.enum without indexes.

          The other parameters depend on the event.category and event.enum value.

          event.enum=1 (event.category=1): Impact

          • impact.event=true
          • Source of measurement - measurement.source.<event.enum>
          • Impact acceleration RMS value = SQRT (X2 + Y2 + Z2) - acceleration.rms.<measurement.source>

          event.enum=3 (event.category=1): Man Down

          • mandown.event=true

          event.enum=4 (event.category=1): Package Open/Closed

          • Source of measurement - measurement.source.<event.enum>
          • Open/Close - sensor.package.status.<measurement.source>, true - opened, false - closed
          • Filtered current light value - sensor.illuminance.<measurement.source>, lux

          event.enum=7 (event.category=1): MultiSense Provisioning

          • Source of measurement - measurement.source.<event.enum>
          • Problem Code - sensor.error.code.<measurement.source>
          • Battery level - sensor.battery.level.<measurement.source>, %
          • Last RSSI value - sensor.rssi.<measurement.source>, dBm
          • Time of last communication from the specific MultiSense - sensor.last.timestamp.<measurement.source>, s
          • Last measured temperature - sensor.temperature.<measurement.source>, °C
          • Last measured humidity - sensor.humidity.<measurement.source>, %
          • Last measured light level - sensor.illuminance.<measurement.source>, lux
          • Last measured X acceleration - sensor.x.acceleration.<measurement.source>, g
          • Last measured Y acceleration - sensor.y.acceleration.<measurement.source>, g
          • Last measured Z acceleration - sensor.z.acceleration.<measurement.source>, g
          • Magnetic Sensor State - sensor.magnet.status.<measurement.source>: true - magnet present, false - magnet not present
          • Package State - sensor.package.status.<measurement.source>: true - open, false - closed

          event.enum=8 (event.category=1): MultiSense Added

          • Source of measurement - measurement.source.<event.enum>
          • sensor.paired.status.<measurement.source>=true
          • MAC Address - sensor.mac.address.<measurement.source>
          • HW-TYPE of added MultiSense - sensor.type.bitmask.<measurement.source>
          • Battery level - sensor.battery.level.<measurement.source>, %
          • Last RSSI value - sensor.rssi.<measurement.source>, dBm

          event.enum=9 (event.category=1): MultiSense Removed

          • Source of measurement - measurement.source.<event.enum>
          • _sensor.paired.status.<measurement.source>=false
          • MAC Address - sensor.mac.address.<measurement.source>
          • HW-TYPE of added MultiSense - sensor.type.bitmask.<measurement.source>
          • Battery level - sensor.battery.level.<measurement.source>, %
          • Last RSSI value - sensor.rssi.<measurement.source>, dBm

          event.enum=10 (event.category=1): Work-ID/Activation

          • Work-ID - work.id

          event.enum=13 (event.category=1): Guest MultiSense raw data

          • Source of measurement - measurement.source.<event.enum>
          • RSSI - sensor.rssi.<measurement.source>, dBm
          • MAC Address - sensor.mac.address.<measurement.source>
          • Group ID - sensor.group.id.<measurement.source>
          • Battery Level - sensor.battery.voltage.<measurement.source>, V
          • TX Reason - sensor.report.reason.<measurement.source>
          • Temperature - sensor.temperature.<measurement.source>, °C
          • Humidity - sensor.humidity.<measurement.source>, %
          • Light Level - sensor.illuminance.<measurement.source>, lux
          • Magnetic Sensor State - sensor.magnet.status.<measurement.source>
          • Package State - sensor.package.status.<measurement.source>
          • Last measured X acceleration - sensor.x.acceleration.<measurement.source>, g
          • Last measured Y acceleration - sensor.y.acceleration.<measurement.source>, g
          • Last measured Z acceleration - sensor.z.acceleration.<measurement.source>, g
          • Battery Level - sensor.battery.voltage.<measurement.source>, V
          • Temperature Alert - sensor.temperature.alert.<measurement.source>
          • Humidity Alert - sensor.humidity.alert.<measurement.source>
          • RSSI - sensor.rssi.<measurement.source>, dBm

          event.enum=15 (event.category=1): MultiSense Door/Window Open/Close

          • Source of measurement - measurement.source.<event.enum>
          • Open/Close - sensor.door.status.<measurement.source>: true - open, false - closed

          event.enum=16 (event.category=1): Free-fall

          • free.fall.event=true
          • Source of measurement - measurement.source.<event.enum>
          • Free fall acceleration RMS value = SQRT (X2 + Y2 + Z2) - acceleration.rms.<measurement.source>

          event.enum=17 (event.category=1): Tag mode MultiSense raw data

          • Source of measurement - measurement.source.<event.enum>
          • RSSI - sensor.rssi.<measurement.source>, dBm
          • MAC Address - sensor.mac.address.<measurement.source>
          • Group ID - sensor.group.id.<measurement.source>
          • Battery Level - sensor.battery.voltage.<measurement.source>, V
          • TX Reason - sensor.report.reason.<measurement.source>
          • Zone - sensor.zone.<measurement.source>

          event.enum=18 (event.category=1): Sudden Pressure Change

          • Difference between the last stable altitude and current filtered one - altitude.difference, m

          event.enum=21 (event.category=1): No MultiSense received

          • Source of measurement - measurement.source.<event.enum>
          • Time elapsed from last reception - sensor.reading.age.<measurement.source>, s

          event.enum=23 (event.category=1): MultiSense button pressed event

          • Source of measurement - measurement.source.<event.enum>

          Cellocator protocol is going to be updated tomorrow, as a part of big refactoring of the protocol implementation. Upgrade will affect the following Modules of Message Type 11:

          • Module 40: Measurement Readings
          • Module 42: Nano Inherent Sensors
          • Module 44: MultiSense Additional Information
          • Module 28: General Status Event

          Modules will not be registered as separate messages any more, instead all parameters that come for these modules will be registered into one message for each packet received from device. Also, the message will contain several boolean parameters that denote the modules contained, e.g. for the packet that carries modules 40, 42 and 44 in it, the message will contain parameters:

            "module.id.40": true,
            "module.id.42": true,
            "module.id.44": true,

          Posts namo and namo describe the mapping of Modules bytes into flespi parameters, that will be introduced with the tomorrows update.

          The update is applicable for Cellocator CelloTrack Nano

          namo
          The update is installed.

            Module 38 J1939 DTC Appeared/Disappeared of Message type 11 is supported.
            This module is sent by Cellocator Cello CAN iQ device.

            The layout of bytes of the module to flespi parameters is below:

            • Transmission Reasons Bitmask - can.dtc.state.bitmask
            • Source Number - can.dtc.source
            • Amount of active DTCs in the message - can.dtc.number
            • DTC #1, DTC #2 etc - can.dtc.1, can.dtc.2, etc

            Here is an example of Cellocator message that is registered for a Cellocator CelloTrack Nano packet that contains Module 28 General Status Event and Module 42 Nano Inherent Sensors.

            {
              "channel.id": 111,
              "device.battery.level": 71,
              "device.firmware.version": "34p",
              "device.illuminance": 0,
              "device.pressure.altitude": -42.1,
              "device.temperature": 38.4,
              "device.temperature.valid": false,
              "device.x.acceleration": 0.011,
              "device.y.acceleration": -0.03025,
              "device.z.acceleration": -0.991,
              "event.category": 1,
              "event.enum": 13,
              "gps.mode.1": 4,
              "gps.mode.2": 2,
              "gsm.signal.dbm": -77,
              "hardware.version.enum": 122,
              "ident": "2338333",
              "measurement.source.13": 252,
              "message.buffered.status": true,
              "message.type": "11",
              "module.id.28": true,
              "module.id.42": true,
              "peer": "127.0.0.1:43944",
              "position.altitude": -30.2,
              "position.direction": 250.726331,
              "position.hdop": 1,
              "position.latitude": 25.738857,
              "position.longitude": -80.262057,
              "position.satellites": 6,
              "position.speed": 2,
              "private.status": false,
              "protocol.id": 9,
              "sensor.battery.voltage.252": 2.926,
              "sensor.group.id.252": 2,
              "sensor.humidity.252": 33.1,
              "sensor.humidity.alert.252": false,
              "sensor.illuminance.252": 23,
              "sensor.mac.address.252": "481ABBBBDDDD",
              "sensor.report.reason.252": 6,
              "sensor.rssi.252": -35,
              "sensor.temperature.252": 30.6,
              "sensor.temperature.alert.252": false,
              "sensor.x.acceleration.252": 0,
              "sensor.y.acceleration.252": -0.064,
              "sensor.z.acceleration.252": -0.32,
              "server.timestamp": 1638959705.789526,
              "time.valid.status": true,
              "timestamp": 1636582654
            }

            Parameter message.type=11 shows that this is a modular message, and parameters module.id.28=true and module.id.42=true show that this message contains modules 28 and 42.

            According to this post namo, for Module 42 you should expect parameters device.battery.level, device.illuminance, device.pressure.altitude etc to be present in the JSON message.

            As for Module 28, you should first read event.category and event.enum parameters, as the set of parameters to be contained in the JSON message depends on the type of event received.
            The message in my example has event.enum=13 and event.category=1 parameters, hence this is a Guest MultiSense raw data event. The list of parameters to be expected for this event can be found in this post namo.
            Parameter measurement.source.13=252 (or 0xFC) tells you that this is an event from Guest MultiSense. Then parameters sensor.battery.voltage.252, sensor.group.id.252, sensor.humidity.252 etc with MultiSense related information should be expected in the JSON message.

            14 days later

            Cellocator protocol updated: added Module 63 Crash Maneuver Statistics of CSA (Cellocator Safety Application) OTA Protocol
            Mapping to flespi parameters is the following:

            Module 63

            • bytes 2-4 Trip ID - trip.id
            • bytes 5-7 Maneuver ID - maneuver.id
            • byte 8 Maneuver Type - maneuver.type
            • bytes 9-16 Start Location - maneuver.start.longitude, degrees and maneuver.start.latitude, degrees
            • bytes 17-24 End Location - maneuver.stop.longitude, degrees and maneuver.stop.latitude, degrees
            • bytes 25-31 Start Time and Date - maneuver.timestamp, seconds
            • bytes 32-33 Maneuver Duration - maneuver.duration, seconds
            • byte 34 Crash ID - crash.id
            • byte 37 Vehicle Type (as configured in PL) - vehicle.type
            • byte 38 Crash Type - crash.type
            • bytes 39-40 Acceleration Max (X or Y) during Crash - crash.max.acceleration, g
            • byte 41 Crash Information, bit0 - bit3 - crash.orientation
            • byte 41 Crash Information, bit4 - rollover.event, boolean
            • byte 41 Crash Information, bit5 - driving.status, boolean
            • bytes 42-43 Crash Duration - crash.duration, seconds

            Parameter maneuver.type.enum of Cellocator protocol is replaced by the parameter maneuver.type.
            New parameter maneuver.type is a numeric value that comes from Maneuver Type byte of CSA (Cellocator Safety Application) OTA Protocol modules.

            Old parameter maneuver.type.enum will be removed in a week, 29-Dec-2021.

            a month later

            Cellocator protocol is updated: added system parameter timestamp.key.
            Integer part of its value is a message timestamp, and the fractional part is a sequence number of the message.
            The parameter is used to distinguish between two messages with the same timestamp of seconds granularity.

            3 months later

            The protocol will be affected by the change in type of parameters gsm.mcc and gsm.mnc to be installed in 2 weeks - May 23rd, 2022: both parameters that now have type "string" will be stored as "number". The possible leading zeroes in MNC will be ignored (e.g. the value "01" will be stored as 1).