[knx] Refactor manufacturer map (#15297)

* [knx] Refactor manufacturer map

This makes adding new manufacturers easy.

Signed-off-by: Jan N. Klug <github@klug.nrw>
This commit is contained in:
J-N-K 2023-07-24 23:09:46 +02:00 committed by GitHub
parent 6bc21bd856
commit 4c9f207a38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 334 additions and 354 deletions

View File

@ -12,7 +12,12 @@
*/
package org.openhab.binding.knx.internal;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.stream.Collectors;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.thing.ThingTypeUID;
@ -106,4 +111,26 @@ public class KNXBindingConstants {
public static final String STOP_MOVE_GA = "stopMove";
public static final String SWITCH_GA = "switch";
public static final String UP_DOWN_GA = "upDown";
public static final Map<Integer, String> MANUFACTURER_MAP = readManufacturerMap();
private static Map<Integer, String> readManufacturerMap() {
ClassLoader classLoader = KNXBindingConstants.class.getClassLoader();
if (classLoader == null) {
return Map.of();
}
try (InputStream is = classLoader.getResourceAsStream("manufacturer.properties")) {
if (is == null) {
return Map.of();
}
Properties properties = new Properties();
properties.load(is);
return properties.entrySet().stream()
.collect(Collectors.toMap(e -> Integer.parseInt((String) e.getKey()), e -> (String) e.getValue()));
} catch (IOException e) {
return Map.of();
}
}
}

View File

@ -22,7 +22,6 @@ import java.util.Set;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.knx.internal.handler.Manufacturer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -126,8 +125,8 @@ public class DeviceInspector {
OPERATION_TIMEOUT);
if ((elements == null ? 0 : toUnsigned(elements)) == 1) {
Thread.sleep(OPERATION_INTERVAL);
String manufacturerID = Manufacturer.getName(toUnsigned(getClient().readDeviceProperties(address,
DEVICE_OBJECT, PID.MANUFACTURER_ID, 1, 1, false, OPERATION_TIMEOUT)));
String manufacturerId = MANUFACTURER_MAP.getOrDefault(toUnsigned(getClient().readDeviceProperties(address,
DEVICE_OBJECT, PID.MANUFACTURER_ID, 1, 1, false, OPERATION_TIMEOUT)), "Unknown");
Thread.sleep(OPERATION_INTERVAL);
String serialNo = toHex(getClient().readDeviceProperties(address, DEVICE_OBJECT, PID.SERIAL_NUMBER, 1, 1,
@ -260,7 +259,7 @@ public class DeviceInspector {
// allowed to fail, optional
}
ret.put(MANUFACTURER_NAME, manufacturerID);
ret.put(MANUFACTURER_NAME, manufacturerId);
if (serialNo != null) {
ret.put(MANUFACTURER_SERIAL_NO, serialNo);
}
@ -272,7 +271,7 @@ public class DeviceInspector {
}
ret.put(MAX_APDU_LENGTH, maxApdu);
logger.debug("Identified device {} as {}, type {}, revision {}, serial number {}, max APDU {}", address,
manufacturerID, hardwareType, firmwareRevision, serialNo, maxApdu);
manufacturerId, hardwareType, firmwareRevision, serialNo, maxApdu);
} else {
logger.debug("The KNX device with address {} does not expose a Device Object", address);
}

View File

@ -1,349 +0,0 @@
/**
* Copyright (c) 2010-2023 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.knx.internal.handler;
import org.eclipse.jdt.annotation.NonNullByDefault;
/**
* Enumeration containing all the KNX device manufactureres.
*
* @author Karel Goderis - Initial contribution
*/
@NonNullByDefault
public enum Manufacturer {
M1(1, "Siemens"),
M2(2, "ABB"),
M4(4, "Albrecht Jung"),
M5(5, "Bticino"),
M6(6, "Berker"),
M7(7, "Busch-Jaeger Elektro"),
M8(8, "GIRA Giersiepen"),
M9(9, "Hager Electro"),
M10(10, "INSTA ELEKTRO"),
M11(11, "LEGRAND Appareillage électrique"),
M12(12, "Merten"),
M14(14, "ABB SpA SACE Division"),
M22(22, "Siedle & Söhne"),
M24(24, "Eberle"),
M25(25, "GEWISS"),
M27(27, "Albert Ackermann"),
M28(28, "Schupa GmbH"),
M29(29, "ABB SCHWEIZ"),
M30(30, "Feller"),
M32(32, "DEHN & SÖHNE"),
M33(33, "CRABTREE"),
M34(34, "eVoKNX"),
M36(36, "Paul Hochköpper"),
M37(37, "Altenburger Electronic"),
M41(41, "Grässlin"),
M42(42, "Simon"),
M44(44, "VIMAR"),
M45(45, "Moeller Gebäudeautomation KG"),
M46(46, "Eltako"),
M49(49, "Bosch-Siemens Haushaltsgeräte"),
M52(52, "RITTO GmbH&Co.KG"),
M53(53, "Power Controls"),
M55(55, "ZUMTOBEL"),
M57(57, "Phoenix Contact"),
M61(61, "WAGO Kontakttechnik"),
M66(66, "Wieland Electric"),
M67(67, "Hermann Kleinhuis"),
M69(69, "Stiebel Eltron"),
M71(71, "Tehalit"),
M72(72, "Theben AG"),
M73(73, "Wilhelm Rutenbeck"),
M75(75, "Winkhaus"),
M76(76, "Robert Bosch"),
M78(78, "Somfy"),
M80(80, "Woertz"),
M81(81, "Viessmann Werke"),
M82(82, "Theodor HEIMEIER Metallwerk"),
M83(83, "Joh. Vaillant"),
M85(85, "AMP Deutschland"),
M89(89, "Bosch Thermotechnik GmbH"),
M90(90, "SEF - ECOTEC"),
M92(92, "DORMA GmbH + Co. KG"),
M93(93, "WindowMaster A/S"),
M94(94, "Walther Werke"),
M95(95, "ORAS"),
M97(97, "Dätwyler"),
M98(98, "Electrak"),
M99(99, "Techem"),
M100(100, "Schneider Electric Industries SAS"),
M101(101, "WHD Wilhelm Huber + Söhne"),
M102(102, "Bischoff Elektronik"),
M104(104, "JEPAZ"),
M105(105, "RTS Automation"),
M106(106, "EIBMARKT GmbH"),
M107(107, "WAREMA electronic GmbH"),
M108(108, "Eelectron"),
M109(109, "Belden Wire & Cable B.V."),
M110(110, "Becker-Antriebe GmbH"),
M111(111, "J.Stehle+Söhne GmbH"),
M112(112, "AGFEO"),
M113(113, "Zennio"),
M114(114, "TAPKO Technologies"),
M115(115, "HDL"),
M116(116, "Uponor"),
M117(117, "se Lightmanagement AG"),
M118(118, "Arcus-eds"),
M119(119, "Intesis"),
M120(120, "Herholdt Controls srl"),
M121(121, "Zublin AG"),
M122(122, "Durable Technologies"),
M123(123, "Innoteam"),
M124(124, "ise GmbH"),
M125(125, "TEAM FOR TRONICS"),
M126(126, "CIAT"),
M127(127, "Remeha BV"),
M128(128, "ESYLUX"),
M129(129, "BASALTE"),
M130(130, "Vestamatic"),
M131(131, "MDT technologies"),
M132(132, "Warendorfer Küchen GmbH"),
M133(133, "Video-Star"),
M134(134, "Sitek"),
M135(135, "CONTROLtronic"),
M136(136, "function Technology"),
M137(137, "AMX"),
M138(138, "ELDAT"),
M139(139, "VIKO"),
M140(140, "Pulse Technologies"),
M141(141, "Crestron"),
M142(142, "STEINEL professional"),
M143(143, "BILTON LED Lighting"),
M144(144, "denro AG"),
M145(145, "GePro"),
M146(146, "preussen automation"),
M147(147, "Zoppas Industries"),
M148(148, "MACTECH"),
M149(149, "TECHNO-TREND"),
M150(150, "FS Cables"),
M151(151, "Delta Dore"),
M152(152, "Eissound"),
M153(153, "Cisco"),
M154(154, "Dinuy"),
M155(155, "iKNiX"),
M156(156, "Rademacher Geräte-Elektronik GmbH & Co. KG"),
M157(157, "EGi Electroacustica General Iberica"),
M158(158, "Ingenium"),
M159(159, "ElabNET"),
M160(160, "Blumotix"),
M161(161, "Hunter Douglas"),
M162(162, "APRICUM"),
M163(163, "TIANSU Automation"),
M164(164, "Bubendorff"),
M165(165, "MBS GmbH"),
M166(166, "Enertex Bayern GmbH"),
M167(167, "BMS"),
M168(168, "Sinapsi"),
M169(169, "Embedded Systems SIA"),
M170(170, "KNX1"),
M171(171, "Tokka"),
M172(172, "NanoSense"),
M173(173, "PEAR Automation GmbH"),
M174(174, "DGA"),
M175(175, "Lutron"),
M176(176, "AIRZONE ALTRA"),
M177(177, "Lithoss Design Switches"),
M178(178, "3ATEL"),
M179(179, "Philips Controls"),
M180(180, "VELUX A/S"),
M181(181, "LOYTEC"),
M182(182, "SBS S.p.A."),
M183(183, "SIRLAN Technologies"),
M184(184, "Bleu Comm' Azur"),
M185(185, "IT GmbH"),
M186(186, "RENSON"),
M187(187, "HEP Group"),
M188(188, "Balmart"),
M189(189, "GFS GmbH"),
M190(190, "Schenker Storen AG"),
M191(191, "Algodue Elettronica S.r.L."),
M192(192, "Newron System"),
M193(193, "maintronic"),
M194(194, "Vantage"),
M195(195, "Foresis"),
M196(196, "Research & Production Association SEM"),
M197(197, "Weinzierl Engineering GmbH"),
M198(198, "Möhlenhoff Wärmetechnik GmbH"),
M199(199, "PKC-GROUP Oyj"),
M200(200, "B.E.G."),
M201(201, "Elsner Elektronik GmbH"),
M202(202, "Siemens Building Technologies (HK/China) Ltd."),
M204(204, "Eutrac"),
M205(205, "Gustav Hensel GmbH & Co. KG"),
M206(206, "GARO AB"),
M207(207, "Waldmann Lichttechnik"),
M208(208, "SCHÜCO"),
M209(209, "EMU"),
M210(210, "JNet Systems AG"),
M214(214, "O.Y.L. Electronics"),
M215(215, "Galax System"),
M216(216, "Disch"),
M217(217, "Aucoteam"),
M218(218, "Luxmate Controls"),
M219(219, "Danfoss"),
M220(220, "AST GmbH"),
M222(222, "WILA Leuchten"),
M223(223, "b+b Automations- und Steuerungstechnik"),
M225(225, "Lingg & Janke"),
M227(227, "Sauter"),
M228(228, "SIMU"),
M232(232, "Theben HTS AG"),
M233(233, "Amann GmbH"),
M234(234, "BERG Energiekontrollsysteme GmbH"),
M235(235, "Hüppe Form Sonnenschutzsysteme GmbH"),
M237(237, "Oventrop KG"),
M238(238, "Griesser AG"),
M239(239, "IPAS GmbH"),
M240(240, "elero GmbH"),
M241(241, "Ardan Production and Industrial Controls Ltd."),
M242(242, "Metec Meßtechnik GmbH"),
M244(244, "ELKA-Elektronik GmbH"),
M245(245, "ELEKTROANLAGEN D. NAGEL"),
M246(246, "Tridonic Bauelemente GmbH"),
M248(248, "Stengler Gesellschaft"),
M249(249, "Schneider Electric (MG)"),
M250(250, "KNX Association"),
M251(251, "VIVO"),
M252(252, "Hugo Müller GmbH & Co KG"),
M253(253, "Siemens HVAC"),
M254(254, "APT"),
M256(256, "HighDom"),
M257(257, "Top Services"),
M258(258, "ambiHome"),
M259(259, "DATEC electronic AG"),
M260(260, "ABUS Security-Center"),
M261(261, "Lite-Puter"),
M262(262, "Tantron Electronic"),
M263(263, "Yönnet"),
M264(264, "DKX Tech"),
M265(265, "Viatron"),
M266(266, "Nautibus"),
M268(268, "Longchuang"),
M269(269, "Air-On AG"),
M270(270, "ib-company GmbH"),
M271(271, "SATION"),
M272(272, "Agentilo GmbH"),
M273(273, "Makel Elektrik"),
M274(274, "Helios Ventilatoren"),
M275(275, "Otto Solutions Pte Ltd"),
M276(276, "Airmaster"),
M277(277, "HEINEMANN GmbH"),
M278(278, "LDS"),
M279(279, "ASIN"),
M280(280, "Bridges"),
M281(281, "ARBONIA"),
M282(282, "KERMI"),
M283(283, "PROLUX"),
M284(284, "ClicHome"),
M285(285, "COMMAX"),
M286(286, "EAE"),
M287(287, "Tense"),
M288(288, "Seyoung Electronics"),
M289(289, "Lifedomus"),
M290(290, "EUROtronic Technology GmbH"),
M291(291, "tci"),
M292(292, "Rishun Electronic"),
M293(293, "Zipato"),
M294(294, "cm-security GmbH & Co KG"),
M295(295, "Qing Cables"),
M296(296, "LABIO"),
M297(297, "Coster Tecnologie Elettroniche S.p.A."),
M298(298, "E.G.E"),
M299(299, "NETxAutomation"),
M300(300, "tecalor"),
M301(301, "Urmet Electronics (Huizhou) Ltd."),
M302(302, "Peiying Building Control"),
M303(303, "BPT S.p.A. a Socio Unico"),
M304(304, "Kanontec - KanonBUS"),
M305(305, "ISER Tech"),
M306(306, "Fineline"),
M307(307, "CP Electronics Ltd"),
M308(308, "Servodan A/S"),
M309(309, "Simon"),
M310(310, "GM modular pvt. Ltd."),
M311(311, "FU CHENG Intelligence"),
M312(312, "NexKon"),
M313(313, "FEEL s.r.l"),
M314(314, "Not Assigned"),
M315(315, "Shenzhen Fanhai Sanjiang Electronics Co., Ltd."),
M316(316, "Jiuzhou Greeble"),
M317(317, "Aumüller Aumatic GmbH"),
M318(318, "Etman Electric"),
M319(319, "EMT Controls"),
M320(320, "ZidaTech AG"),
M321(321, "IDGS bvba"),
M322(322, "dakanimo"),
M323(323, "Trebor Automation AB"),
M324(324, "Satel sp. z o.o."),
M325(325, "Russound, Inc."),
M326(326, "Midea Heating & Ventilating Equipment CO LTD"),
M327(327, "Consorzio Terranuova"),
M328(328, "Wolf Heiztechnik GmbH"),
M329(329, "SONTEC"),
M330(330, "Belcom Cables Ltd."),
M331(331, "Guangzhou SeaWin Electrical Technologies Co., Ltd."),
M332(332, "Acrel"),
M333(333, "Franke Aquarotter GmbH"),
M334(334, "Orion Systems"),
M335(335, "Schrack Technik GmbH"),
M336(336, "INSPRID"),
M337(337, "Sunricher"),
M338(338, "Menred automation system(shanghai) Co.,Ltd."),
M339(339, "Aurex"),
M340(340, "Josef Barthelme GmbH & Co. KG"),
M341(341, "Architecture Numerique"),
M342(342, "UP GROUP"),
M343(343, "Teknos-Avinno"),
M344(344, "Ningbo Dooya Mechanic & Electronic Technology"),
M345(345, "Thermokon Sensortechnik GmbH"),
M346(346, "BELIMO Automation AG"),
M347(347, "Zehnder Group International AG"),
M348(348, "sks Kinkel Elektronik"),
M349(349, "ECE Wurmitzer GmbH"),
M350(350, "LARS"),
M351(351, "URC"),
M352(352, "LightControl"),
M353(353, "ShenZhen YM"),
M354(354, "MEAN WELL Enterprises Co. Ltd."),
M355(355, "OSix"),
M356(356, "AYPRO Technology"),
M357(357, "Hefei Ecolite Software"),
M358(358, "Enno"),
M359(359, "Ohosure"),
M373(373, "ZF Friedrichshafen AG");
private int code;
private String name;
private Manufacturer(int code, String name) {
this.code = code;
this.name = name;
}
@Override
public String toString() {
return name;
}
public static String getName(int code) {
for (Manufacturer c : Manufacturer.values()) {
if (c.code == code) {
return c.name;
}
}
return "Unknown (" + code + ")";
}
}

View File

@ -0,0 +1,303 @@
1 = Siemens
2 = ABB
4 = Albrecht Jung
5 = Bticino
6 = Berker
7 = Busch-Jaeger Elektro
8 = GIRA Giersiepen
9 = Hager Electro
10 = INSTA ELEKTRO
11 = LEGRAND Appareillage électrique
12 = Merten
14 = ABB SpA SACE Division
22 = Siedle & Söhne
24 = Eberle
25 = GEWISS
27 = Albert Ackermann
28 = Schupa GmbH
29 = ABB SCHWEIZ
30 = Feller
32 = DEHN & SÖHNE
33 = CRABTREE
34 = eVoKNX
36 = Paul Hochköpper
37 = Altenburger Electronic
41 = Grässlin
42 = Simon
44 = VIMAR
45 = Moeller Gebäudeautomation KG
46 = Eltako
49 = Bosch-Siemens Haushaltsgeräte
52 = RITTO GmbH&Co.KG
53 = Power Controls
55 = ZUMTOBEL
57 = Phoenix Contact
61 = WAGO Kontakttechnik
66 = Wieland Electric
67 = Hermann Kleinhuis
69 = Stiebel Eltron
71 = Tehalit
72 = Theben AG
73 = Wilhelm Rutenbeck
75 = Winkhaus
76 = Robert Bosch
78 = Somfy
80 = Woertz
81 = Viessmann Werke
82 = Theodor HEIMEIER Metallwerk
83 = Joh. Vaillant
85 = AMP Deutschland
89 = Bosch Thermotechnik GmbH
90 = SEF - ECOTEC
92 = DORMA GmbH + Co. KG
93 = WindowMaster A/S
94 = Walther Werke
95 = ORAS
97 = Dätwyler
98 = Electrak
99 = Techem
100 = Schneider Electric Industries SAS
101 = WHD Wilhelm Huber + Söhne
102 = Bischoff Elektronik
104 = JEPAZ
105 = RTS Automation
106 = EIBMARKT GmbH
107 = WAREMA electronic GmbH
108 = Eelectron
109 = Belden Wire & Cable B.V.
110 = Becker-Antriebe GmbH
111 = J.Stehle+Söhne GmbH
112 = AGFEO
113 = Zennio
114 = TAPKO Technologies
115 = HDL
116 = Uponor
117 = se Lightmanagement AG
118 = Arcus-eds
119 = Intesis
120 = Herholdt Controls srl
121 = Zublin AG
122 = Durable Technologies
123 = Innoteam
124 = ise GmbH
125 = TEAM FOR TRONICS
126 = CIAT
127 = Remeha BV
128 = ESYLUX
129 = BASALTE
130 = Vestamatic
131 = MDT technologies
132 = Warendorfer Küchen GmbH
133 = Video-Star
134 = Sitek
135 = CONTROLtronic
136 = function Technology
137 = AMX
138 = ELDAT
139 = VIKO
140 = Pulse Technologies
141 = Crestron
142 = STEINEL professional
143 = BILTON LED Lighting
144 = denro AG
145 = GePro
146 = preussen automation
147 = Zoppas Industries
148 = MACTECH
149 = TECHNO-TREND
150 = FS Cables
151 = Delta Dore
152 = Eissound
153 = Cisco
154 = Dinuy
155 = iKNiX
156 = Rademacher Geräte-Elektronik GmbH & Co. KG
157 = EGi Electroacustica General Iberica
158 = Ingenium
159 = ElabNET
160 = Blumotix
161 = Hunter Douglas
162 = APRICUM
163 = TIANSU Automation
164 = Bubendorff
165 = MBS GmbH
166 = Enertex Bayern GmbH
167 = BMS
168 = Sinapsi
169 = Embedded Systems SIA
170 = KNX1
171 = Tokka
172 = NanoSense
173 = PEAR Automation GmbH
174 = DGA
175 = Lutron
176 = AIRZONE ALTRA
177 = Lithoss Design Switches
178 = 3ATEL
179 = Philips Controls
180 = VELUX A/S
181 = LOYTEC
182 = SBS S.p.A.
183 = SIRLAN Technologies
184 = Bleu Comm' Azur
185 = IT GmbH
186 = RENSON
187 = HEP Group
188 = Balmart
189 = GFS GmbH
190 = Schenker Storen AG
191 = Algodue Elettronica S.r.L.
192 = Newron System
193 = maintronic
194 = Vantage
195 = Foresis
196 = Research & Production Association SEM
197 = Weinzierl Engineering GmbH
198 = Möhlenhoff Wärmetechnik GmbH
199 = PKC-GROUP Oyj
200 = B.E.G.
201 = Elsner Elektronik GmbH
202 = Siemens Building Technologies (HK/China) Ltd.
204 = Eutrac
205 = Gustav Hensel GmbH & Co. KG
206 = GARO AB
207 = Waldmann Lichttechnik
208 = SCHÜCO
209 = EMU
210 = JNet Systems AG
214 = O.Y.L. Electronics
215 = Galax System
216 = Disch
217 = Aucoteam
218 = Luxmate Controls
219 = Danfoss
220 = AST GmbH
222 = WILA Leuchten
223 = b+b Automations- und Steuerungstechnik
225 = Lingg & Janke
227 = Sauter
228 = SIMU
232 = Theben HTS AG
233 = Amann GmbH
234 = BERG Energiekontrollsysteme GmbH
235 = Hüppe Form Sonnenschutzsysteme GmbH
237 = Oventrop KG
238 = Griesser AG
239 = IPAS GmbH
240 = elero GmbH
241 = Ardan Production and Industrial Controls Ltd.
242 = Metec Meßtechnik GmbH
244 = ELKA-Elektronik GmbH
245 = ELEKTROANLAGEN D. NAGEL
246 = Tridonic Bauelemente GmbH
248 = Stengler Gesellschaft
249 = Schneider Electric (MG)
250 = KNX Association
251 = VIVO
252 = Hugo Müller GmbH & Co KG
253 = Siemens HVAC
254 = APT
256 = HighDom
257 = Top Services
258 = ambiHome
259 = DATEC electronic AG
260 = ABUS Security-Center
261 = Lite-Puter
262 = Tantron Electronic
263 = Yönnet
264 = DKX Tech
265 = Viatron
266 = Nautibus
268 = Longchuang
269 = Air-On AG
270 = ib-company GmbH
271 = SATION
272 = Agentilo GmbH
273 = Makel Elektrik
274 = Helios Ventilatoren
275 = Otto Solutions Pte Ltd
276 = Airmaster
277 = HEINEMANN GmbH
278 = LDS
279 = ASIN
280 = Bridges
281 = ARBONIA
282 = KERMI
283 = PROLUX
284 = ClicHome
285 = COMMAX
286 = EAE
287 = Tense
288 = Seyoung Electronics
289 = Lifedomus
290 = EUROtronic Technology GmbH
291 = tci
292 = Rishun Electronic
293 = Zipato
294 = cm-security GmbH & Co KG
295 = Qing Cables
296 = LABIO
297 = Coster Tecnologie Elettroniche S.p.A.
298 = E.G.E
299 = NETxAutomation
300 = tecalor
301 = Urmet Electronics (Huizhou) Ltd.
302 = Peiying Building Control
303 = BPT S.p.A. a Socio Unico
304 = Kanontec - KanonBUS
305 = ISER Tech
306 = Fineline
307 = CP Electronics Ltd
308 = Servodan A/S
309 = Simon
310 = GM modular pvt. Ltd.
311 = FU CHENG Intelligence
312 = NexKon
313 = FEEL s.r.l
314 = Not Assigned
315 = Shenzhen Fanhai Sanjiang Electronics Co., Ltd.
316 = Jiuzhou Greeble
317 = Aumüller Aumatic GmbH
318 = Etman Electric
319 = EMT Controls
320 = ZidaTech AG
321 = IDGS bvba
322 = dakanimo
323 = Trebor Automation AB
324 = Satel sp. z o.o.
325 = Russound, Inc.
326 = Midea Heating & Ventilating Equipment CO LTD
327 = Consorzio Terranuova
328 = Wolf Heiztechnik GmbH
329 = SONTEC
330 = Belcom Cables Ltd.
331 = Guangzhou SeaWin Electrical Technologies Co., Ltd.
332 = Acrel
333 = Franke Aquarotter GmbH
334 = Orion Systems
335 = Schrack Technik GmbH
336 = INSPRID
337 = Sunricher
338 = Menred automation system(shanghai) Co.,Ltd.
339 = Aurex
340 = Josef Barthelme GmbH & Co. KG
341 = Architecture Numerique
342 = UP GROUP
343 = Teknos-Avinno
344 = Ningbo Dooya Mechanic & Electronic Technology
345 = Thermokon Sensortechnik GmbH
346 = BELIMO Automation AG
347 = Zehnder Group International AG
348 = sks Kinkel Elektronik
349 = ECE Wurmitzer GmbH
350 = LARS
351 = URC
352 = LightControl
353 = ShenZhen YM
354 = MEAN WELL Enterprises Co. Ltd.
355 = OSix
356 = AYPRO Technology
357 = Hefei Ecolite Software
358 = Enno
359 = Ohosure
373 = ZF Friedrichshafen AG