/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.binding.plugwise.protocol;
import java.util.HashMap;
import java.util.Map;
/**
* Plugwise message types - many are still missing, and require further protocol analysis
*
* @author Karel Goderis
* @since 1.1.0
*/
public enum MessageType {
ACKNOWLEDGEMENT(0),
NODE_AVAILABLE(6),
NODE_AVAILABLE_RESPONSE(7),
NETWORK_RESET_REQUEST(8),
INITIALISE_REQUEST(10),
INITIALISE_RESPONSE(17),
POWER_INFORMATION_REQUEST(18),
POWER_INFORMATION_RESPONSE(19),
CLOCK_SET_REQUEST(22),
POWER_CHANGE_REQUEST(23),
DEVICE_ROLECALL_REQUEST(24),
DEVICE_ROLECALL_RESPONSE(25),
DEVICE_INFORMATION_REQUEST(35),
DEVICE_INFORMATION_RESPONSE(36),
DEVICE_CALIBRATION_REQUEST(38),
DEVICE_CALIBRATION_RESPONSE(39),
REALTIMECLOCK_GET_REQUEST(41),
REALTIMECLOCK_GET_RESPONSE(58),
CLOCK_GET_REQUEST(62),
CLOCK_GET_RESPONSE(63),
POWER_BUFFER_REQUEST(72),
POWER_BUFFER_RESPONSE(73),
ANNOUNCE_AWAKE_REQUEST(79),
BROADCAST_GROUP_SWITCH_RESPONSE(86),
MODULE_JOINED_NETWORK_REQUEST(97),
SENSE_REPORT_REQUEST(261);
private int identifier;
private MessageType(int value) {
identifier = value;
}
private static final Map<Integer, MessageType> typesByValue = new HashMap<Integer, MessageType>();
static {
for (MessageType type : MessageType.values()) {
typesByValue.put(type.identifier, type);
}
}
public static MessageType forValue(int value) {
return typesByValue.get(value);
}
public int toInt() {
return identifier;
}
};