/**
 * Copyright (c) 2010-2019 Contributors to the openHAB project
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 */
package org.openhab.binding.nibeheatpump.internal.models;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import org.openhab.binding.nibeheatpump.internal.models.VariableInformation.NibeDataType;
import org.openhab.binding.nibeheatpump.internal.models.VariableInformation.Type;

/**
 * Class which holds all data variables of F1x45 heat pumps.
 *
 *
 * @author Pauli Anttila - Initial contribution
 */
public class F1X45 {

    @SuppressWarnings("serial")
    private static final Map<Integer, VariableInformation> VARIABLE_INFO_F1X45 = Collections
            .unmodifiableMap(new HashMap<Integer, VariableInformation>() {
                {
                    // @formatter:off
                    put(40004, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT1 Outdoor temp"));
                    put(40005, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP23-BT2 Supply temp S4"));
                    put(40006, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP22-BT2 Supply temp S3"));
                    put(40007, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP21-BT2 Supply temp S2"));
                    put(40008, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT2 Supply temp S1"));
                    put(40012, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT3 Return temp"));
                    put(40013, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT7 Hot Water top"));
                    put(40014, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT6 Hot Water load"));
                    put(40015, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT10 Brine in temp"));
                    put(40016, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT11 Brine out temp"));
                    put(40017, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT12 Cond. out"));
                    put(40018, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT14 Hot gas temp"));
                    put(40019, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT15 Liquid line"));
                    put(40022, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT17 Suction"));
                    put(40025, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT20 Exhaust air temp. 1"));
                    put(40026, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT21 Vented air temp. 1"));
                    put(40028, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ1-BT26 Temp Collector in FLM 1"));
                    put(40029, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ1-BT27 Temp Collector out FLM 1"));
                    put(40030, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP23-BT50 Room Temp S4"));
                    put(40031, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP22-BT50 Room Temp S3"));
                    put(40032, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP21-BT50 Room Temp S2"));
                    put(40033, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT50 Room Temp S1"));
                    put(40042, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "CL11-BT51 Pool 1 Temp"));
                    put(40043, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP8-BT53 Solar Panel Temp"));
                    put(40044, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP8-BT54 Solar Load Temp"));
                    put(40045, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EQ1-BT64 Cool Supply Temp"));
                    put(40046, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EQ1-BT65 Cool Return Temp"));
                    put(40054, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "EB100-FD1 Temperature limiter"));
                    put(40067, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT1 Average"));
                    put(40070, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EM1-BT52 Boiler temperature"));
                    put(40071, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT25 external supply temp"));
                    put(40072, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BF1 Flow"));
                    put(40074, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "EB100-FR1 Anode Status"));
                    put(40079, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "EB100-BE3 Current Phase 3"));
                    put(40081, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "EB100-BE2 Current Phase 2"));
                    put(40083, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "EB100-BE1 Current Phase 1"));
                    put(40106, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "CL12-BT51 Pool 2 Temp"));
                    put(40107, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT20 Exhaust air temp. 4"));
                    put(40108, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT20 Exhaust air temp. 3"));
                    put(40109, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT20 Exhaust air temp. 2"));
                    put(40110, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT21 Vented air temp. 4"));
                    put(40111, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT21 Vented air temp. 3"));
                    put(40112, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT21 Vented air temp. 2"));
                    put(40113, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ4-BT26 Temp Collector in FLM 4"));
                    put(40114, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ3-BT26 Temp Collector in FLM 3"));
                    put(40115, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ2-BT26 Temp Collector in FLM 2"));
                    put(40116, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ4-BT27 Temp Collector out FLM 4"));
                    put(40117, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ3-BT27 Temp Collector out FLM 3"));
                    put(40118, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ2-BT27 Temp Collector out FLM 2"));
                    put(40127, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP23-BT3 Return temp S4"));
                    put(40128, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP22-BT3 Return temp S3"));
                    put(40129, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP21-BT3 Return temp S2"));
                    put(40155, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EQ1-BT57 Collector temp."));
                    put(40156, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EQ1-BT75 Heatdump temp."));
                    put(43001, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Software version"));
                    put(43005, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Degree Minutes"));
                    put(43006, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calculated Supply Temperature S4"));
                    put(43007, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calculated Supply Temperature S3"));
                    put(43008, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calculated Supply Temperature S2"));
                    put(43009, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calculated Supply Temperature S1"));
                    put(43013, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Freeze Protection Status"));
                    put(43024, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Status Cooling"));
                    put(43081, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "Tot. op.time add."));
                    put(43084, new VariableInformation( 100, NibeDataType.S16, Type.SENSOR  , "Int. el.add. Power"));
                    put(43086, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Prio"));
                    put(43091, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Int. el.add. State"));
                    put(43097, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Status of the shunt controlled additional heat accessory"));
                    put(43103, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "HPAC state"));
                    put(43108, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Fan speed current"));
                    put(43152, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Internal cooling blocked"));
                    put(43158, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S4"));
                    put(43159, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S3"));
                    put(43160, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S2"));
                    put(43161, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S1"));
                    put(43163, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Blocking status of the shunt controlled add heat acc"));
                    put(43164, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Cooling blocked"));
                    put(43171, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Blocking status of the step controlled add heat acc"));
                    put(43189, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Ext. Heat Medium Pump"));
                    put(43230, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated energy"));
                    put(43239, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "Tot. HW op.time add."));
                    put(43395, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "HPAC Relays"));
                    put(43416, new VariableInformation(   1, NibeDataType.S32, Type.SENSOR  , "Compressor starts EB100-EP14"));
                    put(43420, new VariableInformation(   1, NibeDataType.S32, Type.SENSOR  , "Tot. op.time compr. EB100-EP14"));
                    put(43424, new VariableInformation(   1, NibeDataType.S32, Type.SENSOR  , "Tot. HW op.time compr. EB100-EP14"));
                    put(43427, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Compressor State EP14"));
                    put(43431, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Supply Pump State EP14"));
                    put(43433, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Brine pump state EP14"));
                    put(43435, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Compressor status EP14"));
                    put(43437, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "HM-pump Status EP14"));
                    put(43439, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Brinepump Status EP14"));
                    put(43473, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Heat Compressors"));
                    put(43474, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Hot Water Compressors"));
                    put(43475, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 1 Compressors"));
                    put(43484, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "FLM Cooling Activated"));
                    put(43485, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "FLM Cooling Activated"));
                    put(43486, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "FLM Cooling Activated"));
                    put(43487, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "FLM Cooling Activated"));
                    put(43514, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "PCA-Base Relays EP14"));
                    put(43516, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "PCA-Power Relays EP14"));
                    put(43560, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 2 blocked"));
                    put(43561, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 1 blocked"));
                    put(43563, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 2 valve"));
                    put(43564, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 1 valve"));
                    put(43577, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 2 Compressors"));
                    put(43580, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB108 Version"));
                    put(43598, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108 Slave Type"));
                    put(43599, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108 Compressor Size"));
                    put(43600, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT3 Return temp."));
                    put(43601, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT10 Brine in temp"));
                    put(43602, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT11 Brine out temp"));
                    put(43603, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT12 Cond. out"));
                    put(43604, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT14 Hot gas temp"));
                    put(43605, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT15 Liquid line"));
                    put(43606, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT17 Suction"));
                    put(43607, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BT29 Compr. Oil. temp."));
                    put(43608, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP15-BP8 Pressure transmitter"));
                    put(43609, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP15 Compressor State"));
                    put(43610, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP15 Compr. time to start"));
                    put(43611, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB108-EP15 Relay status"));
                    put(43612, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP15 Heat med. pump status"));
                    put(43613, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP15 Brine pump status"));
                    put(43614, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB108-EP15 Compressor starts"));
                    put(43616, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB108-EP15 Tot. op.time compr"));
                    put(43618, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB108-EP15 Tot. HW op.time compr"));
                    put(43620, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB108-EP15 Alarm number"));
                    put(43621, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT3 Return temp."));
                    put(43622, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT10 Brine in temp"));
                    put(43623, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT11 Brine out temp"));
                    put(43624, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT12 Cond. out"));
                    put(43625, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT14 Hot gas temp"));
                    put(43626, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT15 Liquid line"));
                    put(43627, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT17 Suction"));
                    put(43628, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BT29 Compr. Oil. temp."));
                    put(43629, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-EP14-BP8 Pressure transmitter"));
                    put(43630, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP14 Compressor State"));
                    put(43631, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP14 Compr. time to start"));
                    put(43632, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB108-EP14 Relay status"));
                    put(43633, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP14 Heat med. pump status"));
                    put(43634, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP14 Brine pump status"));
                    put(43635, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB108-EP14 Compressor starts"));
                    put(43637, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB108-EP14 Tot. op.time compr"));
                    put(43639, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB108-EP14 Tot. HW op.time compr"));
                    put(43641, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB108-EP14 Alarm number"));
                    put(43642, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB107 Version"));
                    put(43660, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107 Slave Type"));
                    put(43661, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107 Compressor Size"));
                    put(43662, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT3 Return temp."));
                    put(43663, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT10 Brine in temp"));
                    put(43664, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT11 Brine out temp"));
                    put(43665, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT12 Cond. out"));
                    put(43666, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT14 Hot gas temp"));
                    put(43667, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT15 Liquid line"));
                    put(43668, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT17 Suction"));
                    put(43669, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BT29 Compr. Oil. temp."));
                    put(43670, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP15-BP8 Pressure transmitter"));
                    put(43671, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP15 Compressor State"));
                    put(43672, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP15 Compr. time to start"));
                    put(43673, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB107-EP15 Relay status"));
                    put(43674, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP15 Heat med. pump status"));
                    put(43675, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP15 Brine pump status"));
                    put(43676, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB107-EP15 Compressor starts"));
                    put(43678, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB107-EP15 Tot. op.time compr"));
                    put(43680, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB107-EP15 Tot. HW op.time compr"));
                    put(43682, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB107-EP15 Alarm number"));
                    put(43683, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT3 Return temp."));
                    put(43684, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT10 Brine in temp"));
                    put(43685, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT11 Brine out temp"));
                    put(43686, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT12 Cond. out"));
                    put(43687, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT14 Hot gas temp"));
                    put(43688, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT15 Liquid line"));
                    put(43689, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT17 Suction"));
                    put(43690, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BT29 Compr. Oil. temp."));
                    put(43691, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-EP14-BP8 Pressure transmitter"));
                    put(43692, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP14 Compressor State"));
                    put(43693, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP14 Compr. time to start"));
                    put(43694, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB107-EP14 Relay status"));
                    put(43695, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP14 Heat med. pump status"));
                    put(43696, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP14 Brine pump status"));
                    put(43697, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB107-EP14 Compressor starts"));
                    put(43699, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB107-EP14 Tot. op.time compr"));
                    put(43701, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB107-EP14 Tot. HW op.time compr"));
                    put(43703, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB107-EP14 Alarm number"));
                    put(43704, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB106 Version"));
                    put(43722, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106 Slave Type"));
                    put(43723, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106 Compressor Size"));
                    put(43724, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT3 Return temp."));
                    put(43725, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT10 Brine in temp"));
                    put(43726, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT11 Brine out temp"));
                    put(43727, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT12 Cond. out"));
                    put(43728, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT14 Hot gas temp"));
                    put(43729, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT15 Liquid line"));
                    put(43730, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT17 Suction"));
                    put(43731, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BT29 Compr. Oil. temp."));
                    put(43732, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP15-BP8 Pressure transmitter"));
                    put(43733, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP15 Compressor State"));
                    put(43734, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP15 Compr. time to start"));
                    put(43735, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB106-EP15 Relay status"));
                    put(43736, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP15 Heat med. pump status"));
                    put(43737, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP15 Brine pump status"));
                    put(43738, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB106-EP15 Compressor starts"));
                    put(43740, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB106-EP15 Tot. op.time compr"));
                    put(43742, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB106-EP15 Tot. HW op.time compr"));
                    put(43744, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB106-EP15 Alarm number"));
                    put(43745, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT3 Return temp."));
                    put(43746, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT10 Brine in temp"));
                    put(43747, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT11 Brine out temp"));
                    put(43748, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT12 Cond. out"));
                    put(43749, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT14 Hot gas temp"));
                    put(43750, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT15 Liquid line"));
                    put(43751, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT17 Suction"));
                    put(43752, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BT29 Compr. Oil. temp."));
                    put(43753, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-EP14-BP8 Pressure transmitter"));
                    put(43754, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP14 Compressor State"));
                    put(43755, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP14 Compr. time to start"));
                    put(43756, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB106-EP14 Relay status"));
                    put(43757, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP14 Heat med. pump status"));
                    put(43758, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP14 Brine pump status"));
                    put(43759, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB106-EP14 Compressor starts"));
                    put(43761, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB106-EP14 Tot. op.time compr"));
                    put(43763, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB106-EP14 Tot. HW op.time compr"));
                    put(43765, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB106-EP14 Alarm number"));
                    put(43766, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB105 Version"));
                    put(43784, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105 Slave Type"));
                    put(43785, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105 Compressor Size"));
                    put(43786, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT3 Return temp."));
                    put(43787, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT10 Brine in temp"));
                    put(43788, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT11 Brine out temp"));
                    put(43789, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT12 Cond. out"));
                    put(43790, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT14 Hot gas temp"));
                    put(43791, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT15 Liquid line"));
                    put(43792, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT17 Suction"));
                    put(43793, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BT29 Compr. Oil. temp."));
                    put(43794, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP15-BP8 Pressure transmitter"));
                    put(43795, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP15 Compressor State"));
                    put(43796, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP15 Compr. time to start"));
                    put(43797, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB105-EP15 Relay status"));
                    put(43798, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP15 Heat med. pump status"));
                    put(43799, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP15 Brine pump status"));
                    put(43800, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB105-EP15 Compressor starts"));
                    put(43802, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB105-EP15 Tot. op.time compr"));
                    put(43804, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB105-EP15 Tot. HW op.time compr"));
                    put(43806, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB105-EP15 Alarm number"));
                    put(43807, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT3 Return temp."));
                    put(43808, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT10 Brine in temp"));
                    put(43809, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT11 Brine out temp"));
                    put(43810, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT12 Cond. out"));
                    put(43811, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT14 Hot gas temp"));
                    put(43812, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT15 Liquid line"));
                    put(43813, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT17 Suction"));
                    put(43814, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BT29 Compr. Oil. temp."));
                    put(43815, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-EP14-BP8 Pressure transmitter"));
                    put(43816, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP14 Compressor State"));
                    put(43817, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP14 Compr. time to start"));
                    put(43818, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB105-EP14 Relay status"));
                    put(43819, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP14 Heat med. pump status"));
                    put(43820, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP14 Brine pump status"));
                    put(43821, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB105-EP14 Compressor starts"));
                    put(43823, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB105-EP14 Tot. op.time compr"));
                    put(43825, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB105-EP14 Tot. HW op.time compr"));
                    put(43827, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB105-EP14 Alarm number"));
                    put(43828, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB104 Version"));
                    put(43846, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104 Slave Type"));
                    put(43847, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104 Compressor Size"));
                    put(43848, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT3 Return temp."));
                    put(43849, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT10 Brine in temp"));
                    put(43850, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT11 Brine out temp"));
                    put(43851, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT12 Cond. out"));
                    put(43852, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT14 Hot gas temp"));
                    put(43853, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT15 Liquid line"));
                    put(43854, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT17 Suction"));
                    put(43855, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BT29 Compr. Oil. temp."));
                    put(43856, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP15-BP8 Pressure transmitter"));
                    put(43857, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP15 Compressor State"));
                    put(43858, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP15 Compr. time to start"));
                    put(43859, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB104-EP15 Relay status"));
                    put(43860, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP15 Heat med. pump status"));
                    put(43861, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP15 Brine pump status"));
                    put(43862, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB104-EP15 Compressor starts"));
                    put(43864, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB104-EP15 Tot. op.time compr"));
                    put(43866, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB104-EP15 Tot. HW op.time compr"));
                    put(43868, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB104-EP15 Alarm number"));
                    put(43869, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT3 Return temp."));
                    put(43870, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT10 Brine in temp"));
                    put(43871, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT11 Brine out temp"));
                    put(43872, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT12 Cond. out"));
                    put(43873, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT14 Hot gas temp"));
                    put(43874, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT15 Liquid line"));
                    put(43875, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT17 Suction"));
                    put(43876, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BT29 Compr. Oil. temp."));
                    put(43877, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-EP14-BP8 Pressure transmitter"));
                    put(43878, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP14 Compressor State"));
                    put(43879, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP14 Compr. time to start"));
                    put(43880, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB104-EP14 Relay status"));
                    put(43881, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP14 Heat med. pump status"));
                    put(43882, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP14 Brine pump status"));
                    put(43883, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB104-EP14 Compressor starts"));
                    put(43885, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB104-EP14 Tot. op.time compr"));
                    put(43887, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB104-EP14 Tot. HW op.time compr"));
                    put(43889, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB104-EP14 Alarm number"));
                    put(43890, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB103 Version"));
                    put(43908, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103 Slave Type"));
                    put(43909, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103 Compressor Size"));
                    put(43910, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT3 Return temp."));
                    put(43911, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT10 Brine in temp"));
                    put(43912, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT11 Brine out temp"));
                    put(43913, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT12 Cond. out"));
                    put(43914, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT14 Hot gas temp"));
                    put(43915, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT15 Liquid line"));
                    put(43916, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT17 Suction"));
                    put(43917, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BT29 Compr. Oil. temp."));
                    put(43918, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP15-BP8 Pressure transmitter"));
                    put(43919, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP15 Compressor State"));
                    put(43920, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP15 Compr. time to start"));
                    put(43921, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB103-EP15 Relay status"));
                    put(43922, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP15 Heat med. pump status"));
                    put(43923, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP15 Brine pump status"));
                    put(43924, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB103-EP15 Compressor starts"));
                    put(43926, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB103-EP15 Tot. op.time compr"));
                    put(43928, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB103-EP15 Tot. HW op.time compr"));
                    put(43930, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB103-EP15 Alarm number"));
                    put(43931, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT3 Return temp."));
                    put(43932, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT10 Brine in temp"));
                    put(43933, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT11 Brine out temp"));
                    put(43934, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT12 Cond. out"));
                    put(43935, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT14 Hot gas temp"));
                    put(43936, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT15 Liquid line"));
                    put(43937, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT17 Suction"));
                    put(43938, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BT29 Compr. Oil. temp."));
                    put(43939, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-EP14-BP8 Pressure transmitter"));
                    put(43940, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP14 Compressor State"));
                    put(43941, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP14 Compr. time to start"));
                    put(43942, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB103-EP14 Relay status"));
                    put(43943, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP14 Heat med. pump status"));
                    put(43944, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP14 Brine pump status"));
                    put(43945, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB103-EP14 Compressor starts"));
                    put(43947, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB103-EP14 Tot. op.time compr"));
                    put(43949, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB103-EP14 Tot. HW op.time compr"));
                    put(43951, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB103-EP14 Alarm number"));
                    put(43952, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB102 Version"));
                    put(43970, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102 Slave Type"));
                    put(43971, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102 Compressor Size"));
                    put(43972, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT3 Return temp."));
                    put(43973, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT10 Brine in temp"));
                    put(43974, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT11 Brine out temp"));
                    put(43975, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT12 Cond. out"));
                    put(43976, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT14 Hot gas temp"));
                    put(43977, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT15 Liquid line"));
                    put(43978, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT17 Suction"));
                    put(43979, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BT29 Compr. Oil. temp."));
                    put(43980, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP15-BP8 Pressure transmitter"));
                    put(43981, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP15 Compressor State"));
                    put(43982, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP15 Compr. time to start"));
                    put(43983, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB102-EP15 Relay status"));
                    put(43984, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP15 Heat med. pump status"));
                    put(43985, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP15 Brine pump status"));
                    put(43986, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB102-EP15 Compressor starts"));
                    put(43988, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB102-EP15 Tot. op.time compr"));
                    put(43990, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB102-EP15 Tot. HW op.time compr"));
                    put(43992, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB102-EP15 Alarm number"));
                    put(43993, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT3 Return temp."));
                    put(43994, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT10 Brine in temp"));
                    put(43995, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT11 Brine out temp"));
                    put(43996, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT12 Cond. out"));
                    put(43997, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT14 Hot gas temp"));
                    put(43998, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT15 Liquid line"));
                    put(43999, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT17 Suction"));
                    put(44000, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BT29 Compr. Oil. temp."));
                    put(44001, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-EP14-BP8 Pressure transmitter"));
                    put(44002, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP14 Compressor State"));
                    put(44003, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP14 Compr. time to start"));
                    put(44004, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB102-EP14 Relay status"));
                    put(44005, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP14 Heat med. pump status"));
                    put(44006, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP14 Brine pump status"));
                    put(44007, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB102-EP14 Compressor starts"));
                    put(44009, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB102-EP14 Tot. op.time compr"));
                    put(44011, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB102-EP14 Tot. HW op.time compr"));
                    put(44013, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB102-EP14 Alarm number"));
                    put(44014, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB101 Version"));
                    put(44032, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101 Slave Type"));
                    put(44033, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101 Compressor Size"));
                    put(44034, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT3 Return temp."));
                    put(44035, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT10 Brine in temp"));
                    put(44036, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT11 Brine out temp"));
                    put(44037, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT12 Cond. out"));
                    put(44038, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT14 Hot gas temp"));
                    put(44039, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT15 Liquid line"));
                    put(44040, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT17 Suction"));
                    put(44041, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BT29 Compr. Oil. temp."));
                    put(44042, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP15-BP8 Pressure transmitter"));
                    put(44043, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP15 Compressor State"));
                    put(44044, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP15 Compr. time to start"));
                    put(44045, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB101-EP15 Relay status"));
                    put(44046, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP15 Heat med. pump status"));
                    put(44047, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP15 Brine pump status"));
                    put(44048, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB101-EP15 Compressor starts"));
                    put(44050, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB101-EP15 Tot. op.time compr"));
                    put(44052, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB101-EP15 Tot. HW op.time compr"));
                    put(44054, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB101-EP15 Alarm number"));
                    put(44055, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT3 Return temp."));
                    put(44056, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT10 Brine in temp"));
                    put(44057, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT11 Brine out temp"));
                    put(44058, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT12 Cond. out"));
                    put(44059, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT14 Hot gas temp"));
                    put(44060, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT15 Liquid line"));
                    put(44061, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT17 Suction"));
                    put(44062, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BT29 Compr. Oil. temp."));
                    put(44063, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-EP14-BP8 Pressure transmitter"));
                    put(44064, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP14 Compressor State"));
                    put(44065, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP14 Compr. time to start"));
                    put(44066, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB101-EP14 Relay status"));
                    put(44067, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP14 Heat med. pump status"));
                    put(44068, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP14 Brine pump status"));
                    put(44069, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB101-EP14 Compressor starts"));
                    put(44071, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB101-EP14 Tot. op.time compr"));
                    put(44073, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "EB101-EP14 Tot. HW op.time compr"));
                    put(44075, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "EB101-EP14 Alarm number"));
                    put(44138, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP15 Prio"));
                    put(44139, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108-EP14 Prio"));
                    put(44151, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP15 Prio"));
                    put(44152, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107-EP14 Prio"));
                    put(44164, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP15 Prio"));
                    put(44165, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106-EP14 Prio"));
                    put(44177, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP15 Prio"));
                    put(44178, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105-EP14 Prio"));
                    put(44190, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP15 Prio"));
                    put(44191, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104-EP14 Prio"));
                    put(44203, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP15 Prio"));
                    put(44204, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103-EP14 Prio"));
                    put(44216, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP15 Prio"));
                    put(44217, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102-EP14 Prio"));
                    put(44229, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP15 Prio"));
                    put(44230, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101-EP14 Prio"));
                    put(44242, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB100-EP15 Prio"));
                    put(44243, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB100-EP14 Prio"));
                    put(44266, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Cool Degree Minutes"));
                    put(44267, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Cooling Supply Temperature S4"));
                    put(44268, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Cooling Supply Temperature S3"));
                    put(44269, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Cooling Supply Temperature S2"));
                    put(44270, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Cooling Supply Temperature S1"));
                    put(44276, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State ACS"));
                    put(44277, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State ACS heatdump"));
                    put(44278, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State ACS cooldump"));
                    put(44282, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Used cprs. HW"));
                    put(44283, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Used cprs. heat"));
                    put(44284, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Used cprs. pool 1"));
                    put(44285, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Used cprs. pool 2"));
                    put(44298, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated Energy HW Cpr and Add"));
                    put(44300, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated Energy Heat Cpr and Add"));
                    put(44302, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated Energy Cooling Cpr"));
                    put(44304, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated Energy Pool Cpr"));
                    put(44306, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated Energy HW Cpr"));
                    put(44308, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Accumulated Energy Heat Cpr"));
                    put(44320, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Used cprs. cool"));
                    put(44331, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Software release"));
                    put(44380, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External Compressors"));
                    put(44410, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB108 Own Hot Water"));
                    put(44411, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-BT6 Hot water load temp."));
                    put(44412, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-BT7 Hot water top temp."));
                    put(44413, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB108-BT2 Supply temp."));
                    put(44416, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB107 Own Hot Water"));
                    put(44417, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-BT6 Hot water load temp."));
                    put(44418, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-BT7 Hot water top temp."));
                    put(44419, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB107-BT2 Supply temp."));
                    put(44422, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB106 Own Hot Water"));
                    put(44423, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-BT6 Hot water load temp."));
                    put(44424, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-BT7 Hot water top temp."));
                    put(44425, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB106-BT2 Supply temp."));
                    put(44428, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB105 Own Hot Water"));
                    put(44429, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-BT6 Hot water load temp."));
                    put(44430, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-BT7 Hot water top temp."));
                    put(44431, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB105-BT2 Supply temp."));
                    put(44434, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB104 Own Hot Water"));
                    put(44435, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-BT6 Hot water load temp."));
                    put(44436, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-BT7 Hot water top temp."));
                    put(44437, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB104-BT2 Supply temp."));
                    put(44440, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB103 Own Hot Water"));
                    put(44441, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-BT6 Hot water load temp."));
                    put(44442, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-BT7 Hot water top temp."));
                    put(44443, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB103-BT2 Supply temp."));
                    put(44446, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB102 Own Hot Water"));
                    put(44447, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-BT6 Hot water load temp."));
                    put(44448, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-BT7 Hot water top temp."));
                    put(44449, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB102-BT2 Supply temp."));
                    put(44452, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB101 Own Hot Water"));
                    put(44453, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-BT6 Hot water load temp."));
                    put(44454, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-BT7 Hot water top temp."));
                    put(44455, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB101-BT2 Supply temp."));
                    put(44487, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Cool Compressors"));
                    put(44744, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S4"));
                    put(44745, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S3"));
                    put(44746, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S2"));
                    put(44748, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 2 pump"));
                    put(44749, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 1 pump"));
                    put(44753, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Passiv cool shunt"));
                    put(44754, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Passiv cool pool"));
                    put(44756, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State ground water pump"));
                    put(44874, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State SG Ready"));
                    put(44878, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "SG Ready input A"));
                    put(44879, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "SG Ready input B"));
                    put(44910, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Brine pump  dT act."));
                    put(44911, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Brine pump  dT act."));
                    put(44912, new VariableInformation(   1, NibeDataType.S8 , Type.SENSOR  , "Brine pump auto controlled"));
                    put(45001, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Alarm Number"));
                    put(47291, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Floor drying timer"));
                    put(47325, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Step controlled add. max. step"));
                    put(47004, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat curve S4"));
                    put(47005, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat curve S3"));
                    put(47006, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat curve S2"));
                    put(47007, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat curve S1"));
                    put(47008, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Offset S4"));
                    put(47009, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Offset S3"));
                    put(47010, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Offset S2"));
                    put(47011, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Offset S1"));
                    put(47012, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 4"));
                    put(47013, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 3"));
                    put(47014, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 2"));
                    put(47015, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 1"));
                    put(47016, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 4"));
                    put(47017, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 3"));
                    put(47018, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 2"));
                    put(47019, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 1"));
                    put(47020, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P7"));
                    put(47021, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P6"));
                    put(47022, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P5"));
                    put(47023, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P4"));
                    put(47024, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P3"));
                    put(47025, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P2"));
                    put(47026, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Curve P1"));
                    put(47027, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Point offset outdoor temp."));
                    put(47028, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Point offset"));
                    put(47029, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S4"));
                    put(47030, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S3"));
                    put(47031, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S2"));
                    put(47032, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S1"));
                    put(47033, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S4"));
                    put(47034, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S3"));
                    put(47035, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S2"));
                    put(47036, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S1"));
                    put(47041, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Hot water mode"));
                    put(47043, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Start temperature HW Luxury"));
                    put(47044, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Start temperature HW Normal"));
                    put(47045, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Start temperature HW Economy"));
                    put(47046, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Stop temperature Periodic HW"));
                    put(47047, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Stop temperature HW Luxury"));
                    put(47048, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Stop temperature HW Normal"));
                    put(47049, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Stop temperature HW Economy"));
                    put(47050, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Periodic HW"));
                    put(47051, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Periodic HW Interval"));
                    put(47054, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Run time HWC"));
                    put(47055, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Still time HWC"));
                    put(47131, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Language"));
                    put(47134, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Period HW"));
                    put(47135, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Period Heat"));
                    put(47136, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Period Pool"));
                    put(47138, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Operational mode heat medium pump"));
                    put(47139, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Operational mode brine medium pump"));
                    put(47206, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM start heating"));
                    put(47207, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM start cooling"));
                    put(47208, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM start add."));
                    put(47209, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM between add. steps"));
                    put(47210, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM start add. with shunt"));
                    put(47212, new VariableInformation( 100, NibeDataType.S16, Type.SETTING , "Max int add. power"));
                    put(47214, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Fuse"));
                    put(47261, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Exhaust Fan speed 4"));
                    put(47262, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Exhaust Fan speed 3"));
                    put(47263, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Exhaust Fan speed 2"));
                    put(47264, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Exhaust Fan speed 1"));
                    put(47265, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Exhaust Fan speed normal"));
                    put(47271, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Fan return time 4"));
                    put(47272, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Fan return time 3"));
                    put(47273, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Fan return time 2"));
                    put(47274, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Fan return time 1"));
                    put(47275, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Filter Reminder period"));
                    put(47276, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying"));
                    put(47277, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 7"));
                    put(47278, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 6"));
                    put(47279, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 5"));
                    put(47280, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 4"));
                    put(47281, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 3"));
                    put(47282, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 2"));
                    put(47283, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying period 1"));
                    put(47284, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 7"));
                    put(47285, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 6"));
                    put(47286, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 5"));
                    put(47287, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 4"));
                    put(47288, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 3"));
                    put(47289, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 2"));
                    put(47290, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Floor drying temp. 1"));
                    put(47302, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 2 accessory"));
                    put(47303, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 3 accessory"));
                    put(47304, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 4 accessory"));
                    put(47305, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 4 mixing valve amp."));
                    put(47306, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 3 mixing valve amp."));
                    put(47307, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 2 mixing valve amp."));
                    put(47308, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 4 shunt wait"));
                    put(47309, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 3 shunt wait"));
                    put(47310, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 2 shunt wait"));
                    put(47312, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM pump"));
                    put(47313, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM defrost"));
                    put(47317, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Shunt controlled add. accessory"));
                    put(47318, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Shunt controlled add. min. temp."));
                    put(47319, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Shunt controlled add. min. runtime"));
                    put(47320, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Shunt controlled add. mixing valve amp."));
                    put(47321, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Shunt controlled add. mixing valve wait"));
                    put(47322, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Step controlled add. accessory"));
                    put(47323, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Step controlled add. start DM"));
                    put(47324, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Step controlled add. diff. DM"));
                    put(47326, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Step controlled add. mode"));
                    put(47327, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Ground water pump accessory"));
                    put(47329, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cooling 2-pipe accessory"));
                    put(47330, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cooling 4-pipe accessory"));
                    put(47335, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Time betw. switch heat/cool"));
                    put(47336, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Heat at room under temp."));
                    put(47337, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Cool at room over temp."));
                    put(47338, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Cooling mix. valve amp."));
                    put(47339, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Cooling mix. valve step delay"));
                    put(47340, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Cooling with room sensor"));
                    put(47341, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "HPAC accessory"));
                    put(47342, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Start Passive Cooling DM"));
                    put(47343, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Start Active Cooling DM"));
                    put(47352, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SMS40 accessory"));
                    put(47365, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "RMU System 1"));
                    put(47366, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "RMU System 2"));
                    put(47367, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "RMU System 3"));
                    put(47368, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "RMU System 4"));
                    put(47370, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Allow Additive Heating"));
                    put(47371, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Allow Heating"));
                    put(47372, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Allow Cooling"));
                    put(47378, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max diff. comp."));
                    put(47379, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max diff. add."));
                    put(47380, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Low brine out autoreset"));
                    put(47381, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Low brine out temp."));
                    put(47382, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "High brine in"));
                    put(47383, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "High brine in temp."));
                    put(47384, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Date format"));
                    put(47385, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Time format"));
                    put(47387, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "HW production"));
                    put(47388, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Alarm lower room temp."));
                    put(47389, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Alarm lower HW temp."));
                    put(47391, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S4"));
                    put(47392, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S3"));
                    put(47393, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S2"));
                    put(47394, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S1"));
                    put(47395, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S4"));
                    put(47396, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S3"));
                    put(47397, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S2"));
                    put(47398, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S1"));
                    put(47399, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S4"));
                    put(47400, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S3"));
                    put(47401, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S2"));
                    put(47402, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S1"));
                    put(47413, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed circ.pump HW"));
                    put(47414, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed circ.pump Heat"));
                    put(47415, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed circ.pump Pool"));
                    put(47416, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed circ.pump Economy"));
                    put(47417, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed circ.pump Cooling"));
                    put(47418, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed brine pump"));
                    put(47537, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night cooling"));
                    put(47538, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Start room temp. night cooling"));
                    put(47539, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night Cooling Min. diff."));
                    put(47540, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Heat DM diff"));
                    put(47543, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Cooling DM diff"));
                    put(47570, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Operational mode"));
                    put(48053, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 2 speed 4"));
                    put(48054, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 2 speed 3"));
                    put(48055, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 2 speed 2"));
                    put(48056, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 2 speed 1"));
                    put(48057, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 2 speed normal"));
                    put(48058, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 3 speed 4"));
                    put(48059, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 3 speed 3"));
                    put(48060, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 3 speed 2"));
                    put(48061, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 3 speed 1"));
                    put(48062, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 3 speed normal"));
                    put(48063, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 4 speed 4"));
                    put(48064, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 4 speed 3"));
                    put(48065, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 4 speed 2"));
                    put(48066, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 4 speed 1"));
                    put(48067, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 4 speed normal"));
                    put(48068, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 4 accessory"));
                    put(48069, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 3 accessory"));
                    put(48070, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 2 accessory"));
                    put(48071, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM 1 accessory"));
                    put(48072, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM diff start add."));
                    put(48073, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "FLM cooling"));
                    put(48074, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Set point for BT74"));
                    put(48087, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Pool 2 accessory"));
                    put(48088, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Pool 1 accessory"));
                    put(48089, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Pool 2 start temp."));
                    put(48090, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Pool 1 start temp."));
                    put(48091, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Pool 2 stop temp."));
                    put(48092, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Pool 1 stop temp."));
                    put(48093, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Pool 2 Activated"));
                    put(48094, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Pool 1 Activated"));
                    put(48133, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Period Pool 2"));
                    put(48174, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Min cooling supply temp S4"));
                    put(48175, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Min cooling supply temp S3"));
                    put(48176, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Min cooling supply temp S2"));
                    put(48177, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Min cooling supply temp S1"));
                    put(48178, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 20°C"));
                    put(48179, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 20°C"));
                    put(48180, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 20°C"));
                    put(48181, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 20°C"));
                    put(48182, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 40°C"));
                    put(48183, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 40°C"));
                    put(48184, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 40°C"));
                    put(48185, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cooling supply temp. at 40°C"));
                    put(48186, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cooling use mix. valves"));
                    put(48187, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cooling use mix. valves"));
                    put(48188, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cooling use mix. valves"));
                    put(48189, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cooling use mix. valves"));
                    put(48190, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Heatdump mix. valve delay"));
                    put(48191, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Heatdump mix. valve amp."));
                    put(48192, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Cooldump mix. valve delay"));
                    put(48193, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Cooldump mix. valve amp."));
                    put(48194, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "ACS accessory"));
                    put(48195, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "ACS heat dump 24h-function"));
                    put(48196, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "ACS run brinepump in wait mode"));
                    put(48197, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "ACS closingtime for cool dump"));
                    put(48226, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Max charge pump reg speed"));
                    put(48282, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SG Ready heating"));
                    put(48283, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SG Ready cooling"));
                    put(48284, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SG Ready hot water"));
                    put(48285, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SG Ready pool"));
                    put(48452, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Auto heat medium pump speed, hw"));
                    put(48453, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Auto heat medium pump speed, heat"));
                    put(48454, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Auto heat medium pump speed, pool"));
                    put(48455, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Auto heat medium pump speed, cool"));
                    put(48456, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Operational mode heat medium pump, cooling"));
                    put(48458, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Max speed circ.pump Heat"));
                    put(48459, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed brine pump cooling"));
                    put(48487, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Speed circ.pump Cooling"));
                    // @formatter:on
                }
            });

    public static VariableInformation getVariableInfo(int key) {
        return VARIABLE_INFO_F1X45.get(key);
    }
}
