Ok, I am trying to figure out how to get the buffer-parser right. I have not used this node before, but I am familiar with C.
I found two errors in your buffer parser,
-
Change the input property from msg.payload to msg.payload.data. This will allow the parser to see the correct object property 'data' as needed.
-
The temperature type definition is wrong, it is not int32 (le). It should be "float (le)" not what it is now. This on my test flow, returned 28.5, which per the C output is correct for the 'data' value you used.
To add the devaddr to the output msg.payload, can be done a few ways. Below is a flow that shows one way to do it.
[{"id":"5db3fd69.1c77a4","type":"inject","z":"f9c8a450.82cf78","name":"OTTA 26002088","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"devaddr\":\"26002088\",\"data\":\"0A003A001250485855303820D8236E380000E4410000000000000000000000000000000001000000\"}","payloadType":"json","x":200,"y":120,"wires":[["2210c9e2.4b1c96"]]},{"id":"b4fd5c1b.c3776","type":"debug","z":"f9c8a450.82cf78","name":"Message (msg)","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1080,"y":120,"wires":[]},{"id":"e279784e.6490f8","type":"change","z":"f9c8a450.82cf78","name":"Restore Device Address","rules":[{"t":"set","p":"payload.devaddr","pt":"msg","to":"devaddr","tot":"msg"},{"t":"delete","p":"devaddr","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":120,"wires":[["b4fd5c1b.c3776"]]},{"id":"42813884.cf9f98","type":"buffer-parser","z":"f9c8a450.82cf78","name":"","data":"payload.data","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"uint32le","name":"uid0","offset":0,"length":1,"offsetbit":0,"scale":1,"mask":""},{"type":"uint32le","name":"uid1","offset":4,"length":1,"offsetbit":0,"scale":1,"mask":""},{"type":"int32le","name":"uid2","offset":8,"length":1,"offsetbit":0,"scale":1,"mask":""},{"type":"int32le","name":"epochTime","offset":12,"length":1,"offsetbit":0,"scale":1,"mask":""},{"type":"floatle","name":"Temprature","offset":16,"length":1,"offsetbit":0,"scale":1,"mask":""},{"type":"ascii","name":"Key","offset":20,"length":16,"offsetbit":0,"scale":1,"mask":""},{"type":"uint8","name":"LockStatus","offset":36,"length":1,"offsetbit":0,"scale":1,"mask":""},{"type":"uint8","name":"tempratureAlart","offset":37,"length":1,"offsetbit":0,"scale":1,"mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"setTopic":true,"x":630,"y":160,"wires":[["e279784e.6490f8"]]},{"id":"2210c9e2.4b1c96","type":"change","z":"f9c8a450.82cf78","name":"Save Device Address","rules":[{"t":"set","p":"devaddr","pt":"msg","to":"payload.devaddr","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":120,"wires":[["42813884.cf9f98"]]}]
The next step is what to do with the data? If you want send an alert via email or to your cell phone? you can learn about how do use the NR nodes that allow this...
If you wanted to save it to a database? You could do something like...
"INSERT INTO <table> (uid0,uid1,uid2,epochTime,Temprature,Key,LockStatus,tempratureAlart,devaddr) VALUES (msg.payload.uid0,msg.payload.uid1,msg.payload.uid2,msg.payload.epochTime,msg.payload.Temprature,msg.payload.Key,LockStatus,msg.payload.tempratureAlart,msg.payload.devaddr);"
Where is the name of the table in your DB. The insert query may need some changes depending on which SQL server you are using. And assuming your name the table columns the same as the payload property names is done.
For more on SQL and NR...