Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions hyundai_kia_connect_api/ApiImplType1.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,13 @@ def _update_vehicle_properties_ccs2(self, vehicle: Vehicle, state: dict) -> None
if air_temp != "OFF":
vehicle.air_temperature = (air_temp, TEMPERATURE_UNITS[1])

outside_temp = get_child_value(state, "Cabin.HVAC.OutsideTemperature.Value")
outside_temp_unit = get_child_value(state, "Cabin.HVAC.OutsideTemperature.Unit")
vehicle.outside_temperature = (
outside_temp,
TEMPERATURE_UNITS[outside_temp_unit],
)

defrost_is_on = get_child_value(state, "Body.Windshield.Front.Defog.State")
if defrost_is_on in [0, 2]:
vehicle.defrost_is_on = False
Expand Down Expand Up @@ -379,6 +386,29 @@ def _update_vehicle_properties_ccs2(self, vehicle: Vehicle, state: dict) -> None
vehicle.ev_battery_percentage = get_child_value(
state, "Green.BatteryManagement.BatteryRemain.Ratio"
)

vehicle.ev_battery_pack_voltage = get_child_value(
state, "Green.BatteryManagement.BatteryPackVoltage"
)
vehicle.ev_battery_chiller_rpm = get_child_value(
state, "Green.BatteryManagement.ChillerRPM"
)
vehicle.ev_battery_heating_state = bool(
get_child_value(state, "Green.BatteryManagement.HeatingState")
)
vehicle.ev_battery_water_temperature = get_child_value(
state, "Green.BatteryManagement.Temperature.CoolingWaterInlet"
)
vehicle.ev_battery_temperature_min = get_child_value(
state, "Green.BatteryManagement.Temperature.Min.Raw"
)
vehicle.ev_battery_temperature_max = get_child_value(
state, "Green.BatteryManagement.Temperature.Max.Raw"
)
vehicle.ev_battery_winter_mode = bool(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe if the value is missing this will return False? I don't think that is ideal as it will show up in HA for ICE engines.

get_child_value(state, "Green.BatteryManagement.WinterModeOperation")
)

if get_child_value(state, "Green.Electric.SmartGrid.RealTimePower") is not None:
vehicle.ev_charging_power = get_child_value(
state, "Green.Electric.SmartGrid.RealTimePower"
Expand Down Expand Up @@ -491,6 +521,17 @@ def _update_vehicle_properties_ccs2(self, vehicle: Vehicle, state: dict) -> None
get_child_value(state, "Green.Reservation.Departure.Schedule2.Enable")
)

vehicle.ev_power_consumption_battery_cooling = get_child_value(
state, "Green.PowerConsumption.Moment.BatteryCooling"
)

vehicle.ev_power_consumption_battery_heater = get_child_value(
state, "Green.PowerConsumption.Moment.BatteryHeater"
)
vehicle.ev_power_consumption_air_conditioning = get_child_value(
state, "Green.PowerConsumption.Moment.ClimateAirConditioning"
)

# TODO: vehicle.ev_first_departure_days --> Green.Reservation.Departure.Schedule1.(Mon,Tue,Wed,Thu,Fri,Sat,Sun) # noqa
# TODO: vehicle.ev_second_departure_days --> Green.Reservation.Departure.Schedule2.(Mon,Tue,Wed,Thu,Fri,Sat,Sun) # noqa
# TODO: vehicle.ev_first_departure_time --> Green.Reservation.Departure.Schedule1.(Min,Hour) # noqa
Expand Down
25 changes: 25 additions & 0 deletions hyundai_kia_connect_api/Vehicle.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ class Vehicle:
washer_fluid_warning_is_on: bool = None
brake_fluid_warning_is_on: bool = None

_outside_temperature: float = None
_outside_temperature_value: float = None
_outside_temperature_unit: str = None

# Climate
_air_temperature: float = None
_air_temperature_value: float = None
Expand Down Expand Up @@ -257,6 +261,13 @@ def day_trip_info(self, value):
self._day_trip_info = result

ev_battery_percentage: int = None
ev_battery_pack_voltage: int = None
ev_battery_chiller_rpm: int = None
ev_battery_heating_state: bool = None
ev_battery_water_temperature: int = None
ev_battery_temperature_min: int = None
ev_battery_temperature_max: int = None
ev_battery_winter_mode: bool = None
ev_battery_soh_percentage: int = None
ev_battery_remain: int = None
ev_battery_capacity: int = None
Expand Down Expand Up @@ -293,6 +304,10 @@ def day_trip_info(self, value):
_ev_target_range_charge_DC_value: typing.Union[float, None] = None
_ev_target_range_charge_DC_unit: typing.Union[str, None] = None

ev_power_consumption_battery_cooling: typing.Union[float, None] = None
ev_power_consumption_battery_heater: typing.Union[float, None] = None
ev_power_consumption_air_conditioning: typing.Union[float, None] = None

ev_first_departure_enabled: typing.Union[bool, None] = None
ev_second_departure_enabled: typing.Union[bool, None] = None

Expand Down Expand Up @@ -445,6 +460,16 @@ def odometer(self, value):
self._odometer_unit = value[1]
self._odometer = float_value

@property
def outside_temperature(self):
return self._outside_temperature

@outside_temperature.setter
def outside_temperature(self, value):
self._outside_temperature_value = value[0]
self._outside_temperature_unit = value[1]
self._outside_temperature = value[0]

@property
def air_temperature(self):
return self._air_temperature
Expand Down
Loading