Bosh Dishwasher with Home-Connect

Moderator: leecollings

stingone
Posts: 48
Joined: Monday 26 October 2015 16:28
Target OS: -
Domoticz version:
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by stingone »

FireWizard wrote: Sunday 05 September 2021 16:27 Hello @stingone,

Flow 2 (alternative)

Code: Select all

[{"id":"ac0418fcd47e4708","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"c01ff4ac.385828","type":"inject","z":"ac0418fcd47e4708","name":"Receive Haid","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":150,"y":140,"wires":[["3c9eea6f.9c69fe"]]},{"id":"d522e6fb.18f1c8","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":890,"y":140,"wires":[]},{"id":"baf5c282.da4b1","type":"mqtt in","z":"ac0418fcd47e4708","name":"Domoticz Out","topic":"domoticz/out","qos":"2","datatype":"json","broker":"1dcf01d5.02819e","x":110,"y":420,"wires":[["6a27d9a9.76e13"]]},{"id":"6a27d9a9.76e13","type":"switch","z":"ac0418fcd47e4708","name":"Filter Selector Switch","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"466","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":320,"y":420,"wires":[["efc45b03.64005"]]},{"id":"efc45b03.64005","type":"function","z":"ac0418fcd47e4708","name":"","func":"if (msg.payload.nvalue === 0) {\n    msg.payload = true;\n    return [msg,null,null,null,null,null,null,null,null]\n} else \n\nif (msg.payload.nvalue === 2) {\n    switch (msg.payload.svalue1) {\n        case \"10\":\n            msg.payload = true;\n            return [null,msg,null,null,null,null,null,null,null]\n        break;\n        \n        case \"20\":\n            msg.payload = true;\n            return [null,null,msg,null,null,null,null,null,null]\n        break;\n\n        case \"30\":\n            msg.payload = true;\n            return [null,null,null,msg,null,null,null,null,null]\n        break;\n\n        case \"40\":\n            msg.payload = true;\n            return [null,null,null,null,msg,null,null,null,null]\n        break;\n\n        case \"50\":\n            msg.payload = true;\n            return [null,null,null,null,null,msg,null,null,null]\n        break;\n        \n        case \"60\":\n            msg.payload = true;\n            return [null,null,null,null,null,null,msg,null,null]\n        break;\n\n        case \"70\":\n            msg.payload = true;\n            return [null,null,null,null,null,null,null,msg,null]\n        break;\n\n        case \"80\":\n            msg.payload = true;\n            return [null,null,null,null,null,null,null,null,msg]\n        break;\n\n    }\n}\n","outputs":9,"noerr":0,"initialize":"","finalize":"","x":520,"y":420,"wires":[["d44d3d46.cf931"],["683eece4.c1f78c"],["ae26ebb6.45ecf"],["b809b626.3ffb6"],["e06d13b0.6f4ff"],["d9af0291.907678"],["f378d4f8.03c6f8"],["cdc1c169.9ac0d8"],["6954b48.c58754c"]]},{"id":"d44d3d46.cf931","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Stop","tag":"programs","operationId":"stop_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":870,"y":200,"wires":[["d026efe2.93e528"]]},{"id":"683eece4.c1f78c","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.Eco50","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.Eco50\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":920,"y":260,"wires":[["1aa85f30.7e49d1"]]},{"id":"ae26ebb6.45ecf","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.Auto2","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.Auto2\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":920,"y":320,"wires":[["739e3b1a.b69ab4"]]},{"id":"b809b626.3ffb6","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.Intensiv70","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.Intensiv70\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":930,"y":380,"wires":[["f2ab6116.2c2a2"]]},{"id":"e06d13b0.6f4ff","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.NightWash","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.NightWash\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":930,"y":440,"wires":[["b741147.d9b2768"]]},{"id":"d9af0291.907678","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.Kurz60","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.Kurz60\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":920,"y":500,"wires":[["a2746922.cdccb"]]},{"id":"f378d4f8.03c6f8","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.Glas40","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.Glas40\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":920,"y":560,"wires":[["7474dbc.acbc1a4"]]},{"id":"cdc1c169.9ac0d8","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.Quick45","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.Quick45\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":920,"y":620,"wires":[["bb9cac1a.d2626"]]},{"id":"6954b48.c58754c","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program.MachineCare","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"{\n    \"data\": {\n        \"key\": \"Dishcare.Dishwasher.Program.MachineCare\",\n        \"options\": []\n    }\n}","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":940,"y":680,"wires":[["2d87edd1.005a52"]]},{"id":"a6c0c653.584b48","type":"comment","z":"ac0418fcd47e4708","name":"How to receive HAID","info":"Install Home Connect Nodes \"node-red-contrib-homeconnect\"\n\nConnect your Dishwasher with Wifi.\n\nSee the instructions on Youtube https://www.youtube.com/watch?v=wRscaAe0Q3Q\n\nSecond, go to the Home Connect Develop website, and register.\n\nGo to Aplications and register your Application\nOnes you have register you application (Dishwasher) You can open it and than you can see Client ID and Client Secret.\n\nNow you go to Receive HAID Node and open it.\nOpen \"Auth\" with \"pencil\"\nFill in you Client ID and Client Secret.\nIn \"Scope pu the text \"IdentifyAppliance Dishwasher\"\nNow \"Start authorization\"\nYou will redirected to the Home Connect Develop website. Fill in your username and password. \nThan push on the button Accept. \n\nGo back to Node Red, Done, and Deploy the flow.\nWhen you push on the button Receive HAID, you can see in the in th Debug window the Message. Open it and you will see the HAID code off your Dishwasher. Fill in this HAID code without \"\" marks, ","x":150,"y":180,"wires":[]},{"id":"3c9eea6f.9c69fe","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Receive Haid","tag":"default","operationId":"get_home_appliances","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":530,"y":140,"wires":[["d522e6fb.18f1c8"]]},{"id":"6b6f45fd.70e6ac","type":"home-connect-event","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"","haid":"BOSCH-SMI88TS46E-68A40E409F63","x":140,"y":1082,"wires":[["5a622a5c.d84cd4"]]},{"id":"176b15e6.e891aa","type":"mqtt out","z":"ac0418fcd47e4708","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"dfe8d232.cb0b58","x":950,"y":1082,"wires":[]},{"id":"ab9d33e7.78cc58","type":"comment","z":"ac0418fcd47e4708","name":"Dishwasher door open/close Text Device IDX 467","info":"","x":1050,"y":1140,"wires":[]},{"id":"863dc1a3.435108","type":"comment","z":"ac0418fcd47e4708","name":"Slector device Off, when programm finished  IDX 466","info":"At the end of the program, the selector switch for program selection is set to Off.","x":1060,"y":1220,"wires":[]},{"id":"d69d0290.ab2ae","type":"function","z":"ac0418fcd47e4708","name":"Dishwasher On","func":"if (msg.payload.value == \"BSH.Common.EnumType.PowerState.On\") {\n    msg.payload = true;\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":280,"y":1302,"wires":[["9ffa3703.8e68d8"]]},{"id":"3df91045.833c1","type":"comment","z":"ac0418fcd47e4708","name":"Trigger for dishwasher on","info":"","x":290,"y":1262,"wires":[]},{"id":"9ffa3703.8e68d8","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"","tag":"programs","operationId":"get_active_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":620,"y":1302,"wires":[["41af95f6.61b5dc","5309aa1.d87f754"]]},{"id":"7bc5d4c7.9de27c","type":"comment","z":"ac0418fcd47e4708","name":"Output programm choise forecast","info":"","x":600,"y":1262,"wires":[]},{"id":"5d297660.1b799","type":"home-connect-event","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"","haid":"BOSCH-SMI88TS46E-68A40E409F63","x":140,"y":1362,"wires":[["3ef794db.6527dc","d69d0290.ab2ae"]]},{"id":"3ef794db.6527dc","type":"join","z":"ac0418fcd47e4708","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"payload.key","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":370,"y":1362,"wires":[["41b4360d.df6b58"]]},{"id":"300715de.94335a","type":"mqtt out","z":"ac0418fcd47e4708","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"c497df4d.5adaf","x":950,"y":1402,"wires":[]},{"id":"5ef7a67c.93e25","type":"comment","z":"ac0418fcd47e4708","name":"To Domoticz Text device IDX 481","info":"","x":1010,"y":1502,"wires":[]},{"id":"3e4e37b3.22b3e","type":"comment","z":"ac0418fcd47e4708","name":"Text Duration / Progress / Forecast","info":"","x":1020,"y":1462,"wires":[]},{"id":"234e063b.a69002","type":"comment","z":"ac0418fcd47e4708","name":"Output Duration and Progress, dishwasher on","info":"","x":210,"y":1422,"wires":[]},{"id":"bbd12fbd.9e30e","type":"comment","z":"ac0418fcd47e4708","name":"Programm choice Text Device IDX 467","info":"","x":1010,"y":1180,"wires":[]},{"id":"f75b77c1.e81978","type":"comment","z":"ac0418fcd47e4708","name":"Domoticz selector switch IDX 466","info":"","x":180,"y":480,"wires":[]},{"id":"5a622a5c.d84cd4","type":"function","z":"ac0418fcd47e4708","name":"Dishwasher Program","func":"var msg1 = {};\nvar msg2 = {};\n\nswitch (msg.payload.value) {\n        case \"Dishcare.Dishwasher.Program.Intensiv70\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Intensief 70 graden\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Auto2\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Auto 45-65 graden\" };\n        break;\n                \n        case \"Dishcare.Dishwasher.Program.Eco50\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Eco 50 graden graden\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.NightWash\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Nachtprogramma\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Kurz60\":\n            msg.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Kort 60 graden\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Glas40\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Glas 40 graden\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Quick45\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Snel progamma 45 graden\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.PreRinse\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Voor spoelen\" };\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.MachineCare\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Machine verzorging\" };\n        break;\n        \n        case \"BSH.Common.EnumType.PowerState.Off\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Machine uit\" };\n            msg2.payload = {\"command\": \"switchlight\", \"idx\": 466, \"switchcmd\": \"Off\" };\n        break;\n        \n        case \"BSH.Common.EnumType.PowerState.On\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Machine Aan\" };\n        break;\n        \n        case \"BSH.Common.EnumType.DoorState.Open\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Deur open\" }\n        break;\n    \n        case \"BSH.Common.EnumType.DoorState.Closed\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 467, \"svalue\": \"Deur dicht\" }\n        break;\n\n}\n\nreturn [[msg1,msg2]];\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":480,"y":1082,"wires":[["176b15e6.e891aa"]]},{"id":"41af95f6.61b5dc","type":"change","z":"ac0418fcd47e4708","name":"Move key","rules":[{"t":"move","p":"payload.data.key","pt":"msg","to":"payload.key","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"payload.key","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":1302,"wires":[["3ef794db.6527dc"]]},{"id":"41b4360d.df6b58","type":"function","z":"ac0418fcd47e4708","name":"Progress Program","func":"var duration = msg.payload[\"BSH.Common.Option.RemainingProgramTime\"].value;\nvar progress = msg.payload[\"BSH.Common.Option.ProgramProgress\"].value.toString();\nvar forecast = \"Energy  forecast: \" + msg.payload[msg.topic].data.options[7].value.toString() + \"%\" + \"; Water forecast: \" + msg.payload[msg.topic].data.options[8].value.toString() + \"%\";\n\n\nfunction sec2hhmmss(sec) {\n\nvar Hours = Math.floor(sec/3600).toString();\nvar Minutes = Math.floor((sec-(Hours*3600))/60).toString();\nvar Seconds = (sec-(Hours*3600)-(Minutes*60)).toString();\n\nreturn ('0' +Hours).slice(-2)+':'+('0' +Minutes).slice(-2)+':'+('0' +Seconds).slice(-2);\n}\n\nmsg.payload = {\"command\":\"udevice\",\"idx\":481,\"nvalue\":0,\"svalue\":\"Tijdsduur: \" + sec2hhmmss(duration) + \" u\" + \"\\n\" + \"Voortgang: \" + progress + \" %\" + \"\\n\" + forecast};\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":630,"y":1402,"wires":[["300715de.94335a"]]},{"id":"5309aa1.d87f754","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":710,"y":1180,"wires":[]},{"id":"d026efe2.93e528","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":200,"wires":[]},{"id":"1aa85f30.7e49d1","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":260,"wires":[]},{"id":"739e3b1a.b69ab4","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":320,"wires":[]},{"id":"f2ab6116.2c2a2","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":380,"wires":[]},{"id":"b741147.d9b2768","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":440,"wires":[]},{"id":"a2746922.cdccb","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":500,"wires":[]},{"id":"bb9cac1a.d2626","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":620,"wires":[]},{"id":"7474dbc.acbc1a4","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":560,"wires":[]},{"id":"2d87edd1.005a52","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":680,"wires":[]},{"id":"ed2831a8.7e1848","type":"mqtt in","z":"ac0418fcd47e4708","name":"Domoticz Out","topic":"domoticz/out","qos":"2","datatype":"json","broker":"1dcf01d5.02819e","x":110,"y":840,"wires":[["91b3c2b7.43eeb8"]]},{"id":"91b3c2b7.43eeb8","type":"switch","z":"ac0418fcd47e4708","name":"Filter Selector Switch","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"466","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":320,"y":840,"wires":[["4e8aa08.f484a6"]]},{"id":"b88ecd06.340da8","type":"comment","z":"ac0418fcd47e4708","name":"Domoticz selector switch IDX 466","info":"","x":180,"y":900,"wires":[]},{"id":"43520e2c.eab8a","type":"function","z":"ac0418fcd47e4708","name":"","func":"if (msg.payload.nvalue === 0) {\n    msg.payload = true;\n    node.send([[msg],[null],[null]]);\n} else \n\nif (msg.payload.nvalue === 2) {\n    var svalue1 = msg.payload.svalue1;\n    msg.payload = true;\n    msg.body = {\n            \"data\": {\n            \"key\": \"BSH.Common.Setting.PowerState\",\n            \"value\": \"BSH.Common.EnumType.PowerState.On\",\n            \"type\": \"BSH.Common.EnumType.PowerState\",\n            \"constraints\": {\n            \"allowedvalues\": [\n            \"BSH.Common.EnumType.PowerState.On\",\n            \"BSH.Common.EnumType.PowerState.Standby\"\n             ],\n            \"access\": \"readWrite\"\n        }\n      }\n    }\n    node.send([[null],[null],[msg]]);\n    \n    switch (svalue1) {\n        case \"10\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.Eco50\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n        \n        case \"20\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.Auto2\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n\n        case \"30\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.Intensiv70\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n\n        case \"40\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.NightWash\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n\n        case \"50\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.Kurz60\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n        \n        case \"60\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.Glas40\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n\n        case \"70\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.Quick45\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n\n        case \"80\":\n            msg.body = {\n                \"data\": {\n                \"key\": \"Dishcare.Dishwasher.Program.MachineCare\",\n                \"options\": []\n            }\n        }            \n    node.send([[null],[msg],[null]]);\n        break;\n\n    }\n}\n","outputs":3,"noerr":0,"initialize":"","finalize":"","x":100,"y":980,"wires":[[],[],[]]},{"id":"db0e481.7ae5638","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":820,"wires":[]},{"id":"eb6b4eda.661b4","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Start Program","tag":"programs","operationId":"start_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":900,"y":860,"wires":[["382cf0ae.fdee6"]]},{"id":"382cf0ae.fdee6","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":860,"wires":[]},{"id":"e1e71925.011718","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"58eba0bf.1dc1b8","name":"Powerstate on","tag":"settings","operationId":"set_setting","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"BSH.Common.Setting.PowerState","statuskey":"","imagekey":"","x":900,"y":960,"wires":[["5f0bc824.26fda"]]},{"id":"5649a224.6b8254","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":920,"wires":[]},{"id":"d5fdbb7c.53a968","type":"home-connect-request","z":"ac0418fcd47e4708","auth":"e5e1346e.c0c2e","name":"Stop Program","tag":"programs","operationId":"stop_program","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":900,"y":760,"wires":[["7268130b.956074"]]},{"id":"7268130b.956074","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":760,"wires":[]},{"id":"79409640.316428","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":1020,"wires":[]},{"id":"5f0bc824.26fda","type":"debug","z":"ac0418fcd47e4708","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":960,"wires":[]},{"id":"4e8aa08.f484a6","type":"function","z":"ac0418fcd47e4708","name":"","func":"var key = {};\n\nif (msg.payload.nvalue === 0) {\n    msg.payload = true;\n    node.send([[msg],[null],[null]]);\n} else \n\nif (msg.payload.nvalue === 2) {\n    var svalue1 = msg.payload.svalue1;\n    msg.payload = true;\n    msg.body = {\n            \"data\": {\n            \"key\": \"BSH.Common.Setting.PowerState\",\n            \"value\": \"BSH.Common.EnumType.PowerState.On\",\n            \"type\": \"BSH.Common.EnumType.PowerState\",\n            \"constraints\": {\n            \"allowedvalues\": [\n            \"BSH.Common.EnumType.PowerState.On\",\n            \"BSH.Common.EnumType.PowerState.Standby\"\n             ],\n            \"access\": \"readWrite\"\n        }\n      }\n    }\n    node.send([[null],[null],[msg]]);\n    \n    switch (svalue1) {\n        case \"10\" : key = \"Dishcare.Dishwasher.Program.Eco50\";\n        break;\n    \n        case \"20\" : key = \"Dishcare.Dishwasher.Program.Auto2\";\n        break;  \n\n        case \"30\" : key = \"Dishcare.Dishwasher.Program.Intensiv70\";\n        break;\n\n        case \"40\" : key = \"Dishcare.Dishwasher.Program.NightWash\";\n        break;\n\n        case \"50\" : key = \"Dishcare.Dishwasher.Program.Kurz60\";\n        break;\n        \n        case \"60\" : key = \"Dishcare.Dishwasher.Program.Glas40\";\n        break;\n\n        case \"70\" : key = \"Dishcare.Dishwasher.Program.Quick45\";\n        break;\n\n        case \"80\" : key = \"Dishcare.Dishwasher.Program.MachineCare\";\n        break;\n\n    }\n\n        msg.body = {\n        \"data\": {\n        \"key\": key,\n        \"options\": []\n        }\n    }\n    \nreturn [null,msg,null];    \n}","outputs":3,"noerr":0,"initialize":"","finalize":"","x":540,"y":840,"wires":[["d5fdbb7c.53a968","db0e481.7ae5638"],["7134086c.50f468"],["e1e71925.011718","79409640.316428"]]},{"id":"7134086c.50f468","type":"delay","z":"ac0418fcd47e4708","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":720,"y":840,"wires":[["eb6b4eda.661b4","5649a224.6b8254"]]},{"id":"1dcf01d5.02819e","type":"mqtt-broker","name":"Domoticz","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"dfe8d232.cb0b58","type":"mqtt-broker","name":"Domoticz","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""},{"id":"c497df4d.5adaf","type":"mqtt-broker","name":"Domoticz","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Regards
Many thanks, i have already made some progress and also in contact with someone who made a node red plugin for HC. Hopefully by end of next week i have it ready.

Regards,
stingone
Posts: 48
Joined: Monday 26 October 2015 16:28
Target OS: -
Domoticz version:
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by stingone »

stingone wrote: Sunday 12 September 2021 10:00
FireWizard wrote: Sunday 05 September 2021 16:27 Hello @stingone,

Flow 2 (alternative)

Regards
Many thanks, i have already made some progress and also in contact with someone who made a node red plugin for HC. Hopefully by end of next week i have it ready.

Regards,
Here you go,

Including notification in domoticz if door is not closed or remotestart not set on dishwasher. Onlything that still needs to be done is power on/off switch. Will do this tomorrow.

Implemented, tested and working:

- Selector switch with programs
- Text device (door status)
- Text device (power and operating status)
- Text device (program status - all options)
- Notification if door not closed or remotestart not set on dishwasher

TODO
- Switch for powerstate on/off

Its pitty that the original plugin is not updated. But with this node-red flow its stable and updating on event.

Code: Select all

[{"id":"0af9a2353abcf1d8","type":"tab","label":"Vaatwasser","disabled":false,"info":""},{"id":"6dbcd633.8e82","type":"mqtt in","z":"0af9a2353abcf1d8","name":"Domoticz Out","topic":"domoticz/out","qos":"2","datatype":"json","broker":"c00203a0efc532f8","nl":false,"rap":false,"x":90,"y":200,"wires":[["dd124a7.dc97938"]]},{"id":"dd124a7.dc97938","type":"switch","z":"0af9a2353abcf1d8","name":"Filter Selector Switch","property":"payload.idx","propertyType":"msg","rules":[{"t":"eq","v":"177","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":300,"y":200,"wires":[["96347c40.06f9a8"]]},{"id":"5e7eb55.73937cc","type":"home-connect-request","z":"0af9a2353abcf1d8","auth":"f3059a2c6c53a463","name":"Start Program","tag":"programs","operationId":"start_program","haid":"BOSCH-SBA88TD16E-","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":1780,"y":200,"wires":[["d28ad56a.2df9f"]]},{"id":"d28ad56a.2df9f","type":"debug","z":"0af9a2353abcf1d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1970,"y":200,"wires":[]},{"id":"94e988d0.a28a28","type":"home-connect-request","z":"0af9a2353abcf1d8","auth":"f3059a2c6c53a463","name":"Powerstate on","tag":"settings","operationId":"set_setting","haid":"BOSCH-SBA88TD16E-","body":"","optionkey":"","programkey":"","settingkey":"BSH.Common.Setting.PowerState","statuskey":"","imagekey":"","x":900,"y":260,"wires":[["4eae41b8.4d58c8"]]},{"id":"fad9b69.f99dfc8","type":"home-connect-request","z":"0af9a2353abcf1d8","auth":"f3059a2c6c53a463","name":"Stop Program","tag":"programs","operationId":"stop_program","haid":"BOSCH-SBA88TD16E-","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":900,"y":140,"wires":[["27a0da3.c3618a6"]]},{"id":"27a0da3.c3618a6","type":"debug","z":"0af9a2353abcf1d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1070,"y":140,"wires":[]},{"id":"4eae41b8.4d58c8","type":"debug","z":"0af9a2353abcf1d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1070,"y":260,"wires":[]},{"id":"96347c40.06f9a8","type":"function","z":"0af9a2353abcf1d8","name":"","func":"var key = {};\n\nif (msg.payload.nvalue === 0) {\n    msg.payload = true;\n    node.send([[msg],[null],[null]]);\n} else \n\nif (msg.payload.nvalue === 2) {\n    var svalue1 = msg.payload.svalue1;\n    msg.payload = true;\n    msg.body = {\n            \"data\": {\n            \"key\": \"BSH.Common.Setting.PowerState\",\n            \"value\": \"BSH.Common.EnumType.PowerState.On\",\n            \"type\": \"BSH.Common.EnumType.PowerState\",\n            \"constraints\": {\n            \"allowedvalues\": [\n            \"BSH.Common.EnumType.PowerState.On\",\n            \"BSH.Common.EnumType.PowerState.Standby\"\n             ],\n            \"access\": \"readWrite\"\n        }\n      }\n    }\n    node.send([[null],[null],[msg]]);\n    \n    switch (svalue1) {\n        case \"10\" : key = \"Dishcare.Dishwasher.Program.Eco50\";\n        break;\n    \n        case \"20\" : key = \"Dishcare.Dishwasher.Program.Auto2\";\n        break;  \n\n        case \"30\" : key = \"Dishcare.Dishwasher.Program.Intensiv70\";\n        break;\n\n        case \"40\" : key = \"Dishcare.Dishwasher.Program.NightWash\";\n        break;\n\n        case \"50\" : key = \"Dishcare.Dishwasher.Program.Kurz60\";\n        break;\n        \n        case \"60\" : key = \"Dishcare.Dishwasher.Program.Glas40\";\n        break;\n\n        case \"70\" : key = \"Dishcare.Dishwasher.Program.Quick45\";\n        break;\n\n        case \"80\" : key = \"Dishcare.Dishwasher.Program.MachineCare\";\n        break;\n        \n        case \"90\" : key = \"Dishcare.Dishwasher.Program.PreRinse\";\n        break;\n\n    }\n\n        msg.body = {\n        \"data\": {\n        \"key\": key,\n        \"options\": []\n        }\n    }\n    \nreturn [null,msg,null];    \n}","outputs":3,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":200,"wires":[["fad9b69.f99dfc8"],["546d36302c2b1d9a"],["94e988d0.a28a28"]]},{"id":"04795eceef8a91e3","type":"function","z":"0af9a2353abcf1d8","name":"Dishwasher On","func":"if (msg.payload.value == \"BSH.Common.EnumType.PowerState.On\") {\n    msg.payload = true;\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":500,"wires":[["72aec80cd4d08e24"]]},{"id":"72aec80cd4d08e24","type":"home-connect-request","z":"0af9a2353abcf1d8","auth":"f3059a2c6c53a463","name":"","tag":"programs","operationId":"get_active_program","haid":"BOSCH-SBA88TD16E-","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":660,"y":500,"wires":[["0719c1f98cb7f17f"]]},{"id":"92bc7cc7ae283c7b","type":"join","z":"0af9a2353abcf1d8","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"payload.key","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":430,"y":580,"wires":[["9075a9ba644f63e0"]]},{"id":"ef72c990d1d64c13","type":"mqtt out","z":"0af9a2353abcf1d8","name":"","topic":"domoticz/in","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"c00203a0efc532f8","x":1430,"y":440,"wires":[]},{"id":"8bb70431c500adf4","type":"function","z":"0af9a2353abcf1d8","name":"Dishwasher Program","func":"var msg1 = {};\nvar msg2 = {};\n\nswitch (msg.payload.value) {\n        case \"Dishcare.Dishwasher.Program.Intensiv70\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Intensief 70 graden\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Auto2\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Auto 45-65 graden\"};\n        break;\n                \n        case \"Dishcare.Dishwasher.Program.Eco50\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Eco 50 graden graden\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.NightWash\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Nachtprogramma\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Kurz60\":\n            msg.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Kort 60 graden\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Glas40\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Glas 40 graden\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.Quick45\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Snel progamma 45 graden\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.PreRinse\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Voorspoelen\"};\n        break;\n        \n        case \"Dishcare.Dishwasher.Program.MachineCare\":\n            msg1.payload = {\"command\": \"udevice\", \"idx\": 178, \"svalue\": \"Machine verzorging\"};\n        break;\n        \n        case \"BSH.Common.EnumType.PowerState.Off\":\n            msg1.payload = {\"command\": \"udevice\",\"idx\":184, \"svalue\": \"Machine uit\"};\n            msg2.payload = {\"command\": \"switchlight\", \"idx\": 177, \"switchcmd\": \"Off\" };\n        break;\n        \n        case \"BSH.Common.EnumType.PowerState.On\":\n            msg1.payload = {\"command\": \"udevice\",\"idx\":184, \"svalue\": \"Machine aan\"};\n        break;\n    \n        case \"BSH.Common.EnumType.DoorState.Closed\":\n            msg1.payload = {\"command\":\"udevice\",\"idx\":185, \"svalue\":\"Deur Dicht\"};\n        break;\n        \n         case \"BSH.Common.EnumType.DoorState.Open\":\n            msg1.payload = {\"command\":\"udevice\",\"idx\":185, \"svalue\":\"Deur Open\"};\n        break;\n        \n        case \"BSH.Common.EnumType.OperationState.Run\":\n            msg1.payload = {\"command\":\"udevice\",\"idx\":184, \"svalue\":\"Vaatwasser Loopt\"};\n        break;\n    \n        case \"BSH.Common.EnumType.OperationState.Inactive\":\n            msg1.payload = {\"command\":\"udevice\",\"idx\":184, \"svalue\":\"Vaatwasser Uit\"};\n        break;\n                \n        case \"BSH.Common.EnumType.OperationState.Ready\":\n            msg1.payload = {\"command\":\"udevice\",\"idx\":184, \"svalue\":\"Vaatwasser Aan\"};\n        break;\n    \n        case \"BSH.Common.EnumType.OperationState.Finished\":\n            msg1.payload = {\"command\":\"udevice\",\"idx\":184, \"svalue\":\"Vaatwasser Gereed\"};\n        break;\n        \n}\n\nreturn [[msg1,msg2]];\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":460,"y":440,"wires":[["ef72c990d1d64c13"]]},{"id":"0719c1f98cb7f17f","type":"change","z":"0af9a2353abcf1d8","name":"Move key","rules":[{"t":"move","p":"payload.data.key","pt":"msg","to":"payload.key","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"payload.key","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":500,"wires":[["92bc7cc7ae283c7b"]]},{"id":"9075a9ba644f63e0","type":"function","z":"0af9a2353abcf1d8","name":"Progress Program","func":"var duration = msg.payload[\"BSH.Common.Option.RemainingProgramTime\"].value;\nvar progress = msg.payload[\"BSH.Common.Option.ProgramProgress\"].value.toString();\nvar forecast = \"Energy  forecast: \" + msg.payload[msg.topic].data.options[7].value.toString() + \"%\" + \"; Water forecast: \" + msg.payload[msg.topic].data.options[8].value.toString() + \"%\";\n\n\nfunction sec2hhmmss(sec) {\n\nvar Hours = Math.floor(sec/3600).toString();\nvar Minutes = Math.floor((sec-(Hours*3600))/60).toString();\nvar Seconds = (sec-(Hours*3600)-(Minutes*60)).toString();\n\nreturn ('0' +Hours).slice(-2)+':'+('0' +Minutes).slice(-2)+':'+('0' +Seconds).slice(-2);\n}\n\nmsg.payload = {\"command\":\"udevice\",\"idx\":180,\"nvalue\":0,\"svalue\":\"Tijdsduur: \" + sec2hhmmss(duration) + \" u\" + \"\\n\" + \"Voortgang: \" + progress + \" %\" + \"\\n\" + forecast};\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1150,"y":580,"wires":[["ef72c990d1d64c13","2fb2e2864642889e"]]},{"id":"924a0b96a79dea8d","type":"function","z":"0af9a2353abcf1d8","name":"check event to set polling state","func":"var data;\nvar FibaroState;\n\nif (msg.payload.key == 'BSH.Common.Status.RemoteControlStartAllowed') {\n    if (msg.payload.value === true) {\n        flow.set(\"CheckForDishwasherStart\", true);\n        node.status({fill:\"green\",shape:\"ring\",text:\"RemoteControlStartAllowed: True\"});\n        data = {\n            \"id\": \"183\",\n            \"ui.lblStatus.value\": \"Uitgestelde start\",\n            //\"ui.lblProgram.value\": \"Eco 50°C\"\n        };\n    }\n    else {\n        flow.set(\"CheckForDishwasherStart\", false);\n        node.status({fill:\"yellow\",shape:\"ring\",text:\"RemoteControlStartAllowed: False\"});\n        // data = {\n        //     \"id\": \"183\",\n        //     \"ui.lblStatus.value\": \"Aan\",\n        //     \"ui.lblProgram.value\": \"-\"\n        // };\n    }\n}\n\nif (msg.payload.key == 'BSH.Common.Root.ActiveProgram' || msg.payload.key == 'BSH.Common.Root.SelectedProgram') {\n    var selectedProgram = msg.payload.value;\n    var lblProgram;\n    switch(selectedProgram) {\n        case 'Dishcare.Dishwasher.Program.Auto2':\n            lblProgram = 'Auto 45-65gr';\n            break;\n        case 'Dishcare.Dishwasher.Program.Eco50':\n            lblProgram = 'Eco 50gr';\n            break;\n        case 'Dishcare.Dishwasher.Program.Kurz60':\n            lblProgram = 'Kort 60gr';\n            break;\n        case 'Dishcare.Dishwasher.Program.NightWash':\n            lblProgram = 'Nachtprogramma';\n            break;\n        case 'Dishcare.Dishwasher.Program.Intensiv70':\n            lblProgram = 'Intensief 70gr';\n            break;\n        case 'Dishcare.Dishwasher.Program.Glas40':\n            lblProgram = 'Glas 40gr';\n            break;\n        case 'Dishcare.Dishwasher.Program.Quick45':\n            lblProgram = 'Snel programma 45gr';\n            break;\n        case 'Dishcare.Dishwasher.Program.PreRinse':\n            lblProgram = 'Voorspoelen';\n            break;\n        default:\n         lblProgram = selectedProgram;\n    }\n    data = {\n        \"id\": \"183\",\n        \"ui.lblProgram.value\": lblProgram\n    };  \n}\n\nif (msg.payload.key == 'BSH.Common.Option.RemainingProgramTime') {\n    var seconds = msg.payload.value;\n    var hours = Math.floor(seconds / 60 / 60);\n    var minutes = Math.floor(seconds / 60) - (hours * 60);\n    \n    var remaining;\n    if (hours < 1) {\n        remaining = minutes + ' min';\n    }\n    else {\n        remaining = hours + ' h ' + minutes + ' min'\n    }\n    \n    var current = Math.floor(Date.now() / 1000);\n    var future  = current + seconds\n    \n    var date = new Date(future * 1000);\n    var fhours = date.getHours();\n    var fminutes = date.getMinutes();\n    if(fhours < 10) { fhours = '0' + fhours; } \n    if(fminutes < 10) { fminutes = '0' + fminutes; } \n    \n    data = {\n        \"id\": \"183\",\n        \"ui.lblStatus.value\": \"Loopt (tot \" + fhours + \":\" + fminutes + \")\",\n        \"ui.lblRemaining.value\": remaining\n    };\n}\n\nif (msg.payload.key == 'BSH.Common.Option.ProgramProgress') {\n    data = {\n        \"id\": \"183\",\n        \"ui.lblProgress.value\": msg.payload.value + '%'\n    };\n}\n\nif (msg.payload.key == 'BSH.Common.Status.OperationState') {\n    var OperationState = msg.payload.value.split('.')[4];\n    flow.set(\"CheckForDishwasherStart\", false);\n    node.status({fill:\"yellow\",shape:\"ring\",text:\"OperationState: \" + OperationState});\n    switch(OperationState) {\n        case 'Inactive':\n            FibaroState = 'Uit';\n            break;\n        case 'Ready':\n            FibaroState = 'Aan';\n            break;\n        case 'Run':\n            FibaroState = 'Loopt';\n            break;\n        case 'Finished':\n            FibaroState = 'Klaar';\n            break;\n        case 'Error':\n            FibaroState = 'Fout';\n            break;\n    }\n    \n    data = {\n        \"id\": \"183\",\n        \"ui.lblStatus.value\": FibaroState,\n        \"ui.lblProgram.value\": \"-\",\n        \"ui.lblProgress.value\": \"-\",\n        \"ui.lblRemaining.value\": \"-\"\n    };\n}\n\nif (data) {\n    var scene = {};\n    scene = {\n        headers: { 'content-type':'application/json' },\n        payload: { 'args': [data] }\n    };\n    return scene;  \n}\nelse {\n    msg = null;\n    return msg;\n}","outputs":1,"noerr":0,"x":310,"y":1400,"wires":[[]]},{"id":"2fb2e2864642889e","type":"debug","z":"0af9a2353abcf1d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1410,"y":580,"wires":[]},{"id":"524781ccfd47d02d","type":"home-connect-event","z":"0af9a2353abcf1d8","auth":"f3059a2c6c53a463","name":"","haid":"BOSCH-SBA88TD16E-","x":110,"y":500,"wires":[["04795eceef8a91e3","92bc7cc7ae283c7b","8bb70431c500adf4"]]},{"id":"a74ca284ebc37022","type":"comment","z":"0af9a2353abcf1d8","name":"Dishwasher door open/close Text Device IDX 185","info":"","x":540,"y":280,"wires":[]},{"id":"6550bc6bde93fa43","type":"comment","z":"0af9a2353abcf1d8","name":"Selector device Off, when programm finished  IDX 177","info":"At the end of the program, the selector switch for program selection is set to Off.","x":560,"y":360,"wires":[]},{"id":"b8b207d2f9e21189","type":"comment","z":"0af9a2353abcf1d8","name":"Programm choice Text Device IDX 178","info":"","x":510,"y":320,"wires":[]},{"id":"9e3866b9dd44182f","type":"comment","z":"0af9a2353abcf1d8","name":"Operating state Text Device IDX 184","info":"","x":500,"y":400,"wires":[]},{"id":"8bb9fa4af63b5002","type":"comment","z":"0af9a2353abcf1d8","name":"Text Duration / Progress / Forecast To Domoticz Text device IDX 180","info":"","x":1300,"y":620,"wires":[]},{"id":"b3c719edd1d1952f","type":"function","z":"0af9a2353abcf1d8","name":"Error Notification","func":"msg.payload = {\"command\":\"sendnotification\",\"subject\": \"Urgent message\",\"body\": \"Vaatwasprogramma kan niet worden gestart, sluit de deur van de vaatwasser!\",\"priority\": 0};\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1370,"y":320,"wires":[["ef72c990d1d64c13"]]},{"id":"ea82e7cf4c4bfc3a","type":"switch","z":"0af9a2353abcf1d8","name":"check if door is closed","property":"payload.data.status[0].value","propertyType":"msg","rules":[{"t":"eq","v":"BSH.Common.EnumType.DoorState.Closed","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":1080,"y":200,"wires":[["31b787baeeea22d3"],["b3c719edd1d1952f"]]},{"id":"546d36302c2b1d9a","type":"home-connect-request","z":"0af9a2353abcf1d8","auth":"f3059a2c6c53a463","name":"","tag":"status_events","operationId":"get_status","haid":"BOSCH-SBA88TD16E-","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":890,"y":200,"wires":[["ea82e7cf4c4bfc3a"]]},{"id":"f9de8d0298730e01","type":"delay","z":"0af9a2353abcf1d8","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"x":1580,"y":200,"wires":[["5e7eb55.73937cc"]]},{"id":"31b787baeeea22d3","type":"switch","z":"0af9a2353abcf1d8","name":"check if remote start allowed","property":"payload.data.status[3].value","propertyType":"msg","rules":[{"t":"true"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":1340,"y":200,"wires":[["f9de8d0298730e01"],["aa189385272e8712"]]},{"id":"aa189385272e8712","type":"function","z":"0af9a2353abcf1d8","name":"Error Notification","func":"msg.payload = {\"command\":\"sendnotification\",\"subject\": \"Home Connect Melding\",\"body\": \"Vaatwasprogramma kan niet worden gestart, activeer remotestart op de vaatwasser!\",\"priority\": 0};\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1370,"y":280,"wires":[["ef72c990d1d64c13"]]},{"id":"7229d3c29535a411","type":"comment","z":"0af9a2353abcf1d8","name":"Selector Switch IDX 177","info":"10 till 90. Naming according Dishwasher Program","x":310,"y":160,"wires":[]},{"id":"c00203a0efc532f8","type":"mqtt-broker","name":"Domoticz","broker":"192.168.1.201","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""},{"id":"f3059a2c6c53a463","type":"home-connect-auth","name":"Home Connect","simulation_mode":false,"scope":"IdentifyAppliance Dishwasher","callback_url":"http://192.168.1.203:1880/homeconnect/auth/callback"}]
garycooper
Posts: 21
Joined: Sunday 10 March 2019 20:50
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by garycooper »

Hi, could it also work with WasherDryer ? I don't understand all what you do but I'm interested about the finish. You will do a plugin to associate bosch device on home-connect with Domoticz ?
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

I've been busy for 2 days now and im leaning to giving up. Probably very simple, but does anyone know the correct way to get the haId?

i get this in node red debug msg:
Spoiler: show
object
_msgid: "790a930.c32606c"
payload: undefined
status: 200
statusText: "OK"
what ever i do, i never get this back in the debug:
Spoiler: show
{
"data": {
"homeappliances": [
{
"name": "My Bosch Oven",
"brand": "BOSCH",
"vib": "HNG6764B6",
"connected": true,
"type": "Oven",
"enumber": "HNG6764B6/09",
"haId": "BOSCH-HNG6764B6-0000000011FF"
}
]
}
}
Does anyone have an example flow for me, to do get_home_appliances with the home connect api?

Much appreciated.
I Love Domoticz ! And the community around it :-)
User avatar
FireWizard
Posts: 1775
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by FireWizard »

Hello, @Thuis
I've been busy for 2 days now and im leaning to giving up. Probably very simple, but does anyone know the correct way to get the haId?
This should not be too difficult, so lets check.

1. First I have to mention, that I do neither have any BOSCH equipment, with a network connection, nor that I have a BOSCH account.
So I have no possibilities to check the connection, but I have been involved in developing parts of the Node Red flows, together with @Knibor.

2. You need a HAID.
Did you follow all the instructions as described at: https://flows.nodered.org/node/node-red ... omeconnect

3. Did you create your account at: https://developer.home-connect.com/user/register

In this case, you should have received something like "Client ID" and "Client Secret".

Insert these values in the "home-connect-auth" node, as shown below:

Screenshot_Bosch_home_connect_auth.png
Screenshot_Bosch_home_connect_auth.png (30.4 KiB) Viewed 6188 times
Start your authorization.

4. Configure your "home-connect-request" node. See example below.

Screenshot_Bosch_home_connect_request.png
Screenshot_Bosch_home_connect_request.png (21.03 KiB) Viewed 6188 times
This "home-connect-request" node is very simple in this case.

Screenshot_Bosch_home_connect_request_flow.png
Screenshot_Bosch_home_connect_request_flow.png (12.54 KiB) Viewed 6188 times
This should give you the HAID.

The flow is as follows:

Code: Select all

[{"id":"051c68606b2aac05","type":"inject","z":"4473b0baac031889","name":"Receive Haid","props":[{"p":"payload","v":"true","vt":"bool"},{"p":"topic","v":"","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":190,"y":180,"wires":[["32d61d90f69ca981"]]},{"id":"1799240b41925a15","type":"debug","z":"4473b0baac031889","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":610,"y":180,"wires":[]},{"id":"d9984539b7963288","type":"comment","z":"4473b0baac031889","name":"How to receive HAID","info":"Install Home Connect Nodes \"node-red-contrib-homeconnect\"\n\nConnect your Dishwasher with Wifi.\n\nSee the instructions on Youtube https://www.youtube.com/watch?v=wRscaAe0Q3Q\n\nSecond, go to the Home Connect Develop website, and register.\n\nGo to Aplications and register your Application\nOnes you have register you application (Dishwasher) You can open it and than you can see Client ID and Client Secret.\n\nNow you go to Receive HAID Node and open it.\nOpen \"Auth\" with \"pencil\"\nFill in you Client ID and Client Secret.\nIn \"Scope pu the text \"IdentifyAppliance Dishwasher\"\nNow \"Start authorization\"\nYou will redirected to the Home Connect Develop website. Fill in your username and password. \nThan push on the button Accept. \n\nGo back to Node Red, Done, and Deploy the flow.\nWhen you push on the button Receive HAID, you can see in the in th Debug window the Message. Open it and you will see the HAID code off your Dishwasher. Fill in this HAID code without \"\" marks, ","x":180,"y":220,"wires":[]},{"id":"32d61d90f69ca981","type":"home-connect-request","z":"4473b0baac031889","auth":"e5e1346e.c0c2e","name":"Receive Haid","tag":"default","operationId":"get_home_appliances","haid":"BOSCH-SMI88TS46E-68A40E409F63","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":400,"y":180,"wires":[["1799240b41925a15"]]},{"id":"e5e1346e.c0c2e","type":"home-connect-auth","name":"Homeconnect Domoticz","simulation_mode":false,"scope":"IdentifyAppliance Dishwasher","callback_url":"http://192.168.1.28:1880/homeconnect/auth/callback"}]
Does anyone have an example flow for me, to do get_home_appliances with the home connect api?
I think the most recent (almost) working flow, you can find at @stingone post of 13 Sep 2021, 23:19.
In that flow, there was one item missing (Switch for powerstate on/off). Perhaps @stingone can share his final flow.

Regards
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Hello, thanks for the reply.

I also do not have a Bosch, but a Siemens, that uses the same Hoem-Connect app, so i assumed that it would be the same, but im getting the feeling that its probably not.

Yes i made all the above stuff work, have an account a client id etc etc. I can see it connects with the auth.
But when i insert your flow, thanks for that, i get the same answer.
Spoiler: show
Image
I can see it is ready, but or im doing something wrong, or its not for Siemens, which is basically the same machine i assumed.
Spoiler: show
Image
So in my thinking, i see the 200 and i thought it was the code 200 answer from the api:
Spoiler: show
Image
But i could be wrong entirely.

Any other idea?
I Love Domoticz ! And the community around it :-)
User avatar
FireWizard
Posts: 1775
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by FireWizard »

hello @Thuis,

As far as I'm aware both Siemens and Bosch use the same https://developer.home-connect.com/ portal.

I found also the following link: https://docs.joepverhaeg.nl/dishwasher/.
This link describes exactly the same method.

Perhaps some of the other users can give some support.

Regards
Last edited by FireWizard on Tuesday 26 October 2021 15:58, edited 1 time in total.
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Ah the callback url, i needed to put that in the info when making the API or how you call it, the appliance, together with the client id and so on.
When i put that in, it said ok, so i thought it would be correct.

This is my callbackurl: http://192.168.10.20:1880/homeconnect/auth/callback

and i have set the portforward to another port.
Strange, i can reach domoticz, monit, dashticz, nodered all from outside on a different forwarded port though.
I disabled ufw to test... but no luck. should i stay with the 1880, i can use any thing i want right? as forwarded port i mean

i first tried when making the api with: http://my.out.side.ip.address:p0rt/homeconnect/auth/callback.
but that came back with an error, when i put in http://192.168.10.20:1880/homeconnect/auth/callback it said ok

http://my.out.side.ip.address:p0rt/homeconnect/auth/callback <-- comes back with bad request
I Love Domoticz ! And the community around it :-)
User avatar
FireWizard
Posts: 1775
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by FireWizard »

Hi, @Thuis,

I saw that it should be possible to create an account with a simulation.
I will try that tomorrow and I come back.

Regards
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Yes? you do that? great thanks in advance for helping. i tried so many things, but can not figure it out why it is not working.

Also, i too did see this: https://docs.joepverhaeg.nl/dishwasher/ and used it as a laythread, ha, to get started.
But im right in thinking i just fill in this on the developer home-connect website right? underneath the client secret?

Redirect URIs http://192.168.10.20:1880/homeconnect/auth/callback
I Love Domoticz ! And the community around it :-)
User avatar
FireWizard
Posts: 1775
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by FireWizard »

Hello @Thuis,
I saw that it should be possible to create an account with a simulation.
I have been able to register for the simulation.

Following steps are needed:

1. Go to https://developer.home-connect.com/ and sign-up for a new account.

2. Fill in all the required fields with the *.
The "Default Home Connect User Account for Testing" may be something you define yourself, but is later used as the account name.
I used as "Account Type", (Open Source) Community. For Community, I took "Domoticz" and a link to https://www.domoticz.com/.
As "Contact" my own email-address. And of course "No sync China". The other things are self-explaining.

3. If you press Save, you will receive a one time valid link by email, which you have to confirm.

4. Press on the link in the received email and you will end up in your account.
In the "Security" tab you can change the password. This is not needed if you want to keep the previous submitted password.

5. In the top menu " Applications", you can create a new application, either a real application or a simulation, what I did.
Go to "Register Application".
Fill in "Application ID". This is the name you want to give to your application. Be creative :)
0Auth Flow set to "Authorization Code Grant Flow".
Leave "Home Connect User Account for Testing" empty.
Insert for "Redirect URI", "http://<Your Node-Red IP Address on your LAN>:1880/homeconnect/auth/callback".
So this will become something like http://192.168.1.123:1880/homeconnect/auth/callback.
This should be the same as the "Callback URL" in the home-connect-auth node.
Leave all other options "unticked".

6. If you press "Save" you will be guided to your "Meta Data", where you will finf your "Client ID" and your "Client Secret (required)".
Check also your "Redirect URIs".
These ""Client ID" and "Client Secret" has to be inserted in the home-connect-auth node.

7. Go to the home-connect-auth node in Domoticz and insert your "Client ID"and "Client Secret". Use for "Scope" "IdentifyAppliance Dishwasher".
If you don't use real appliances, tick the box "Use Simulation".
Press "Start authorization" and confirm it at the Home-Connect website (Be aware of pop-up blockers).

8. Press "Update" and "Deploy".

Now you can use the flow, that I sent in my previous post.

In my case, I got the following in the "Debug" node.

Screenshot_Bosch_home_connect_request_answer.png
Screenshot_Bosch_home_connect_request_answer.png (45.66 KiB) Viewed 6157 times
The 2 error messages are coming from 2 home-connect-event nodes. Do not know yet, why. Probably the scope.

So in my case it worked, as expected.

Regards
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Hey, ok well im at work now, and im trying to do this remotely, but then my internal ip where node red server is on, can not be reached. So probably i need to do the verification from nodered inside my local lan and not remotely. I will let you know when i get home.

Thanks for all the help so far, i see some differences, i used the homeconnect useraccount before, so that is different. The rest is the same.
Will try it when im home. Thanks :-)
I Love Domoticz ! And the community around it :-)
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

I changed the callback to my outside ip, then i get ok so this works for testing.
I also saw i used inuvidual account, so changed that to community.

But i get the same reply, 200, ok and no data of my dishwasher.

I will make a completely new account and try from there.

Also made new application and ticked simulation, this also comes back with 200 ok and no data

But ill try this at home with my lan address. Also i just made a whole new account, with different email etc, but still the same.
I Love Domoticz ! And the community around it :-)
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Im reading it again and again and again, but just for clarification, do i need 3 different email adressen on the register page, or is one and the same ok too? Because i use one address for all.

Image

I just don't understand, the oAuth is ok, everything is green i give all permissions, i even get the 200 ok reply. But still no data.

In the app on my phone i can see my dishwasher, do i need to do something in the app? Give some permission there?

I also see in device information a "ROOD LABEL" (RED LABEL) with lots of zero's and some numbers? Would that be of any use?
Would it be possible to get the haId from the app?

I have a E-number, a FD-number, a Z-number, a serie number, a Version-number, a SKI-number, and a RED Label number, sadly no haId number

I see at third party services my API web client and the application i made with node red, so ?????
I Love Domoticz ! And the community around it :-)
User avatar
FireWizard
Posts: 1775
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by FireWizard »

Hello @Thuis,
Im reading it again and again and again, but just for clarification, do i need 3 different email adressen on the register page, or is one and the same ok too? Because i use one address for all.
No, you don't need 3 times the email address.

The "Default Home Connect User Account for Testing" can be anything. I used a nick name.

The other 2 you can use your email address.

Regards
Last edited by FireWizard on Tuesday 26 October 2021 22:12, edited 1 time in total.
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

No its the same no matter what i do i keep getting
msg : Object
object
_msgid: "58ab4db6.a29394"
payload: undefined
topic: ""
status: 200
statusText: "OK"
I Love Domoticz ! And the community around it :-)
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

I quit, i give up for now.

I deleted everything in the home connect app, including api access, then deleted the account.
installed everything had to pair the dishwasher again, but now, it says this user is not toegewezen to the connect a.pp.

So for now im a bit fed up with something that should be so obvious. Thanks for all the help and the steps, i know i followed them and i know it should give back the correct response, but it doesn't. For now ill just keep clicking the buttons on the dishwasher instead of using domoticz, i see no other way.


{"error":"unauthorized_client","error_description":"client has limited user list - user not assigned to client"}
I Love Domoticz ! And the community around it :-)
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Well somehow im back in but after all the "beep" same thing

msg : Object
object
_msgid: "e8b82d1c.da82e"
payload: undefined
topic: ""
status: 200
statusText: "OK"
I Love Domoticz ! And the community around it :-)
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

Spoiler: show
Vaatwasser zou graag willen:
Identificeer je apparaten
Toegang tot je vaatwasmachine
Monitor apparaat
Bedien apparaat
Bekijk en wijzig instellingen
Doorsturen status
Spoiler: show
http://192.168.10.20:1880/homeconnect/a ... aaaablaaaa
Spoiler: show
OK
nodered:
Spoiler: show
tokens received
update done deploy
click
Spoiler: show
object
_msgid: "8d6f0223.db5ed"
payload: undefined
topic: ""
status: 200
statusText: "OK"
AAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHH

sorry :-(
I Love Domoticz ! And the community around it :-)
User avatar
Thuis
Posts: 251
Joined: Tuesday 11 September 2018 11:36
Target OS: Linux
Domoticz version: Beta
Location: The Netherlands
Contact:

Re: Bosh Dishwasher with Home-Connect

Post by Thuis »

On the api doc website, i can get the information when i grand acces and tick the scopes and then press the blue large button execute.
then on that website i get all the information so i finaly have a haid.

Maybe i can now try to get a step further in node red. Or im missing some setting in node red?
I Love Domoticz ! And the community around it :-)
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests