Rename wallbox non-config CONF_ variables (#69737)

This commit is contained in:
hesselonline 2022-04-19 08:44:25 +02:00 committed by GitHub
parent d03760d0bb
commit 84666ce05e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 219 additions and 228 deletions

View file

@ -20,17 +20,17 @@ from homeassistant.helpers.update_coordinator import (
from ...helpers.entity import DeviceInfo from ...helpers.entity import DeviceInfo
from .const import ( from .const import (
CONF_CURRENT_VERSION_KEY, CHARGER_CURRENT_VERSION_KEY,
CONF_DATA_KEY, CHARGER_DATA_KEY,
CONF_LOCKED_UNLOCKED_KEY, CHARGER_LOCKED_UNLOCKED_KEY,
CONF_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY,
CONF_NAME_KEY, CHARGER_NAME_KEY,
CONF_PART_NUMBER_KEY, CHARGER_PART_NUMBER_KEY,
CONF_SERIAL_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY,
CONF_SOFTWARE_KEY, CHARGER_SOFTWARE_KEY,
CHARGER_STATUS_DESCRIPTION_KEY,
CHARGER_STATUS_ID_KEY,
CONF_STATION, CONF_STATION,
CONF_STATUS_DESCRIPTION_KEY,
CONF_STATUS_ID_KEY,
DOMAIN, DOMAIN,
) )
@ -115,14 +115,14 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
try: try:
self._authenticate() self._authenticate()
data: dict[str, Any] = self._wallbox.getChargerStatus(self._station) data: dict[str, Any] = self._wallbox.getChargerStatus(self._station)
data[CONF_MAX_CHARGING_CURRENT_KEY] = data[CONF_DATA_KEY][ data[CHARGER_MAX_CHARGING_CURRENT_KEY] = data[CHARGER_DATA_KEY][
CONF_MAX_CHARGING_CURRENT_KEY CHARGER_MAX_CHARGING_CURRENT_KEY
] ]
data[CONF_LOCKED_UNLOCKED_KEY] = data[CONF_DATA_KEY][ data[CHARGER_LOCKED_UNLOCKED_KEY] = data[CHARGER_DATA_KEY][
CONF_LOCKED_UNLOCKED_KEY CHARGER_LOCKED_UNLOCKED_KEY
] ]
data[CONF_STATUS_DESCRIPTION_KEY] = CHARGER_STATUS.get( data[CHARGER_STATUS_DESCRIPTION_KEY] = CHARGER_STATUS.get(
data[CONF_STATUS_ID_KEY], "Unknown" data[CHARGER_STATUS_ID_KEY], "Unknown"
) )
return data return data
@ -215,12 +215,15 @@ class WallboxEntity(CoordinatorEntity[WallboxCoordinator]):
"""Return device information about this Wallbox device.""" """Return device information about this Wallbox device."""
return DeviceInfo( return DeviceInfo(
identifiers={ identifiers={
(DOMAIN, self.coordinator.data[CONF_DATA_KEY][CONF_SERIAL_NUMBER_KEY]) (
DOMAIN,
self.coordinator.data[CHARGER_DATA_KEY][CHARGER_SERIAL_NUMBER_KEY],
)
}, },
name=f"Wallbox - {self.coordinator.data[CONF_NAME_KEY]}", name=f"Wallbox - {self.coordinator.data[CHARGER_NAME_KEY]}",
manufacturer="Wallbox", manufacturer="Wallbox",
model=self.coordinator.data[CONF_DATA_KEY][CONF_PART_NUMBER_KEY], model=self.coordinator.data[CHARGER_DATA_KEY][CHARGER_PART_NUMBER_KEY],
sw_version=self.coordinator.data[CONF_DATA_KEY][CONF_SOFTWARE_KEY][ sw_version=self.coordinator.data[CHARGER_DATA_KEY][CHARGER_SOFTWARE_KEY][
CONF_CURRENT_VERSION_KEY CHARGER_CURRENT_VERSION_KEY
], ],
) )

View file

@ -3,24 +3,24 @@
DOMAIN = "wallbox" DOMAIN = "wallbox"
CONF_STATION = "station" CONF_STATION = "station"
CONF_ADDED_ENERGY_KEY = "added_energy" CHARGER_ADDED_ENERGY_KEY = "added_energy"
CONF_ADDED_RANGE_KEY = "added_range" CHARGER_ADDED_RANGE_KEY = "added_range"
CONF_CHARGING_POWER_KEY = "charging_power" CHARGER_CHARGING_POWER_KEY = "charging_power"
CONF_CHARGING_SPEED_KEY = "charging_speed" CHARGER_CHARGING_SPEED_KEY = "charging_speed"
CONF_CHARGING_TIME_KEY = "charging_time" CHARGER_CHARGING_TIME_KEY = "charging_time"
CONF_COST_KEY = "cost" CHARGER_COST_KEY = "cost"
CONF_CURRENT_MODE_KEY = "current_mode" CHARGER_CURRENT_MODE_KEY = "current_mode"
CONF_CURRENT_VERSION_KEY = "currentVersion" CHARGER_CURRENT_VERSION_KEY = "currentVersion"
CONF_DATA_KEY = "config_data" CHARGER_DATA_KEY = "config_data"
CONF_DEPOT_PRICE_KEY = "depot_price" CHARGER_DEPOT_PRICE_KEY = "depot_price"
CONF_SERIAL_NUMBER_KEY = "serial_number" CHARGER_SERIAL_NUMBER_KEY = "serial_number"
CONF_PART_NUMBER_KEY = "part_number" CHARGER_PART_NUMBER_KEY = "part_number"
CONF_SOFTWARE_KEY = "software" CHARGER_SOFTWARE_KEY = "software"
CONF_MAX_AVAILABLE_POWER_KEY = "max_available_power" CHARGER_MAX_AVAILABLE_POWER_KEY = "max_available_power"
CONF_MAX_CHARGING_CURRENT_KEY = "max_charging_current" CHARGER_MAX_CHARGING_CURRENT_KEY = "max_charging_current"
CONF_LOCKED_UNLOCKED_KEY = "locked" CHARGER_LOCKED_UNLOCKED_KEY = "locked"
CONF_NAME_KEY = "name" CHARGER_NAME_KEY = "name"
CONF_STATE_OF_CHARGE_KEY = "state_of_charge" CHARGER_STATE_OF_CHARGE_KEY = "state_of_charge"
CONF_STATUS_ID_KEY = "status_id" CHARGER_STATUS_ID_KEY = "status_id"
CONF_STATUS_DESCRIPTION_KEY = "status_description" CHARGER_STATUS_DESCRIPTION_KEY = "status_description"
CONF_CONNECTIONS = "connections" CHARGER_CONNECTIONS = "connections"

View file

@ -10,15 +10,15 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import InvalidAuth, WallboxCoordinator, WallboxEntity from . import InvalidAuth, WallboxCoordinator, WallboxEntity
from .const import ( from .const import (
CONF_DATA_KEY, CHARGER_DATA_KEY,
CONF_LOCKED_UNLOCKED_KEY, CHARGER_LOCKED_UNLOCKED_KEY,
CONF_SERIAL_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY,
DOMAIN, DOMAIN,
) )
LOCK_TYPES: dict[str, LockEntityDescription] = { LOCK_TYPES: dict[str, LockEntityDescription] = {
CONF_LOCKED_UNLOCKED_KEY: LockEntityDescription( CHARGER_LOCKED_UNLOCKED_KEY: LockEntityDescription(
key=CONF_LOCKED_UNLOCKED_KEY, key=CHARGER_LOCKED_UNLOCKED_KEY,
name="Locked/Unlocked", name="Locked/Unlocked",
), ),
} }
@ -32,7 +32,7 @@ async def async_setup_entry(
# Check if the user is authorized to lock, if so, add lock component # Check if the user is authorized to lock, if so, add lock component
try: try:
await coordinator.async_set_lock_unlock( await coordinator.async_set_lock_unlock(
coordinator.data[CONF_LOCKED_UNLOCKED_KEY] coordinator.data[CHARGER_LOCKED_UNLOCKED_KEY]
) )
except InvalidAuth: except InvalidAuth:
return return
@ -60,12 +60,12 @@ class WallboxLock(WallboxEntity, LockEntity):
super().__init__(coordinator) super().__init__(coordinator)
self.entity_description = description self.entity_description = description
self._attr_name = f"{entry.title} {description.name}" self._attr_name = f"{entry.title} {description.name}"
self._attr_unique_id = f"{description.key}-{coordinator.data[CONF_DATA_KEY][CONF_SERIAL_NUMBER_KEY]}" self._attr_unique_id = f"{description.key}-{coordinator.data[CHARGER_DATA_KEY][CHARGER_SERIAL_NUMBER_KEY]}"
@property @property
def is_locked(self) -> bool: def is_locked(self) -> bool:
"""Return the status of the lock.""" """Return the status of the lock."""
return self.coordinator.data[CONF_LOCKED_UNLOCKED_KEY] # type: ignore[no-any-return] return self.coordinator.data[CHARGER_LOCKED_UNLOCKED_KEY] # type: ignore[no-any-return]
async def async_lock(self, **kwargs: Any) -> None: async def async_lock(self, **kwargs: Any) -> None:
"""Lock charger.""" """Lock charger."""

View file

@ -11,10 +11,10 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import InvalidAuth, WallboxCoordinator, WallboxEntity from . import InvalidAuth, WallboxCoordinator, WallboxEntity
from .const import ( from .const import (
CONF_DATA_KEY, CHARGER_DATA_KEY,
CONF_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY,
CONF_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY,
CONF_SERIAL_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY,
DOMAIN, DOMAIN,
) )
@ -25,8 +25,8 @@ class WallboxNumberEntityDescription(NumberEntityDescription):
NUMBER_TYPES: dict[str, WallboxNumberEntityDescription] = { NUMBER_TYPES: dict[str, WallboxNumberEntityDescription] = {
CONF_MAX_CHARGING_CURRENT_KEY: WallboxNumberEntityDescription( CHARGER_MAX_CHARGING_CURRENT_KEY: WallboxNumberEntityDescription(
key=CONF_MAX_CHARGING_CURRENT_KEY, key=CHARGER_MAX_CHARGING_CURRENT_KEY,
name="Max. Charging Current", name="Max. Charging Current",
min_value=6, min_value=6,
), ),
@ -41,7 +41,7 @@ async def async_setup_entry(
# Check if the user is authorized to change current, if so, add number component: # Check if the user is authorized to change current, if so, add number component:
try: try:
await coordinator.async_set_charging_current( await coordinator.async_set_charging_current(
coordinator.data[CONF_MAX_CHARGING_CURRENT_KEY] coordinator.data[CHARGER_MAX_CHARGING_CURRENT_KEY]
) )
except InvalidAuth: except InvalidAuth:
return return
@ -71,18 +71,18 @@ class WallboxNumber(WallboxEntity, NumberEntity):
self.entity_description = description self.entity_description = description
self._coordinator = coordinator self._coordinator = coordinator
self._attr_name = f"{entry.title} {description.name}" self._attr_name = f"{entry.title} {description.name}"
self._attr_unique_id = f"{description.key}-{coordinator.data[CONF_DATA_KEY][CONF_SERIAL_NUMBER_KEY]}" self._attr_unique_id = f"{description.key}-{coordinator.data[CHARGER_DATA_KEY][CHARGER_SERIAL_NUMBER_KEY]}"
@property @property
def max_value(self) -> float: def max_value(self) -> float:
"""Return the maximum available current.""" """Return the maximum available current."""
return cast(float, self._coordinator.data[CONF_MAX_AVAILABLE_POWER_KEY]) return cast(float, self._coordinator.data[CHARGER_MAX_AVAILABLE_POWER_KEY])
@property @property
def value(self) -> float | None: def value(self) -> float | None:
"""Return the state of the sensor.""" """Return the state of the sensor."""
return cast( return cast(
Optional[float], self._coordinator.data[CONF_MAX_CHARGING_CURRENT_KEY] Optional[float], self._coordinator.data[CHARGER_MAX_CHARGING_CURRENT_KEY]
) )
async def async_set_value(self, value: float) -> None: async def async_set_value(self, value: float) -> None:

View file

@ -25,23 +25,23 @@ from homeassistant.helpers.typing import StateType
from . import WallboxCoordinator, WallboxEntity from . import WallboxCoordinator, WallboxEntity
from .const import ( from .const import (
CONF_ADDED_ENERGY_KEY, CHARGER_ADDED_ENERGY_KEY,
CONF_ADDED_RANGE_KEY, CHARGER_ADDED_RANGE_KEY,
CONF_CHARGING_POWER_KEY, CHARGER_CHARGING_POWER_KEY,
CONF_CHARGING_SPEED_KEY, CHARGER_CHARGING_SPEED_KEY,
CONF_COST_KEY, CHARGER_COST_KEY,
CONF_CURRENT_MODE_KEY, CHARGER_CURRENT_MODE_KEY,
CONF_DATA_KEY, CHARGER_DATA_KEY,
CONF_DEPOT_PRICE_KEY, CHARGER_DEPOT_PRICE_KEY,
CONF_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY,
CONF_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY,
CONF_SERIAL_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY,
CONF_STATE_OF_CHARGE_KEY, CHARGER_STATE_OF_CHARGE_KEY,
CONF_STATUS_DESCRIPTION_KEY, CHARGER_STATUS_DESCRIPTION_KEY,
DOMAIN, DOMAIN,
) )
CONF_STATION = "station" CHARGER_STATION = "station"
UPDATE_INTERVAL = 30 UPDATE_INTERVAL = 30
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -55,76 +55,76 @@ class WallboxSensorEntityDescription(SensorEntityDescription):
SENSOR_TYPES: dict[str, WallboxSensorEntityDescription] = { SENSOR_TYPES: dict[str, WallboxSensorEntityDescription] = {
CONF_CHARGING_POWER_KEY: WallboxSensorEntityDescription( CHARGER_CHARGING_POWER_KEY: WallboxSensorEntityDescription(
key=CONF_CHARGING_POWER_KEY, key=CHARGER_CHARGING_POWER_KEY,
name="Charging Power", name="Charging Power",
precision=2, precision=2,
native_unit_of_measurement=POWER_KILO_WATT, native_unit_of_measurement=POWER_KILO_WATT,
device_class=SensorDeviceClass.POWER, device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
CONF_MAX_AVAILABLE_POWER_KEY: WallboxSensorEntityDescription( CHARGER_MAX_AVAILABLE_POWER_KEY: WallboxSensorEntityDescription(
key=CONF_MAX_AVAILABLE_POWER_KEY, key=CHARGER_MAX_AVAILABLE_POWER_KEY,
name="Max Available Power", name="Max Available Power",
precision=0, precision=0,
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE, native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE,
device_class=SensorDeviceClass.CURRENT, device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
CONF_CHARGING_SPEED_KEY: WallboxSensorEntityDescription( CHARGER_CHARGING_SPEED_KEY: WallboxSensorEntityDescription(
key=CONF_CHARGING_SPEED_KEY, key=CHARGER_CHARGING_SPEED_KEY,
icon="mdi:speedometer", icon="mdi:speedometer",
name="Charging Speed", name="Charging Speed",
precision=0, precision=0,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
CONF_ADDED_RANGE_KEY: WallboxSensorEntityDescription( CHARGER_ADDED_RANGE_KEY: WallboxSensorEntityDescription(
key=CONF_ADDED_RANGE_KEY, key=CHARGER_ADDED_RANGE_KEY,
icon="mdi:map-marker-distance", icon="mdi:map-marker-distance",
name="Added Range", name="Added Range",
precision=0, precision=0,
native_unit_of_measurement=LENGTH_KILOMETERS, native_unit_of_measurement=LENGTH_KILOMETERS,
state_class=SensorStateClass.TOTAL_INCREASING, state_class=SensorStateClass.TOTAL_INCREASING,
), ),
CONF_ADDED_ENERGY_KEY: WallboxSensorEntityDescription( CHARGER_ADDED_ENERGY_KEY: WallboxSensorEntityDescription(
key=CONF_ADDED_ENERGY_KEY, key=CHARGER_ADDED_ENERGY_KEY,
name="Added Energy", name="Added Energy",
precision=2, precision=2,
native_unit_of_measurement=ENERGY_KILO_WATT_HOUR, native_unit_of_measurement=ENERGY_KILO_WATT_HOUR,
device_class=SensorDeviceClass.ENERGY, device_class=SensorDeviceClass.ENERGY,
state_class=SensorStateClass.TOTAL_INCREASING, state_class=SensorStateClass.TOTAL_INCREASING,
), ),
CONF_COST_KEY: WallboxSensorEntityDescription( CHARGER_COST_KEY: WallboxSensorEntityDescription(
key=CONF_COST_KEY, key=CHARGER_COST_KEY,
icon="mdi:ev-station", icon="mdi:ev-station",
name="Cost", name="Cost",
state_class=SensorStateClass.TOTAL_INCREASING, state_class=SensorStateClass.TOTAL_INCREASING,
), ),
CONF_STATE_OF_CHARGE_KEY: WallboxSensorEntityDescription( CHARGER_STATE_OF_CHARGE_KEY: WallboxSensorEntityDescription(
key=CONF_STATE_OF_CHARGE_KEY, key=CHARGER_STATE_OF_CHARGE_KEY,
name="State of Charge", name="State of Charge",
native_unit_of_measurement=PERCENTAGE, native_unit_of_measurement=PERCENTAGE,
device_class=SensorDeviceClass.BATTERY, device_class=SensorDeviceClass.BATTERY,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
CONF_CURRENT_MODE_KEY: WallboxSensorEntityDescription( CHARGER_CURRENT_MODE_KEY: WallboxSensorEntityDescription(
key=CONF_CURRENT_MODE_KEY, key=CHARGER_CURRENT_MODE_KEY,
icon="mdi:ev-station", icon="mdi:ev-station",
name="Current Mode", name="Current Mode",
), ),
CONF_DEPOT_PRICE_KEY: WallboxSensorEntityDescription( CHARGER_DEPOT_PRICE_KEY: WallboxSensorEntityDescription(
key=CONF_DEPOT_PRICE_KEY, key=CHARGER_DEPOT_PRICE_KEY,
icon="mdi:ev-station", icon="mdi:ev-station",
name="Depot Price", name="Depot Price",
precision=2, precision=2,
), ),
CONF_STATUS_DESCRIPTION_KEY: WallboxSensorEntityDescription( CHARGER_STATUS_DESCRIPTION_KEY: WallboxSensorEntityDescription(
key=CONF_STATUS_DESCRIPTION_KEY, key=CHARGER_STATUS_DESCRIPTION_KEY,
icon="mdi:ev-station", icon="mdi:ev-station",
name="Status Description", name="Status Description",
), ),
CONF_MAX_CHARGING_CURRENT_KEY: WallboxSensorEntityDescription( CHARGER_MAX_CHARGING_CURRENT_KEY: WallboxSensorEntityDescription(
key=CONF_MAX_CHARGING_CURRENT_KEY, key=CHARGER_MAX_CHARGING_CURRENT_KEY,
name="Max. Charging Current", name="Max. Charging Current",
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE, native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE,
device_class=SensorDeviceClass.CURRENT, device_class=SensorDeviceClass.CURRENT,
@ -163,7 +163,7 @@ class WallboxSensor(WallboxEntity, SensorEntity):
super().__init__(coordinator) super().__init__(coordinator)
self.entity_description = description self.entity_description = description
self._attr_name = f"{entry.title} {description.name}" self._attr_name = f"{entry.title} {description.name}"
self._attr_unique_id = f"{description.key}-{coordinator.data[CONF_DATA_KEY][CONF_SERIAL_NUMBER_KEY]}" self._attr_unique_id = f"{description.key}-{coordinator.data[CHARGER_DATA_KEY][CHARGER_SERIAL_NUMBER_KEY]}"
@property @property
def native_value(self) -> StateType: def native_value(self) -> StateType:

View file

@ -6,46 +6,46 @@ import json
import requests_mock import requests_mock
from homeassistant.components.wallbox.const import ( from homeassistant.components.wallbox.const import (
CONF_ADDED_ENERGY_KEY, CHARGER_ADDED_ENERGY_KEY,
CONF_ADDED_RANGE_KEY, CHARGER_ADDED_RANGE_KEY,
CONF_CHARGING_POWER_KEY, CHARGER_CHARGING_POWER_KEY,
CONF_CHARGING_SPEED_KEY, CHARGER_CHARGING_SPEED_KEY,
CONF_CURRENT_VERSION_KEY, CHARGER_CURRENT_VERSION_KEY,
CONF_DATA_KEY, CHARGER_DATA_KEY,
CONF_LOCKED_UNLOCKED_KEY, CHARGER_LOCKED_UNLOCKED_KEY,
CONF_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY,
CONF_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY,
CONF_NAME_KEY, CHARGER_NAME_KEY,
CONF_PART_NUMBER_KEY, CHARGER_PART_NUMBER_KEY,
CONF_SERIAL_NUMBER_KEY, CHARGER_SERIAL_NUMBER_KEY,
CONF_SOFTWARE_KEY, CHARGER_SOFTWARE_KEY,
CHARGER_STATUS_ID_KEY,
CONF_STATION, CONF_STATION,
CONF_STATUS_ID_KEY,
DOMAIN, DOMAIN,
) )
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from .const import CONF_ERROR, CONF_JWT, CONF_STATUS, CONF_TTL, CONF_USER_ID from .const import ERROR, JWT, STATUS, TTL, USER_ID
from tests.common import MockConfigEntry from tests.common import MockConfigEntry
test_response = json.loads( test_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_CHARGING_POWER_KEY: 0, CHARGER_CHARGING_POWER_KEY: 0,
CONF_STATUS_ID_KEY: 161, CHARGER_STATUS_ID_KEY: 161,
CONF_MAX_AVAILABLE_POWER_KEY: 25.2, CHARGER_MAX_AVAILABLE_POWER_KEY: 25.2,
CONF_CHARGING_SPEED_KEY: 0, CHARGER_CHARGING_SPEED_KEY: 0,
CONF_ADDED_RANGE_KEY: 150, CHARGER_ADDED_RANGE_KEY: 150,
CONF_ADDED_ENERGY_KEY: 44.697, CHARGER_ADDED_ENERGY_KEY: 44.697,
CONF_NAME_KEY: "WallboxName", CHARGER_NAME_KEY: "WallboxName",
CONF_DATA_KEY: { CHARGER_DATA_KEY: {
CONF_MAX_CHARGING_CURRENT_KEY: 24, CHARGER_MAX_CHARGING_CURRENT_KEY: 24,
CONF_LOCKED_UNLOCKED_KEY: False, CHARGER_LOCKED_UNLOCKED_KEY: False,
CONF_SERIAL_NUMBER_KEY: "20000", CHARGER_SERIAL_NUMBER_KEY: "20000",
CONF_PART_NUMBER_KEY: "PLP1-0-2-4-9-002-E", CHARGER_PART_NUMBER_KEY: "PLP1-0-2-4-9-002-E",
CONF_SOFTWARE_KEY: {CONF_CURRENT_VERSION_KEY: "5.5.10"}, CHARGER_SOFTWARE_KEY: {CHARGER_CURRENT_VERSION_KEY: "5.5.10"},
}, },
} }
) )
@ -54,11 +54,11 @@ test_response = json.loads(
authorisation_response = json.loads( authorisation_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_JWT: "fakekeyhere", JWT: "fakekeyhere",
CONF_USER_ID: 12345, USER_ID: 12345,
CONF_TTL: 145656758, TTL: 145656758,
CONF_ERROR: "false", ERROR: "false",
CONF_STATUS: 200, STATUS: 200,
} }
) )
) )
@ -92,7 +92,7 @@ async def setup_integration(hass: HomeAssistant) -> None:
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_MAX_CHARGING_CURRENT_KEY: 20})), json=json.loads(json.dumps({CHARGER_MAX_CHARGING_CURRENT_KEY: 20})),
status_code=HTTPStatus.OK, status_code=HTTPStatus.OK,
) )
@ -118,7 +118,7 @@ async def setup_integration_connection_error(hass: HomeAssistant) -> None:
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_MAX_CHARGING_CURRENT_KEY: 20})), json=json.loads(json.dumps({CHARGER_MAX_CHARGING_CURRENT_KEY: 20})),
status_code=HTTPStatus.FORBIDDEN, status_code=HTTPStatus.FORBIDDEN,
) )

View file

@ -1,12 +1,12 @@
"""Provides constants for Wallbox component tests.""" """Provides constants for Wallbox component tests."""
CONF_JWT = "jwt" JWT = "jwt"
CONF_USER_ID = "user_id" USER_ID = "user_id"
CONF_TTL = "ttl" TTL = "ttl"
CONF_ERROR = "error" ERROR = "error"
CONF_STATUS = "status" STATUS = "status"
CONF_MOCK_NUMBER_ENTITY_ID = "number.mock_title_max_charging_current" MOCK_NUMBER_ENTITY_ID = "number.mock_title_max_charging_current"
CONF_MOCK_LOCK_ENTITY_ID = "lock.mock_title_locked_unlocked" MOCK_LOCK_ENTITY_ID = "lock.mock_title_locked_unlocked"
CONF_MOCK_SENSOR_CHARGING_SPEED_ID = "sensor.mock_title_charging_speed" MOCK_SENSOR_CHARGING_SPEED_ID = "sensor.mock_title_charging_speed"
CONF_MOCK_SENSOR_CHARGING_POWER_ID = "sensor.mock_title_charging_power" MOCK_SENSOR_CHARGING_POWER_ID = "sensor.mock_title_charging_power"
CONF_MOCK_SENSOR_MAX_AVAILABLE_POWER = "sensor.mock_title_max_available_power" MOCK_SENSOR_MAX_AVAILABLE_POWER = "sensor.mock_title_max_available_power"

View file

@ -7,35 +7,29 @@ import requests_mock
from homeassistant import config_entries, data_entry_flow from homeassistant import config_entries, data_entry_flow
from homeassistant.components.wallbox import config_flow from homeassistant.components.wallbox import config_flow
from homeassistant.components.wallbox.const import ( from homeassistant.components.wallbox.const import (
CONF_ADDED_ENERGY_KEY, CHARGER_ADDED_ENERGY_KEY,
CONF_ADDED_RANGE_KEY, CHARGER_ADDED_RANGE_KEY,
CONF_CHARGING_POWER_KEY, CHARGER_CHARGING_POWER_KEY,
CONF_CHARGING_SPEED_KEY, CHARGER_CHARGING_SPEED_KEY,
CONF_DATA_KEY, CHARGER_DATA_KEY,
CONF_MAX_AVAILABLE_POWER_KEY, CHARGER_MAX_AVAILABLE_POWER_KEY,
CONF_MAX_CHARGING_CURRENT_KEY, CHARGER_MAX_CHARGING_CURRENT_KEY,
DOMAIN, DOMAIN,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from tests.components.wallbox import entry, setup_integration from tests.components.wallbox import entry, setup_integration
from tests.components.wallbox.const import ( from tests.components.wallbox.const import ERROR, JWT, STATUS, TTL, USER_ID
CONF_ERROR,
CONF_JWT,
CONF_STATUS,
CONF_TTL,
CONF_USER_ID,
)
test_response = json.loads( test_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_CHARGING_POWER_KEY: 0, CHARGER_CHARGING_POWER_KEY: 0,
CONF_MAX_AVAILABLE_POWER_KEY: "xx", CHARGER_MAX_AVAILABLE_POWER_KEY: "xx",
CONF_CHARGING_SPEED_KEY: 0, CHARGER_CHARGING_SPEED_KEY: 0,
CONF_ADDED_RANGE_KEY: "xx", CHARGER_ADDED_RANGE_KEY: "xx",
CONF_ADDED_ENERGY_KEY: "44.697", CHARGER_ADDED_ENERGY_KEY: "44.697",
CONF_DATA_KEY: {CONF_MAX_CHARGING_CURRENT_KEY: 24}, CHARGER_DATA_KEY: {CHARGER_MAX_CHARGING_CURRENT_KEY: 24},
} }
) )
) )
@ -43,11 +37,11 @@ test_response = json.loads(
authorisation_response = json.loads( authorisation_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_JWT: "fakekeyhere", JWT: "fakekeyhere",
CONF_USER_ID: 12345, USER_ID: 12345,
CONF_TTL: 145656758, TTL: 145656758,
CONF_ERROR: "false", ERROR: "false",
CONF_STATUS: 200, STATUS: 200,
} }
) )
) )
@ -55,11 +49,11 @@ authorisation_response = json.loads(
authorisation_response_unauthorised = json.loads( authorisation_response_unauthorised = json.loads(
json.dumps( json.dumps(
{ {
CONF_JWT: "fakekeyhere", JWT: "fakekeyhere",
CONF_USER_ID: 12345, USER_ID: 12345,
CONF_TTL: 145656758, TTL: 145656758,
CONF_ERROR: "false", ERROR: "false",
CONF_STATUS: 404, STATUS: 404,
} }
) )
) )

View file

@ -3,7 +3,7 @@ import json
import requests_mock import requests_mock
from homeassistant.components.wallbox import CONF_MAX_CHARGING_CURRENT_KEY from homeassistant.components.wallbox import CHARGER_MAX_CHARGING_CURRENT_KEY
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -16,22 +16,16 @@ from tests.components.wallbox import (
setup_integration_connection_error, setup_integration_connection_error,
setup_integration_read_only, setup_integration_read_only,
) )
from tests.components.wallbox.const import ( from tests.components.wallbox.const import ERROR, JWT, STATUS, TTL, USER_ID
CONF_ERROR,
CONF_JWT,
CONF_STATUS,
CONF_TTL,
CONF_USER_ID,
)
authorisation_response = json.loads( authorisation_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_JWT: "fakekeyhere", JWT: "fakekeyhere",
CONF_USER_ID: 12345, USER_ID: 12345,
CONF_TTL: 145656758, TTL: 145656758,
CONF_ERROR: "false", ERROR: "false",
CONF_STATUS: 200, STATUS: 200,
} }
) )
) )
@ -71,7 +65,7 @@ async def test_wallbox_refresh_failed_invalid_auth(hass: HomeAssistant) -> None:
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_MAX_CHARGING_CURRENT_KEY: 20})), json=json.loads(json.dumps({CHARGER_MAX_CHARGING_CURRENT_KEY: 20})),
status_code=403, status_code=403,
) )

