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.avmfritz.internal.dto;
15 import static org.openhab.binding.avmfritz.internal.AVMFritzBindingConstants.*;
17 import java.math.BigDecimal;
19 import javax.xml.bind.annotation.XmlAccessType;
20 import javax.xml.bind.annotation.XmlAccessorType;
21 import javax.xml.bind.annotation.XmlRootElement;
22 import javax.xml.bind.annotation.XmlType;
25 * See {@link DeviceListModel}.
27 * @author Robert Bausdorf - Initial contribution
28 * @author Christoph Weitkamp - Added new channels `locked`, `mode` and `radiator_mode`
31 @XmlAccessorType(XmlAccessType.FIELD)
32 @XmlType(propOrder = { "state", "mode", "lock", "devicelock" })
33 @XmlRootElement(name = "switch")
34 public class SwitchModel {
35 public static final BigDecimal ON = BigDecimal.ONE;
36 public static final BigDecimal OFF = BigDecimal.ZERO;
37 public static final String MODE_FRITZ_AUTO = "auto";
38 public static final String MODE_FRITZ_MANUAL = "manuell";
40 private BigDecimal state;
42 private BigDecimal lock;
43 private BigDecimal devicelock;
45 public BigDecimal getState() {
49 public void setState(BigDecimal state) {
53 public String getMode() {
54 if (MODE_FRITZ_AUTO.equals(mode)) {
61 public void setMode(String mode) {
65 public BigDecimal getLock() {
69 public void setLock(BigDecimal lock) {
73 public BigDecimal getDevicelock() {
77 public void setDevicelock(BigDecimal devicelock) {
78 this.devicelock = devicelock;
82 public String toString() {
83 return new StringBuilder().append("[state=").append(state).append(",mode=").append(getMode()).append(",lock=")
84 .append(lock).append(",devicelock=").append(devicelock).append("]").toString();