From e4141e0a5cd91bb42f4746f4284cf7bd5b52a223 Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Sun, 5 Jan 2020 09:28:07 -0500 Subject: [PATCH 1/4] update iot map update iot map with latest from official servers --- bumper/models.py | 1388 +++++++++++++++++++++++----------------------- 1 file changed, 703 insertions(+), 685 deletions(-) diff --git a/bumper/models.py b/bumper/models.py index 1d40d5f..7177596 100644 --- a/bumper/models.py +++ b/bumper/models.py @@ -83,694 +83,712 @@ class EcoVacsHome_Login(EcoVacs_Login): ucUid = "" -# EcoVacs Home Product IOT Map - 2019-09-16 +# EcoVacs Home Product IOT Map - 2020-01-05 # https://portal-ww.ecouser.net/api/pim/product/getProductIotMap EcoVacsHomeProducts = [ - { - "classid": "dl8fht", - "product": { - "_id": "5acb0fa87c295c0001876ecf", - "materialNo": "702-0000-0170", - "name": "DEEBOT 600 Series", - "icon": "5acc32067c295c0001876eea", - "UILogicId": "D_600", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5acc32067c295c0001876eea" - } - }, - { - "classid": "02uwxm", - "product": { - "_id": "5ae1481e7ccd1a0001e1f69e", - "materialNo": "110-1715-0201", - "name": "DEEBOT OZMO Slim10 Series", - "icon": "5b1dddc48bc45700014035a1", - "UILogicId": "D_OZMO_SLIM10", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b1dddc48bc45700014035a1" - } - }, - { - "classid": "y79a7u", - "product": { - "_id": "5b04c0227ccd1a0001e1f6a8", - "materialNo": "110-1810-0101", - "name": "DEEBOT OZMO 900 Series", - "icon": "5b04c0217ccd1a0001e1f6a7", - "UILogicId": "D_OZMO_900", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b04c0217ccd1a0001e1f6a7" - } - }, - { - "classid": "jr3pqa", - "product": { - "_id": "5b43077b8bc457000140363e", - "materialNo": "702-0000-0202", - "name": "DEEBOT 711", - "icon": "5b5ac4cc8d5a56000111e769", - "UILogicId": "D_700", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ac4cc8d5a56000111e769" - } - }, - { - "classid": "uv242z", - "product": { - "_id": "5b5149b4ac0b87000148c128", - "materialNo": "702-0000-0205", - "name": "DEEBOT 710", - "icon": "5b5ac4e45f21100001882bb9", - "UILogicId": "D_700", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ac4e45f21100001882bb9" - } - }, - { - "classid": "ls1ok3", - "product": { - "_id": "5b6561060506b100015c8868", - "materialNo": "110-1711-0201", - "name": "DEEBOT 900 Series", - "icon": "5ba4a2cb6c2f120001c32839", - "UILogicId": "D_900", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839" - } - }, - { - "classid": "eyi9jv", - "product": { - "_id": "5b7b65f364e1680001a08b54", - "materialNo": "702-0000-0202", - "name": "DEEBOT 715", - "icon": "5b7b65f176f7f10001e9a0c2", - "UILogicId": "D_700", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7b65f176f7f10001e9a0c2" - } - }, - { - "classid": "4zfacv", - "product": { - "_id": "5bf2596f23244a00013f2f13", - "materialNo": "910", - "name": "DEEBOT 910", - "icon": "5c778731280fda0001770ba0", - "UILogicId": "DN_2G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c778731280fda0001770ba0" - } - }, - { - "classid": "115", - "product": { - "_id": "5bbedd2822d57f00018c13b7", - "materialNo": "110-1602-0101", - "name": "DEEBOT OZMO/PRO 930 Series", - "icon": "5cf711aeb0acfc000179ff8a", - "UILogicId": "DR_930G", - "ota": True, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5cf711aeb0acfc000179ff8a" - } - }, - { - "classid": "vi829v", - "product": { - "_id": "5c19a8f3a1e6ee0001782247", - "materialNo": "110-1819-0101", - "name": "DEEBOT OZMO 920 Series", - "icon": "5c9c7995e9e9270001354ab4", - "UILogicId": "DX_5G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c9c7995e9e9270001354ab4" - } - }, - { - "classid": "yna5xi", - "product": { - "_id": "5c19a91ca1e6ee000178224a", - "materialNo": "110-1820-0101", - "name": "DEEBOT OZMO 950 Series", - "icon": "5caafd7e1285190001685965", - "UILogicId": "DX_9G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5caafd7e1285190001685965" - } - }, - { - "classid": "gd4uut", - "product": { - "_id": "5bc8189d68142800016a6937", - "materialNo": "110-1803-0101", - "name": "DEEBOT OZMO 960", - "icon": "5c7384767b93c700013f12e7", - "UILogicId": "DR_935G", - "ota": True, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c7384767b93c700013f12e7" - } - }, - { - "classid": "m7lqzi", - "product": { - "_id": "5c653edf7b93c700013f12cc", - "materialNo": "113-1708-0001", - "name": "ATMOBOT Pro", - "icon": "5d2c63a5ba13eb00013feab7", - "UILogicId": "AA_30G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": False, - "alexa": False - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c63a5ba13eb00013feab7" - } - }, - { - "classid": "9akc61", - "product": { - "_id": "5c763f8263023c0001e7f855", - "materialNo": "702-0000-0163", - "name": "DEEBOT 505", - "icon": "5c932067280fda0001770d7f", - "UILogicId": "D_500", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c932067280fda0001770d7f" - } - }, - { - "classid": "r8ead0", - "product": { - "_id": "5c763f63280fda0001770b88", - "materialNo": "702-0000-0163", - "name": "DEEBOT 502", - "icon": "5c93204b63023c0001e7faa7", - "UILogicId": "D_500", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c93204b63023c0001e7faa7" - } - }, - { - "classid": "emzppx", - "product": { - "_id": "5c763f35280fda0001770b84", - "materialNo": "702-0000-0163", - "name": "DEEBOT 501", - "icon": "5c931fef280fda0001770d7e", - "UILogicId": "D_500", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c931fef280fda0001770d7e" - } - }, - { - "classid": "vsc5ia", - "product": { - "_id": "5c763eba280fda0001770b81", - "materialNo": "702-0000-0163", - "name": "DEEBOT 500", - "icon": "5c874326280fda0001770d2a", - "UILogicId": "D_500", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c874326280fda0001770d2a" - } - }, - { - "classid": "142", - "product": { - "_id": "5ca1ca7a12851900016858bd", - "materialNo": "110-1640-0101", - "name": "DEEBOT Mini2", - "icon": "5ca1ca79e9e9270001354b2d", - "UILogicId": "ECO_INTL_142", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca1ca79e9e9270001354b2d" - } - }, - { - "classid": "129", - "product": { - "_id": "5ca31df1e9e9270001354b35", - "materialNo": "110-1628-0101", - "name": "DEEBOT M86", - "icon": "5ca31df112851900016858c0", - "UILogicId": "ECO_INTL_129", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca31df112851900016858c0" - } - }, - { - "classid": "165", - "product": { - "_id": "5ca32a11e9e9270001354b39", - "materialNo": "702-0000-0189", - "name": "DEEBOT N79T/W", - "icon": "5ca32a1012851900016858c6", - "UILogicId": "ECO_INTL_165", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca32a1012851900016858c6" - } - }, - { - "classid": "126", - "product": { - "_id": "5ca32ab212851900016858c7", - "materialNo": "702-0000-0136", - "name": "DEEBOT N79", - "icon": "5ca32ab2e9e9270001354b3d", - "UILogicId": "ECO_INTL_126", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca32ab2e9e9270001354b3d" - } - }, - { - "classid": "159", - "product": { - "_id": "5ca32bc2e9e9270001354b41", - "materialNo": "110-1629-0203", - "name": "DEEBOT OZMO 601", - "icon": "5d4b7606de51dd0001fee12d", - "UILogicId": "ECO_INTL_159", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7606de51dd0001fee12d" - } - }, - { - "classid": "0xyhhr", - "product": { - "_id": "5ca4716312851900016858cd", - "materialNo": "110-1825-0201", - "name": "DEEBOT OZMO 700", - "icon": "5d117d4f0ac6ad00012b792d", - "UILogicId": "DV_5G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d117d4f0ac6ad00012b792d" - } - }, - { - "classid": "125", - "product": { - "_id": "5cae9703128519000168596a", - "materialNo": "110-1638-0102", - "name": "DEEBOT M80 Pro", - "icon": "5d2c14414d60de0001eaf1f2", - "UILogicId": "ECO_INTL_125", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c14414d60de0001eaf1f2" - } - }, - { - "classid": "141", - "product": { - "_id": "5cae97c9128519000168596f", - "materialNo": "110-1638-0101", - "name": "DEEBOT M81 Pro", - "icon": "5d2c2aa64d60de0001eaf1f6", - "UILogicId": "ECO_INTL_141", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c2aa64d60de0001eaf1f6" - } - }, - { - "classid": "130", - "product": { - "_id": "5cae98d01285190001685974", - "materialNo": "110-1629-0201", - "name": "DEEBOT OZMO 610 Series", - "icon": "5d4b7640de51dd0001fee131", - "UILogicId": "ECO_INTL_130", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7640de51dd0001fee131" - } - }, - { - "classid": "123", - "product": { - "_id": "5cae9b201285190001685977", - "materialNo": "110-1639-0102", - "name": "DEEBOT Slim2 Series", - "icon": "5d2c150dba13eb00013feaae", - "UILogicId": "ECO_INTL_123", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c150dba13eb00013feaae" - } - }, - { - "classid": "aqdd5p", - "product": { - "_id": "5cb7cfba179839000114d762", - "materialNo": "110-1711-0001", - "name": "DEEBOT DE55", - "icon": "5cb7cfbab72c4d00010e5fc7", - "UILogicId": "D_900", - "ota": True, - "supportType": { - "share": False, - "tmjl": False, - "assistant": False, - "alexa": False - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5cb7cfbab72c4d00010e5fc7" - } - }, - { - "classid": "152", - "product": { - "_id": "5cbd97b961526a00019799bd", - "materialNo": "110-1628-0302", - "name": "DEEBOT", - "icon": "5d4b7628de51dd0001fee12f", - "UILogicId": "ECO_INTL_152", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7628de51dd0001fee12f" - } - }, - { - "classid": "155", - "product": { - "_id": "5cce893813afb7000195d6af", - "materialNo": "702-0000-0163", - "name": "DEEBOT N79S/SE", - "icon": "5cd4ca505b032200015a455d", - "UILogicId": "ECO_INTL_155", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d" - } - }, - { - "classid": "jjccwk", - "product": { - "_id": "5ce7870cd85b4d0001775db9", - "materialNo": "110-1825-0201", - "name": "DEEBOT OZMO 750", - "icon": "5d3aa309ba13eb00013feb69", - "UILogicId": "DV_6G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d3aa309ba13eb00013feb69" - } - }, - { - "classid": "d0cnel", - "product": { - "_id": "5ceba1c6d85b4d0001776986", - "materialNo": "702-0000-0202", - "name": "DEEBOT 711s", - "icon": "5d157f9f77a3a60001051f69", - "UILogicId": "D_700", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d157f9f77a3a60001051f69" - } - }, - { - "classid": "140", - "product": { - "_id": "5cd43b4cf542e00001dc2dec", - "materialNo": "110-1639-0011", - "name": "DEEBOT Slim Neo", - "icon": "5d2c152f4d60de0001eaf1f4", - "UILogicId": "ECO_INTL_140", - "ota": False, - "supportType": { - "share": False, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c152f4d60de0001eaf1f4" - } - }, - { - "classid": "2pv572", - "product": { - "_id": "5d1474630ac6ad00012b7940", - "materialNo": "110-1810-0107", - "name": "DEEBOT OZMO 905", - "icon": "5d1474632a6bd50001b5b6f3", - "UILogicId": "D_OZMO_900", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d1474632a6bd50001b5b6f3" - } - }, - { - "classid": "xb83mv", - "product": { - "_id": "5d246180350e7a0001e84bea", - "materialNo": "88393939393", - "name": "DEEBOT U3", - "icon": "5d3fe649de51dd0001fee0de", - "UILogicId": "DK_4G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d3fe649de51dd0001fee0de" - } - }, - { - "classid": "4f0c4e", - "product": { - "_id": "5d2c5fcd4d60de0001eaf2a5", - "materialNo": "134564", - "name": "AT01", - "icon": "5d2d996c4d60de0001eaf2b5", - "UILogicId": "AT_01G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": False, - "alexa": False - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2d996c4d60de0001eaf2b5" - } - }, - { - "classid": "q1v5dn", - "product": { - "_id": "5d312ae18d8d430001817002", - "materialNo": "134564", - "name": "AT01", - "icon": "5d67af719305ff0001df1a5c", - "UILogicId": "AT_01G", - "ota": True, - "supportType": { - "share": True, - "tmjl": False, - "assistant": False, - "alexa": False - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d67af719305ff0001df1a5c" - } - }, - { - "classid": "16wdph", - "product": { - "_id": "5d280ce344af3600013839ab", - "materialNo": "702-0000-0170", - "name": "DEEBOT 661", - "icon": "5d280ce3350e7a0001e84c95", - "UILogicId": "D_661", - "ota": False, - "supportType": { - "share": True, - "tmjl": False, - "assistant": True, - "alexa": True - }, - "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d280ce3350e7a0001e84c95" - } + { + "classid": "dl8fht", + "product": { + "_id": "5acb0fa87c295c0001876ecf", + "materialNo": "702-0000-0170", + "name": "DEEBOT 600 Series", + "icon": "5acc32067c295c0001876eea", + "UILogicId": "D_600", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5acc32067c295c0001876eea" } - ] + }, + { + "classid": "02uwxm", + "product": { + "_id": "5ae1481e7ccd1a0001e1f69e", + "materialNo": "110-1715-0201", + "name": "DEEBOT OZMO Slim10 Series", + "icon": "5b1dddc48bc45700014035a1", + "UILogicId": "D_OZMO_SLIM10", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b1dddc48bc45700014035a1" + } + }, + { + "classid": "y79a7u", + "product": { + "_id": "5b04c0227ccd1a0001e1f6a8", + "materialNo": "110-1810-0101", + "name": "DEEBOT OZMO 900 Series", + "icon": "5b04c0217ccd1a0001e1f6a7", + "UILogicId": "D_OZMO_900", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b04c0217ccd1a0001e1f6a7" + } + }, + { + "classid": "jr3pqa", + "product": { + "_id": "5b43077b8bc457000140363e", + "materialNo": "702-0000-0202", + "name": "DEEBOT 711", + "icon": "5b5ac4cc8d5a56000111e769", + "UILogicId": "D_700", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ac4cc8d5a56000111e769" + } + }, + { + "classid": "uv242z", + "product": { + "_id": "5b5149b4ac0b87000148c128", + "materialNo": "702-0000-0205", + "name": "DEEBOT 710", + "icon": "5b5ac4e45f21100001882bb9", + "UILogicId": "D_700", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ac4e45f21100001882bb9" + } + }, + { + "classid": "ls1ok3", + "product": { + "_id": "5b6561060506b100015c8868", + "materialNo": "110-1711-0201", + "name": "DEEBOT 900 Series", + "icon": "5ba4a2cb6c2f120001c32839", + "UILogicId": "D_900", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839" + } + }, + { + "classid": "eyi9jv", + "product": { + "_id": "5b7b65f364e1680001a08b54", + "materialNo": "702-0000-0202", + "name": "DEEBOT 715", + "icon": "5b7b65f176f7f10001e9a0c2", + "UILogicId": "D_700", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7b65f176f7f10001e9a0c2" + } + }, + { + "classid": "4zfacv", + "product": { + "_id": "5bf2596f23244a00013f2f13", + "materialNo": "910", + "name": "DEEBOT 910", + "icon": "5c778731280fda0001770ba0", + "UILogicId": "DN_2G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c778731280fda0001770ba0" + } + }, + { + "classid": "115", + "product": { + "_id": "5bbedd2822d57f00018c13b7", + "materialNo": "110-1602-0101", + "name": "DEEBOT OZMO/PRO 930 Series", + "icon": "5cf711aeb0acfc000179ff8a", + "UILogicId": "DR_930G", + "ota": True, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5cf711aeb0acfc000179ff8a" + } + }, + { + "classid": "vi829v", + "product": { + "_id": "5c19a8f3a1e6ee0001782247", + "materialNo": "110-1819-0101", + "name": "DEEBOT OZMO 920 Series", + "icon": "5c9c7995e9e9270001354ab4", + "UILogicId": "DX_5G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c9c7995e9e9270001354ab4" + } + }, + { + "classid": "yna5xi", + "product": { + "_id": "5c19a91ca1e6ee000178224a", + "materialNo": "110-1820-0101", + "name": "DEEBOT OZMO 950 Series", + "icon": "5caafd7e1285190001685965", + "UILogicId": "DX_9G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5caafd7e1285190001685965" + } + }, + { + "classid": "gd4uut", + "product": { + "_id": "5bc8189d68142800016a6937", + "materialNo": "110-1803-0101", + "name": "DEEBOT OZMO 960", + "icon": "5c7384767b93c700013f12e7", + "UILogicId": "DR_935G", + "ota": True, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c7384767b93c700013f12e7" + } + }, + { + "classid": "m7lqzi", + "product": { + "_id": "5c653edf7b93c700013f12cc", + "materialNo": "113-1708-0001", + "name": "ATMOBOT Pro", + "icon": "5d2c63a5ba13eb00013feab7", + "UILogicId": "AA_30G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": False, + "alexa": False + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c63a5ba13eb00013feab7" + } + }, + { + "classid": "9akc61", + "product": { + "_id": "5c763f8263023c0001e7f855", + "materialNo": "702-0000-0163", + "name": "DEEBOT 505", + "icon": "5c932067280fda0001770d7f", + "UILogicId": "D_500", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c932067280fda0001770d7f" + } + }, + { + "classid": "r8ead0", + "product": { + "_id": "5c763f63280fda0001770b88", + "materialNo": "702-0000-0163", + "name": "DEEBOT 502", + "icon": "5c93204b63023c0001e7faa7", + "UILogicId": "D_500", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c93204b63023c0001e7faa7" + } + }, + { + "classid": "emzppx", + "product": { + "_id": "5c763f35280fda0001770b84", + "materialNo": "702-0000-0163", + "name": "DEEBOT 501", + "icon": "5c931fef280fda0001770d7e", + "UILogicId": "D_500", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c931fef280fda0001770d7e" + } + }, + { + "classid": "vsc5ia", + "product": { + "_id": "5c763eba280fda0001770b81", + "materialNo": "702-0000-0163", + "name": "DEEBOT 500", + "icon": "5c874326280fda0001770d2a", + "UILogicId": "D_500", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5c874326280fda0001770d2a" + } + }, + { + "classid": "142", + "product": { + "_id": "5ca1ca7a12851900016858bd", + "materialNo": "110-1640-0101", + "name": "DEEBOT Mini2", + "icon": "5ca1ca79e9e9270001354b2d", + "UILogicId": "ECO_INTL_142", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca1ca79e9e9270001354b2d" + } + }, + { + "classid": "129", + "product": { + "_id": "5ca31df1e9e9270001354b35", + "materialNo": "110-1628-0101", + "name": "DEEBOT M86", + "icon": "5ca31df112851900016858c0", + "UILogicId": "ECO_INTL_129", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca31df112851900016858c0" + } + }, + { + "classid": "165", + "product": { + "_id": "5ca32a11e9e9270001354b39", + "materialNo": "702-0000-0189", + "name": "DEEBOT N79T/W", + "icon": "5ca32a1012851900016858c6", + "UILogicId": "ECO_INTL_165", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca32a1012851900016858c6" + } + }, + { + "classid": "126", + "product": { + "_id": "5ca32ab212851900016858c7", + "materialNo": "702-0000-0136", + "name": "DEEBOT N79", + "icon": "5ca32ab2e9e9270001354b3d", + "UILogicId": "ECO_INTL_126", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ca32ab2e9e9270001354b3d" + } + }, + { + "classid": "159", + "product": { + "_id": "5ca32bc2e9e9270001354b41", + "materialNo": "110-1629-0203", + "name": "DEEBOT OZMO 601", + "icon": "5d4b7606de51dd0001fee12d", + "UILogicId": "ECO_INTL_159", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7606de51dd0001fee12d" + } + }, + { + "classid": "0xyhhr", + "product": { + "_id": "5ca4716312851900016858cd", + "materialNo": "110-1825-0201", + "name": "DEEBOT OZMO 700", + "icon": "5d117d4f0ac6ad00012b792d", + "UILogicId": "DV_5G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d117d4f0ac6ad00012b792d" + } + }, + { + "classid": "125", + "product": { + "_id": "5cae9703128519000168596a", + "materialNo": "110-1638-0102", + "name": "DEEBOT M80 Pro", + "icon": "5d2c14414d60de0001eaf1f2", + "UILogicId": "ECO_INTL_125", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c14414d60de0001eaf1f2" + } + }, + { + "classid": "141", + "product": { + "_id": "5cae97c9128519000168596f", + "materialNo": "110-1638-0101", + "name": "DEEBOT M81 Pro", + "icon": "5d2c2aa64d60de0001eaf1f6", + "UILogicId": "ECO_INTL_141", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c2aa64d60de0001eaf1f6" + } + }, + { + "classid": "130", + "product": { + "_id": "5cae98d01285190001685974", + "materialNo": "110-1629-0201", + "name": "DEEBOT OZMO 610 Series", + "icon": "5d4b7640de51dd0001fee131", + "UILogicId": "ECO_INTL_130", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7640de51dd0001fee131" + } + }, + { + "classid": "123", + "product": { + "_id": "5cae9b201285190001685977", + "materialNo": "110-1639-0102", + "name": "DEEBOT Slim2 Series", + "icon": "5d2c150dba13eb00013feaae", + "UILogicId": "ECO_INTL_123", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c150dba13eb00013feaae" + } + }, + { + "classid": "aqdd5p", + "product": { + "_id": "5cb7cfba179839000114d762", + "materialNo": "110-1711-0001", + "name": "DEEBOT DE55", + "icon": "5cb7cfbab72c4d00010e5fc7", + "UILogicId": "D_900", + "ota": True, + "supportType": { + "share": False, + "tmjl": False, + "assistant": False, + "alexa": False + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5cb7cfbab72c4d00010e5fc7" + } + }, + { + "classid": "152", + "product": { + "_id": "5cbd97b961526a00019799bd", + "materialNo": "110-1628-0302", + "name": "DEEBOT", + "icon": "5d4b7628de51dd0001fee12f", + "UILogicId": "ECO_INTL_152", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7628de51dd0001fee12f" + } + }, + { + "classid": "155", + "product": { + "_id": "5cce893813afb7000195d6af", + "materialNo": "702-0000-0163", + "name": "DEEBOT N79S/SE", + "icon": "5cd4ca505b032200015a455d", + "UILogicId": "ECO_INTL_155", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d" + } + }, + { + "classid": "jjccwk", + "product": { + "_id": "5ce7870cd85b4d0001775db9", + "materialNo": "110-1825-0201", + "name": "DEEBOT OZMO 750", + "icon": "5d3aa309ba13eb00013feb69", + "UILogicId": "DV_6G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d3aa309ba13eb00013feb69" + } + }, + { + "classid": "d0cnel", + "product": { + "_id": "5ceba1c6d85b4d0001776986", + "materialNo": "702-0000-0202", + "name": "DEEBOT 711s", + "icon": "5d157f9f77a3a60001051f69", + "UILogicId": "D_700", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d157f9f77a3a60001051f69" + } + }, + { + "classid": "140", + "product": { + "_id": "5cd43b4cf542e00001dc2dec", + "materialNo": "110-1639-0011", + "name": "DEEBOT Slim Neo", + "icon": "5d2c152f4d60de0001eaf1f4", + "UILogicId": "ECO_INTL_140", + "ota": False, + "supportType": { + "share": False, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c152f4d60de0001eaf1f4" + } + }, + { + "classid": "2pv572", + "product": { + "_id": "5d1474630ac6ad00012b7940", + "materialNo": "110-1810-0107", + "name": "DEEBOT OZMO 905", + "icon": "5d1474632a6bd50001b5b6f3", + "UILogicId": "D_OZMO_900", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d1474632a6bd50001b5b6f3" + } + }, + { + "classid": "xb83mv", + "product": { + "_id": "5d246180350e7a0001e84bea", + "materialNo": "88393939393", + "name": "DEEBOT U3", + "icon": "5d3fe649de51dd0001fee0de", + "UILogicId": "DK_4G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d3fe649de51dd0001fee0de" + } + }, + { + "classid": "4f0c4e", + "product": { + "_id": "5d2c5fcd4d60de0001eaf2a5", + "materialNo": "70200000227", + "name": "AT01", + "icon": "5d2d996c4d60de0001eaf2b5", + "UILogicId": "AT_01G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": False, + "alexa": False + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d2d996c4d60de0001eaf2b5" + } + }, + { + "classid": "q1v5dn", + "product": { + "_id": "5d312ae18d8d430001817002", + "materialNo": "70200000228", + "name": "AT01", + "icon": "5d83375f6b6a570001569e26", + "UILogicId": "AT_01G", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": False, + "alexa": False + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d83375f6b6a570001569e26" + } + }, + { + "classid": "16wdph", + "product": { + "_id": "5d280ce344af3600013839ab", + "materialNo": "702-0000-0170", + "name": "DEEBOT 661", + "icon": "5d280ce3350e7a0001e84c95", + "UILogicId": "D_661", + "ota": False, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5d280ce3350e7a0001e84c95" + } + }, + { + "classid": "zi1uwd", + "product": { + "_id": "5d78f4e878d8b60001e23edc", + "materialNo": "3", + "name": "DEEBOT U3 LINE FRIENDS", + "icon": "5da834a8d66cd10001f58265", + "UILogicId": "DK_4GLINE", + "ota": True, + "supportType": { + "share": True, + "tmjl": False, + "assistant": True, + "alexa": True + }, + "iconUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5da834a8d66cd10001f58265" + } + } +] RETURN_API_SUCCESS = "0000" From f23c9bf4fe55fe02b3a4525c197cd8bb8f8e5466 Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Sun, 5 Jan 2020 09:29:53 -0500 Subject: [PATCH 2/4] add missing api endpionts and examples - add apis missing that were causing errors - add bot / wifi config should work now on ecovacshome app --- bumper/confserver.py | 32 +- .../bumper_confserver_portal_appsvr.py | 94 +- .../plugins/bumper_confserver_portal_dim.py | 4 + .../plugins/bumper_confserver_portal_iot.py | 5 + .../plugins/bumper_confserver_portal_neng.py | 60 + .../plugins/bumper_confserver_portal_pim.py | 2636 ++++++++++++++++- .../bumper_confserver_v1_private_user.py | 59 + 7 files changed, 2886 insertions(+), 4 deletions(-) diff --git a/bumper/confserver.py b/bumper/confserver.py index 0e019f2..6c0ada9 100644 --- a/bumper/confserver.py +++ b/bumper/confserver.py @@ -102,8 +102,8 @@ class ConfServer: for api in apis: self.app.add_subapp(apis[api]["prefix"], apis[api]["app"]) - for resource in self.app.router.resources(): - print(resource) + #for resource in self.app.router.resources(): + # print(resource) @@ -839,6 +839,34 @@ class ConfServer: "msg": "操作成功", "time": self.get_milli_time(datetime.utcnow().timestamp()), } + + # Example body + # { + # "code": "0000", + # "data": { + # "email": "user@gmail.com", + # "hasMobile": "N", + # "hasPassword": "Y", + # "headIco": "", + # "loginName": "user@gmail.com", + # "mobile": null, + # "mobileAreaNo": null, + # "nickname": "", + # "obfuscatedMobile": null, + # "thirdLoginInfoList": [ + # { + # "accountType": "WeChat", + # "hasBind": "N" + # } + # ], + # "uid": "20180719212155_*****", + # "userName": "EAY*****" + # }, + # "msg": "操作成功", + # "success": true, + # "time": 1578203898343 + # } + return web.json_response(body) except Exception as e: diff --git a/bumper/plugins/bumper_confserver_portal_appsvr.py b/bumper/plugins/bumper_confserver_portal_appsvr.py index 523ec71..2083135 100644 --- a/bumper/plugins/bumper_confserver_portal_appsvr.py +++ b/bumper/plugins/bumper_confserver_portal_appsvr.py @@ -56,7 +56,99 @@ class portal_api_appsvr(plugins.ConfServerApp): "todo": "result", } - return web.json_response(body) + return web.json_response(body) + + #elif todo == "GetShareDeviceList": + # example response + # { + # "code": 0, + # "devices": [ + # { + # "deviceName": "DEEBOT 900 Series (Cleaner Cleaner)", + # "did": "did", + # "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839", + # "mid": "ls1ok3", + # "ownUsers": { + # "isMe": true, + # "nickname": "user@gmail.com", + # "user": "cg****" + # }, + # "resource": "wC3g", + # "share": true, + # "shareUsers": [] + # } + # ], + # "ret": "ok", + # "todo": "result" + # } + + # if shared shareUsers + # "shareUsers": [ + # { + # "isMe": false, + # "nickname": "user@gmail.com", + # "status": "sharing", + # "user": "eafg****" + # } + # ] + + #elif todo == "ShareDevice": + # example post + # { + # "todo": "ShareDevice", + # "accountType": "EMAIL", + # "auth": { + # "realm": "ecouser.net", + # "resource": "res", + # "token": "token***", + # "userid": "cg***", + # "with": "users" + # }, + # "country": "US", + # "did": "did", + # "resource": "wC3g", + # "username": "email to share to" + # } + + #fail response (no user) + # { + # "todo": "result", + # "code": -3, + # "errno": -3, + # "ret": "fail" + # } + + #success response + #{"ret":"ok","code":0,"todo":"result"} + + #elif todo == "ShareUnRegisterDevice": + # example post + # { + # "todo": "ShareUnRegisterDevice", + # "account": "email to share to", + # "auth": { + # "realm": "ecouser.net", + # "resource": "res", + # "token": "toke", + # "userid": "userid", + # "with": "users" + # }, + # "country": "US", + # "did": "did", + # "lang": "EN", + # "mid": "ls1ok3" + # } + # example response + # { + # "todo": "result", + # "code": 0, + # "data": { + # "mailContent": "

