Matter add controller's Vendor Name to logs and UI (#18794)

This commit is contained in:
s-hadinger 2023-06-04 23:05:52 +02:00 committed by GitHub
parent 24233924c5
commit 31b93f8d48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1678 additions and 824 deletions

View File

@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file.
### Added
- Matter ability to add or remove endpoint in bridge mode (code only)
- Matter add controller's Vendor Name to logs and UI
### Breaking Changed

View File

@ -0,0 +1,92 @@
/*********************************************************************************\
* List of Matter Vendors
* From: https://on.dcl.csa-iot.org/dcl/vendorinfo/vendors
*
* Generated content, do not edit
\*********************************************************************************/
#include <stddef.h>
#include <stdint.h>
typedef struct {
uint16_t id;
const char* name;
} matter_vendor_t;
const matter_vendor_t matter_Vendors[] = {
{ 0x100B, "Signify"},
{ 0x101D, "Assa Abloy"},
{ 0x1021, "Legrand Group"},
{ 0x1037, "NXP Semiconductors"},
{ 0x105E, "Schneider"},
{ 0x109B, "Leviton"},
{ 0x10D0, "Qorvo"},
{ 0x10EE, "UEI"},
{ 0x10F2, "ubisys"},
{ 0x111D, "Comcast Communications"},
{ 0x115A, "Nanoleaf"},
{ 0x115F, "Aqara"},
{ 0x1160, "Sengled"},
{ 0x1168, "Leedarson"},
{ 0x117E, "Feibit"},
{ 0x1188, "TP-Link"},
{ 0x118C, "Midea Group"},
{ 0x120B, "HEIMAN"},
{ 0x1217, "Amazon Alexa"},
{ 0x1219, "ORVIBO"},
{ 0x125D, "Tuya"},
{ 0x127F, "Nordic Semiconductor ASA"},
{ 0x1280, "Siterwell"},
{ 0x1286, "CoolKit"},
{ 0x128F, "EGLO"},
{ 0x130A, "Eve"},
{ 0x130D, "BouffaloLab"},
{ 0x1312, "Yeelight"},
{ 0x131B, "Espressif Systems"},
{ 0x131E, "CAME S.p.A."},
{ 0x131F, "Longan.link"},
{ 0x1321, "SONOFF"},
{ 0x1333, "Becker Antriebe"},
{ 0x1339, "GE Lighting, a Savant company"},
{ 0x133F, "ASR"},
{ 0x1342, "Beken Corporation"},
{ 0x1344, "Eltako"},
{ 0x1345, "Meross"},
{ 0x1346, "Rafael"},
{ 0x1349, "Apple Home"},
{ 0x134E, "tado"},
{ 0x134F, "mediola"},
{ 0x1351, "HooRii Technology"},
{ 0x135D, "Nuki"},
{ 0x1362, "deveritec GmbH"},
{ 0x1365, "Dooya"},
{ 0x136E, "Ambi Labs Limited"},
{ 0x1371, "Tridonic"},
{ 0x1372, "innovation matters"},
{ 0x137F, "NEO"},
{ 0x1381, "Amazon Prime Video"},
{ 0x1384, "Apple Keychain"},
{ 0x1386, "Skylux"},
{ 0x1387, "Qianyan"},
{ 0x138A, "Nature"},
{ 0x1391, "Kasa"},
{ 0x1392, "Tapo"},
{ 0x1397, "SwitchBot"},
{ 0x139C, "Zemismart Technology Limited"},
{ 0x1400, "Uascent"},
{ 0x1403, "Arlec Australia"},
{ 0x1404, "Phaten"},
{ 0x1407, "ThirdReality"},
{ 0x1410, "Quectel"},
{ 0x1413, "1Home"},
{ 0x1415, "Caveman"},
{ 0x1419, "Lorex"},
{ 0x141B, "Rang Dong VN"},
{ 0x141E, "TUO Accessories LLC"},
{ 0x141F, "Ductech"},
{ 0x142D, "QH"},
{ 0x142F, "QIACHIP"},
{ 0x6006, "Google LLC"},
{ 0xFFFF, NULL },
};

View File

