In the mean time, with the discovery of these xml files I have added my ink levels to openHAB via node-red:
[
{
"id": "8b5a1e1b.91fd98",
"type": "tab",
"label": "Printer",
"disabled": false,
"info": ""
},
{
"id": "b5fcce0e.46549",
"type": "inject",
"z": "8b5a1e1b.91fd98",
"name": "",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"x": 480,
"y": 120,
"wires": [
[
"855acd63.e9724"
]
]
},
{
"id": "855acd63.e9724",
"type": "http request",
"z": "8b5a1e1b.91fd98",
"name": "",
"method": "GET",
"ret": "txt",
"url": "http://192.168.0.36/DevMgmt/ProductUsageDyn.xml",
"tls": "",
"x": 650,
"y": 60,
"wires": [
[
"99627161.7acd3"
]
]
},
{
"id": "99627161.7acd3",
"type": "xml",
"z": "8b5a1e1b.91fd98",
"name": "",
"property": "payload",
"attr": "",
"chr": "",
"x": 130,
"y": 300,
"wires": [
[
"cf0ca789.668b3"
]
]
},
{
"id": "cf0ca789.668b3",
"type": "function",
"z": "8b5a1e1b.91fd98",
"name": "",
"func": "var msg1 = { payload:msg.payload['pudyn:ProductUsageDyn'] };\nmsg1.payload = msg1.payload['pudyn:ConsumableSubunit'][0]\nmsg1.payload = msg1.payload['pudyn:Consumable'][0];\nmsg1.payload = msg1.payload['dd:ConsumableRawPercentageLevelRemaining'][0];\n\nvar msg2 = { payload:msg.payload['pudyn:ProductUsageDyn'] };\nmsg2.payload = msg2.payload['pudyn:ConsumableSubunit'][0]\nmsg2.payload = msg2.payload['pudyn:Consumable'][1];\nmsg2.payload = msg2.payload['dd:ConsumableRawPercentageLevelRemaining'][0];\n\n\n//msg.payload = Object.keys(msg.payload);\nreturn [ msg1, msg2 ];\n\n/*\nvar msg1 = { payload:\"first out of output 1\" };\nvar msg2 = { payload:\"second out of output 1\" };\nvar msg3 = { payload:\"third out of output 1\" };\nvar msg4 = { payload:\"only message from output 2\" };\nreturn [ [ msg1, msg2, msg3 ], msg4 ];\n*/",
"outputs": 2,
"noerr": 0,
"x": 290,
"y": 300,
"wires": [
[
"ee7891a6.598878"
],
[
"6d345b58.99701c"
]
]
},
{
"id": "ee7891a6.598878",
"type": "openhab2-out",
"z": "8b5a1e1b.91fd98",
"name": "",
"controller": "c022f913.0793f",
"itemname": "Printer_ColorRemaining",
"topic": "ItemUpdate",
"payload": "",
"x": 550,
"y": 280,
"wires": [
[]
]
},
{
"id": "6d345b58.99701c",
"type": "openhab2-out",
"z": "8b5a1e1b.91fd98",
"name": "",
"controller": "c022f913.0793f",
"itemname": "Printer_BlackRemaining",
"topic": "ItemUpdate",
"payload": "",
"x": 550,
"y": 320,
"wires": [
[]
]
},
{
"id": "7ba6a66d.899408",
"type": "openhab2-in",
"z": "8b5a1e1b.91fd98",
"name": "",
"controller": "c022f913.0793f",
"itemname": "Printer_Online",
"x": 140,
"y": 60,
"wires": [
[
"2c1eef8e.e0f4f"
],
[]
]
},
{
"id": "e1a0b107.cdca3",
"type": "function",
"z": "8b5a1e1b.91fd98",
"name": "",
"func": "if (msg.payload == 'ON') {\n return msg;\n}",
"outputs": 1,
"noerr": 0,
"x": 490,
"y": 60,
"wires": [
[
"855acd63.e9724"
]
]
},
{
"id": "2c1eef8e.e0f4f",
"type": "delay",
"z": "8b5a1e1b.91fd98",
"name": "",
"pauseType": "delay",
"timeout": "30",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 340,
"y": 60,
"wires": [
[
"e1a0b107.cdca3"
]
]
},
{
"id": "c022f913.0793f",
"type": "openhab2-controller",
"z": "",
"name": "Openhab",
"protocol": "http",
"host": "localhost",
"port": "8080",
"path": "",
"username": "",
"password": ""
}
]
openHAB items:
Group Printer
Number:Dimensionless Printer_ColorRemaining "Color Remaining [%d %%]" (Printer) // Updated via node-red
Number:Dimensionless Printer_BlackRemaining "Black Remaining [%d %%]" (Printer) // Updated via node-red
RESULT