export type HeatPumpState = {
  established_connection: boolean;
  mode?: number;
  compressor_frequency?: number;
  machine_current_value?: number;
  water_temperature?: number;
  water_tank_temperature?: number;
  water_supply_pipe_temperature?: number;
  solar_collector_temperature?: number;
  outdoor_ambient_temperature?: number;
  electronic_expansion_valve_opening_degree?: number;
  outdoor_coil_temperature?: number;
  exhaust_gas_temperature?: number;
  return_air_temperature?: number;
  throttling_temperature?: number;
  electric_heating: ElectricHeating;
  flags: Flags;
  faults: Faults;
};

type Flags = {
  status_1?: number[];
  status_2?: number[];
};

type Faults = {
  error_1?: number[];
  error_2?: number[];
  error_3?: number[];
  error_4?: number[];
};

export enum Intensity {
  Low = 1,
  Middle = 2,
  High = 3,
}

type ElectricHeating = {
  running: boolean;
  intensity?: Intensity;
  fan_speed?: Intensity;
  water_pump_running?: boolean;
};