@ -77,6 +77,17 @@ extern const bclass be_class_Matter_QRCode;
#include "../generate/be_matter_clusters.h"
#include "../generate/be_matter_opcodes.h"
#include "../generate/be_matter_vendors.h"
const char* matter_get_vendor_name(uint16_t id) {
for (const matter_vendor_t * vnd = matter_Vendors; vnd->id != 0xFFFF; vnd++) {
if (vnd->id == id) {
return vnd->name;
}
}
return NULL;
}
BE_FUNC_CTYPE_DECLARE(matter_get_vendor_name, "s", "i")
const char* matter_get_cluster_name(uint16_t cluster) {
for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) {
@ -253,6 +264,7 @@ module matter (scope: global, strings: weak) {
member, closure(matter_member_closure)
get_ip_bytes, ctype_func(matter_get_ip_bytes)
get_vendor_name, ctype_func(matter_get_vendor_name)
get_cluster_name, ctype_func(matter_get_cluster_name)
get_attribute_name, ctype_func(matter_get_attribute_name)
is_attribute_writable, ctype_func(matter_is_attribute_writable)

View File

@ -95,6 +95,18 @@ class Matter_Fabric : Matter_Expirable
def get_ca() return self.root_ca_certificate end
def get_fabric_index() return self.fabric_index end
def get_admin_vendor_name()
var vnd = self.admin_vendor
if vnd == nil return "" end
var name = matter.get_vendor_name(vnd)
if name != nil
return name
else
import string
return string.format("0x%04X", vnd)
end
end
def set_fabric_index(v) self.fabric_index = v end
def set_ca(ca)
self.root_ca_certificate = ca
@ -205,7 +217,7 @@ class Matter_Fabric : Matter_Expirable
# Called before removal
def log_new_fabric()
import string
tasmota.log(string.format("MTR: +Fabric fab='%s' vendorid=0x%04X", self.get_fabric_id().copy().reverse().tohex(), self.admin_vendor), 2)
tasmota.log(string.format("MTR: +Fabric fab='%s' vendorid=%s", self.get_fabric_id().copy().reverse().tohex(), self.get_admin_vendor_name()), 2)
end
#############################################################

View File

@ -205,7 +205,7 @@ class Matter_UI
if !label label = "<No label>" end
label = webserver.html_escape(label) # protect against HTML injection
webserver.content_send(string.format("<fieldset><legend><b>&nbsp;#%i %s</b> (0x%04X)&nbsp;</legend><p></p>", f.get_fabric_index(), label, f.get_admin_vendor()))
webserver.content_send(string.format("<fieldset><legend><b>&nbsp;#%i %s</b> (%s)&nbsp;</legend><p></p>", f.get_fabric_index(), label, f.get_admin_vendor_name()))
var fabric_rev = f.get_fabric_id().copy().reverse()
var deviceid_rev = f.get_device_id().copy().reverse()

View File

@ -1505,9 +1505,9 @@ be_local_closure(Matter_UI_show_fabric_info, /* name */
/* K13 */ be_nested_str_weak(_X3CNo_X20label_X3E),
/* K14 */ be_nested_str_weak(html_escape),
/* K15 */ be_nested_str_weak(format),
/* K16 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3B_X23_X25i_X20_X25s_X3C_X2Fb_X3E_X20_X280x_X2504X_X29_X26nbsp_X3B_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
/* K16 */ be_nested_str_weak(_X3Cfieldset_X3E_X3Clegend_X3E_X3Cb_X3E_X26nbsp_X3B_X23_X25i_X20_X25s_X3C_X2Fb_X3E_X20_X28_X25s_X29_X26nbsp_X3B_X3C_X2Flegend_X3E_X3Cp_X3E_X3C_X2Fp_X3E),
/* K17 */ be_nested_str_weak(get_fabric_index),
/* K18 */ be_nested_str_weak(get_admin_vendor),
/* K18 */ be_nested_str_weak(get_admin_vendor_name),
/* K19 */ be_nested_str_weak(get_fabric_id),
/* K20 */ be_nested_str_weak(copy),
/* K21 */ be_nested_str_weak(reverse),

View File

@ -0,0 +1,91 @@
import json
import string
var f = open("vendors.json")
var j = json.load(f.read())
f.close()
for elt: j["vendorInfo"]
print(string.format(' { 0x%04X, "%s"},', elt['vendorID'], elt['vendorName']))
end
#-
{ 0x100B, "Signify"},
{ 0x101D, "Assa Abloy"},
{ 0x1021, "Legrand Group"},
{ 0x1037, "NXP Semiconductors"},
{ 0x105E, "Schneider"},
{ 0x109B, "Leviton"},
{ 0x10D0, "Qorvo"},
{ 0x10EE, "UEI"},
{ 0x10F2, "ubisys"},
{ 0x111D, "Comcast Communications"},
{ 0x115A, "Nanoleaf"},
{ 0x115F, "Aqara"},
{ 0x1160, "Sengled"},
{ 0x1168, "Leedarson"},
{ 0x117E, "Feibit"},
{ 0x1188, "TP-Link"},
{ 0x118C, "Midea Group"},
{ 0x120B, "HEIMAN"},
{ 0x1217, "Amazon Alexa"},
{ 0x1219, "ORVIBO"},
{ 0x125D, "Tuya"},
{ 0x127F, "Nordic Semiconductor ASA"},
{ 0x1280, "Siterwell"},
{ 0x1286, "CoolKit"},
{ 0x128F, "EGLO"},
{ 0x130A, "Eve"},
{ 0x130D, "BouffaloLab"},
{ 0x1312, "Yeelight"},
{ 0x131B, "Espressif Systems"},
{ 0x131E, "CAME S.p.A."},
{ 0x131F, "Longan.link"},
{ 0x1321, "SONOFF"},
{ 0x1333, "Becker Antriebe"},
{ 0x1339, "GE Lighting, a Savant company"},
{ 0x133F, "ASR"},
{ 0x1342, "Beken Corporation"},
{ 0x1344, "Eltako"},
{ 0x1345, "Meross"},
{ 0x1346, "Rafael"},
{ 0x1349, "Apple Home"},
{ 0x134E, "tado"},
{ 0x134F, "mediola"},
{ 0x1351, "HooRii Technology"},
{ 0x135D, "Nuki"},
{ 0x1362, "deveritec GmbH"},
{ 0x1365, "Dooya"},
{ 0x136E, "Ambi Labs Limited"},
{ 0x1371, "Tridonic"},
{ 0x1372, "innovation matters"},
{ 0x137F, "NEO"},
{ 0x1381, "Amazon Prime Video"},
{ 0x1384, "Apple Keychain"},
{ 0x1386, "Skylux"},
{ 0x1387, "Qianyan"},
{ 0x138A, "Nature"},
{ 0x1391, "Kasa"},
{ 0x1392, "Tapo"},
{ 0x1397, "SwitchBot"},
{ 0x139C, "Zemismart Technology Limited"},
{ 0x1400, "Uascent"},
{ 0x1403, "Arlec Australia"},
{ 0x1404, "Phaten"},
{ 0x1407, "ThirdReality"},
{ 0x1410, "Quectel"},
{ 0x1413, "1Home"},
{ 0x1415, "Caveman"},
{ 0x1419, "Lorex"},
{ 0x141B, "Rang Dong VN"},
{ 0x141E, "TUO Accessories LLC"},
{ 0x141F, "Ductech"},
{ 0x142D, "QH"},
{ 0x142F, "QIACHIP"},
{ 0x6006, "Google LLC"},
-#

View File

@ -0,0 +1,592 @@
{
"vendorInfo": [
{
"vendorID": 4107,
"vendorName": "Signify",
"companyLegalName": "Signify Netherlands B.V.",
"companyPreferredName": "Signify",
"vendorLandingPageURL": "https://www.signify.com/",
"creator": "cosmos1xx8fg5nu4lesn448ytds8yjql47jp8gnfh6hck"
},
{
"vendorID": 4125,
"vendorName": "Assa Abloy",
"companyLegalName": "Assa Abloy",
"companyPreferredName": "",
"vendorLandingPageURL": "http://www.yalehome.com",
"creator": "cosmos18wrgwrrccn49ejv4hstz9czxgw9dc2s2l9f94k"
},
{
"vendorID": 4129,
"vendorName": "Legrand Group",
"companyLegalName": "Legrand",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.legrand.com",
"creator": "cosmos1elm6sf9yd2n7y0l0rve4zru0ukanv76vtrjnt3"
},
{
"vendorID": 4151,
"vendorName": "NXP Semiconductors",
"companyLegalName": "NXP Semiconductors N.V.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.nxp.com",
"creator": "cosmos1ck0arz4kky9l9qtdvqrct7783ffv2yftgmj9ch"
},
{
"vendorID": 4190,
"vendorName": "Schneider",
"companyLegalName": "Schneider Electric",
"companyPreferredName": "Schneider Electric",
"vendorLandingPageURL": "",
"creator": "cosmos14kre58wpgterp7t9yy0393ecel9hpz9fnul6pc"
},
{
"vendorID": 4251,
"vendorName": "Leviton",
"companyLegalName": "Leviton Manufacturing Company",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.leviton.com",
"creator": "cosmos1ypyp8zrqeu64rjmx3u34ghvl64uajr67uams3d"
},
{
"vendorID": 4304,
"vendorName": "Qorvo",
"companyLegalName": "Qorvo, Inc.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.qorvo.com/",
"creator": "cosmos1qrpkuzgm7hfejejfyg20g34tjxlt4k8dsspq52"
},
{
"vendorID": 4334,
"vendorName": "UEI",
"companyLegalName": "Universal Electronics Inc",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.uei.com/",
"creator": "cosmos1pvrad6x6ettwgudttqd97r9wvarvnj5davpltg"
},
{
"vendorID": 4338,
"vendorName": "ubisys",
"companyLegalName": "ubisys technologies GmbH",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.ubisys.de",
"creator": "cosmos1rxydw26p5k4f9rtwln6r3srvw4qq9pxnxadr3d"
},
{
"vendorID": 4381,
"vendorName": "Comcast Communications",
"companyLegalName": "Comcast",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1xcv4q8sjvf7nw4qj2yt5kledgwyf3ycxw8c0pe"
},
{
"vendorID": 4442,
"vendorName": "Nanoleaf",
"companyLegalName": "Nanoleaf Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://nanoleaf.me",
"creator": "cosmos1sggrrmw05e6alve8umwdaszade5qxyt53kthud"
},
{
"vendorID": 4447,
"vendorName": "Aqara",
"companyLegalName": "Lumi United Technology Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.aqara.com/",
"creator": "cosmos1qpz3ghnqj6my7gzegkftzav9hpxymkx6zdk73v"
},
{
"vendorID": 4448,
"vendorName": "Sengled",
"companyLegalName": "Sengled Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1arhkv0n34xylxz9suy73dpyk6de32gpym9l3sw"
},
{
"vendorID": 4456,
"vendorName": "Leedarson",
"companyLegalName": "Leedarson IoT Technology Inc.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1mzg0v94yg0cmkjqe2jqsys44tvvfk9mt2d889d"
},
{
"vendorID": 4478,
"vendorName": "Feibit",
"companyLegalName": "Shenzhen Feibit Electronic Technology Co.,Ltd",
"companyPreferredName": "Feibit",
"vendorLandingPageURL": "http://www.feibit.com",
"creator": "cosmos162y3ehrqpuu2xjvmgq6qq7yqtdh6mlwh32wv2h"
},
{
"vendorID": 4488,
"vendorName": "TP-Link",
"companyLegalName": "TP-Link Corporation Limited",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.tp-link.com",
"creator": "cosmos1jxpj6rr8vnetz9a2ec08az5fwqpuf4zt4hhygv"
},
{
"vendorID": 4492,
"vendorName": "Midea Group",
"companyLegalName": "Midea Group",
"companyPreferredName": "Midea",
"vendorLandingPageURL": "",
"creator": "cosmos1a7c8us8jl76f8uue6xf9gzzqklfmfdyh8nedae"
},
{
"vendorID": 4619,
"vendorName": "HEIMAN",
"companyLegalName": "Shenzhen Heiman Technology Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos16s4lqhxyqdr5lq6gmfpskjtwjf7dwc0lktn6dt"
},
{
"vendorID": 4631,
"vendorName": "Amazon Alexa",
"companyLegalName": "Amazon.com, Inc.",
"companyPreferredName": "Amazon Alexa",
"vendorLandingPageURL": "https://www.amazon.com",
"creator": "cosmos152v4ejapsjl222zew0ll4eeltc0h2phh5hzpu3"
},
{
"vendorID": 4633,
"vendorName": "ORVIBO",
"companyLegalName": "Shenzhen ORVIBO Technology Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.orvibo.com",
"creator": "cosmos1u7um30yf68zugm897tgpq7s6vhkhk4t2ykm0hq"
},
{
"vendorID": 4701,
"vendorName": "Tuya",
"companyLegalName": "Tuya Global Inc.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos13pwvzq2zk0r3fxuc2a5jhadnx6tda5ar2tcpp9"
},
{
"vendorID": 4735,
"vendorName": "Nordic Semiconductor ASA",
"companyLegalName": "Nordic Semiconductor ASA",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.nordicsemi.com",
"creator": "cosmos1eatgwsxtjz0tlchllzasjfcac6m56n30njc3k2"
},
{
"vendorID": 4736,
"vendorName": "Siterwell",
"companyLegalName": "Siterwell Electronics Co., Limited",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1u3uhlkepx9dz9asrlucuupw2md2frvkwv583nr"
},
{
"vendorID": 4742,
"vendorName": "CoolKit",
"companyLegalName": "SHENZHEN Coolkit Technology CO.,LTD.",
"companyPreferredName": "CoolKit",
"vendorLandingPageURL": "https://www.coolkit.cn/",
"creator": "cosmos18m8lehnvqx8zytn22fkekelt7xgmrl7cga37tl"
},
{
"vendorID": 4751,
"vendorName": "EGLO",
"companyLegalName": "EGLO Leuchten GmbH",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.eglo.com/en/",
"creator": "cosmos1veu2f7mtgvfw8ezjfmhs64cqyt9wp2weas2rga"
},
{
"vendorID": 4874,
"vendorName": "Eve",
"companyLegalName": "Eve Systems GmbH",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.evehome.com",
"creator": "cosmos1yh0ld8jl26rgycrtank8slxepmc8xzgyrzv99t"
},
{
"vendorID": 4877,
"vendorName": "BouffaloLab",
"companyLegalName": "Bouffalo Lab (Nanjing) Co., Ltd.",
"companyPreferredName": "Bouffalo Lab ",
"vendorLandingPageURL": "https://www.bouffalolab.com/",
"creator": "cosmos1l8qwcjgfcnvlmtxrlcjrsmy9068mlck2cw68kx"
},
{
"vendorID": 4882,
"vendorName": "Yeelight",
"companyLegalName": "Qingdao Yeelink Information Technology Co., Ltd.",
"companyPreferredName": "Yeelink Information Technology",
"vendorLandingPageURL": "https://en.yeelight.com/#",
"creator": "cosmos18fcq3647dkwur0d0zjyenj8sk57jehq4a8epaf"
},
{
"vendorID": 4891,
"vendorName": "Espressif Systems",
"companyLegalName": "Espressif Systems (Shanghai) Co. Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.espressif.com",
"creator": "cosmos1vncrg6hk30kutk4nr26mvyqc92zkygcc7aemzt"
},
{
"vendorID": 4894,
"vendorName": "CAME S.p.A.",
"companyLegalName": "CAME S.p.A.",
"companyPreferredName": "CAME S.p.A.",
"vendorLandingPageURL": "https://www.came.com/",
"creator": "cosmos1kxjh94dcvnym6265nmxcjpn9xpkx0y7e3jjeqc"
},
{
"vendorID": 4895,
"vendorName": "Longan.link",
"companyLegalName": "Longan Link Tech Co.,LTD",
"companyPreferredName": "",
"vendorLandingPageURL": "https://longan.link/",
"creator": "cosmos1qnd2v3n0f0ukja8z0jm4jqsqs5qhxa6ncvcxuv"
},
{
"vendorID": 4897,
"vendorName": "SONOFF",
"companyLegalName": "Shenzhen Sonoff Technologies Co.,Ltd.",
"companyPreferredName": "SONOFF",
"vendorLandingPageURL": "https://sonoff.tech/",
"creator": "cosmos160c6r8rc2pgpgucasw4ae5gfqtz5vzcc6ay2sz"
},
{
"vendorID": 4915,
"vendorName": "Becker Antriebe",
"companyLegalName": "Becker Antriebe GmbH",
"companyPreferredName": "Becker Antriebe",
"vendorLandingPageURL": "https://www.becker-antriebe.com/",
"creator": "cosmos1f6knru06kkxm306ckgs93zs9aqyrk9axgqh5wq"
},
{
"vendorID": 4921,
"vendorName": "GE Lighting, a Savant company",
"companyLegalName": "GE Lighting, a Savant company",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.gelighting.com/",
"creator": "cosmos130t4m26ynex82jcgkqguxpffpva05e4zugn0xc"
},
{
"vendorID": 4927,
"vendorName": "ASR",
"companyLegalName": "ASR Microelectronics(ShenZhen)Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos14a9n65wmumympggqnquu5ptq042ff69nehztk7"
},
{
"vendorID": 4930,
"vendorName": "Beken Corporation",
"companyLegalName": "beken",
"companyPreferredName": "",
"vendorLandingPageURL": "http://www.bekencorp.com/",
"creator": "cosmos1aru484uj9dqkpnqg768tl6m66fvz9wkqcg79cw"
},
{
"vendorID": 4932,
"vendorName": "Eltako",
"companyLegalName": "Eltako GmbH",
"companyPreferredName": "Eltako",
"vendorLandingPageURL": "https://www.eltako.com",
"creator": "cosmos1n3kqdwqh33grxcnzdeknercyt3wekc5zl4n3dg"
},
{
"vendorID": 4933,
"vendorName": "Meross",
"companyLegalName": "Chengdu Meross Technology Co., Ltd.",
"companyPreferredName": "Meross",
"vendorLandingPageURL": "https://www.meross.com",
"creator": "cosmos18qu47pmqwylzm9w2tezyrmvcwmkew5yyvw3d6n"
},
{
"vendorID": 4934,
"vendorName": "Rafael",
"companyLegalName": "Rafael Microelectronics, Inc.",
"companyPreferredName": "Rafael",
"vendorLandingPageURL": "",
"creator": "cosmos14myns7fehcxm2c896k5syhzr7zsyf7g4jdlk08"
},
{
"vendorID": 4937,
"vendorName": "Apple Home",
"companyLegalName": "Apple Inc.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.apple.com/home-app",
"creator": "cosmos1ysl37yl5nmcg8qr64knpscahq5zel3hjtxmvyt"
},
{
"vendorID": 4942,
"vendorName": "tado",
"companyLegalName": "tado GmbH",
"companyPreferredName": "tado°",
"vendorLandingPageURL": "https://www.tado.com/",
"creator": "cosmos1sacvh2z4w0f3d657a2tdw2w4ha87743c8qahkv"
},
{
"vendorID": 4943,
"vendorName": "mediola",
"companyLegalName": "mediola - connected living AG",
"companyPreferredName": "mediola",
"vendorLandingPageURL": "https://www.mediola.com",
"creator": "cosmos1j2w2zq787mkwltsdhzlxpnm50s8nrvg85u20dh"
},
{
"vendorID": 4945,
"vendorName": "HooRii Technology",
"companyLegalName": "HooRii Technology CO., LTD",
"companyPreferredName": "HooRii Technology",
"vendorLandingPageURL": "https://www.hoorii.io/",
"creator": "cosmos1etk35ufz9z4x56t63tap7ncsvk5k5zw2npmlcu"
},
{
"vendorID": 4957,
"vendorName": "Nuki",
"companyLegalName": "Nuki Home Solutions GmbH",
"companyPreferredName": "Nuki",
"vendorLandingPageURL": "https://nuki.io",
"creator": "cosmos1tdslga3va6luqzy2x3nlwxfh80f99vly5800ls"
},
{
"vendorID": 4962,
"vendorName": "deveritec GmbH",
"companyLegalName": "deveritec GmbH",
"companyPreferredName": "",
"vendorLandingPageURL": "https://deveritec.de",
"creator": "cosmos19740ad8368h0h33rcu6gugtxgvyuws7puqg0za"
},
{
"vendorID": 4965,
"vendorName": "Dooya",
"companyLegalName": "Ningbo Dooya Mechanic \u0026 Electronic Technology Co.,Ltd",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1pqypa94grwkmk2d7e0ncdctfav5wyycu787tmk"
},
{
"vendorID": 4974,
"vendorName": "Ambi Labs Limited",
"companyLegalName": "Ambi Labs Limited",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos12st2nx5elvkyswv7nqw6xh6j67vg472lcv0299"
},
{
"vendorID": 4977,
"vendorName": "Tridonic",
"companyLegalName": "Tridonic GmbH \u0026 Co KG",
"companyPreferredName": "Tridonic",
"vendorLandingPageURL": "https://www.tridonic.com/matter",
"creator": "cosmos16ad3em3nrqzf854p03audmgdl3pc384467yzav"
},
{
"vendorID": 4978,
"vendorName": "innovation matters",
"companyLegalName": "innovation matters iot GmbH",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.innovation-matters.at/",
"creator": "cosmos1v6x4nte50al0jjynvldwqse9n4ceajmja3wvph"
},
{
"vendorID": 4991,
"vendorName": "NEO",
"companyLegalName": "Shenzhen NEO Electronic CO",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos18cvsug5mc7vj9a6kxaj0fwp99vj9ga3xd3lnql"
},
{
"vendorID": 4993,
"vendorName": "Amazon Prime Video",
"companyLegalName": "Amazon.com, Inc.",
"companyPreferredName": "Amazon Prime Video",
"vendorLandingPageURL": "https://www.amazon.com",
"creator": "cosmos1akrkaxvlfwnnk2phtxewadmel4s567wr8xmfj8"
},
{
"vendorID": 4996,
"vendorName": "Apple Keychain",
"companyLegalName": "Apple Inc.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://support.apple.com/en-us/HT213441",
"creator": "cosmos1qqgp6p73z0lku4qzeajgtxtzy24xx467j0v0kp"
},
{
"vendorID": 4998,
"vendorName": "Skylux",
"companyLegalName": "Skylux N.V.",
"companyPreferredName": "Skylux",
"vendorLandingPageURL": "https://www.skylux.eu",
"creator": "cosmos1f9haxa732cy6rmm3nc88q9fxx9zv0m0qn3kzcm"
},
{
"vendorID": 4999,
"vendorName": "Qianyan",
"companyLegalName": "Shenzhen Qianyan Technology LTD",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos10plhr0fh27nred7nra3s6dld26gzcw6etje4gk"
},
{
"vendorID": 5002,
"vendorName": "Nature",
"companyLegalName": "Nature Inc.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://nature.global/",
"creator": "cosmos1yvwf85sx9mp53kptfwfz49cmmznvj2j0efavzu"
},
{
"vendorID": 5009,
"vendorName": "Kasa",
"companyLegalName": "TP-Link Corporation Limited",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.kasasmart.com",
"creator": "cosmos1fjwwzm8zs9yc2hq73tqggdylcmm0ujmuc7x9wn"
},
{
"vendorID": 5010,
"vendorName": "Tapo",
"companyLegalName": "TP-Link Corporation Limited",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.tapo.com",
"creator": "cosmos1acw4mmmf26e7jkxqm5epu7g56tcgz0walk3vs8"
},
{
"vendorID": 5015,
"vendorName": "SwitchBot",
"companyLegalName": "Woan Technology (Shenzhen) Co., Ltd. ",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1dc9patujyr2av2ezggudfalfag7p7scc0t3wnk"
},
{
"vendorID": 5020,
"vendorName": "Zemismart Technology Limited",
"companyLegalName": "Zemismart Technology Limited",
"companyPreferredName": "Zemismart",
"vendorLandingPageURL": "https://www.zemismart.com",
"creator": "cosmos1mrv5zh6r6kcfln34vju5kfup4mv9lw27u33yj0"
},
{
"vendorID": 5120,
"vendorName": "Uascent",
"companyLegalName": "Uascent Technology Company Limited",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1ynw4zl6xqnvh5zhzhhpxjc6kt8z8wvxkp8edsw"
},
{
"vendorID": 5123,
"vendorName": "Arlec Australia",
"companyLegalName": "Arlec Australia Pty. Ltd.",
"companyPreferredName": "Grid Connect",
"vendorLandingPageURL": "https://grid-connect.com.au/",
"creator": "cosmos1d9ut0ysdlw68r0705q8tagf7y9cf3d686fpf73"
},
{
"vendorID": 5124,
"vendorName": "Phaten",
"companyLegalName": "Shenzhen Phaten Technology Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.phaten.com",
"creator": "cosmos1h4rf0hjzf498s2lu0rf8m52ujst2gl7lpdnexs"
},
{
"vendorID": 5127,
"vendorName": "ThirdReality",
"companyLegalName": "Jiangsu Shushi Technology Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1qwnh6tj4n938g3fmncqna22zmfxx50vnd22yux"
},
{
"vendorID": 5136,
"vendorName": "Quectel",
"companyLegalName": "Quectel Wireless Solutions Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.quectel.com",
"creator": "cosmos1dqrg6w2jjs7sft59dpqngjzyfdjh4xjn5rjct5"
},
{
"vendorID": 5139,
"vendorName": "1Home",
"companyLegalName": "1Home Solutions GmbH",
"companyPreferredName": "",
"vendorLandingPageURL": "https://www.1home.io/",
"creator": "cosmos1nzyp28afpumk0djal2w35s2pcl0q3e57euplkq"
},
{
"vendorID": 5141,
"vendorName": "Caveman",
"companyLegalName": "Nanoleaf Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1smgmnl90h9srczk926l5kt7rydjpq7x0smc5e7"
},
{
"vendorID": 5145,
"vendorName": "Lorex",
"companyLegalName": "Lorex Technology Inc.",
"companyPreferredName": "Lorex",
"vendorLandingPageURL": "https://www.lorex.com/",
"creator": "cosmos1c98nn3uphuya0w4km5uzamjwpkawksf5g6h5m5"
},
{
"vendorID": 5147,
"vendorName": "Rang Dong VN",
"companyLegalName": "Rang Dong Light Source \u0026 Vacuum Flask JSC",
"companyPreferredName": "Rang Dong Light Source \u0026 Vacuum Flask JSC",
"vendorLandingPageURL": "https://rangdong.com.vn/",
"creator": "cosmos1023z8vredmrn7xlzjlrlv6wdqh0fpzs8jlc9rx"
},
{
"vendorID": 5150,
"vendorName": "TUO Accessories LLC",
"companyLegalName": "TUO Accessories LLC",
"companyPreferredName": "TUO Accessories",
"vendorLandingPageURL": "http://tuoaccessories.com",
"creator": "cosmos1vn34dnlqvz5e997ws53yfj6a2622duzf3gg80d"
},
{
"vendorID": 5151,
"vendorName": "Ductech",
"companyLegalName": "DUCTECH Co., Ltd.",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos18nqp48ce5k7j8qvuwk7tnzmckwsd8k2tlnj850"
},
{
"vendorID": 5165,
"vendorName": "QH",
"companyLegalName": "Zhongshan QIHANG Electronic Technology Co.",
"companyPreferredName": "QIHANG",
"vendorLandingPageURL": "https://zsqhkj.1688.com/",
"creator": "cosmos13zzg6t6gaz36p8ctguatrguwuep9wmza6lptet"
},
{
"vendorID": 5167,
"vendorName": "QIACHIP",
"companyLegalName": "Shenzhen QIACHIP Wireless E-commerce Co.",
"companyPreferredName": "QIACHIP",
"vendorLandingPageURL": "https://qiachip.com",
"creator": "cosmos1rhjya3hdvpyr2a3ur7s5hj48ce2qndyfcz07ht"
},
{
"vendorID": 24582,
"vendorName": "Google LLC",
"companyLegalName": "Google LLC",
"companyPreferredName": "",
"vendorLandingPageURL": "",
"creator": "cosmos1kelvhh6cy2vmaj5zczxj52k4nys2w4e2u3awvq"
}
],
"pagination": {
"next_key": null,
"total": "73"
}
}