// TODO return OpenMUC value
  private double getValue(SML_ListEntry entry) {
    double value = 0;

    ASNObject obj = entry.getValue().getChoice();
    if (obj.getClass().equals(Integer64.class)) {
      Integer64 val = (Integer64) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Integer32.class)) {
      Integer32 val = (Integer32) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Integer16.class)) {
      Integer16 val = (Integer16) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Integer8.class)) {
      Integer8 val = (Integer8) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Unsigned64.class)) {
      Unsigned64 val = (Unsigned64) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Unsigned32.class)) {
      Unsigned32 val = (Unsigned32) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Unsigned16.class)) {
      Unsigned16 val = (Unsigned16) obj;
      value = val.getVal();
    } else if (obj.getClass().equals(Unsigned8.class)) {
      Unsigned8 val = (Unsigned8) obj;
      value = val.getVal();
    } else {
      return Double.NaN;
    }

    byte scaler = entry.getScaler().getVal();
    return value * Math.pow(10, scaler);
  }