So if I take your example:
The result 1001 1010 is decimal 157.
So with the buffe nodes you can convert the number in a buffer - and then it will be analysed.
So the first buffer node converts number in a buffer:
so
buffer is 0x9d
The buffer node can parse the byte bitwise and convert it to a boolean and directly assign a key to it.
The result is a payload with the specified keys:
You can also create directly the buffer within a function node:
The topic contains the decimal number of the inject Node and is marked in green. So you can directly see the outcome of decimal 157 (1001 1101) and 207 (1100 1111).
const buf= new Buffer(1);
buf.writeUInt8(msg.payload, 0);
msg.payload = buf;
return msg;
[{"id":"3a160476169a5f53","type":"inject","z":"61c5ee22.b88f1","name":"","props":[{"p":"payload"},{"p":"topic","v":"payload","vt":"msg"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"157","payloadType":"num","x":530,"y":3400,"wires":[["8e56b87c0b808d68"]]},{"id":"8e56b87c0b808d68","type":"function","z":"61c5ee22.b88f1","name":"","func":"const buf= new Buffer(1);\nbuf.writeUInt8(msg.payload, 0);\nmsg.payload = buf;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":680,"y":3420,"wires":[["2653be59f0069fc4"]]},{"id":"2653be59f0069fc4","type":"buffer-parser","z":"61c5ee22.b88f1","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"bool","name":"Heating Pump","offset":0,"length":1,"offsetbit":7,"scale":"1","mask":""},{"type":"bool","name":"Solar pump","offset":0,"length":1,"offsetbit":6,"scale":"1","mask":""},{"type":"bool","name":"Fireplace","offset":0,"length":1,"offsetbit":5,"scale":"1","mask":""},{"type":"bool","name":"Floor pump","offset":0,"length":1,"offsetbit":4,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"return","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":850,"y":3420,"wires":[["89478baccc51bfde"]]},{"id":"89478baccc51bfde","type":"debug","z":"61c5ee22.b88f1","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1030,"y":3420,"wires":[]},{"id":"576557b0aaf107d3","type":"inject","z":"61c5ee22.b88f1","name":"","props":[{"p":"payload"},{"p":"topic","v":"payload","vt":"msg"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"207","payloadType":"num","x":530,"y":3440,"wires":[["8e56b87c0b808d68"]]}]