2 * Copyright (c) 2010-2020 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.powermax.internal.message;
15 import org.openhab.binding.powermax.internal.state.PowermaxState;
18 * A class for ZONESTYPE message handling
20 * @author Laurent Garnier - Initial contribution
22 public class PowermaxZonesTypeMessage extends PowermaxBaseMessage {
28 * the received message as a buffer of bytes
30 public PowermaxZonesTypeMessage(byte[] message) {
35 protected PowermaxState handleMessageInternal(PowermaxCommManager commManager) {
36 if (commManager == null) {
40 PowermaxState updatedState = commManager.createNewState();
42 byte[] message = getRawData();
43 int rowCnt = message[3] & 0x000000FF;
45 for (int i = 1; i <= 8; i++) {
46 int zoneIdx = (rowCnt - 1) * 8 + i;
47 int zoneInfo = (message[3 + i] & 0x000000FF) - 0x0000001E;
48 updatedState.updateZoneInfo(zoneIdx, zoneInfo);