Bluetooth Flow for Transducers Direct Pressure Transducer TDWLB-LC0100034

This is a good start to read all the possible values. Something is wrong on Linux for the Battery value but that seems to be a bug on the Bluetooth Node.

[{"id":"c0d5dea4.880a9","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"ea7a7199.23adb","type":"inject","z":"c0d5dea4.880a9","name":"UUID2","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"835ab4c051e411e3a5bd0002a5d5c51b","payloadType":"str","x":230,"y":400,"wires":[["6c40fa5c.0c67c4"]]},{"id":"ad0b93de.c385f","type":"inject","z":"c0d5dea4.880a9","name":"Connect","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"connect","payloadType":"str","x":220,"y":620,"wires":[["6c40fa5c.0c67c4"]]},{"id":"a65a7d65.34f43","type":"inject","z":"c0d5dea4.880a9","name":"Disconnect","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"disconnect","x":220,"y":660,"wires":[["6c40fa5c.0c67c4"]]},{"id":"3880141e.2cbf04","type":"debug","z":"c0d5dea4.880a9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1350,"y":140,"wires":[]},{"id":"33480316.ff149c","type":"inject","z":"c0d5dea4.880a9","name":"Subscribe","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"notify\":true,\"period\":300000}","payloadType":"json","x":220,"y":700,"wires":[["6c40fa5c.0c67c4"]]},{"id":"6c40fa5c.0c67c4","type":"Generic BLE in","z":"c0d5dea4.880a9","name":"91087","genericBle":"9078f63b.0dc458","useString":false,"notification":true,"x":450,"y":140,"wires":[["acca877e.c6a21"]]},{"id":"97906e53.8d662","type":"inject","z":"c0d5dea4.880a9","name":"Temperature","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a1c","x":210,"y":360,"wires":[["6c40fa5c.0c67c4"]]},{"id":"8b4f2471.4be59","type":"inject","z":"c0d5dea4.880a9","name":"UUID4","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"8cd67da0da9b11e390870002a5d5c51b","payloadType":"str","x":230,"y":440,"wires":[["6c40fa5c.0c67c4"]]},{"id":"9ba2bc2d.00f108","type":"inject","z":"c0d5dea4.880a9","name":"Measurement Interval","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a21","x":180,"y":320,"wires":[["6c40fa5c.0c67c4"]]},{"id":"f83805b4.357a28","type":"inject","z":"c0d5dea4.880a9","name":"Model Number","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a24","payloadType":"str","x":200,"y":240,"wires":[["6c40fa5c.0c67c4"]]},{"id":"388476a2.477302","type":"inject","z":"c0d5dea4.880a9","name":"Advertising Blob","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2aff","x":200,"y":280,"wires":[["6c40fa5c.0c67c4"]]},{"id":"d6d0ad88.2c0918","type":"inject","z":"c0d5dea4.880a9","name":"Serial Number","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a25","x":210,"y":200,"wires":[["6c40fa5c.0c67c4"]]},{"id":"501297f9.7c5b9","type":"inject","z":"c0d5dea4.880a9","name":"Tx Power Level","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a07","payloadType":"str","x":200,"y":80,"wires":[["6c40fa5c.0c67c4"]]},{"id":"bc0b41.65bcbcc","type":"inject","z":"c0d5dea4.880a9","name":"Firmware Revision","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a26","x":190,"y":160,"wires":[["6c40fa5c.0c67c4"]]},{"id":"b3e31ee5.6fbaa8","type":"inject","z":"c0d5dea4.880a9","name":"Manufacturer Name","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2a29","x":190,"y":120,"wires":[["6c40fa5c.0c67c4"]]},{"id":"acca877e.c6a21","type":"switch","z":"c0d5dea4.880a9","name":"","property":"payload.characteristics","propertyType":"msg","rules":[{"t":"hask","v":"2a07","vt":"str"},{"t":"hask","v":"2a29","vt":"str"},{"t":"hask","v":"2a26","vt":"str"},{"t":"hask","v":"2a25","vt":"str"},{"t":"hask","v":"2a24","vt":"str"},{"t":"hask","v":"2a21","vt":"str"},{"t":"hask","v":"2a1c","vt":"str"},{"t":"hask","v":"835ab4c051e411e3a5bd0002a5d5c51b","vt":"str"},{"t":"hask","v":"8cd67da0da9b11e390870002a5d5c51b","vt":"str"},{"t":"hask","v":"2904","vt":"str"},{"t":"hask","v":"2aff","vt":"str"}],"checkall":"true","repair":false,"outputs":11,"x":610,"y":240,"wires":[["1ffc7951.024a4f"],["a50ad569.2e6218"],["4f20d698.5fcd7"],["18f05622.4a7eda"],["6456013c.7fbd48"],["512c19e4.4eaee"],["60451453.d5fda4"],["f4cf3b81.325f58"],["2c16b8bd.47d628"],[],["6217570b.609788"]]},{"id":"f2a3079.9559078","type":"inject","z":"c0d5dea4.880a9","name":"Probe","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":230,"y":540,"wires":[["6c40fa5c.0c67c4"]]},{"id":"60451453.d5fda4","type":"function","z":"c0d5dea4.880a9","name":"Temperature","func":"msg.topic = \"Temperature\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a1c\"];\n    value = value.slice(1,5);\n    value = value.readFloatBE();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":930,"y":320,"wires":[["3880141e.2cbf04"]]},{"id":"2c16b8bd.47d628","type":"function","z":"c0d5dea4.880a9","name":"Pressure - UUID4","func":"msg.topic = \"Pressure\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"8cd67da0da9b11e390870002a5d5c51b\"][0];\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":950,"y":400,"wires":[["3880141e.2cbf04"]]},{"id":"f4cf3b81.325f58","type":"function","z":"c0d5dea4.880a9","name":"Pressure -UUID2","func":"msg.topic = \"Pressure\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"835ab4c051e411e3a5bd0002a5d5c51b\"];\n    value = value.readInt16BE();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":950,"y":360,"wires":[["3880141e.2cbf04"]]},{"id":"bfc2662e.abbe","type":"inject","z":"c0d5dea4.880a9","name":"Scale Value","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"2904","x":210,"y":480,"wires":[["6c40fa5c.0c67c4"]]},{"id":"a50ad569.2e6218","type":"function","z":"c0d5dea4.880a9","name":"Manufacturer Name","func":"msg.topic = \"Manufacturer Name\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a29\"];\n    value = value.toString();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":960,"y":120,"wires":[["3880141e.2cbf04"]]},{"id":"1ffc7951.024a4f","type":"function","z":"c0d5dea4.880a9","name":"Tx Power","func":"msg.topic = \"Tx Power\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a07\"];\n    value = value.readInt8(0);\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":920,"y":80,"wires":[["3880141e.2cbf04"]]},{"id":"4f20d698.5fcd7","type":"function","z":"c0d5dea4.880a9","name":"Firmware Revision","func":"msg.topic = \"Firmware Revision\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a26\"];\n    value = value.toString();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":950,"y":160,"wires":[["3880141e.2cbf04"]]},{"id":"18f05622.4a7eda","type":"function","z":"c0d5dea4.880a9","name":"Serial Number","func":"msg.topic = \"Serial Number\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a25\"];\n    value = value.toString();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":940,"y":200,"wires":[["3880141e.2cbf04"]]},{"id":"6456013c.7fbd48","type":"function","z":"c0d5dea4.880a9","name":"Model Number","func":"msg.topic = \"Model Number\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a24\"];\n    value = value.toString();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":940,"y":240,"wires":[["3880141e.2cbf04"]]},{"id":"512c19e4.4eaee","type":"function","z":"c0d5dea4.880a9","name":"Measurement Interval","func":"msg.topic = \"Measurement Interval\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload.characteristics[\"2a21\"];\n    value = value.readInt16LE();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":960,"y":280,"wires":[["3880141e.2cbf04"]]},{"id":"6217570b.609788","type":"buffer-parser","z":"c0d5dea4.880a9","name":"Advertising Blob","data":"payload.characteristics[\"2aff\"]","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int32le","name":"Pressure","offset":0,"length":3,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"Temperature","offset":2,"length":2,"offsetbit":0,"scale":"1","mask":""},{"type":"int8","name":"Battery Level","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"Device","offset":6,"length":6,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"output","multipleResult":true,"fanOutMultipleResult":true,"setTopic":true,"outputs":4,"x":700,"y":500,"wires":[["a85706bc.860988"],["7d54150f.ee403c"],["7190d2ce.c702ac"],["d0fcc386.ef9318"]]},{"id":"a85706bc.860988","type":"function","z":"c0d5dea4.880a9","name":"Pressure","func":"msg.topic = \"Pressure\";\nvar now = ( new Date() ).getTime();\nvar array = [\"0x0\"];\narray = array.concat(msg.payload);\nvar value = Buffer.from(array)\n    value = value.readUInt32LE();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":920,"y":440,"wires":[["3880141e.2cbf04"]]},{"id":"7d54150f.ee403c","type":"function","z":"c0d5dea4.880a9","name":"Temperature","func":"msg.topic = \"Temperature\";\nvar now = ( new Date() ).getTime();\nvar value = Buffer.from(msg.payload);\n    value = value.readInt16LE(0);\n   msg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":930,"y":480,"wires":[["3880141e.2cbf04"]]},{"id":"d0fcc386.ef9318","type":"function","z":"c0d5dea4.880a9","name":"Device Address","func":"msg.topic = \"Device Address\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload;\n    value = value.toString();\nmsg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":940,"y":560,"wires":[["3880141e.2cbf04"]]},{"id":"7190d2ce.c702ac","type":"function","z":"c0d5dea4.880a9","name":"Battery Level","func":"msg.topic = \"Battery Level\";\nvar now = ( new Date() ).getTime();\nvar value = msg.payload;\n   msg.payload = {\n    tstamp: now,\n    data: value\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":930,"y":520,"wires":[["3880141e.2cbf04"]]},{"id":"9078f63b.0dc458","type":"Generic BLE","localName":"91087              ","address":"00:81:f9:97:40:20","uuid":"0081f9974020","characteristics":[{"uuid":"2a07","name":"Tx Power Level","type":"org.bluetooth.characteristic.tx_power_level","notifiable":false,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"2a29","name":"Manufacturer Name String","type":"org.bluetooth.characteristic.manufacturer_name_string","notifiable":false,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"2a26","name":"Firmware Revision String","type":"org.bluetooth.characteristic.firmware_revision_string","notifiable":false,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"2a25","name":"Serial Number String","type":"org.bluetooth.characteristic.serial_number_string","notifiable":false,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"2a24","name":"Model Number String","type":"org.bluetooth.characteristic.model_number_string","notifiable":false,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"2aff","name":"<Unnamed>","type":"(Custom Type)","notifiable":false,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"2a21","name":"Measurement Interval","type":"org.bluetooth.characteristic.measurement_interval","notifiable":false,"readable":true,"writable":true,"writeWithoutResponse":false},{"uuid":"2a1c","name":"Temperature Measurement","type":"org.bluetooth.characteristic.temperature_measurement","notifiable":true,"readable":true,"writable":false,"writeWithoutResponse":false},{"uuid":"8cd67da0da9b11e390870002a5d5c51b","name":"<Unnamed>","type":"(Custom Type)","notifiable":false,"readable":true,"writable":true,"writeWithoutResponse":false},{"uuid":"835ab4c051e411e3a5bd0002a5d5c51b","name":"<Unnamed>","type":"(Custom Type)","notifiable":true,"readable":true,"writable":false,"writeWithoutResponse":false}]}]

Flow Info

Created 4 years, 6 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • debug (x1)
  • function (x13)
  • inject (x15)
  • switch (x1)
Other
  • Generic BLE (x1)
  • Generic BLE in (x1)
  • buffer-parser (x1)
  • tab (x1)

Tags

  • Bluetooth
  • Pressure_Sensor
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option