from enum import IntEnum class Manufacturer(IntEnum): RESERVED = (0x000, "Reserved") PEHA = (0x001, "PEHA") THERMOKON = (0x002, "Thermokon") SERVODAN = (0x003, "Servodan") ECHOFLEX_SOLUTIONS = (0x004, "Echoflex Solutions") AWAG_ELEKTROTECHNIK_AG = (0x005, "AWAG Elektrotechnik AG") HARDMEIER_ELECTRONICS = (0x006, "Hardmeier Electronics") REGULVAR_INC = (0x007, "Regulvar Inc.") AD_HOC_ELECTRONICS = (0x008, "Ad Hoc Electronics") DISTECH_CONTROLS = (0x009, "Distech Controls") KIEBACK_AND_PETER = (0x00A, "Kieback & Peter") ENOCEAN_GMBH = (0x00B, "EnOcean GmbH") VICOS_GMBH = (0x00C, "ViCOS GmbH") ELTAKO = (0x00D, "Eltako") LEVITON = (0x00E, "Leviton") HONEYWELL = (0x00F, "Honeywell") SPARTAN_PERIPHERAL_DEVICES = (0x010, "Spartan Peripheral Devices") SIEMENS = (0x011, "Siemens") T_MAC = (0x012, "T-MAC") RELIABLE_CONTROLS_CORPORATION = (0x013, "Reliable Controls Corporation") ELSNER_ELEKTRONIK_GMBH = (0x014, "Elsner Elektronik GmbH") DIEHL_CONTROLS = (0x015, "Diehl Controls") BSC_COMPUTER = (0x016, "BSC Computer") S_AND_S_REGELTECHNIK_GMBH = (0x017, "S+S Regeltechnik GmbH") ZENO_CONTROLS = (0x018, "Zeno Controls or Masco Corporation") MASCO_CORPORATION = (0x018, "Zeno Controls or Masco Corporation") INTESIS_SOFTWARE_SL = (0x019, "Intesis Software S.L.") VIESSMANN = (0x01A, "Viessmann") LUTUO_TECHNOLOGY = (0x01B, "Lutuo Technology") CAN2GO = (0x01C, "Can2Go") SAUTER = (0x01D, "Sauter") BOOT_UP = (0x01E, "Boot-Up") OSRAM_SYLVANIA = (0x01F, "Osram Sylvania") UNOTECH = (0x020, "Unotech") DELTA_CONTROLS_INC = (0x021, "Delta Controls Inc.") UNITRONIC_AG = (0x022, "Unitronic AG") NANOSENSE = (0x023, "Nanosense") THE_S4_GROUP = (0x024, "The S4 Group") MSR_SOLUTIONS = (0x025, "MSR Solutions GmbH (Viessmann Hausautomation GmbH)") GE = (0x026, "GE") MAICO = (0x027, "Maico") RUSKIN_COMPANY = (0x028, "Ruskin Company") MAGNUM_ENERGY_SOLUTIONS = (0x029, "Magnum Energy Solutions") KMC_CONTROLS = (0x02A, "KMC Controls") ECOLOGIX_CONTROLS = (0x02B, "Ecologix Controls") TRIO_2_SYS = (0x02C, "Trio 2 Sys") AFRISO_EURO_INDEX = (0x02D, "Afriso Euro Index") WALDMANN_GMBH = (0x02E, "Waldmann GmbH") NEC_PLATFORMS_LTD = (0x030, "NEC Platforms Ltd.") ITEC_CORPORATION = (0x031, "ITEC Corporation") SIMICX_CO_LTD = (0x032, "Simicx Co., Ltd.") PERMUNDO_GMBH = (0x033, "Permundo GmbH") EUROTRONIC_TECHNOLOGY_GMBH = (0x034, "Eurotronic Technology GmbH") ART_JAPAN_CO_LTD = (0x035, "ART Japan Co., Ltd.") TIANSU_AUTOMATION_CONTROL_SYSTEM_CO_LTD = ( 0x036, "Tiansu Automation Control System Co., Ltd.", ) WEINZIERL_ENGINEERING_GMBH = (0x037, "Weinzierl Engineering GmbH") GRUPPO_GIORDANO_IDEA_SPA = (0x038, "Gruppo Giordano Idea S.p.A.") ALPHAEOS_AG = (0x039, "AlphaEOS AG") TAG_TECHNOLOGIES = (0x03A, "TAG Technologies") WATTSTOPPER = (0x03B, "Wattstopper") PRESSAC_COMMUNICATIONS_LTD = (0x03C, "Pressac Communications Ltd.") GIGA_CONCEPT = (0x03E, "Giga Concept") SENSORTEC = (0x03F, "Sensortec") JAEGER_DIREKT = (0x040, "JÄGER DIREKT - Jäger Fischer GmbH & Co. KG") AIR_SYSTEM_COMPONENTS_INC = (0x041, "Air System Components Inc.") ERMINE_CORP = (0x042, "Ermine Corp.") SODA_GMBH = (0x043, "Soda GmbH") EKE_AUTOMATION = (0x044, "EKE Automation") HOLTER_REGELARMATUREN = (0x045, "Holter Regelarmaturen") ID_RF = (0x046, "ID RF") DEUTA_CONTROLS_GMBH = (0x047, "Deuta Controls GmbH") EWATTCH = (0x048, "eWattch") MICROPELT = (0x049, "Micropelt") CALEFFI_SPA = (0x04A, "Caleffi S.p.A.") DIGITAL_CONCEPTS = (0x04B, "Digital Concepts") EMERSON_CLIMATE_TECHNOLOGIES = (0x04C, "Emerson Climate Technologies") ADEE_ELECTRONIC = (0x04D, "ADEE Electronic") ALTECON = (0x04E, "Altecon") NANJING_PUTIAN_TELECOMMUNICATIONS = (0x04F, "Nanjing Putian Telecommunications") TERRALUX = (0x050, "Terralux") MENRED = (0x051, "Menred") IEXERGY_GMBH = (0x052, "iExergy GmbH") OVENTROP_GMBH = (0x053, "Oventrop GmbH") BUILDING_AUTOMATION_PRODUCTS_INC = (0x054, "Building Automation Products Inc.") FUNCTIONAL_DEVICES_INC = (0x055, "Functional Devices Inc.") OGGA = (0x056, "Ogga") ITHO_DAALDEROP = (0x057, "Itho Daalderop") RESOL = (0x058, "Resol") ADVANCED_DEVICES = (0x059, "Advanced Devices") AUTANI_LCC = (0x05A, "Autani LLC") DR_RIEDEL_GMBH = (0x05B, "Dr. Riedel GmbH") HOPPE_HOLDING_AG = (0x05C, "Hoppe Holding AG") SIEGENIA_AUBI_KG = (0x05D, "Siegenia-Aubi KG") ADEO_SERVICES = (0x05E, "Adeo Services") EIMSIG_EFP_GMBH = (0x05F, "Eimsig EFP GmbH") VIMAR_SPA = (0x060, "Vimar S.p.A.") GLEN_DIMPLEX_GMBH = (0x061, "Glen Dimplex GmbH") PMDM_GMBH = (0x062, "PMDM GmbH") HUBBEL_LIGHTNING = (0x063, "Hubbell Lighting") DEBFLEX = (0x064, "Debflex") PERIFACTORY_SENSORSYSTEMS = (0x065, "Perifactory Sensorsystems") WATTY_CORP = (0x066, "Watty Corp.") WAGO_KONTAKTTECHNIK = (0x067, "WAGO Kontakttechnik") KESSEL = (0x068, "Kessel") AUG_WINKHAUS = (0x069, "Aug. Winkhaus") DECELECT = (0x06A, "Decelect") MST_INDUSTRIES = (0x06B, "MST Industries") BECKER_ANTRIEBE = (0x06C, "Becker Antriebe") NEXELEC = (0x06D, "Nexelec") WIELAND_ELECTRIC = (0x06E, "Wieland Electric") AVIDSEN = (0x06F, "Avidsen") CWS_BOCO_INTERNATIONAL = (0x070, "CWS-boco International") ROTO_FRANK = (0x071, "Roto Frank") ALM_CONTROLS = (0x072, "ALM Controls") TOMMASO_TECHNOLOGIES = (0x073, "Tommaso Technologies") REHAU = (0x074, "Rehau") MULTI_USER_MANUFACTURER = (0x7FF, "Multi-User Manufacturer") def __new__(cls, value, friendly_name): obj = int.__new__(cls, value) obj._value_ = value obj.friendly_name = friendly_name return obj def __str__(self): return self.friendly_name