|
[{ |
|
"id": "1d4d5eda.0ea591", |
|
"type": "subflow", |
|
"name": "put Action", |
|
"info": "", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 60, |
|
"y": 100, |
|
"wires": [{ |
|
"id": "7f552f3.aa2dad" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 680, |
|
"y": 160, |
|
"wires": [{ |
|
"id": "7ed3f9c8.27e698", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "bearer", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "device", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "action", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "parameter", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"status": { |
|
"x": 680, |
|
"y": 80, |
|
"wires": [{ |
|
"id": "7f552f3.aa2dad", |
|
"port": 0 |
|
}, { |
|
"id": "7ed3f9c8.27e698", |
|
"port": 1 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "e459c4f9.d32338", |
|
"type": "exec", |
|
"z": "1d4d5eda.0ea591", |
|
"command": "", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get devices", |
|
"x": 310, |
|
"y": 140, |
|
"wires": [["9af5b8fa.2292b8"], [], []] |
|
}, { |
|
"id": "9af5b8fa.2292b8", |
|
"type": "json", |
|
"z": "1d4d5eda.0ea591", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 450, |
|
"y": 140, |
|
"wires": [["7ed3f9c8.27e698"]] |
|
}, { |
|
"id": "7f552f3.aa2dad", |
|
"type": "function", |
|
"z": "1d4d5eda.0ea591", |
|
"name": "", |
|
"func": "let bearer = \"\";\nlet action = \"\";\nlet device = \"\";\nlet parameter = \"\";\n\n//node.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nbearer = env.get(\"bearer\");\nif(msg.hasOwnProperty('bearer')) bearer=msg.bearer;\nif (bearer === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"bearer missing\"}});\n\naction = env.get(\"action\");\nif(msg.hasOwnProperty('action')) action=msg.action;\nif (action === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"actionuage missing\"}});\n\ndevice = env.get(\"device\");\nif(msg.hasOwnProperty('device')) lang=msg.device;\nif (device === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"device missing\"}});\n\nparameter = env.get(\"parameter\");\nif(msg.hasOwnProperty('parameter')) client_id=msg.parameter;\nif (parameter === \"\") node.send({payload: {fill:\"green\",shape:\"dot\",text:\"parameter fehlt\"}});\n\nvar msg2;\nmsg2={payload: \"curl -X PUT \\\"https:\\/\\/api.mcs3.miele.com\\/v1\\/devices\\/\"+device+\"\\/actions\\\" -H \\\"accept: *\\/*\\\" -H \\\"Authorization: Bearer \"+bearer+\"\\\" -H \\\"Content-Type: application\\/json\\\" -d \\\"{\\\\\\\"\"+action+\"\\\\\\\":\"+parameter+\"}\\\"\"};\nmsg1=null;\nreturn [[msg1],[msg2]];\n", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 150, |
|
"y": 100, |
|
"wires": [[], ["e459c4f9.d32338"]] |
|
}, { |
|
"id": "7ed3f9c8.27e698", |
|
"type": "function", |
|
"z": "1d4d5eda.0ea591", |
|
"name": "", |
|
"func": "var msg1={topic:msg.topic, payload: msg.payload};\nvar msg2;\n//if(msg.payload.status.hasOwnProperty(\"value_raw\")) msg2={payload:{fill:\"green\",shape:\"dot\",text:\"OK\"}};\n\nreturn [[msg1],[msg2]];", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"x": 570, |
|
"y": 140, |
|
"wires": [[], []] |
|
}, { |
|
"id": "b4c5c5ea.b2a928", |
|
"type": "subflow", |
|
"name": "get Action", |
|
"info": "", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 160, |
|
"y": 100, |
|
"wires": [{ |
|
"id": "98e5b950.6a2c58" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 920, |
|
"y": 160, |
|
"wires": [{ |
|
"id": "3a80d692.13ff1a", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "bearer", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "lang", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "device", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"status": { |
|
"x": 840, |
|
"y": 80, |
|
"wires": [{ |
|
"id": "98e5b950.6a2c58", |
|
"port": 0 |
|
}, { |
|
"id": "3a80d692.13ff1a", |
|
"port": 1 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "da26411a.dd69c", |
|
"type": "exec", |
|
"z": "b4c5c5ea.b2a928", |
|
"command": "", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get devices", |
|
"x": 430, |
|
"y": 140, |
|
"wires": [["eac26908.58f308"], [], []] |
|
}, { |
|
"id": "eac26908.58f308", |
|
"type": "json", |
|
"z": "b4c5c5ea.b2a928", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 570, |
|
"y": 140, |
|
"wires": [["3a80d692.13ff1a"]] |
|
}, { |
|
"id": "98e5b950.6a2c58", |
|
"type": "function", |
|
"z": "b4c5c5ea.b2a928", |
|
"name": "", |
|
"func": "let bearer = \"\";\nlet device = \"\";\n\n//node.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nbearer = env.get(\"bearer\");\nif(msg.hasOwnProperty('bearer')) bearer=msg.bearer;\nif (bearer === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"bearer missing\"}});\n\ndevice = env.get(\"device\");\nif(msg.hasOwnProperty('device')) lang=msg.device;\nif (device === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"device missing\"}});\n\nvar msg2;\nmsg2={payload: \"curl -X GET \\\"https://api.mcs3.miele.com/v1/devices/\"+device+\"/actions\\\" -H \\\"accept: application/json; charset=utf-8\\\" -H \\\"Authorization: Bearer \" + bearer + \"\\\"\"};\nmsg1=null;\nreturn [[msg1],[msg2]];\n", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 270, |
|
"y": 100, |
|
"wires": [[], ["da26411a.dd69c"]] |
|
}, { |
|
"id": "3a80d692.13ff1a", |
|
"type": "function", |
|
"z": "b4c5c5ea.b2a928", |
|
"name": "", |
|
"func": "var msg1={topic:msg.topic, payload: msg.payload};\nvar msg2;\nif(msg.payload.hasOwnProperty(\"powerOn\")) msg2={payload:{fill:\"green\",shape:\"dot\",text:\"OK\"}};\n\nreturn [[msg1],[msg2]];", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"x": 690, |
|
"y": 140, |
|
"wires": [[], []] |
|
}, { |
|
"id": "8755d135.de6bf", |
|
"type": "subflow", |
|
"name": "get device state", |
|
"info": "", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 100, |
|
"y": 120, |
|
"wires": [{ |
|
"id": "98292c27.d877" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 820, |
|
"y": 160, |
|
"wires": [{ |
|
"id": "1e7270f4.3abf8f", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "bearer", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "lang", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "device", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"status": { |
|
"x": 700, |
|
"y": 40, |
|
"wires": [{ |
|
"id": "98292c27.d877", |
|
"port": 0 |
|
}, { |
|
"id": "1e7270f4.3abf8f", |
|
"port": 1 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "7466cfd7.a3fcd", |
|
"type": "exec", |
|
"z": "8755d135.de6bf", |
|
"command": "", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get devices", |
|
"x": 370, |
|
"y": 160, |
|
"wires": [["fff7f619.892af8"], [], []] |
|
}, { |
|
"id": "fff7f619.892af8", |
|
"type": "json", |
|
"z": "8755d135.de6bf", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 510, |
|
"y": 160, |
|
"wires": [["1e7270f4.3abf8f"]] |
|
}, { |
|
"id": "98292c27.d877", |
|
"type": "function", |
|
"z": "8755d135.de6bf", |
|
"name": "", |
|
"func": "let bearer = \"\";\nlet lang = \"\";\nlet device = \"\";\n\n//node.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nbearer = env.get(\"bearer\");\nif(msg.hasOwnProperty('bearer')) bearer=msg.bearer;\nif (bearer === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"bearer missing\"}});\n\nlang = env.get(\"lang\");\nif(msg.hasOwnProperty('lang')) lang=msg.lang;\nif (lang === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"language missing\"}});\n\ndevice = env.get(\"device\");\nif(msg.hasOwnProperty('device')) lang=msg.device;\nif (device === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"device missing\"}});\n\nvar msg2;\nmsg2={payload: \"curl -X GET \\\"https://api.mcs3.miele.com/v1/devices/\"+device+\"/state?language=\" + lang +\"\\\" -H \\\"accept: application/json; charset=utf-8\\\" -H \\\"Authorization: Bearer \" + bearer + \"\\\"\"};\nmsg1=null;\nreturn [[msg1],[msg2]];\n", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 210, |
|
"y": 120, |
|
"wires": [[], ["7466cfd7.a3fcd"]] |
|
}, { |
|
"id": "1e7270f4.3abf8f", |
|
"type": "function", |
|
"z": "8755d135.de6bf", |
|
"name": "", |
|
"func": "var msg1={topic:msg.topic, payload: msg.payload};\nvar msg2;\nif(msg.payload.status.hasOwnProperty(\"value_raw\")) msg2={payload:{fill:\"green\",shape:\"dot\",text:\"OK\"}};\n\nreturn [[msg1],[msg2]];", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"x": 630, |
|
"y": 160, |
|
"wires": [[], []] |
|
}, { |
|
"id": "bcad6a16.fbc798", |
|
"type": "subflow", |
|
"name": "get device ident", |
|
"info": "", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 140, |
|
"y": 80, |
|
"wires": [{ |
|
"id": "81c0a717.e9f738" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 840, |
|
"y": 80, |
|
"wires": [{ |
|
"id": "b462fa37.689438", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "bearer", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "lang", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "device", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"status": { |
|
"x": 760, |
|
"y": 40, |
|
"wires": [{ |
|
"id": "81c0a717.e9f738", |
|
"port": 0 |
|
}, { |
|
"id": "b462fa37.689438", |
|
"port": 1 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "245908be.c28b58", |
|
"type": "exec", |
|
"z": "bcad6a16.fbc798", |
|
"command": "", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get devices", |
|
"x": 410, |
|
"y": 120, |
|
"wires": [["2e2c716e.8292ee"], [], []] |
|
}, { |
|
"id": "2e2c716e.8292ee", |
|
"type": "json", |
|
"z": "bcad6a16.fbc798", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 550, |
|
"y": 120, |
|
"wires": [["b462fa37.689438"]] |
|
}, { |
|
"id": "81c0a717.e9f738", |
|
"type": "function", |
|
"z": "bcad6a16.fbc798", |
|
"name": "", |
|
"func": "let bearer = \"\";\nlet lang = \"\";\nlet device = \"\";\n\n//node.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nbearer = env.get(\"bearer\");\nif(msg.hasOwnProperty('bearer')) bearer=msg.bearer;\nif (bearer === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"bearer missing\"}});\n\nlang = env.get(\"lang\");\nif(msg.hasOwnProperty('lang')) lang=msg.lang;\nif (lang === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"language missing\"}});\n\ndevice = env.get(\"device\");\nif(msg.hasOwnProperty('device')) lang=msg.device;\nif (device === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"device missing\"}});\n\nvar msg2;\nmsg2={payload: \"curl -X GET \\\"https://api.mcs3.miele.com/v1/devices/\"+device+\"/ident?language=\" + lang +\"\\\" -H \\\"accept: application/json; charset=utf-8\\\" -H \\\"Authorization: Bearer \" + bearer + \"\\\"\"};\nmsg1=null;\nreturn [[msg1],[msg2]];\n", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 250, |
|
"y": 80, |
|
"wires": [[], ["245908be.c28b58"]] |
|
}, { |
|
"id": "b462fa37.689438", |
|
"type": "function", |
|
"z": "bcad6a16.fbc798", |
|
"name": "", |
|
"func": "var msg1={topic:msg.topic, payload: msg.payload};\nvar msg2;\nif(msg.payload.deviceIdentLabel.hasOwnProperty(\"fabNumber\")) msg2={payload:{fill:\"green\",shape:\"dot\",text:\"OK\"}};\n\nreturn [[msg1],[msg2]];", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"x": 670, |
|
"y": 120, |
|
"wires": [[], []] |
|
}, { |
|
"id": "390beeb8.8a5162", |
|
"type": "subflow", |
|
"name": "get device info", |
|
"info": "", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 260, |
|
"y": 80, |
|
"wires": [{ |
|
"id": "fdbbe7f7.00ba18" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 940, |
|
"y": 100, |
|
"wires": [{ |
|
"id": "70e93124.23da5", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "bearer", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "lang", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "device", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"status": { |
|
"x": 680, |
|
"y": 40, |
|
"wires": [{ |
|
"id": "fdbbe7f7.00ba18", |
|
"port": 0 |
|
}, { |
|
"id": "70e93124.23da5", |
|
"port": 1 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "e8cbb2ba.6bc16", |
|
"type": "exec", |
|
"z": "390beeb8.8a5162", |
|
"command": "", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get devices", |
|
"x": 530, |
|
"y": 120, |
|
"wires": [["ee0f6d14.6f4c3"], [], []] |
|
}, { |
|
"id": "ee0f6d14.6f4c3", |
|
"type": "json", |
|
"z": "390beeb8.8a5162", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 670, |
|
"y": 120, |
|
"wires": [["70e93124.23da5"]] |
|
}, { |
|
"id": "fdbbe7f7.00ba18", |
|
"type": "function", |
|
"z": "390beeb8.8a5162", |
|
"name": "", |
|
"func": "let bearer = \"\";\nlet lang = \"\";\nlet device = \"\";\n\n//node.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nbearer = env.get(\"bearer\");\nif(msg.hasOwnProperty('bearer')) bearer=msg.bearer;\nif (bearer === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"bearer missing\"}});\n\nlang = env.get(\"lang\");\nif(msg.hasOwnProperty('lang')) lang=msg.lang;\nif (lang === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"language missing\"}});\n\ndevice = env.get(\"device\");\nif(msg.hasOwnProperty('device')) device=msg.device;\nif (device === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"device missing\"}});\n\nvar msg2;\nmsg2={payload: \"curl -X GET \\\"https://api.mcs3.miele.com/v1/devices/\"+device+\"?language=\" + lang +\"\\\" -H \\\"accept: application/json; charset=utf-8\\\" -H \\\"Authorization: Bearer \" + bearer + \"\\\"\"};\nmsg1=null;\nreturn [[msg1],[msg2]];\n", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 370, |
|
"y": 80, |
|
"wires": [[], ["e8cbb2ba.6bc16"]] |
|
}, { |
|
"id": "70e93124.23da5", |
|
"type": "function", |
|
"z": "390beeb8.8a5162", |
|
"name": "", |
|
"func": "var msg1={topic:msg.topic, payload: msg.payload};\nvar msg2;\nif(msg.payload.ident.hasOwnProperty(\"deviceName\")) msg2={payload:{fill:\"green\",shape:\"dot\",text:\"OK\"}};\n\nreturn [[msg1],[msg2]];", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"x": 790, |
|
"y": 120, |
|
"wires": [[], []] |
|
}, { |
|
"id": "d79e6968.80ffa8", |
|
"type": "subflow", |
|
"name": "get devices", |
|
"info": "", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 50, |
|
"y": 30, |
|
"wires": [{ |
|
"id": "9c6730e2.d8dcd" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 680, |
|
"y": 140, |
|
"wires": [{ |
|
"id": "3c9ff92.07e6c06", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "bearer", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "lang", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"status": { |
|
"x": 700, |
|
"y": 20, |
|
"wires": [{ |
|
"id": "9c6730e2.d8dcd", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "1cd22b3c.108b05", |
|
"type": "exec", |
|
"z": "d79e6968.80ffa8", |
|
"command": "", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get devices", |
|
"x": 430, |
|
"y": 140, |
|
"wires": [["3c9ff92.07e6c06"], [], []] |
|
}, { |
|
"id": "3c9ff92.07e6c06", |
|
"type": "json", |
|
"z": "d79e6968.80ffa8", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 590, |
|
"y": 140, |
|
"wires": [[]] |
|
}, { |
|
"id": "9c6730e2.d8dcd", |
|
"type": "function", |
|
"z": "d79e6968.80ffa8", |
|
"name": "", |
|
"func": "let bearer = \"\";\nlet lang = \"\";\n\n//node.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nbearer = env.get(\"bearer\");\nif(msg.hasOwnProperty('bearer')) bearer=msg.bearer;\nif (bearer === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"bearer missing\"}});\n\nlang = env.get(\"lang\");\nif(msg.hasOwnProperty('lang')) lang=msg.lang;\nif (lang === \"\") node.send({payload: {fill:\"red\",shape:\"dot\",text:\"language missing\"}});\n\nvar msg2;\nmsg2={payload: \"curl -X GET \\\"https://api.mcs3.miele.com/v1/devices/?language=\" + lang +\"\\\" -H \\\"accept: application/json; charset=utf-8\\\" -H \\\"Authorization: Bearer \" + bearer + \"\\\"\"};\nmsg1=null;\nreturn [[msg1],[msg2]];\n", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 270, |
|
"y": 100, |
|
"wires": [[], ["1cd22b3c.108b05"]] |
|
}, { |
|
"id": "8b7bf7f.119a308", |
|
"type": "subflow", |
|
"name": "get Bearer", |
|
"info": "This node uses your client_id, client_secret, username and password to get an autorization token, a so called Bearer (output 1) and a refresh token (output 2).\nAll parameters can be set using the incoming message.\nmsg.client_id, msg.client_secret, msg.[variable_name]...\ncoun_lang requires a combination of language and country, for germany it's DE-de.", |
|
"category": "miele", |
|
"in": [{ |
|
"x": 60, |
|
"y": 80, |
|
"wires": [{ |
|
"id": "272cb16.f5f164e" |
|
} |
|
] |
|
} |
|
], |
|
"out": [{ |
|
"x": 720, |
|
"y": 40, |
|
"wires": [{ |
|
"id": "9af0fd2c.9426c", |
|
"port": 0 |
|
} |
|
] |
|
}, { |
|
"x": 720, |
|
"y": 100, |
|
"wires": [{ |
|
"id": "9af0fd2c.9426c", |
|
"port": 1 |
|
} |
|
] |
|
} |
|
], |
|
"env": [{ |
|
"name": "client_id", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "client_secret", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "username", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "password", |
|
"type": "str", |
|
"value": "" |
|
}, { |
|
"name": "coun_lang", |
|
"type": "str", |
|
"value": "" |
|
} |
|
], |
|
"color": "#DDAA99", |
|
"outputLabels": ["Authorization Token", "Refresh Token"], |
|
"status": { |
|
"x": 720, |
|
"y": 160, |
|
"wires": [{ |
|
"id": "9af0fd2c.9426c", |
|
"port": 2 |
|
}, { |
|
"id": "272cb16.f5f164e", |
|
"port": 0 |
|
} |
|
] |
|
} |
|
}, { |
|
"id": "1e9930fe.bf0faf", |
|
"type": "exec", |
|
"z": "8b7bf7f.119a308", |
|
"command": "curl", |
|
"addpay": true, |
|
"append": "", |
|
"useSpawn": "false", |
|
"timer": "", |
|
"oldrc": false, |
|
"name": "get Bearer", |
|
"x": 290, |
|
"y": 40, |
|
"wires": [["127e4047.65cb3"], [], []] |
|
}, { |
|
"id": "127e4047.65cb3", |
|
"type": "json", |
|
"z": "8b7bf7f.119a308", |
|
"name": "", |
|
"property": "payload", |
|
"action": "", |
|
"pretty": false, |
|
"x": 440, |
|
"y": 40, |
|
"wires": [["9af0fd2c.9426c"]] |
|
}, { |
|
"id": "9af0fd2c.9426c", |
|
"type": "function", |
|
"z": "8b7bf7f.119a308", |
|
"name": "", |
|
"func": "var msg1={topic:\"access_token\", payload: msg.payload.access_token};\nvar msg2={topic:\"refresh_token\", payload: msg.payload.refresh_token};\nvar msg3=null;\nif(msg.payload.hasOwnProperty('access_token') && msg.payload.hasOwnProperty('refresh_token')) msg3={payload:{fill:\"green\",shape:\"dot\",text:\"OK\"}};\n\nreturn [[msg1],[msg2],[msg3]];", |
|
"outputs": 3, |
|
"noerr": 0, |
|
"x": 570, |
|
"y": 40, |
|
"wires": [[], [], []] |
|
}, { |
|
"id": "272cb16.f5f164e", |
|
"type": "function", |
|
"z": "8b7bf7f.119a308", |
|
"name": "", |
|
"func": "let client_id = \"\";\nlet client_secret = \"\";\nlet username = \"\";\nlet password = \"\";\nlet coun_lang = \"\";\n\nnode.send({payload: {fill:\"green\",shape:\"dot\",text:\"OK\"}});\n\nclient_id = env.get(\"client_id\");\nif(msg.hasOwnProperty('client_id')) client_id=msg.client_id;\nif (client_id === \"\") node.send({payload: {fill:\"green\",shape:\"dot\",text:\"Client_id fehlt\"}});\n\nclient_secret = env.get(\"client_secret\");\nif(msg.hasOwnProperty('client_secret')) client_secret=msg.client_secret;\nif (client_secret === \"\") node.send({payload: {fill:\"green\",shape:\"dot\",text:\"Client_secret fehlt\"}});\n\nusername = env.get(\"username\");\nif(msg.hasOwnProperty('username')) client_id=msg.username;\nif (username === \"\") node.send({payload: {fill:\"green\",shape:\"dot\",text:\"Username fehlt\"}});\n\npassword = env.get(\"password\");\nif(msg.hasOwnProperty('password')) client_id=msg.password;\nif (password === \"\") node.send({payload: {fill:\"green\",shape:\"dot\",text:\"Password fehlt\"}});\n\ncoun_lang = env.get(\"coun_lang\");\nif(msg.hasOwnProperty('coun_lang')) client_id=msg.coun_lang;\nif (coun_lang === \"\") node.send({payload: {fill:\"green\",shape:\"dot\",text:\"Country-Language fehlt\"}});\n\nvar msg2;\nmsg2={payload:\" -d \\\"grant_type=password\\\" -d \\\"client_id=\"+client_id+\n \"\\\" -d \\\"client_secret=\"+client_secret+\"\\\" -d \\\"username=\"+username+\n \"\\\" -d \\\"password=\"+password+\"\\\" -d \\\"vg=\"+coun_lang+\n \"\\\" https://api.mcs3.miele.com/thirdparty/token/\"};\nmsg1=null;\nreturn [[msg1],[msg2]];", |
|
"outputs": 2, |
|
"noerr": 0, |
|
"initialize": "", |
|
"finalize": "", |
|
"x": 150, |
|
"y": 80, |
|
"wires": [[], ["1e9930fe.bf0faf"]] |
|
}, { |
|
"id": "8cc73ce4.b2345", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 300, |
|
"wires": [["4315b3b4.009d8c"]] |
|
}, { |
|
"id": "32015fbe.2f516", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "global.set(\"mielebearer\",msg.payload);\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 550, |
|
"y": 300, |
|
"wires": [[]] |
|
}, { |
|
"id": "3cffc84c.a8b748", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 360, |
|
"wires": [["d073836.dc6fb8"]] |
|
}, { |
|
"id": "d073836.dc6fb8", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "msg.lang=\"de\";\nmsg.bearer=global.get(\"mielebearer\");\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 370, |
|
"y": 360, |
|
"wires": [["2b0c40f3.cc07c"]] |
|
}, { |
|
"id": "ac0d4f3c.3f422", |
|
"type": "debug", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"active": true, |
|
"tosidebar": true, |
|
"console": false, |
|
"tostatus": false, |
|
"complete": "true", |
|
"targetType": "full", |
|
"x": 650, |
|
"y": 360, |
|
"wires": [] |
|
}, { |
|
"id": "e0817a83.3638c8", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 420, |
|
"wires": [["91b577ba.e11378"]] |
|
}, { |
|
"id": "91b577ba.e11378", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "msg.lang=\"de\";\nmsg.bearer=global.get(\"mielebearer\");\n//msg.device=\"XXXXXXXXXXXX\";\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 370, |
|
"y": 420, |
|
"wires": [["679210e5.bb4a1"]] |
|
}, { |
|
"id": "84b603eb.7fb6d", |
|
"type": "debug", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"active": true, |
|
"tosidebar": true, |
|
"console": false, |
|
"tostatus": false, |
|
"complete": "true", |
|
"targetType": "full", |
|
"x": 670, |
|
"y": 420, |
|
"wires": [] |
|
}, { |
|
"id": "2d89999e.2e6c96", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 480, |
|
"wires": [["b331d5f2.a1c138"]] |
|
}, { |
|
"id": "b331d5f2.a1c138", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "msg.lang=\"de\";\nmsg.bearer=global.get(\"mielebearer\");\n//msg.device=\"XXXXXXXXXXXX\";\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 370, |
|
"y": 480, |
|
"wires": [["69058e24.4db0e"]] |
|
}, { |
|
"id": "fc3b7cc5.0ac43", |
|
"type": "debug", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"active": true, |
|
"tosidebar": true, |
|
"console": false, |
|
"tostatus": false, |
|
"complete": "true", |
|
"targetType": "full", |
|
"x": 670, |
|
"y": 480, |
|
"wires": [] |
|
}, { |
|
"id": "4d8b4405.b609cc", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "Returns all information about appliances linked to an user account.", |
|
"info": "", |
|
"x": 1040, |
|
"y": 360, |
|
"wires": [] |
|
}, { |
|
"id": "37d27f0d.8c6b8", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "Returns all information about a single appliance linked to an user account", |
|
"info": "", |
|
"x": 1060, |
|
"y": 420, |
|
"wires": [] |
|
}, { |
|
"id": "4f0c966b.5c13e8", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "Returns your access token / Bearer", |
|
"info": "", |
|
"x": 940, |
|
"y": 300, |
|
"wires": [] |
|
}, { |
|
"id": "2940a41f.6a1dec", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 600, |
|
"wires": [["8d502f9a.9cfae"]] |
|
}, { |
|
"id": "8d502f9a.9cfae", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "msg.lang=\"de\";\nmsg.bearer=global.get(\"mielebearer\");\n//msg.device=\"XXXXXXXXXXXX\";\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 370, |
|
"y": 600, |
|
"wires": [["29bb8380.76988c"]] |
|
}, { |
|
"id": "1903fd7b.0d45a3", |
|
"type": "debug", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"active": true, |
|
"tosidebar": true, |
|
"console": false, |
|
"tostatus": false, |
|
"complete": "true", |
|
"targetType": "full", |
|
"x": 670, |
|
"y": 600, |
|
"wires": [] |
|
}, { |
|
"id": "791c55db.267dcc", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "Returns the ident information of a single device", |
|
"info": "", |
|
"x": 980, |
|
"y": 480, |
|
"wires": [] |
|
}, { |
|
"id": "a3209786.dafdc8", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "The GET action is used to request a device so send the currently supported actions", |
|
"info": "", |
|
"x": 1090, |
|
"y": 600, |
|
"wires": [] |
|
}, { |
|
"id": "87379dd7.af663", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 540, |
|
"wires": [["75c4daa.7552024"]] |
|
}, { |
|
"id": "75c4daa.7552024", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "msg.lang=\"de\";\nmsg.bearer=global.get(\"mielebearer\");\n//msg.device=\"XXXXXXXXXXXX\";\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 370, |
|
"y": 540, |
|
"wires": [["22cd4a84.feb3f6"]] |
|
}, { |
|
"id": "d47b12a8.4c8ab", |
|
"type": "debug", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"active": true, |
|
"tosidebar": true, |
|
"console": false, |
|
"tostatus": false, |
|
"complete": "true", |
|
"targetType": "full", |
|
"x": 670, |
|
"y": 540, |
|
"wires": [] |
|
}, { |
|
"id": "b4a6a8cf.4e9628", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "Returns the state information of a single device", |
|
"info": "", |
|
"x": 980, |
|
"y": 540, |
|
"wires": [] |
|
}, { |
|
"id": "1c6f442f.16a17c", |
|
"type": "inject", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"repeat": "", |
|
"crontab": "", |
|
"once": false, |
|
"onceDelay": 0.1, |
|
"topic": "", |
|
"payload": "", |
|
"payloadType": "date", |
|
"x": 240, |
|
"y": 660, |
|
"wires": [["322386e.eaa967a"]] |
|
}, { |
|
"id": "322386e.eaa967a", |
|
"type": "function", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "set var", |
|
"func": "msg.bearer=global.get(\"mielebearer\");\n//msg.device=\"XXXXXXXXXXXX\";\nmsg.action=\"processAction\";\nmsg.parameter=\"2\";\n//msg.action=\"deviceName\";\n//msg.parameter=\"\\\\\\\"myDevice\\\\\\\"\";\nreturn msg;", |
|
"outputs": 1, |
|
"noerr": 0, |
|
"x": 370, |
|
"y": 660, |
|
"wires": [["bf22df68.b3972"]] |
|
}, { |
|
"id": "4686037.45bf3fc", |
|
"type": "debug", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"active": true, |
|
"tosidebar": true, |
|
"console": false, |
|
"tostatus": false, |
|
"complete": "true", |
|
"targetType": "full", |
|
"x": 670, |
|
"y": 660, |
|
"wires": [] |
|
}, { |
|
"id": "8909e20.acfb22", |
|
"type": "comment", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "The PUT action is used invoke an action on a single device", |
|
"info": "", |
|
"x": 1010, |
|
"y": 660, |
|
"wires": [] |
|
}, { |
|
"id": "4315b3b4.009d8c", |
|
"type": "subflow:8b7bf7f.119a308", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 390, |
|
"y": 300, |
|
"wires": [["32015fbe.2f516"], []] |
|
}, { |
|
"id": "2b0c40f3.cc07c", |
|
"type": "subflow:d79e6968.80ffa8", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 510, |
|
"y": 360, |
|
"wires": [["ac0d4f3c.3f422"]], |
|
"info": "This node uses your autorization token, or Bearer your desired language (de and en are supported) to give you information about all of your devices as describes in https://www.miele.com/developer/swagger-ui/index.html#/.\nAll parameters can be set using the incoming message.\nmsg.bearer, msg.lang, basically it's msg.[variable_name]..." |
|
}, { |
|
"id": "679210e5.bb4a1", |
|
"type": "subflow:390beeb8.8a5162", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 520, |
|
"y": 420, |
|
"wires": [["84b603eb.7fb6d"]], |
|
"info": "This node uses your autorization token, or Bearer your desired language (de and en are supported) to give you information about one specific devices as describes in https://www.miele.com/developer/swagger-ui/index.html#/.\nAll parameters can be set using the incoming message.\nmsg.bearer, msg.lang, basically it's msg.[variable_name]..." |
|
}, { |
|
"id": "69058e24.4db0e", |
|
"type": "subflow:bcad6a16.fbc798", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 520, |
|
"y": 480, |
|
"wires": [["fc3b7cc5.0ac43"]], |
|
"info": "This node uses your autorization token, or Bearer your desired language (de and en are supported) to give you id-information about one specific devices as describes in https://www.miele.com/developer/swagger-ui/index.html#/.\nAll parameters can be set using the incoming message.\nmsg.bearer, msg.lang, basically it's msg.[variable_name]..." |
|
}, { |
|
"id": "22cd4a84.feb3f6", |
|
"type": "subflow:8755d135.de6bf", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 520, |
|
"y": 540, |
|
"wires": [["d47b12a8.4c8ab"]], |
|
"info": "This node uses your autorization token, or Bearer your desired language (de and en are supported) to give you the status of one specific devices as describes in https://www.miele.com/developer/swagger-ui/index.html#/.\nAll parameters can be set using the incoming message.\nmsg.bearer, msg.lang, basically it's msg.[variable_name]..." |
|
}, { |
|
"id": "29bb8380.76988c", |
|
"type": "subflow:b4c5c5ea.b2a928", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 500, |
|
"y": 600, |
|
"wires": [["1903fd7b.0d45a3"]], |
|
"info": "This node uses your autorization token, or Bearer your desired language (de and en are supported) to give you the availible actions of one specific devices in it's current status as describes in https://www.miele.com/developer/swagger-ui/index.html#/.\nAll parameters can be set using the incoming message.\nmsg.bearer, msg.lang, basically it's msg.[variable_name]..." |
|
}, { |
|
"id": "bf22df68.b3972", |
|
"type": "subflow:1d4d5eda.0ea591", |
|
"z": "8c044ad3.6aa2e8", |
|
"name": "", |
|
"env": [], |
|
"x": 500, |
|
"y": 660, |
|
"wires": [["4686037.45bf3fc"]] |
|
} |
|
] |
I think something has changed in the Miele API. I see the following message now -
"TypeError: Cannot read property 'hasOwnProperty' of undefined"
At least one other person is seeing the same problem on their installation (noted on a forum thread).