View file

@ -5,7 +5,7 @@ import pytest
import requests_mock import requests_mock
from homeassistant.components.lock import SERVICE_LOCK, SERVICE_UNLOCK from homeassistant.components.lock import SERVICE_LOCK, SERVICE_UNLOCK
from homeassistant.components.wallbox import CONF_LOCKED_UNLOCKED_KEY from homeassistant.components.wallbox import CHARGER_LOCKED_UNLOCKED_KEY
from homeassistant.const import ATTR_ENTITY_ID from homeassistant.const import ATTR_ENTITY_ID
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -15,22 +15,22 @@ from tests.components.wallbox import (
setup_integration_read_only, setup_integration_read_only,
) )
from tests.components.wallbox.const import ( from tests.components.wallbox.const import (
CONF_ERROR, ERROR,
CONF_JWT, JWT,
CONF_MOCK_LOCK_ENTITY_ID, MOCK_LOCK_ENTITY_ID,
CONF_STATUS, STATUS,
CONF_TTL, TTL,
CONF_USER_ID, USER_ID,
) )
authorisation_response = json.loads( authorisation_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_JWT: "fakekeyhere", JWT: "fakekeyhere",
CONF_USER_ID: 12345, USER_ID: 12345,
CONF_TTL: 145656758, TTL: 145656758,
CONF_ERROR: "false", ERROR: "false",
CONF_STATUS: 200, STATUS: 200,
} }
) )
) )
@ -41,7 +41,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
await setup_integration(hass) await setup_integration(hass)
state = hass.states.get(CONF_MOCK_LOCK_ENTITY_ID) state = hass.states.get(MOCK_LOCK_ENTITY_ID)
assert state assert state
assert state.state == "unlocked" assert state.state == "unlocked"
@ -53,7 +53,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_LOCKED_UNLOCKED_KEY: False})), json=json.loads(json.dumps({CHARGER_LOCKED_UNLOCKED_KEY: False})),
status_code=200, status_code=200,
) )
@ -61,7 +61,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
"lock", "lock",
SERVICE_LOCK, SERVICE_LOCK,
{ {
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID, ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
}, },
blocking=True, blocking=True,
) )
@ -70,7 +70,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
"lock", "lock",
SERVICE_UNLOCK, SERVICE_UNLOCK,
{ {
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID, ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
}, },
blocking=True, blocking=True,
) )
@ -91,7 +91,7 @@ async def test_wallbox_lock_class_connection_error(hass: HomeAssistant) -> None:
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_LOCKED_UNLOCKED_KEY: False})), json=json.loads(json.dumps({CHARGER_LOCKED_UNLOCKED_KEY: False})),
status_code=404, status_code=404,
) )
@ -100,7 +100,7 @@ async def test_wallbox_lock_class_connection_error(hass: HomeAssistant) -> None:
"lock", "lock",
SERVICE_LOCK, SERVICE_LOCK,
{ {
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID, ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
}, },
blocking=True, blocking=True,
) )
@ -109,7 +109,7 @@ async def test_wallbox_lock_class_connection_error(hass: HomeAssistant) -> None:
"lock", "lock",
SERVICE_UNLOCK, SERVICE_UNLOCK,
{ {
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID, ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
}, },
blocking=True, blocking=True,
) )
@ -122,7 +122,7 @@ async def test_wallbox_lock_class_authentication_error(hass: HomeAssistant) -> N
await setup_integration_read_only(hass) await setup_integration_read_only(hass)
state = hass.states.get(CONF_MOCK_LOCK_ENTITY_ID) state = hass.states.get(MOCK_LOCK_ENTITY_ID)
assert state is None assert state is None

