/**
 * Copyright (c) 2010-2020 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 F750 heat pumps.
 *
 *
 * @author Pauli Anttila - Initial contribution
 */
public class F750 {

    @SuppressWarnings("serial")
    private static final Map<Integer, VariableInformation> VARIABLE_INFO_F750 = Collections
            .unmodifiableMap(new HashMap<Integer, VariableInformation>() {
                {
            // @formatter:off
                    put(32260, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "NIBE Inverter 216-state"));
                    put(40004, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT1 Outdoor Temperature"));
                    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 HW Top"));
                    put(40014, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT6 HW Load"));
                    put(40017, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT12 Condensor 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(40020, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT16 Evaporator temp"));
                    put(40022, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-EP14-BT17 Suction"));
                    put(40025, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT20 Exhaust air temp. 1"));
                    put(40026, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT21 Vented air temp. 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(40043, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT53 Solar Panel Temp"));
                    put(40044, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT54 Solar Load Temp"));
                    put(40047, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT61 Supply Radiator Temp"));
                    put(40048, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BT62 Return Radiator Temp"));
                    put(40050, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-BS1 Air flow"));
                    put(40051, new VariableInformation( 100, NibeDataType.S16, Type.SENSOR  , "EB100-BS1 Air flow unfiltered"));
                    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(40071, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT25 Ext. Supply"));
                    put(40072, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BF1 EP14 Flow"));
                    put(40074, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "EB100-FR1 Anode Status"));
                    put(40077, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT6 external water heater load temp."));
                    put(40078, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT7 external water heater top temp."));
                    put(40079, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "EB100-BE3 Current"));
                    put(40081, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "EB100-BE2 Current"));
                    put(40083, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "EB100-BE1 Current"));
                    put(40122, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT52 external water heater load temp."));
                    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(40141, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ2-BT22 Supply air temp. SAM"));
                    put(40142, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ2-BT23 Outdoor temp. SAM"));
                    put(40143, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ2-BT68 Flow temp. SAM"));
                    put(40144, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AZ2-BT69 Return temp. SAM"));
                    put(40157, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP30-BT53 Solar Panel Temp"));
                    put(40158, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP30-BT54 Solar Load Temp"));
                    put(40159, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP47-BT2 Supply temp S8"));
                    put(40160, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP46-BT2 Supply temp S7"));
                    put(40161, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP45-BT2 Supply temp S6"));
                    put(40162, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP44-BT2 Supply temp S5"));
                    put(40163, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP47-BT3 Return temp S8"));
                    put(40164, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP46-BT3 Return temp S7"));
                    put(40165, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP45-BT3 Return temp S6"));
                    put(40166, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP44-BT3 Return temp S5"));
                    put(40167, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP47-BT50 Room Temp S8"));
                    put(40168, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP46-BT50 Room Temp S7"));
                    put(40169, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP45-BT50 Room Temp S6"));
                    put(40170, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP44-BT50 Room Temp S5"));
                    put(40185, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT1 Average, 1h"));
                    put(40188, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP47-BT50 Room Temp S8 Average"));
                    put(40189, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP46-BT50 Room Temp S7 Average"));
                    put(40190, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP45-BT50 Room Temp S6 Average"));
                    put(40191, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP44-BT50 Room Temp S5 Average"));
                    put(40192, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP23-BT50 Room Temp S4 Average"));
                    put(40193, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP22-BT50 Room Temp S3 Average"));
                    put(40194, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EP21-BT50 Room Temp S2 Average"));
                    put(40195, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT50 Room Temp S1 Average"));
                    put(40212, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT74 Average"));
                    put(40217, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S8"));
                    put(40218, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S7"));
                    put(40219, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S6"));
                    put(40220, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calculated Supply S5"));
                    put(40305, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S8"));
                    put(40306, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S7"));
                    put(40307, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S6"));
                    put(40308, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S5"));
                    put(40316, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Inverter limit status"));
                    put(40317, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter drive status"));
                    put(40321, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Compressor Frequency, Request"));
                    put(40322, new VariableInformation( 100, NibeDataType.U16, Type.SENSOR  , "Max Compressor Frequency, Heating"));
                    put(40323, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter alarm code"));
                    put(40324, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter fault code"));
                    put(40326, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter drive command"));
                    put(40327, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "NIBE Inverter Pic version"));
                    put(40328, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "NIBE Inverter 8051 version"));
                    put(40329, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "NIBE Inverter Def. Wizard"));
                    put(40330, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "NIBE Inverter Mce version"));
                    put(40331, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "NIBE Inverter Hw version"));
                    put(40332, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "NIBE Inverter Hw type"));
                    put(40339, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S8"));
                    put(40340, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S7"));
                    put(40341, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S6"));
                    put(40342, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External adjustment activated via input S5"));
                    put(40364, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AHPS Docking blocked"));
                    put(40365, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S8"));
                    put(40366, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S7"));
                    put(40367, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S6"));
                    put(40368, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Extra heating system pump S5"));
                    put(40370, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AHPS Docking accessory relays"));
                    put(40755, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "Tot. ext. HW add op.time"));
                    put(40760, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Hz unlimited"));
                    put(40762, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Reg. state AHPS Docking shunt"));
                    put(40763, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AHPS Docking calc. supply temp."));
                    put(40771, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Pool2 Cpr EP14"));
                    put(40868, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "+Adjust AUX Port"));
                    put(40870, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "+Adjust OP mode"));
                    put(40871, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "+Adjust Comfort mode"));
                    put(40872, new VariableInformation(   1, NibeDataType.S8 , Type.SENSOR  , "+Adjust Parallell adjustment"));
                    put(40873, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "+Adjust Humidity"));
                    put(40874, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "+Adjust Temp indoor"));
                    put(40875, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "+Adjust Temp outdoor"));
                    put(40876, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "+Adjust Version"));
                    put(40877, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "+Adjust Activated"));
                    put(40878, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "+Adjust Need"));
                    put(40889, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT64 Average"));
                    put(40918, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "EB100-FD3 Temperature limiter"));
                    put(40932, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Kind of defrost"));
                    put(40934, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Active defrosting time"));
                    put(40935, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Passive defrosting time"));
                    put(40940, new VariableInformation(  10, NibeDataType.S32, Type.SETTING , "Degree Minutes (32 bit)"));
                    put(40993, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter min speed"));
                    put(40994, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter max speed"));
                    put(40995, new VariableInformation( 100, NibeDataType.U32, Type.SENSOR  , "External Energy Meter 2 Accumulated Energy"));
                    put(40997, new VariableInformation( 100, NibeDataType.U32, Type.SENSOR  , "External Energy Meter 1 Accumulated Energy"));
                    put(41026, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "EB100-Adjusted BS1 Air flow"));
                    put(41027, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Humidity average"));
                    put(41189, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AA20-BE5 EME10 Current"));
                    put(41190, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "AA20-BE5 EME10 Average Current"));
                    put(41191, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "PV Panel State"));
                    put(41214, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "OEK accessory block status"));
                    put(41256, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Fan speed current"));
                    put(41257, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Fan speed current"));
                    put(41258, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Fan speed current"));
                    put(41265, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home Mode"));
                    put(41266, new VariableInformation(  10, NibeDataType.S8 , Type.SENSOR  , "Offset to smart home system"));
                    put(41267, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 8"));
                    put(41268, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 7"));
                    put(41269, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 6"));
                    put(41270, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 5"));
                    put(41271, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 4"));
                    put(41272, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 3"));
                    put(41273, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 2"));
                    put(41274, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Home ctrl syst 1"));
                    put(41928, new VariableInformation( 100, NibeDataType.U16, Type.SENSOR  , "Smart Price Adaption Price"));
                    put(41929, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Smart Price Adaption Price Level"));
                    put(41930, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 10"));
                    put(41931, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 9"));
                    put(41932, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 8"));
                    put(41933, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 7"));
                    put(41934, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 6"));
                    put(41935, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 5"));
                    put(41936, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 4"));
                    put(41937, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 3"));
                    put(41938, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 2"));
                    put(41939, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Power 1"));
                    put(41940, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 10"));
                    put(41941, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 9"));
                    put(41942, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 8"));
                    put(41943, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 7"));
                    put(41944, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 6"));
                    put(41945, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 5"));
                    put(41946, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 4"));
                    put(41947, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 3"));
                    put(41948, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 2"));
                    put(41949, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error High 1"));
                    put(41950, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 10"));
                    put(41951, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 9"));
                    put(41952, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 8"));
                    put(41953, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 7"));
                    put(41954, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 6"));
                    put(41955, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 5"));
                    put(41956, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 4"));
                    put(41957, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 3"));
                    put(41958, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 2"));
                    put(41959, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Error Low 1"));
                    put(41960, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 10"));
                    put(41961, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 9"));
                    put(41962, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 8"));
                    put(41963, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 7"));
                    put(41964, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 6"));
                    put(41965, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 5"));
                    put(41966, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 4"));
                    put(41967, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 3"));
                    put(41968, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 2"));
                    put(41969, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Com Percentage 1"));
                    put(41980, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 10"));
                    put(41981, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 9"));
                    put(41982, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 8"));
                    put(41983, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 7"));
                    put(41984, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 6"));
                    put(41985, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 5"));
                    put(41986, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 4"));
                    put(41987, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 3"));
                    put(41988, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 2"));
                    put(41989, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage1 1"));
                    put(41990, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 10"));
                    put(41991, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 9"));
                    put(41992, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 8"));
                    put(41993, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 7"));
                    put(41994, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 6"));
                    put(41995, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 5"));
                    put(41996, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 4"));
                    put(41997, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 3"));
                    put(41998, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 2"));
                    put(41999, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Voltage2 1"));
                    put(42000, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 10"));
                    put(42001, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 9"));
                    put(42002, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 8"));
                    put(42003, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 7"));
                    put(42004, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 6"));
                    put(42005, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 5"));
                    put(42006, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 4"));
                    put(42007, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 3"));
                    put(42008, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 2"));
                    put(42009, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 Temperature 1"));
                    put(42010, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 10"));
                    put(42012, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 9"));
                    put(42014, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 8"));
                    put(42016, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 7"));
                    put(42018, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 6"));
                    put(42020, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 5"));
                    put(42022, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 4"));
                    put(42024, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 3"));
                    put(42026, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 2"));
                    put(42028, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 Energy 1"));
                    put(42030, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "AA23-BE5 EME20 Version"));
                    put(42033, new VariableInformation(  10, NibeDataType.U8 , Type.SENSOR  , "PV Panel Heat Offset"));
                    put(42034, new VariableInformation(  10, NibeDataType.U8 , Type.SENSOR  , "PV Panel Pool Offset"));
                    put(42035, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 EME20 Total Power"));
                    put(42037, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 EME20 Total Average Power"));
                    put(42075, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "AA23-BE5 EME20 Total Energy"));
                    put(42080, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 504"));
                    put(42081, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 505"));
                    put(42082, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 506"));
                    put(42083, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 507"));
                    put(42084, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 508"));
                    put(42085, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 509"));
                    put(42086, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 510"));
                    put(42087, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "AA23-BE5 Alarm 511"));
                    put(42093, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External SAM accessory GQ3 speed"));
                    put(42100, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "BT1 Average, 24h"));
                    put(42101, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Used heating power average, 24h"));
                    put(42437, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - HW Cpr and Add - Total system"));
                    put(42439, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Heat Cpr and Add - Total system"));
                    put(42443, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Pool Cpr - Total system"));
                    put(42445, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - HW Cpr - Total system"));
                    put(42447, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Heat Cpr - Total system"));
                    put(42504, new VariableInformation(   1, NibeDataType.U32, Type.SENSOR  , "External Energy Meter Accumulated System"));
                    put(43001, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Software version"));
                    put(43005, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Degree Minutes (16 bit)"));
                    put(43006, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S4"));
                    put(43007, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S3"));
                    put(43008, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S2"));
                    put(43009, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calc. Supply S1"));
                    put(43013, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Freeze Protection Status"));
                    put(43061, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "t. after start timer"));
                    put(43062, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "t. after mode change"));
                    put(43064, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Heat Medium Flow dT Set Point"));
                    put(43065, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Heat Medium Flow dT Actual"));
                    put(43066, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Defrosting time"));
                    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(43093, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S4"));
                    put(43094, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S3"));
                    put(43095, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S2"));
                    put(43096, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Mixing Valve State S1"));
                    put(43097, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Status of the shunt controlled additional heat accessory"));
                    put(43108, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Fan speed current"));
                    put(43122, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Compr. current min.freq."));
                    put(43123, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Compr. current max.freq."));
                    put(43124, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Airflow ref."));
                    put(43132, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter com. timer"));
                    put(43136, new VariableInformation(  10, NibeDataType.U16, Type.SENSOR  , "Compressor Frequency, Actual"));
                    put(43140, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Inverter Temperature"));
                    put(43141, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "compr. in power"));
                    put(43144, new VariableInformation( 100, NibeDataType.U32, Type.SENSOR  , "Compr. energy total"));
                    put(43147, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Compr. in current"));
                    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(43180, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "HWC Pump Status GP11"));
                    put(43181, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Chargepump speed"));
                    put(43182, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Compressor Frequency, Target"));
                    put(43239, new VariableInformation(  10, NibeDataType.S32, Type.SENSOR  , "Tot. HW op.time add."));
                    put(43305, new VariableInformation( 100, NibeDataType.U32, Type.SENSOR  , "Compr. energy HW"));
                    put(43371, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Hot gas limit status"));
                    put(43372, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Evaporater limit status"));
                    put(43375, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "compr. in power mean"));
                    put(43382, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Inverter mem error code"));
                    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(43435, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Cpr Status EP14"));
                    put(43437, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Supply Pump Speed EP14"));
                    put(43444, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State OEK"));
                    put(43514, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "EB100-EP14 PCA Base Relays"));
                    put(43516, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "PCA-Power Relays EP14"));
                    put(43542, new VariableInformation(  10, NibeDataType.S16, Type.SENSOR  , "Calculated supply air temp."));
                    put(43561, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Pool 1 blocked"));
                    put(44258, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "External supply air accessory relays"));
                    put(44298, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - HW Cpr and Add EP14"));
                    put(44300, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Heat Cpr and Add EP14"));
                    put(44304, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Pool Cpr EP14"));
                    put(44306, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - HW Cpr EP14"));
                    put(44308, new VariableInformation(  10, NibeDataType.U32, Type.SENSOR  , "Heat Meter - Heat Cpr EP14"));
                    put(44317, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "SCA accessory relays"));
                    put(44331, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Software release"));
                    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(44755, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "DEW hot water valve"));
                    put(44757, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "SCA hot water valve"));
                    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(44896, new VariableInformation(  10, NibeDataType.S8 , Type.SENSOR  , "Smart Price Adaption Heating Offset"));
                    put(44897, new VariableInformation(   1, NibeDataType.S8 , Type.SENSOR  , "Smart Price Adaption HW Comfort Mode"));
                    put(44898, new VariableInformation(   1, NibeDataType.S8 , Type.SENSOR  , "Smart Price Adaption Pool Offset"));
                    put(44899, new VariableInformation(   1, NibeDataType.S8 , Type.SENSOR  , "Smart Price Adaption Cool Offset"));
                    put(44908, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "State smart price adaption"));
                    put(45001, new VariableInformation(   1, NibeDataType.S16, Type.SENSOR  , "Alarm"));
                    put(47062, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "HW charge offset"));
                    put(47291, new VariableInformation(   1, NibeDataType.U16, Type.SENSOR  , "Floor drying timer"));
                    put(48206, new VariableInformation(   1, NibeDataType.U8 , Type.SENSOR  , "Silent Mode Status"));
                    put(40879, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "+Adjust Parallell factor"));
                    put(40880, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "+Adjust Max change"));
                    put(40881, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system8"));
                    put(40882, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system7"));
                    put(40883, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system6"));
                    put(40884, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system5"));
                    put(40885, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system4"));
                    put(40886, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system3"));
                    put(40887, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system2"));
                    put(40888, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "+Adjust Affect system1"));
                    put(45171, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Alarm Reset"));
                    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 , "Heat Offset S4"));
                    put(47009, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Offset S3"));
                    put(47010, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Offset S2"));
                    put(47011, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat 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 Heating Curve P7"));
                    put(47021, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Heating Curve P6"));
                    put(47022, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Heating Curve P5"));
                    put(47023, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Heating Curve P4"));
                    put(47024, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Heating Curve P3"));
                    put(47025, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Heating Curve P2"));
                    put(47026, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Own Heating 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 comfort 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(47092, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Manual compfreq HW"));
                    put(47093, new VariableInformation(   1, NibeDataType.U16, Type.SETTING , "Manual compfreq speed HW"));
                    put(47094, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Sec per compfreq step"));
                    put(47095, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Max compfreq step"));
                    put(47096, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Manual compfreq Heating"));
                    put(47097, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Min speed after start"));
                    put(47098, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Min speed after HW"));
                    put(47099, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "GMz"));
                    put(47100, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Max diff VBF-BerVBF"));
                    put(47101, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Comp freq reg P"));
                    put(47102, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Comp freq max delta F"));
                    put(47103, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Min comp freq"));
                    put(47104, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Max comp freq"));
                    put(47105, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Comp freq heating"));
                    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(47137, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Operational mode"));
                    put(47138, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Operational mode heat medium pump"));
                    put(47206, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM start heating"));
                    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.U16, 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(47266, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Supply Fan speed 4"));
                    put(47267, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Supply Fan speed 3"));
                    put(47268, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Supply Fan speed 2"));
                    put(47269, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Supply Fan speed 1"));
                    put(47270, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Supply 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(47294, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use airflow defrost"));
                    put(47295, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Airflow reduction trig"));
                    put(47296, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Airflow defrost done"));
                    put(47299, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Min time defrost"));
                    put(47300, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "DOT"));
                    put(47301, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "delta T at DOT"));
                    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(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(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(47374, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Start Temperature Cooling"));
                    put(47375, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Stop Temperature Heating"));
                    put(47376, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Stop Temperature Additive"));
                    put(47377, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Outdoor Filter Time"));
                    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(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(47442, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "preset flow clim. sys."));
                    put(47473, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Max time defrost"));
                    put(47525, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Curve S8"));
                    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(47555, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "DEW accessory"));
                    put(47567, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Curve S7"));
                    put(48043, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Holiday - Activated"));
                    put(48072, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM diff start add."));
                    put(48132, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Temporary Lux"));
                    put(48139, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "DM startdiff add. with shunt"));
                    put(48158, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "SAM supply air curve: outdoor temp T3"));
                    put(48159, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "SAM supply air curve: outdoor temp T2"));
                    put(48160, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "SAM supply air curve: outdoor temp T1"));
                    put(48161, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "SAM supply air curve: supply air temp at T3"));
                    put(48162, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "SAM supply air curve: supply air temp at T2"));
                    put(48163, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "SAM supply air curve: supply air temp at T1"));
                    put(48201, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SCA accessory"));
                    put(48275, 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(48488, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Curve S6"));
                    put(48489, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Curve S5"));
                    put(48491, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Offset S8"));
                    put(48492, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Offset S7"));
                    put(48493, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Offset S6"));
                    put(48494, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Heat Offset S5"));
                    put(48495, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 8"));
                    put(48496, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 7"));
                    put(48497, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 6"));
                    put(48498, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Min Supply System 5"));
                    put(48499, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 8"));
                    put(48500, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 7"));
                    put(48501, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 6"));
                    put(48502, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Max Supply System 5"));
                    put(48503, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S8"));
                    put(48504, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S7"));
                    put(48505, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S6"));
                    put(48506, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "External adjustment S5"));
                    put(48507, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S8"));
                    put(48508, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S7"));
                    put(48509, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S6"));
                    put(48510, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "External adjustment with room sensor S5"));
                    put(48567, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Initiate inverter"));
                    put(48568, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Force inverter init"));
                    put(48569, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 5 accessory"));
                    put(48570, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 6 accessory"));
                    put(48571, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 7 accessory"));
                    put(48572, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Climate system 8 accessory"));
                    put(48573, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 8 mixing valve amp."));
                    put(48574, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 7 mixing valve amp."));
                    put(48575, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 6 mixing valve amp."));
                    put(48576, new VariableInformation(  10, NibeDataType.S8 , Type.SETTING , "Climate system 5 mixing valve amp."));
                    put(48577, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 8 shunt wait"));
                    put(48578, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 7 shunt wait"));
                    put(48579, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 6 shunt wait"));
                    put(48580, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Climate system 5 shunt wait"));
                    put(48637, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS docking accessory"));
                    put(48638, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS docking: solar heating"));
                    put(48639, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS docking: prioritized add."));
                    put(48640, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS docking: ext. addition"));
                    put(48641, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS docking: ext. hot water"));
                    put(48659, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cut off frequency activated 2"));
                    put(48660, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cut off frequency activated 1"));
                    put(48661, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cut off frequency start 2"));
                    put(48662, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cut off frequency start 1"));
                    put(48663, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cut off frequency stop 2"));
                    put(48664, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Cut off frequency stop 1"));
                    put(48675, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S8"));
                    put(48676, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S7"));
                    put(48677, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S6"));
                    put(48678, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Use room sensor S5"));
                    put(48680, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S8"));
                    put(48681, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S7"));
                    put(48682, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S6"));
                    put(48683, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "Room sensor setpoint S5"));
                    put(48685, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S8"));
                    put(48686, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S7"));
                    put(48687, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S6"));
                    put(48688, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Room sensor factor S5"));
                    put(48732, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S8"));
                    put(48733, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S7"));
                    put(48734, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S6"));
                    put(48735, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S5"));
                    put(48736, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S4"));
                    put(48737, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S3"));
                    put(48738, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S2"));
                    put(48739, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Cool offset S1"));
                    put(48743, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Hot water high power mode"));
                    put(48755, new VariableInformation(   1, NibeDataType.U16, Type.SETTING , "Transformer ratio"));
                    put(48794, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "RH set value"));
                    put(48810, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S8 "));
                    put(48811, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S7"));
                    put(48812, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S6"));
                    put(48813, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S5"));
                    put(48814, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S4"));
                    put(48815, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S3"));
                    put(48816, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S2"));
                    put(48817, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Prevent humidity S1"));
                    put(48852, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Modbus40 Word Swap"));
                    put(48889, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "MODBUS40 Disable LOG.SET"));
                    put(48891, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Setting up ventilation"));
                    put(48908, new VariableInformation(   1, NibeDataType.U16, Type.SETTING , "Energy Meter Factor X23"));
                    put(48909, new VariableInformation(   1, NibeDataType.U16, Type.SETTING , "Energy Meter Factor X22"));
                    put(48910, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Energy Meter X23"));
                    put(48911, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Energy Meter X22"));
                    put(48914, new VariableInformation( 100, NibeDataType.S16, Type.SETTING , "Max int add. power, SG Ready"));
                    put(48915, new VariableInformation(   1, NibeDataType.S16, Type.SETTING , "Real air flow"));
                    put(48926, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Humidity factor"));
                    put(48927, new VariableInformation(  10, NibeDataType.U8 , Type.SETTING , "Humidity cool factor"));
                    put(48930, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "EME10 Activated"));
                    put(48931, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "EME PV Panel Affect Heating"));
                    put(48932, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "EME PV Panel Affect Hot Water"));
                    put(48968, new VariableInformation(  10, NibeDataType.S16, Type.SETTING , "FLM 1 set point, cooling"));
                    put(48969, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AUX block OPT"));
                    put(48970, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Outdoor Air Mixing function"));
                    put(48972, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Outdoor air min. temp."));
                    put(48973, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Reduced ventilation"));
                    put(48975, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "OEK accessory"));
                    put(48976, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Smart home room control"));
                    put(49223, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SCA solar heating"));
                    put(49224, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SCA ext. hot water"));
                    put(49227, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Block top frequencies"));
                    put(49281, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "SAM fan model"));
                    put(49282, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Silent Mode Max Speed"));
                    put(49285, new VariableInformation(   1, NibeDataType.U16, Type.SETTING , "Energy Meter pulses per kWh X23"));
                    put(49286, new VariableInformation(   1, NibeDataType.U16, Type.SETTING , "Energy Meter pulses per kWh X22"));
                    put(49287, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Energy Meter mode X23"));
                    put(49288, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Energy Meter mode X22"));
                    put(49289, new VariableInformation(   1, NibeDataType.S8 , Type.SETTING , "Ground water pump speed control "));
                    put(49295, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS External Addition start temperature."));
                    put(49296, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "AHPS External Addition stop temperature."));
                    put(49297, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "EME20 Activated"));
                    put(49298, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "EME PV Panel Affect Pool"));
                    put(49358, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night cooling"));
                    put(49359, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night cooling"));
                    put(49360, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night cooling"));
                    put(49361, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Start room temp. night cooling"));
                    put(49362, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Start room temp. night cooling"));
                    put(49363, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Start room temp. night cooling"));
                    put(49364, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night Cooling Min. diff."));
                    put(49365, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night Cooling Min. diff."));
                    put(49366, new VariableInformation(   1, NibeDataType.U8 , Type.SETTING , "Night Cooling Min. diff."));
                    // @formatter:on
                }
            });

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