2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.luxtronikheatpump.internal.enums;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
20 * Represents all heat pump types
22 * @author Stefan Giehl - Initial contribution
25 public enum HeatpumpType {
41 TYPE_L1I407(15, "L1I407"),
42 TYPE_L2I407(16, "L2I407"),
43 TYPE_L1A407(17, "L1A407"),
44 TYPE_L2A407(18, "L2A407"),
45 TYPE_L2G407(19, "L2G407"),
46 TYPE_LWC407(20, "LWC407"),
47 TYPE_L1AREV(21, "L1AREV"),
48 TYPE_L2AREV(22, "L2AREV"),
49 TYPE_WWC1(23, "WWC1"),
50 TYPE_WWC2(24, "WWC2"),
51 TYPE_L2G404(25, "L2G404"),
56 TYPE_WZWD(30, "WZWD"),
58 TYPE_WWB_20(40, "WWB_20"),
61 TYPE_SW_37_45(43, "SW 37_45"),
62 TYPE_SW_58_69(44, "SW 58_69"),
63 TYPE_SW_29_56(45, "SW 29_56"),
64 TYPE_LD5_230V(46, "LD5 (230V)"),
65 TYPE_LD7_230V(47, "LD7 (230 V)"),
67 TYPE_LD5_REV(49, "LD5 REV"),
68 TYPE_LD7_REV(50, "LD7 REV"),
69 TYPE_LD5_REV_230V(51, "LD5 REV 230V"),
70 TYPE_LD7_REV_230V(52, "LD7 REV 230V"),
71 TYPE_LD9_REV_230V(53, "LD9 REV 230V"),
72 TYPE_SW_291(54, "SW 291"),
73 TYPE_LW_SEC(55, "LW SEC"),
74 TYPE_HMD_2(56, "HMD 2"),
75 TYPE_MSW_4(57, "MSW 4"),
76 TYPE_MSW_6(58, "MSW 6"),
77 TYPE_MSW_8(59, "MSW 8"),
78 TYPE_MSW_10(60, "MSW 10"),
79 TYPE_MSW_12(61, "MSW 12"),
80 TYPE_MSW_14(62, "MSW 14"),
81 TYPE_MSW_17(63, "MSW 17"),
82 TYPE_MSW_19(64, "MSW 19"),
83 TYPE_MSW_23(65, "MSW 23"),
84 TYPE_MSW_26(66, "MSW 26"),
85 TYPE_MSW_30(67, "MSW 30"),
86 TYPE_MSW_4S(68, "MSW 4S"),
87 TYPE_MSW_6S(69, "MSW 6S"),
88 TYPE_MSW_8S(70, "MSW 8S"),
89 TYPE_MSW_10S(71, "MSW 10S"),
90 TYPE_MSW_13S(72, "MSW 13S"),
91 TYPE_MSW_16S(73, "MSW 16S"),
92 TYPE_MSW2_6S(74, "MSW2-6S"),
93 TYPE_MSW4_16(75, "MSW4-16"),
94 TYPE_LD2AG(76, "LD2AG"),
95 TYPE_LWD90V(77, "LWD90V"),
96 TYPE_MSW3_12(78, "MSW3-12"),
97 TYPE_MSW3_12S(79, "MSW3-12S"),
98 TYPE_MSW2_9S(80, "MSW2-9S"),
100 TYPE_LW12(82, "LW 12"),
101 TYPE_UNKNOWN(-1, "Unknown");
103 private final String name;
104 private final Integer code;
105 private static final Logger logger = LoggerFactory.getLogger(HeatpumpType.class);
107 private HeatpumpType(Integer code, String name) {
112 public static final HeatpumpType fromCode(Integer code) {
113 for (HeatpumpType error : HeatpumpType.values()) {
114 if (error.code.equals(code)) {
119 logger.warn("Unknown heatpump type code {}", code);
124 public String getName() {
129 public String toString() {
130 return code + ": " + name;