Hey there,

\n\t\t\tCheck out my new awesome robot vacuum: DEEBOT 900 Series!
\n\t\t\tDownload the ECOVACS HOME App and sign up with your email: brian@bmartin.net, so you and I can control this kick-ass robot together.

\n\t\t\tIOS: https://itunes.apple.com/us/app/ecovacs-home/id1329458504?l=zh&ls=1&mt=8
\n\t\t\tAndroid: https://play.google.com/store/apps/details?id=com.eco.global.app

\n\t\t\tThis invitation is valid within 7 days.
\n\t\t\tIf I'm sending to the wrong person, please ignore this email.

Thank you.

", + # "mailTitle": "I'm sharing my DEEBOT and you're invited!" + # }, + # "ret": "ok" + # } + except Exception as e: logging.exception("{}".format(e)) diff --git a/bumper/plugins/bumper_confserver_portal_dim.py b/bumper/plugins/bumper_confserver_portal_dim.py index 78e4583..c9b5dd3 100644 --- a/bumper/plugins/bumper_confserver_portal_dim.py +++ b/bumper/plugins/bumper_confserver_portal_dim.py @@ -65,6 +65,10 @@ class portal_api_dim(plugins.ConfServerApp): body = {"ret": "ok", "unRead": False} return web.json_response(body) + if json_body["td"] == "ReceiveShareDevice": # EcoVacs Home + body = {"ret":"ok"} + return web.json_response(body) + except Exception as e: logging.exception("{}".format(e)) diff --git a/bumper/plugins/bumper_confserver_portal_iot.py b/bumper/plugins/bumper_confserver_portal_iot.py index 6023db6..6455ffd 100644 --- a/bumper/plugins/bumper_confserver_portal_iot.py +++ b/bumper/plugins/bumper_confserver_portal_iot.py @@ -69,6 +69,11 @@ class portal_api_iot(plugins.ConfServerApp): body = {"ret": "ok", "unRead": False} return web.json_response(body) + if json_body["td"] == "PreWifiConfig": # EcoVacs Home + body = {"ret":"ok"} + return web.json_response(body) + + except Exception as e: logging.exception("{}".format(e)) diff --git a/bumper/plugins/bumper_confserver_portal_neng.py b/bumper/plugins/bumper_confserver_portal_neng.py index 944c3aa..c64fe0f 100644 --- a/bumper/plugins/bumper_confserver_portal_neng.py +++ b/bumper/plugins/bumper_confserver_portal_neng.py @@ -19,6 +19,8 @@ class portal_api_neng(plugins.ConfServerApp): self.routes = [ web.route("*", "/neng/message/hasUnreadMsg", self.handle_neng_hasUnreadMessage, name="portal_api_neng_hasUnreadMessage"), + web.route("*", "/neng/message/getShareMsgs", self.handle_neng_getShareMsgs, name="portal_api_neng_getShareMsgs"), + web.route("*", "/neng/message/getlist", self.handle_neng_getlist, name="portal_api_neng_getlist"), ] @@ -32,6 +34,64 @@ class portal_api_neng(plugins.ConfServerApp): except Exception as e: logging.exception("{}".format(e)) + + async def handle_neng_getShareMsgs(self, request): # EcoVacs Home + try: + body = {"code":0,"data":{"hasNext":False,"msgs":[]}} + + # share msg response + # { + # "code": 0, + # "data": { + # "hasNext": False, + # "msgs": [ + # { + # "action": "shareDevice", + # "deviceName": "DEEBOT 900 Series", + # "did": "DID", + # "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839", + # "id": "0154d03a-294e-4b99-a6df-fc2dbf4146d5", + # "isRead": False, + # "message": "User user@gmail.com sent you the sharing invitation of DEEBOT 900 Series.", + # "mid": "ls1ok3", + # "resource": "grU0", + # "shareStatus": "sharing", + # "ts": 1578206187412 + # } + # ] + # } + # } + + return web.json_response(body) + + except Exception as e: + logging.exception("{}".format(e)) + + async def handle_neng_getlist(self, request): # EcoVacs Home + try: + body = {"code":0,"data":{"hasNext":False,"msgs":[]}} + + #Sample Message + # { + # "id": "5da0ac9d636aec5107627ac4", + # "ts": 1570811036877, + # "did": "bot did", + # "cid": "ls1ok3", + # "name": "DEEBOT 900 Series", + # "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839", + # "eventTypeId": "5aab824bb62ce30001f9a702", + # "title": "DEEBOT is off the floor.", + # "body": "DEEBOT is off the floor. Please put it back.", + # "read": false, + # "UILogicId": "D_900", + # "type": "web", + # "url": "https://portal-ww.ecouser.net/api/pim/eventdetail.html?id=5ba21e44aed83800015b9ca8" # Off the floor instructions + # } + + return web.json_response(body) + + except Exception as e: + logging.exception("{}".format(e)) plugin = portal_api_neng() diff --git a/bumper/plugins/bumper_confserver_portal_pim.py b/bumper/plugins/bumper_confserver_portal_pim.py index 2473823..1727486 100644 --- a/bumper/plugins/bumper_confserver_portal_pim.py +++ b/bumper/plugins/bumper_confserver_portal_pim.py @@ -20,6 +20,9 @@ class portal_api_pim(plugins.ConfServerApp): web.route("*", "/pim/product/getProductIotMap", self.handle_getProductIotMap, name="portal_api_pim_getProductIotMap"), web.route("*", "/pim/file/get/{id}", self.handle_pimFile, name="portal_api_pim_file"), + web.route("*", "/pim/product/getConfignetAll", self.handle_getConfignetAll, name="portal_api_pim_getConfignetAll"), + web.route("*", "/pim/product/getConfigGroups", self.handle_getConfigGroups, name="portal_api_pim_getConfigGroups"), + web.route("*", "/pim/dictionary/getErrDetail", self.handle_getErrDetail, name="portal_api_pim_getErrDetail"), ] @@ -43,7 +46,2638 @@ class portal_api_pim(plugins.ConfServerApp): return web.FileResponse(os.path.join(bumper.data_dir,"web","robotvac_image.jpg")) except Exception as e: - logging.exception("{}".format(e)) + logging.exception("{}".format(e)) + + async def handle_getConfignetAll(self, request): + try: + body = confignetAllResponse + return web.json_response(body) + + except Exception as e: + logging.exception("{}".format(e)) + + async def handle_getConfigGroups(self, request): + try: + body = configGroupsResponse + return web.json_response(body) + + except Exception as e: + logging.exception("{}".format(e)) + + async def handle_getErrDetail(self, request): + try: + body = { + "code": -1, + "data": [], + "msg": "This errcode's detail is not exists" + } + return web.json_response(body) + + except Exception as e: + logging.exception("{}".format(e)) plugin = portal_api_pim() +confignetAllResponse = { + "code": 0, + "data": [ + { + "groupId": "5ae147f27ccd1a0001e1f69c", + "sort": 60, + "groupName": "DEEBOT OZMO Slim10 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1715-0201", + "mid": "02uwxm", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b1dddc48bc45700014035a1" + }, + { + "groupId": "5ca32b5de9e9270001354b3f", + "sort": 80, + "groupName": "DEEBOT OZMO 601", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1629-0203", + "mid": "159", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7606de51dd0001fee12d" + }, + { + "groupId": "5ca32b5de9e9270001354b3f", + "sort": 80, + "groupName": "DEEBOT", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1629-0203", + "mid": "159", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7628de51dd0001fee12f" + }, + { + "groupId": "5ca32b5de9e9270001354b3f", + "sort": 80, + "groupName": "DEEBOT OZMO 610 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1629-0203", + "mid": "159", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b7640de51dd0001fee131" + }, + { + "groupId": "5cae9662e9e9270001354b55", + "sort": 150, + "groupName": "DEEBOT M80 Pro", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1638-0102", + "mid": "125", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c14414d60de0001eaf1f2" + }, + { + "groupId": "5bbedcd922d57f00018c13b6", + "sort": 30, + "groupName": "DEEBOT OZMO/PRO 930 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "HK_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1803-0101", + "mid": "115", + "ota": False, + "supportVer": { + "Android": "1.1.8", + "IOS": "1.1.8" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cf711aeb0acfc000179ff8a" + }, + { + "groupId": "5b6560760506b100015c8867", + "sort": 130, + "groupName": "DEEBOT 900 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal", + "ecodeebot" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1711-0201", + "mid": "ls1ok3", + "ota": False, + "supportVer": { + "Android": "1.0.7", + "IOS": "1.0.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839" + }, + { + "groupId": "5b6560760506b100015c8867", + "sort": 130, + "groupName": "DEEBOT 910", + "isPopular": False, + "belongApp": [ + "ecoglobal", + "ecodeebot" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1711-0201", + "mid": "ls1ok3", + "ota": False, + "supportVer": { + "Android": "1.0.7", + "IOS": "1.0.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c778731280fda0001770ba0" + }, + { + "groupId": "5cae9793e9e9270001354b57", + "sort": 160, + "groupName": "DEEBOT M81 Pro", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1638-0101", + "mid": "141", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c2aa64d60de0001eaf1f6" + }, + { + "groupId": "5c19a835a1e6ee0001782245", + "sort": 20, + "groupName": "DEEBOT OZMO 920 Series", + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1819-0101", + "mid": "vi829v", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [ + "MQ_AP" + ], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c9c7995e9e9270001354ab4" + }, + { + "groupId": "5bc8187422d57f00018c13ba", + "sort": 50, + "groupName": "DEEBOT OZMO 960", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1803-0101", + "mid": "gd4uut", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c7384767b93c700013f12e7" + }, + { + "groupId": "5b04bf1d7ccd1a0001e1f6a6", + "sort": 10, + "groupName": "DEEBOT OZMO 900 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1810-0101", + "mid": "y79a7u", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b04c0217ccd1a0001e1f6a7" + }, + { + "groupId": "5b04bf1d7ccd1a0001e1f6a6", + "sort": 10, + "groupName": "DEEBOT OZMO 905", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1810-0101", + "mid": "y79a7u", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d1474632a6bd50001b5b6f3" + }, + { + "groupId": "5c763de8280fda0001770b7f", + "sort": 100, + "groupName": "DEEBOT 500", + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0163", + "mid": "vsc5ia", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5df9d6b7c783810001d3d06b", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5dfc34d15d21490001700e14", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c874326280fda0001770d2a" + }, + { + "groupId": "5c763de8280fda0001770b7f", + "sort": 100, + "groupName": "DEEBOT 501", + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0163", + "mid": "vsc5ia", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5df9d6b7c783810001d3d06b", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5dfc34d15d21490001700e14", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c931fef280fda0001770d7e" + }, + { + "groupId": "5c763de8280fda0001770b7f", + "sort": 100, + "groupName": "DEEBOT 502", + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0163", + "mid": "vsc5ia", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5df9d6b7c783810001d3d06b", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5dfc34d15d21490001700e14", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c93204b63023c0001e7faa7" + }, + { + "groupId": "5c763de8280fda0001770b7f", + "sort": 100, + "groupName": "DEEBOT 505", + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0163", + "mid": "vsc5ia", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5df9d6b7c783810001d3d06b", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5dfc34d15d21490001700e14", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c932067280fda0001770d7f" + }, + { + "groupId": "5cae9aa5e9e9270001354b5d", + "sort": 230, + "groupName": "DEEBOT Slim2 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1639-0102", + "mid": "123", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c150dba13eb00013feaae" + }, + { + "groupId": "5cae9aa5e9e9270001354b5d", + "sort": 230, + "groupName": "DEEBOT Slim Neo", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1639-0102", + "mid": "123", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c152f4d60de0001eaf1f4" + }, + { + "groupId": "5c19a8a0ddfc1f0001ede8e0", + "sort": 40, + "groupName": "DEEBOT OZMO 950 Series", + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1820-0101", + "mid": "yna5xi", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [ + "MQ_AP" + ], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5caafd7e1285190001685965" + }, + { + "groupId": "5ca4711412851900016858cb", + "sort": 70, + "groupName": "DEEBOT OZMO 700", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1825-0201", + "mid": "0xyhhr", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d117d4f0ac6ad00012b792d" + }, + { + "groupId": "5ca4711412851900016858cb", + "sort": 70, + "groupName": "DEEBOT OZMO 750", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1825-0201", + "mid": "0xyhhr", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d3aa309ba13eb00013feb69" + }, + { + "groupId": "5acb0f2e7c295c0001876eb4", + "sort": 110, + "groupName": "DEEBOT 600 Series", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0170", + "mid": "dl8fht", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e36591fd5d0001892541", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b8cd75f76f7f10001e9a0de", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5acc32067c295c0001876eea" + }, + { + "groupId": "5acb0f2e7c295c0001876eb4", + "sort": 110, + "groupName": "DEEBOT 661", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0170", + "mid": "dl8fht", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e36591fd5d0001892541", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b8cd75f76f7f10001e9a0de", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d280ce3350e7a0001e84c95" + }, + { + "groupId": "5ca31ce8e9e9270001354b33", + "sort": 170, + "groupName": "DEEBOT M86", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1628-0101", + "mid": "129", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ca31df112851900016858c0" + }, + { + "groupId": "5d2460f244af360001383992", + "sort": 9, + "groupName": "DEEBOT U3", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "939393939393", + "mid": "xb83mv", + "ota": False, + "supportVer": { + "Android": "1.1.8", + "IOS": "1.1.8" + }, + "smartTypes": [ + "MQ_AP" + ], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d3fe649de51dd0001fee0de" + }, + { + "groupId": "5d2460f244af360001383992", + "sort": 9, + "groupName": "DEEBOT U3 LINE FRIENDS", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "939393939393", + "mid": "xb83mv", + "ota": False, + "supportVer": { + "Android": "1.1.8", + "IOS": "1.1.8" + }, + "smartTypes": [ + "MQ_AP" + ], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5da834a8d66cd10001f58265" + }, + { + "groupId": "5ca1c9a3e9e9270001354b2b", + "sort": 240, + "groupName": "DEEBOT Mini2", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1640-0101", + "mid": "142", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ca1ca79e9e9270001354b2d" + }, + { + "groupId": "5ca31e8212851900016858c2", + "sort": 140, + "groupName": "DEEBOT N79", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0136", + "mid": "126", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ca32ab2e9e9270001354b3d" + }, + { + "groupId": "5ca31e8212851900016858c2", + "sort": 140, + "groupName": "DEEBOT N79S/SE", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0136", + "mid": "126", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cd4ca505b032200015a455d" + }, + { + "groupId": "5ca31e8212851900016858c2", + "sort": 140, + "groupName": "DEEBOT N79T/W", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0136", + "mid": "126", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ca32a1012851900016858c6" + }, + { + "groupId": "5ae197be7ccd1a0001e1f6a1", + "sort": 120, + "groupName": "DEEBOT 711", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0205", + "mid": "uv242z", + "ota": False, + "supportVer": { + "Android": "1.0.5", + "IOS": "1.0.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7fc85976f7f10001e9a0d0", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e5d5d85b4d0001776484", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ac4cc8d5a56000111e769" + }, + { + "groupId": "5ae197be7ccd1a0001e1f6a1", + "sort": 120, + "groupName": "DEEBOT 710", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0205", + "mid": "uv242z", + "ota": False, + "supportVer": { + "Android": "1.0.5", + "IOS": "1.0.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7fc85976f7f10001e9a0d0", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e5d5d85b4d0001776484", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ac4e45f21100001882bb9" + }, + { + "groupId": "5ae197be7ccd1a0001e1f6a1", + "sort": 120, + "groupName": "DEEBOT 715", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0205", + "mid": "uv242z", + "ota": False, + "supportVer": { + "Android": "1.0.5", + "IOS": "1.0.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7fc85976f7f10001e9a0d0", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e5d5d85b4d0001776484", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b7b65f176f7f10001e9a0c2" + }, + { + "groupId": "5ae197be7ccd1a0001e1f6a1", + "sort": 120, + "groupName": "DEEBOT 711s", + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0205", + "mid": "uv242z", + "ota": False, + "supportVer": { + "Android": "1.0.5", + "IOS": "1.0.5" + }, + "smartTypes": [], + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7fc85976f7f10001e9a0d0", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e5d5d85b4d0001776484", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d157f9f77a3a60001051f69" + } + ], + "msg": "success", + "configFAQ": { + "wifiFAQUrl": "https://portal-ww.ecouser.net/api/pim/wififaq.html?lang=en&defaultLang=en", + "notFoundAPUrl": "https://portal-ww.ecouser.net/api/pim/findWifi.html?lang=en&defaultLang=en", + "configFailedUrl": "https://portal-ww.ecouser.net/api/pim/configfail.html?lang=en&defaultLang=en", + "contactUS": "helper" + } +} + +configGroupsResponse = { + "code": 0, + "data": [ + { + "sort": 1, + "id": "5c19a743e916ba00019a4e32", + "name": "DEEBOT OZMO", + "robots": [ + { + "groupId": "5d2460f244af360001383992", + "category": "", + "groupName": "DEEBOT U3", + "sort": 9, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "939393939393", + "mid": "xb83mv", + "ota": False, + "supportVer": { + "Android": "1.1.8", + "IOS": "1.1.8" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d3fe66cea1a2e0001d2f243", + "products": [ + "5d246180350e7a0001e84bea", + "5d78f4e878d8b60001e23edc" + ], + "smartTypes": [ + "MQ_AP", + "MQ_AP" + ], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5b04bf1d7ccd1a0001e1f6a6", + "category": "", + "groupName": "DEEBOT OZMO 900 Series", + "sort": 10, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1810-0101", + "mid": "y79a7u", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d1472a62a6bd50001b5b6f2", + "products": [ + "5b04c0227ccd1a0001e1f6a8", + "5d1474630ac6ad00012b7940" + ], + "smartTypes": [], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5c19a835a1e6ee0001782245", + "category": "", + "groupName": "DEEBOT OZMO 920 Series", + "sort": 20, + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1819-0101", + "mid": "vi829v", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5c9c79c1e9e9270001354ab5", + "products": [ + "5c19a8f3a1e6ee0001782247" + ], + "smartTypes": [ + "MQ_AP" + ], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5bbedcd922d57f00018c13b6", + "category": "", + "groupName": "DEEBOT OZMO/PRO 930 Series", + "sort": 30, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "HK_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1803-0101", + "mid": "115", + "ota": False, + "supportVer": { + "Android": "1.1.8", + "IOS": "1.1.8" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cf66652b0acfc000179ff83", + "products": [ + "5bbedd2822d57f00018c13b7", + "5cd4dd385b032200015a4561" + ], + "smartTypes": [], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5c19a8a0ddfc1f0001ede8e0", + "category": "", + "groupName": "DEEBOT OZMO 950 Series", + "sort": 40, + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1820-0101", + "mid": "yna5xi", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5caafd981285190001685966", + "products": [ + "5c19a91ca1e6ee000178224a" + ], + "smartTypes": [ + "MQ_AP" + ], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5bc8187422d57f00018c13ba", + "category": "", + "groupName": "DEEBOT OZMO 960 Series", + "sort": 50, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1803-0101", + "mid": "gd4uut", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d0899b00ac6ad00012b78f7", + "products": [ + "5bc8189d68142800016a6937" + ], + "smartTypes": [], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5ae147f27ccd1a0001e1f69c", + "category": "", + "groupName": "DEEBOT OZMO Slim10 Series", + "sort": 60, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1715-0201", + "mid": "02uwxm", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ebc34822f0b00013a2e1a", + "products": [ + "5ae1481e7ccd1a0001e1f69e" + ], + "smartTypes": [], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5ca4711412851900016858cb", + "category": "", + "groupName": "DEEBOT OZMO 700 Series", + "sort": 70, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 1, + "materialNo": "110-1825-0201", + "mid": "0xyhhr", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "Briefly press the RESET button for 1 second and then release. You will hear that DEEBOT is ready for network setup.", + "retryText": "", + "confirmText": "I've heard the sound", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d117d680ac6ad00012b792e", + "products": [ + "5ca4716312851900016858cd", + "5ce7870cd85b4d0001775db9" + ], + "smartTypes": [], + "seriesId": "5c19a743e916ba00019a4e32" + }, + { + "groupId": "5ca32b5de9e9270001354b3f", + "category": "", + "groupName": "DEEBOT OZMO 600 Series", + "sort": 80, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1629-0203", + "mid": "159", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d4b75a8ea1a2e0001d2f28e", + "products": [ + "5ca32bc2e9e9270001354b41", + "5cbd97b961526a00019799bd", + "5cae98d01285190001685974" + ], + "smartTypes": [], + "seriesId": "5c19a743e916ba00019a4e32" + } + ] + }, + { + "sort": 2, + "id": "5c2599b6a1e6ee0001782328", + "name": "DEEBOT", + "robots": [ + { + "groupId": "5c763de8280fda0001770b7f", + "category": "", + "groupName": "DEEBOT 500 Series", + "sort": 100, + "isPopular": True, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0163", + "mid": "vsc5ia", + "ota": False, + "supportVer": { + "Android": "1.1.5", + "IOS": "1.1.5" + }, + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5df9d6b7c783810001d3d06b", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5dfc34d15d21490001700e14", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cf6668bda73e90001dc3b98", + "products": [ + "5c763eba280fda0001770b81", + "5c763f35280fda0001770b84", + "5c763f63280fda0001770b88", + "5c763f8263023c0001e7f855" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5acb0f2e7c295c0001876eb4", + "category": "", + "groupName": "DEEBOT 600 Series", + "sort": 110, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0170", + "mid": "dl8fht", + "ota": False, + "supportVer": { + "Android": "1.0.0", + "IOS": "1.0.0" + }, + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e36591fd5d0001892541", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b8cd75f76f7f10001e9a0de", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cf6669ab0acfc000179ff85", + "products": [ + "5acb0fa87c295c0001876ecf", + "5d280ce344af3600013839ab" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5ae197be7ccd1a0001e1f6a1", + "category": "", + "groupName": "DEEBOT 700 Series", + "sort": 120, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0205", + "mid": "uv242z", + "ota": False, + "supportVer": { + "Android": "1.0.5", + "IOS": "1.0.5" + }, + "steps": [ + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5b7fc85976f7f10001e9a0d0", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "image", + "guideImageUrl": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8e5d5d85b4d0001776484", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5b5ec2b1822f0b00013a2e1c", + "products": [ + "5b43077b8bc457000140363e", + "5b5149b4ac0b87000148c128", + "5b7b65f364e1680001a08b54", + "5ceba1c6d85b4d0001776986" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5b6560760506b100015c8867", + "category": "", + "groupName": "DEEBOT 900 Series", + "sort": 130, + "isPopular": False, + "belongApp": [ + "ecoglobal", + "ecodeebot" + ], + "smartType": "MQ_AP", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1711-0201", + "mid": "ls1ok3", + "ota": False, + "supportVer": { + "Android": "1.0.7", + "IOS": "1.0.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d1472b70ac6ad00012b793f", + "products": [ + "5b6561060506b100015c8868", + "5bf2596f23244a00013f2f13" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5ca31e8212851900016858c2", + "category": "", + "groupName": "DEEBOT N79 Series", + "sort": 140, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "702-0000-0136", + "mid": "126", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cf666bdda73e90001dc3b9a", + "products": [ + "5ca32ab212851900016858c7", + "5cce893813afb7000195d6af", + "5ca32a11e9e9270001354b39" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cae9662e9e9270001354b55", + "category": "", + "groupName": "DEEBOT M80 Pro", + "sort": 150, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1638-0102", + "mid": "125", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c1000ba13eb00013feaa4", + "products": [ + "5cae9703128519000168596a" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cae9793e9e9270001354b57", + "category": "", + "groupName": "DEEBOT M81 Pro", + "sort": 160, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1638-0101", + "mid": "141", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c10224d60de0001eaf1ea", + "products": [ + "5cae97c9128519000168596f" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5ca31ce8e9e9270001354b33", + "category": "", + "groupName": "DEEBOT M86", + "sort": 170, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1628-0101", + "mid": "129", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5cf66704da73e90001dc3b9b", + "products": [ + "5ca31df1e9e9270001354b35" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cd4df825b032200015a4567", + "category": "", + "groupName": "DEEBOT M87", + "sort": 180, + "isPopular": False, + "belongApp": [ + "ecodeebot" + ], + "smartType": "SCM0", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1517-1001", + "mid": "121", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8ea21d85b4d0001776489", + "products": [], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cd4dfc9f542e00001dc2df8", + "category": "", + "groupName": "DEEBOT M88", + "sort": 190, + "isPopular": False, + "belongApp": [ + "ecodeebot" + ], + "smartType": "SCM0", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1517-0701", + "mid": "107", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8eaa5d85b4d000177648a", + "products": [], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cd4e077f542e00001dc2dfb", + "category": "", + "groupName": "DEEBOT R95", + "sort": 200, + "isPopular": False, + "belongApp": [ + "ecodeebot" + ], + "smartType": "SCM0", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1412-0001", + "mid": "113", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8eb7091fd5d000189254a", + "products": [], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cd4e0b25b032200015a4569", + "category": "", + "groupName": "DEEBOT R96", + "sort": 210, + "isPopular": False, + "belongApp": [ + "ecodeebot" + ], + "smartType": "SCM0", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1510-0501", + "mid": "118", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8ebd791fd5d000189254b", + "products": [], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cd4e0e15b032200015a456c", + "category": "", + "groupName": "DEEBOT R98", + "sort": 220, + "isPopular": False, + "belongApp": [ + "ecodeebot" + ], + "smartType": "SCM0", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1510-0601", + "mid": "117", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ce8ec13d85b4d000177648b", + "products": [], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5cae9aa5e9e9270001354b5d", + "category": "", + "groupName": "DEEBOT Slim Series", + "sort": 230, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1639-0102", + "mid": "123", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5d2c11fa4d60de0001eaf1ef", + "products": [ + "5cae9b201285190001685977", + "5cd43b4cf542e00001dc2dec" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + }, + { + "groupId": "5ca1c9a3e9e9270001354b2b", + "category": "", + "groupName": "DEEBOT Mini2", + "sort": 240, + "isPopular": False, + "belongApp": [ + "ecoglobal" + ], + "smartType": "SPA", + "failCount": 0, + "checkTips": 0, + "materialNo": "110-1640-0101", + "mid": "142", + "ota": False, + "supportVer": { + "Android": "1.1.7", + "IOS": "1.1.7" + }, + "steps": [ + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + }, + { + "guideImageType": "", + "guideImageUrl": "", + "title": "", + "guideText": "", + "retryText": "", + "confirmText": "", + "btnText": "" + } + ], + "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ca1c901e9e9270001354b2a", + "products": [ + "5ca1ca7a12851900016858bd" + ], + "smartTypes": [], + "seriesId": "5c2599b6a1e6ee0001782328" + } + ] + } + ], + "msg": "success", + "configFAQ": { + "wifiFAQUrl": "https://portal-ww.ecouser.net/api/pim/wififaq.html?lang=en&defaultLang=en", + "notFoundAPUrl": "https://portal-ww.ecouser.net/api/pim/findWifi.html?lang=en&defaultLang=en", + "configFailedUrl": "https://portal-ww.ecouser.net/api/pim/configfail.html?lang=en&defaultLang=en", + "contactUS": "helper" + } +} \ No newline at end of file diff --git a/bumper/plugins/bumper_confserver_v1_private_user.py b/bumper/plugins/bumper_confserver_v1_private_user.py index 397fcd1..5347a88 100644 --- a/bumper/plugins/bumper_confserver_v1_private_user.py +++ b/bumper/plugins/bumper_confserver_v1_private_user.py @@ -26,8 +26,11 @@ class v1_private_user(plugins.ConfServerApp): web.route("*", "/private/{country}/{language}/{devid}/{apptype}/{appversion}/{devtype}/{aid}/user/checkAgreement", self.handle_checkAgreement,name="v1_user_checkAgreement"), web.route("*", "/private/{country}/{language}/{devid}/{apptype}/{appversion}/{devtype}/{aid}/user/checkAgreementBatch", self.handle_checkAgreement,name="v1_user_checkAgreementBatch"), web.route("*", "/private/{country}/{language}/{devid}/{apptype}/{appversion}/{devtype}/{aid}/user/getUserAccountInfo", authhandler.getUserAccountInfo,name="v1_user_getUserAccountInfo"), + web.route("*", "/private/{country}/{language}/{devid}/{apptype}/{appversion}/{devtype}/{aid}/user/getUserMenuInfo", self.handle_getUserMenuInfo,name="v1_user_getUserMenuInfo"), # Direct register from app: # /{apiversion}/private/{country}/{language}/{devid}/{apptype}/{appversion}/{devtype}/{aid}/user/directRegister + #Register by email + # /registerByEmail ] @@ -72,5 +75,61 @@ class v1_private_user(plugins.ConfServerApp): except Exception as e: logging.exception("{}".format(e)) + async def handle_getUserMenuInfo(self, request): + try: + apptype = request.match_info.get("apptype", "") + body = { + "code": "0000", + "data": [ + { + "menuItems": [ + { + "clickAction": 1, + "clickUri": "https://ecovacs.zendesk.com/hc/en-us", + "menuIconUrl": "https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/2019121603180741b73907046e742b80e8fe4a90fe2498.png", + "menuId": "20191216031849_4d744630f7ad2f5208a4b8051be61d10", + "menuName": "Help & Feedback", + "paramsJson": "" + } + ], + "menuPositionKey": "A_FIRST" + }, + { + "menuItems": [ + { + "clickAction": 3, + "clickUri": "robotShare", + "menuIconUrl": "https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/2019121603284185e632ec6c5da10bd82119d7047a1f9e.png", + "menuId": "20191216032853_5fac4cc9cbd0e166dfa951485d1d8cc4", + "menuName": "Share Robot", + "paramsJson": "" + } + ], + "menuPositionKey": "B_SECOND" + }, + { + "menuItems": [ + { + "clickAction": 3, + "clickUri": "config", + "menuIconUrl": "https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/201912160325324068da4e4a09b8c3973db162e84784d5.png", + "menuId": "20191216032545_ebea0fbb4cb02d9c2fec5bdf3371bc2d", + "menuName": "Settings", + "paramsJson": "" + } + ], + "menuPositionKey": "C_THIRD" + } + ], + "msg": "操作成功", + "success": True, + "time": 1578203898342 + } + + return web.json_response(body) + + except Exception as e: + logging.exception("{}".format(e)) + plugin = v1_private_user() From 511fc6f4566f5b8f348f6c9fe8a3e285ae334572 Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Sun, 5 Jan 2020 09:37:31 -0500 Subject: [PATCH 3/4] add bumper status to ecovacshome menu add bumper status to ecovacshome menu --- .../plugins/bumper_confserver_v1_private_user.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/bumper/plugins/bumper_confserver_v1_private_user.py b/bumper/plugins/bumper_confserver_v1_private_user.py index 5347a88..68beb33 100644 --- a/bumper/plugins/bumper_confserver_v1_private_user.py +++ b/bumper/plugins/bumper_confserver_v1_private_user.py @@ -119,11 +119,24 @@ class v1_private_user(plugins.ConfServerApp): } ], "menuPositionKey": "C_THIRD" + }, + { + "menuItems": [ + { + "clickAction": 1, + "clickUri": "https://bumper.ecovacs.com/", + "menuIconUrl": "https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/201912160325324068da4e4a09b8c3973db162e84784d5.png", + "menuId": "20191216032545_ebea0fbb4cb02d9c2fec5bdf3371bc2c", + "menuName": "Bumper Status", + "paramsJson": "" + } + ], + "menuPositionKey": "D_FOURTH" } ], "msg": "操作成功", "success": True, - "time": 1578203898342 + "time": self.get_milli_time(datetime.utcnow().timestamp()) } return web.json_response(body) From ac7dd3d30282c7db12ef64e9cf28e25a63ca4d98 Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Sun, 5 Jan 2020 09:43:35 -0500 Subject: [PATCH 4/4] add /upload/ api - used for menu icons in ecovacs home --- bumper/confserver.py | 2 + .../bumper_confserver_upload_global.py | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 bumper/plugins/bumper_confserver_upload_global.py diff --git a/bumper/confserver.py b/bumper/confserver.py index 6c0ada9..d506e78 100644 --- a/bumper/confserver.py +++ b/bumper/confserver.py @@ -76,11 +76,13 @@ class ConfServer: api_v1 = {"prefix": "/v1/", "app": web.Application()} # for /v1/ api_v2 = {"prefix": "/v2/", "app": web.Application()} # for /v2/ portal_api = {"prefix": "/api/", "app": web.Application()} # for /api/ + upload_api = {"prefix": "/upload/", "app": web.Application()} # for /upload/ apis = { "api_v1": api_v1, "api_v2": api_v2, "portal_api": portal_api, + "upload_api": upload_api, } diff --git a/bumper/plugins/bumper_confserver_upload_global.py b/bumper/plugins/bumper_confserver_upload_global.py new file mode 100644 index 0000000..8993a7c --- /dev/null +++ b/bumper/plugins/bumper_confserver_upload_global.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +import asyncio +from aiohttp import web +from bumper import plugins +import logging +import bumper +from bumper.models import * +from bumper import plugins +from datetime import datetime, timedelta +import os + +class upload_global(plugins.ConfServerApp): + + def __init__(self): + self.name = "upload_global" + self.plugin_type = "sub_api" + self.sub_api = "upload_api" + + self.routes = [ + + web.route("*", "/global/{year}/{month}/{day}/{fileid}", self.handle_upload_global_file, name="upload_global_getFile"), + + ] + + self.get_milli_time = bumper.ConfServer.ConfServer_GeneralFunctions().get_milli_time + + + + async def handle_upload_global_file(self, request): + try: + fileID = request.match_info.get("id", "") + + return web.FileResponse(os.path.join(bumper.data_dir,"web","robotvac_image.jpg")) + + except Exception as e: + logging.exception("{}".format(e)) + + + +plugin = upload_global()