]> git.basschouten.com Git - openhab-addons.git/blob
815536cc06e244e271e28165e03afea92470fca4
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.enocean.internal.eep.A5_10;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.enocean.internal.messages.ERP1Message;
17
18 /**
19  * From A5_10_15 up to A5_10_17 temperature is given as a 10Bit value (range: 1023..0).
20  * Therefore higher values mean lower temperatures.
21  * Temperature range -10..41.2.
22  * 
23  * @author Daniel Weber - Initial contribution
24  */
25 @NonNullByDefault
26 public class A5_10_15 extends A5_10 {
27
28     public A5_10_15(ERP1Message packet) {
29         super(packet);
30     }
31
32     @Override
33     protected int getSetPointValue() {
34         return getDB2Value() >>> 2;
35     }
36
37     @Override
38     protected double getMinTemperatureValue() {
39         return -10.0;
40     }
41
42     @Override
43     protected double getMinUnscaledTemperatureValue() {
44         return 1023.0;
45     }
46
47     @Override
48     protected double getMaxTemperatureValue() {
49         return 41.2;
50     }
51
52     @Override
53     protected double getMaxUnscaledTemperatureValue() {
54         return 0.0;
55     }
56
57     @Override
58     protected double getTemperatureValue() {
59         return ((getDB2Value() & 0b11) << 8) + getDB1Value();
60     }
61 }