View file

@ -5,28 +5,28 @@ import pytest
import requests_mock import requests_mock
from homeassistant.components.input_number import ATTR_VALUE, SERVICE_SET_VALUE from homeassistant.components.input_number import ATTR_VALUE, SERVICE_SET_VALUE
from homeassistant.components.wallbox import CONF_MAX_CHARGING_CURRENT_KEY from homeassistant.components.wallbox import CHARGER_MAX_CHARGING_CURRENT_KEY
from homeassistant.const import ATTR_ENTITY_ID from homeassistant.const import ATTR_ENTITY_ID
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from tests.components.wallbox import entry, setup_integration from tests.components.wallbox import entry, setup_integration
from tests.components.wallbox.const import ( from tests.components.wallbox.const import (
CONF_ERROR, ERROR,
CONF_JWT, JWT,
CONF_MOCK_NUMBER_ENTITY_ID, MOCK_NUMBER_ENTITY_ID,
CONF_STATUS, STATUS,
CONF_TTL, TTL,
CONF_USER_ID, USER_ID,
) )
authorisation_response = json.loads( authorisation_response = json.loads(
json.dumps( json.dumps(
{ {
CONF_JWT: "fakekeyhere", JWT: "fakekeyhere",
CONF_USER_ID: 12345, USER_ID: 12345,
CONF_TTL: 145656758, TTL: 145656758,
CONF_ERROR: "false", ERROR: "false",
CONF_STATUS: 200, STATUS: 200,
} }
) )
) )
@ -45,7 +45,7 @@ async def test_wallbox_number_class(hass: HomeAssistant) -> None:
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_MAX_CHARGING_CURRENT_KEY: 20})), json=json.loads(json.dumps({CHARGER_MAX_CHARGING_CURRENT_KEY: 20})),
status_code=200, status_code=200,
) )
@ -53,7 +53,7 @@ async def test_wallbox_number_class(hass: HomeAssistant) -> None:
"number", "number",
SERVICE_SET_VALUE, SERVICE_SET_VALUE,
{ {
ATTR_ENTITY_ID: CONF_MOCK_NUMBER_ENTITY_ID, ATTR_ENTITY_ID: MOCK_NUMBER_ENTITY_ID,
ATTR_VALUE: 20, ATTR_VALUE: 20,
}, },
blocking=True, blocking=True,
@ -74,7 +74,7 @@ async def test_wallbox_number_class_connection_error(hass: HomeAssistant) -> Non
) )
mock_request.put( mock_request.put(
"https://api.wall-box.com/v2/charger/12345", "https://api.wall-box.com/v2/charger/12345",
json=json.loads(json.dumps({CONF_MAX_CHARGING_CURRENT_KEY: 20})), json=json.loads(json.dumps({CHARGER_MAX_CHARGING_CURRENT_KEY: 20})),
status_code=404, status_code=404,
) )
@ -84,7 +84,7 @@ async def test_wallbox_number_class_connection_error(hass: HomeAssistant) -> Non
"number", "number",
SERVICE_SET_VALUE, SERVICE_SET_VALUE,
{ {
ATTR_ENTITY_ID: CONF_MOCK_NUMBER_ENTITY_ID, ATTR_ENTITY_ID: MOCK_NUMBER_ENTITY_ID,
ATTR_VALUE: 20, ATTR_VALUE: 20,
}, },
blocking=True, blocking=True,

