4.8. Data Format and Configuration for other Supported Sensors

The following Sensors are supported by Edge Connect but don’t require dedicated filters to support them. Provided below are example pipeline configurations using basic filters and the generated data format. These can be used as a starting point for integrating these sensors and customizing the data.

4.8.1. Flic Button

Output Data Format:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "addressType": 0,
  "buttonPress": true,
  "connectable": true,
  "eventType": 0,
  "flags": "Bg==",
  "id": "RmxpYyBCQTQ4LUE0NjQ0Mg==",
  "mac": "80e4da770420",
  "rssi": -61
}

Generated by this Pipeline Configuration:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{
  "settings": {
    "rigado-edge-connect": {
      "service": {
        "actions": {
          "flic_aPair": {
            "type": "pair"
          },
          "flic_aRead": {
            "config": {
              "characteristic": "2a00",
              "outputKey": "id",
              "service": "1800"
            },
            "type": "read"
          }
        },
        "api": {
        },
        "cloud": {
        },
        "connections": {
          "flic_cPair": {
            "actions": [
              "flic_aPair"
            ]
          },
          "flic_cReadID": {
            "actions": [
              "flic_aRead"
            ]
          }
        },
        "filters": {
          "flic_fAddToDeviceGroup": {
            "config": {
              "groupId": "flic_boundDevices"
            },
            "type": "discoverDevice"
          },
          "flic_fIdToString": {
            "config": {
              "convertKeys": {
                "id": "string"
              }
            },
            "type": "typeConvert"
          },
          "flic_fInjectButtonPress": {
            "config": {
              "keypairs": {
                "buttonPress": "{{ if hasKey . \"services\" }}{{ return false }}{{else}}{{ return true }}{{end}}"
              }
            },
            "type": "inject"
          },
          "flic_fMatchFlicName": {
            "config": {
              "match": {
                "name": "F2+"
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "flic_fMatchId": {
            "config": {
              "match": {
                "id": "Flic+"
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "flic_fOneMsg": {
            "config": {
              "key": "mac",
              "timeout": "60s"
            },
            "type": "throttle"
          },
          "flic_fPair": {
            "config": {
              "id": "flic_cPair",
              "interval": "0",
              "timeout": 10
            },
            "type": "connect"
          },
          "flic_fReadId": {
            "config": {
              "id": "flic_cReadID",
              "interval": "0",
              "timeout": 2
            },
            "type": "connect"
          },
          "flic_matchButtonPress": {
            "config": {
              "match": {
                "buttonPress": "true"
              },
              "matchAny": true
            },
            "type": "matcher"
          }
        },
        "groups": {
          "flic_boundDevices": {
            "type": "persistent"
          }
        },
        "log": {
          "level": "debug"
        },
        "metadata": {
          "persistent": true
        },
        "pipelines": {
          "flic_buttonPressPipe": {
            "filters": [
              "flic_fInjectButtonPress",
              "flic_matchButtonPress",
              "flic_fReadId"
            ],
            "groups": [
              "flic_boundDevices"
            ]
          },
          "flic_pairPipe": {
            "filters": [
              "flic_fMatchFlicName",
              "flic_fOneMsg",
              "flic_fReadId",
              "flic_fIdToString",
              "flic_fMatchId",
              "flic_fAddToDeviceGroup",
              "flic_fPair"
            ]
          }
        }
      }
    }
  },
  "type": "APP_SET"
}

4.8.2. Hobo MX100

Output Data Format:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "addressType": 1,
  "advertisingInterval": 0,
  "alarms": 0,
  "battery": "3.0065359477124183",
  "connectable": true,
  "eventType": 0,
  "flags": 0,
  "launchCount": 0,
  "mac": "c15baae3690d",
  "manufacturerID": "c500",
  "measurements": "6QZz",
  "mfg": "xQAK7KY9AQQlAAAAAAAS6QZzAAA=",
  "modelNumber": "0425",
  "packetRevision": "0a",
  "rssi": -64,
  "serialNumber": 20817644,
  "statusBits": 18,
  "temperature": 84.273423828125,
  "temperatureC": "29.040791015624997",
  "txPower": 0
}

Generated by this Pipeline Configuration:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
{
  "settings": {
    "rigado-edge-connect": {
      "service": {
        "filters": {
          "hoboMX100_convertMeasurementsToByte": {
            "config": {
              "convertKeys": {
                "measurements": "[]byte"
              }
            },
            "type": "typeConvert"
          },
          "hoboMX100_matchManufacturerID": {
            "config": {
              "match": {
                "manufacturerID": "c500"
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "hoboMX100_matchMeasurements": {
            "config": {
              "match": {
                "measurements": ""
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "hoboMX100_matchMfg": {
            "config": {
              "match": {
                "mfg": ""
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "hoboMX100_measurementsToFloat": {
            "config": {
              "convertKeys": {
                "battery": "float",
                "temperature": "float"
              }
            },
            "type": "typeConvert"
          },
          "hoboMX100_parseMeasurements": {
            "config": {
              "injectKeys": {
                "battery": {
                  "length": 1,
                  "offset": 2,
                  "source": "measurements",
                  "type": "intLE"
                },
                "temperature": {
                  "length": 2,
                  "offset": 0,
                  "source": "measurements",
                  "type": "intLE"
                }
              }
            },
            "type": "typeConvert"
          },
          "hoboMX100_parseMfg": {
            "config": {
              "injectKeys": {
                "advertisingInterval": {
                  "length": 2,
                  "offset": 12,
                  "source": "mfg",
                  "type": "intLE"
                },
                "alarms": {
                  "length": 1,
                  "offset": 10,
                  "source": "mfg",
                  "type": "intLE"
                },
                "flags": {
                  "length": 1,
                  "offset": 9,
                  "source": "mfg",
                  "type": "intLE"
                },
                "launchCount": {
                  "length": 1,
                  "offset": 11,
                  "source": "mfg",
                  "type": "intLE"
                },
                "manufacturerID": {
                  "length": 2,
                  "offset": 0,
                  "source": "mfg",
                  "type": "hex"
                },
                "measurements": {
                  "length": 3,
                  "offset": 15,
                  "source": "mfg",
                  "type": "hex"
                },
                "modelNumber": {
                  "length": 2,
                  "offset": 7,
                  "source": "mfg",
                  "type": "hex"
                },
                "packetRevision": {
                  "length": 1,
                  "offset": 2,
                  "source": "mfg",
                  "type": "hex"
                },
                "serialNumber": {
                  "length": 4,
                  "offset": 3,
                  "source": "mfg",
                  "type": "intLE"
                },
                "statusBits": {
                  "length": 1,
                  "offset": 14,
                  "source": "mfg",
                  "type": "intLE"
                }
              }
            },
            "type": "typeConvert"
          },
          "hoboMX100_processMeasurements": {
            "config": {
              "keyPairs": {
                "battery": "{{ divf (mulf .battery 1.2) 45.9 }}",
                "temperature": "{{ addf (divf (mulf (subf (divf (mulf .temperature 175.72)  4096) 46.85) 9) 5) 32}}",
                "temperatureC": "{{ subf (divf (mulf .temperature 175.72)  4096) 46.85}}"
              }
            },
            "type": "transform"
          }
        },
        "log": {
          "level": "debug"
        },
        "metadata": {
          "persistent": true
        },
        "pipelines": {
          "hoboMX100-readPipe": {
            "filters": [
              "hoboMX100_matchMfg",
              "hoboMX100_parseMfg",
              "hoboMX100_matchManufacturerID",
              "hoboMX100_matchMeasurements",
              "hoboMX100_convertMeasurementsToByte",
              "hoboMX100_parseMeasurements",
              "hoboMX100_processMeasurements",
              "hoboMX100_measurementsToFloat"
            ]
          }
        }
      }
    }
  },
  "type": "APP_SET"
}

4.8.3. Minew E8

Output Data Format:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "accelerometer": {
    "x": 0,
    "y": -0.02734375,
    "z": 0.96875
  },
  "batteryLevel": 64,
  "data": "oQNkAAD/+QD45q8kPyOs",
  "ffe1": [
    "oQNkAAD/+QD45q8kPyOs"
  ],
  "frameType": "a1",
  "mac": "ac233f24afe6",
  "rssi": -52,
  "versionNumber": "03"
}

Generated by this Pipeline Configuration:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
{
  "settings": {
    "rigado-edge-connect": {
      "service": {
        "filters": {
          "minewE8_accelByteToFloat": {
            "config": {
              "convertKeys": {
                "x": "fix88BE",
                "y": "fix88BE",
                "z": "fix88BE"
              }
            },
            "type": "typeConvert"
          },
          "minewE8_accelHexToByte": {
            "config": {
              "convertKeys": {
                "x": "[]byte",
                "y": "[]byte",
                "z": "[]byte"
              }
            },
            "type": "typeConvert"
          },
          "minewE8_batteryLevel": {
            "config": {
              "convertKeys": {
                "batteryLevel": "float"
              }
            },
            "type": "typeConvert"
          },
          "minewE8_convertDataToByte": {
            "config": {
              "convertKeys": {
                "data": "[]byte"
              }
            },
            "type": "typeConvert"
          },
          "minewE8_matchServiceData": {
            "config": {
              "match": {
                "serviceData": ""
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "minewE8_matchServiceID": {
            "config": {
              "match": {
                "ffe1": ""
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "minewE8_matchVersion": {
            "config": {
              "match": {
                "versionNumber": "03"
              },
              "matchAny": true
            },
            "type": "matcher"
          },
          "minewE8_parseAccSensor": {
            "config": {
              "injectKeys": {
                "batteryLevel": {
                  "length": 1,
                  "offset": 2,
                  "source": "data",
                  "type": "hex"
                },
                "frameType": {
                  "length": 1,
                  "offset": 0,
                  "source": "data",
                  "type": "hex"
                },
                "versionNumber": {
                  "length": 1,
                  "offset": 1,
                  "source": "data",
                  "type": "hex"
                },
                "x": {
                  "length": 2,
                  "offset": 3,
                  "source": "data",
                  "type": "hex"
                },
                "y": {
                  "length": 2,
                  "offset": 5,
                  "source": "data",
                  "type": "hex"
                },
                "z": {
                  "length": 2,
                  "offset": 7,
                  "source": "data",
                  "type": "hex"
                }
              }
            },
            "type": "typeConvert"
          },
          "minewE8_selectServiceData": {
            "config": {
              "keys": [
                "serviceData",
                "mac",
                "rssi"
              ]
            },
            "type": "select"
          },
          "minewE8_unwrapDataKeyTransform": {
            "config": {
              "keyPairs": {
                "data": "{{ index .ffe1 0 | ToHex }}"
              }
            },
            "type": "transform"
          },
          "minewE8_unwrapServiceData": {
            "config": {
              "key": "serviceData"
            },
            "type": "unwrap"
          },
          "minewE8_wrapAccelerometerf": {
            "config": {
              "key": "accelerometer",
              "keysToWrap": [
                "x",
                "y",
                "z"
              ]
            },
            "type": "wrap"
          }
        },
        "log": {
          "level": "debug"
        },
        "metadata": {
          "persistent": true
        },
        "pipelines": {
          "minewE8-dataPipe": {
            "filters": [
              "minewE8_matchServiceData",
              "minewE8_selectServiceData",
              "minewE8_unwrapServiceData",
              "minewE8_matchServiceID",
              "minewE8_unwrapDataKeyTransform",
              "minewE8_convertDataToByte",
              "minewE8_parseAccSensor",
              "minewE8_matchVersion",
              "minewE8_accelHexToByte",
              "minewE8_accelByteToFloat",
              "minewE8_batteryLevel",
              "minewE8_wrapAccelerometerf"
            ]
          }
        }
      }
    }
  },
  "type": "APP_SET"
}