It turned out to be not too difficult. I use Node Red for my automations, so I came up with a quick flow to take the MQTT input from texecom2mqtt/log, parse it through a JSON node, then strip out the user name with a function node. This is passed to an MQTT out node to create a LastUser entry, which can then be consumed by HA as a sensor. (this is as much for me as it is for you, because I won’t remember when I come back to it. :p)
Node Red flow for info:
[{"id":"565b69366ea94b11","type":"mqtt in","z":"bd22f374.3f39c","name":"","topic":"texecom2mqtt/log","qos":"0","datatype":"auto","broker":"ba3fb858.9c4678","nl":false,"rap":true,"rh":0,"inputs":0,"x":450,"y":1500,"wires":[["47eb0aacf54427b9"]]},{"id":"47eb0aacf54427b9","type":"json","z":"bd22f374.3f39c","name":"","property":"payload","action":"","pretty":false,"x":670,"y":1500,"wires":[["b0f45d389d238f5d"]]},{"id":"b0f45d389d238f5d","type":"function","z":"bd22f374.3f39c","name":"Get UserName","func":"var msg1 = {payload:\n msg.payload.entity.user_name\n}\nreturn msg1;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":860,"y":1500,"wires":[["5e7dbbe6d493db42"]]},{"id":"5e7dbbe6d493db42","type":"mqtt out","z":"bd22f374.3f39c","name":"","topic":"texecom2mqtt/LastUser","qos":"","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"ba3fb858.9c4678","x":1110,"y":1500,"wires":[]},{"id":"ba3fb858.9c4678","type":"mqtt-broker","name":"","broker":"xxx.xxx.x.x","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"armtronix_mqtt","birthQos":"0","birthPayload":"","closeTopic":"","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]