View file

@ -4,9 +4,9 @@ from homeassistant.core import HomeAssistant
from tests.components.wallbox import entry, setup_integration from tests.components.wallbox import entry, setup_integration
from tests.components.wallbox.const import ( from tests.components.wallbox.const import (
CONF_MOCK_SENSOR_CHARGING_POWER_ID, MOCK_SENSOR_CHARGING_POWER_ID,
CONF_MOCK_SENSOR_CHARGING_SPEED_ID, MOCK_SENSOR_CHARGING_SPEED_ID,
CONF_MOCK_SENSOR_MAX_AVAILABLE_POWER, MOCK_SENSOR_MAX_AVAILABLE_POWER,
) )
@ -15,16 +15,16 @@ async def test_wallbox_sensor_class(hass: HomeAssistant) -> None:
await setup_integration(hass) await setup_integration(hass)
state = hass.states.get(CONF_MOCK_SENSOR_CHARGING_POWER_ID) state = hass.states.get(MOCK_SENSOR_CHARGING_POWER_ID)
assert state.attributes[CONF_UNIT_OF_MEASUREMENT] == POWER_KILO_WATT assert state.attributes[CONF_UNIT_OF_MEASUREMENT] == POWER_KILO_WATT
assert state.name == "Mock Title Charging Power" assert state.name == "Mock Title Charging Power"
state = hass.states.get(CONF_MOCK_SENSOR_CHARGING_SPEED_ID) state = hass.states.get(MOCK_SENSOR_CHARGING_SPEED_ID)
assert state.attributes[CONF_ICON] == "mdi:speedometer" assert state.attributes[CONF_ICON] == "mdi:speedometer"
assert state.name == "Mock Title Charging Speed" assert state.name == "Mock Title Charging Speed"
# Test round with precision '0' works # Test round with precision '0' works
state = hass.states.get(CONF_MOCK_SENSOR_MAX_AVAILABLE_POWER) state = hass.states.get(MOCK_SENSOR_MAX_AVAILABLE_POWER)
assert state.state == "25.0" assert state.state == "25.0"
await hass.config_entries.async_unload(entry.entry_id) await hass.config_entries.async_unload(entry.entry_id)