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 .const import (
CONF_CURRENT_VERSION_KEY,
CONF_DATA_KEY,
CONF_LOCKED_UNLOCKED_KEY,
CONF_MAX_CHARGING_CURRENT_KEY,
CONF_NAME_KEY,
CONF_PART_NUMBER_KEY,
CONF_SERIAL_NUMBER_KEY,
CONF_SOFTWARE_KEY,
CHARGER_CURRENT_VERSION_KEY,
CHARGER_DATA_KEY,
CHARGER_LOCKED_UNLOCKED_KEY,
CHARGER_MAX_CHARGING_CURRENT_KEY,
CHARGER_NAME_KEY,
CHARGER_PART_NUMBER_KEY,
CHARGER_SERIAL_NUMBER_KEY,
CHARGER_SOFTWARE_KEY,
CHARGER_STATUS_DESCRIPTION_KEY,
CHARGER_STATUS_ID_KEY,
CONF_STATION,
CONF_STATUS_DESCRIPTION_KEY,
CONF_STATUS_ID_KEY,
DOMAIN,
)
@ -115,14 +115,14 @@ class WallboxCoordinator(DataUpdateCoordinator[dict[str, Any]]):
try:
self._authenticate()
data: dict[str, Any] = self._wallbox.getChargerStatus(self._station)
data[CONF_MAX_CHARGING_CURRENT_KEY] = data[CONF_DATA_KEY][
CONF_MAX_CHARGING_CURRENT_KEY
data[CHARGER_MAX_CHARGING_CURRENT_KEY] = data[CHARGER_DATA_KEY][
CHARGER_MAX_CHARGING_CURRENT_KEY
]
data[CONF_LOCKED_UNLOCKED_KEY] = data[CONF_DATA_KEY][
CONF_LOCKED_UNLOCKED_KEY
data[CHARGER_LOCKED_UNLOCKED_KEY] = data[CHARGER_DATA_KEY][
CHARGER_LOCKED_UNLOCKED_KEY
]
data[CONF_STATUS_DESCRIPTION_KEY] = CHARGER_STATUS.get(
data[CONF_STATUS_ID_KEY], "Unknown"
data[CHARGER_STATUS_DESCRIPTION_KEY] = CHARGER_STATUS.get(
data[CHARGER_STATUS_ID_KEY], "Unknown"
)
return data
@ -215,12 +215,15 @@ class WallboxEntity(CoordinatorEntity[WallboxCoordinator]):
"""Return device information about this Wallbox device."""
return DeviceInfo(
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",
model=self.coordinator.data[CONF_DATA_KEY][CONF_PART_NUMBER_KEY],
sw_version=self.coordinator.data[CONF_DATA_KEY][CONF_SOFTWARE_KEY][
CONF_CURRENT_VERSION_KEY
model=self.coordinator.data[CHARGER_DATA_KEY][CHARGER_PART_NUMBER_KEY],
sw_version=self.coordinator.data[CHARGER_DATA_KEY][CHARGER_SOFTWARE_KEY][
CHARGER_CURRENT_VERSION_KEY
],
)

View File

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

View File

@ -10,15 +10,15 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import InvalidAuth, WallboxCoordinator, WallboxEntity
from .const import (
CONF_DATA_KEY,
CONF_LOCKED_UNLOCKED_KEY,
CONF_SERIAL_NUMBER_KEY,
CHARGER_DATA_KEY,
CHARGER_LOCKED_UNLOCKED_KEY,
CHARGER_SERIAL_NUMBER_KEY,
DOMAIN,
)
LOCK_TYPES: dict[str, LockEntityDescription] = {
CONF_LOCKED_UNLOCKED_KEY: LockEntityDescription(
key=CONF_LOCKED_UNLOCKED_KEY,
CHARGER_LOCKED_UNLOCKED_KEY: LockEntityDescription(
key=CHARGER_LOCKED_UNLOCKED_KEY,
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
try:
await coordinator.async_set_lock_unlock(
coordinator.data[CONF_LOCKED_UNLOCKED_KEY]
coordinator.data[CHARGER_LOCKED_UNLOCKED_KEY]
)
except InvalidAuth:
return
@ -60,12 +60,12 @@ class WallboxLock(WallboxEntity, LockEntity):
super().__init__(coordinator)
self.entity_description = description
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
def is_locked(self) -> bool:
"""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:
"""Lock charger."""

View File

@ -11,10 +11,10 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import InvalidAuth, WallboxCoordinator, WallboxEntity
from .const import (
CONF_DATA_KEY,
CONF_MAX_AVAILABLE_POWER_KEY,
CONF_MAX_CHARGING_CURRENT_KEY,
CONF_SERIAL_NUMBER_KEY,
CHARGER_DATA_KEY,
CHARGER_MAX_AVAILABLE_POWER_KEY,
CHARGER_MAX_CHARGING_CURRENT_KEY,
CHARGER_SERIAL_NUMBER_KEY,
DOMAIN,
)
@ -25,8 +25,8 @@ class WallboxNumberEntityDescription(NumberEntityDescription):
NUMBER_TYPES: dict[str, WallboxNumberEntityDescription] = {
CONF_MAX_CHARGING_CURRENT_KEY: WallboxNumberEntityDescription(
key=CONF_MAX_CHARGING_CURRENT_KEY,
CHARGER_MAX_CHARGING_CURRENT_KEY: WallboxNumberEntityDescription(
key=CHARGER_MAX_CHARGING_CURRENT_KEY,
name="Max. Charging Current",
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:
try:
await coordinator.async_set_charging_current(
coordinator.data[CONF_MAX_CHARGING_CURRENT_KEY]
coordinator.data[CHARGER_MAX_CHARGING_CURRENT_KEY]
)
except InvalidAuth:
return
@ -71,18 +71,18 @@ class WallboxNumber(WallboxEntity, NumberEntity):
self.entity_description = description
self._coordinator = coordinator
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
def max_value(self) -> float:
"""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
def value(self) -> float | None:
"""Return the state of the sensor."""
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:

View File

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

View File

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

View File

@ -1,12 +1,12 @@
"""Provides constants for Wallbox component tests."""
CONF_JWT = "jwt"
CONF_USER_ID = "user_id"
CONF_TTL = "ttl"
CONF_ERROR = "error"
CONF_STATUS = "status"
JWT = "jwt"
USER_ID = "user_id"
TTL = "ttl"
ERROR = "error"
STATUS = "status"
CONF_MOCK_NUMBER_ENTITY_ID = "number.mock_title_max_charging_current"
CONF_MOCK_LOCK_ENTITY_ID = "lock.mock_title_locked_unlocked"
CONF_MOCK_SENSOR_CHARGING_SPEED_ID = "sensor.mock_title_charging_speed"
CONF_MOCK_SENSOR_CHARGING_POWER_ID = "sensor.mock_title_charging_power"
CONF_MOCK_SENSOR_MAX_AVAILABLE_POWER = "sensor.mock_title_max_available_power"
MOCK_NUMBER_ENTITY_ID = "number.mock_title_max_charging_current"
MOCK_LOCK_ENTITY_ID = "lock.mock_title_locked_unlocked"
MOCK_SENSOR_CHARGING_SPEED_ID = "sensor.mock_title_charging_speed"
MOCK_SENSOR_CHARGING_POWER_ID = "sensor.mock_title_charging_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.components.wallbox import config_flow
from homeassistant.components.wallbox.const import (
CONF_ADDED_ENERGY_KEY,
CONF_ADDED_RANGE_KEY,
CONF_CHARGING_POWER_KEY,
CONF_CHARGING_SPEED_KEY,
CONF_DATA_KEY,
CONF_MAX_AVAILABLE_POWER_KEY,
CONF_MAX_CHARGING_CURRENT_KEY,
CHARGER_ADDED_ENERGY_KEY,
CHARGER_ADDED_RANGE_KEY,
CHARGER_CHARGING_POWER_KEY,
CHARGER_CHARGING_SPEED_KEY,
CHARGER_DATA_KEY,
CHARGER_MAX_AVAILABLE_POWER_KEY,
CHARGER_MAX_CHARGING_CURRENT_KEY,
DOMAIN,
)
from homeassistant.core import HomeAssistant
from tests.components.wallbox import entry, setup_integration
from tests.components.wallbox.const import (
CONF_ERROR,
CONF_JWT,
CONF_STATUS,
CONF_TTL,
CONF_USER_ID,
)
from tests.components.wallbox.const import ERROR, JWT, STATUS, TTL, USER_ID
test_response = json.loads(
json.dumps(
{
CONF_CHARGING_POWER_KEY: 0,
CONF_MAX_AVAILABLE_POWER_KEY: "xx",
CONF_CHARGING_SPEED_KEY: 0,
CONF_ADDED_RANGE_KEY: "xx",
CONF_ADDED_ENERGY_KEY: "44.697",
CONF_DATA_KEY: {CONF_MAX_CHARGING_CURRENT_KEY: 24},
CHARGER_CHARGING_POWER_KEY: 0,
CHARGER_MAX_AVAILABLE_POWER_KEY: "xx",
CHARGER_CHARGING_SPEED_KEY: 0,
CHARGER_ADDED_RANGE_KEY: "xx",
CHARGER_ADDED_ENERGY_KEY: "44.697",
CHARGER_DATA_KEY: {CHARGER_MAX_CHARGING_CURRENT_KEY: 24},
}
)
)
@ -43,11 +37,11 @@ test_response = json.loads(
authorisation_response = json.loads(
json.dumps(
{
CONF_JWT: "fakekeyhere",
CONF_USER_ID: 12345,
CONF_TTL: 145656758,
CONF_ERROR: "false",
CONF_STATUS: 200,
JWT: "fakekeyhere",
USER_ID: 12345,
TTL: 145656758,
ERROR: "false",
STATUS: 200,
}
)
)
@ -55,11 +49,11 @@ authorisation_response = json.loads(
authorisation_response_unauthorised = json.loads(
json.dumps(
{
CONF_JWT: "fakekeyhere",
CONF_USER_ID: 12345,
CONF_TTL: 145656758,
CONF_ERROR: "false",
CONF_STATUS: 404,
JWT: "fakekeyhere",
USER_ID: 12345,
TTL: 145656758,
ERROR: "false",
STATUS: 404,
}
)
)

View File

@ -3,7 +3,7 @@ import json
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.core import HomeAssistant
@ -16,22 +16,16 @@ from tests.components.wallbox import (
setup_integration_connection_error,
setup_integration_read_only,
)
from tests.components.wallbox.const import (
CONF_ERROR,
CONF_JWT,
CONF_STATUS,
CONF_TTL,
CONF_USER_ID,
)
from tests.components.wallbox.const import ERROR, JWT, STATUS, TTL, USER_ID
authorisation_response = json.loads(
json.dumps(
{
CONF_JWT: "fakekeyhere",
CONF_USER_ID: 12345,
CONF_TTL: 145656758,
CONF_ERROR: "false",
CONF_STATUS: 200,
JWT: "fakekeyhere",
USER_ID: 12345,
TTL: 145656758,
ERROR: "false",
STATUS: 200,
}
)
)
@ -71,7 +65,7 @@ async def test_wallbox_refresh_failed_invalid_auth(hass: HomeAssistant) -> None:
)
mock_request.put(
"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,
)

View File

@ -5,7 +5,7 @@ import pytest
import requests_mock
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.core import HomeAssistant
@ -15,22 +15,22 @@ from tests.components.wallbox import (
setup_integration_read_only,
)
from tests.components.wallbox.const import (
CONF_ERROR,
CONF_JWT,
CONF_MOCK_LOCK_ENTITY_ID,
CONF_STATUS,
CONF_TTL,
CONF_USER_ID,
ERROR,
JWT,
MOCK_LOCK_ENTITY_ID,
STATUS,
TTL,
USER_ID,
)
authorisation_response = json.loads(
json.dumps(
{
CONF_JWT: "fakekeyhere",
CONF_USER_ID: 12345,
CONF_TTL: 145656758,
CONF_ERROR: "false",
CONF_STATUS: 200,
JWT: "fakekeyhere",
USER_ID: 12345,
TTL: 145656758,
ERROR: "false",
STATUS: 200,
}
)
)
@ -41,7 +41,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
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.state == "unlocked"
@ -53,7 +53,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
)
mock_request.put(
"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,
)
@ -61,7 +61,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
"lock",
SERVICE_LOCK,
{
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID,
ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
},
blocking=True,
)
@ -70,7 +70,7 @@ async def test_wallbox_lock_class(hass: HomeAssistant) -> None:
"lock",
SERVICE_UNLOCK,
{
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID,
ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
},
blocking=True,
)
@ -91,7 +91,7 @@ async def test_wallbox_lock_class_connection_error(hass: HomeAssistant) -> None:
)
mock_request.put(
"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,
)
@ -100,7 +100,7 @@ async def test_wallbox_lock_class_connection_error(hass: HomeAssistant) -> None:
"lock",
SERVICE_LOCK,
{
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID,
ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
},
blocking=True,
)
@ -109,7 +109,7 @@ async def test_wallbox_lock_class_connection_error(hass: HomeAssistant) -> None:
"lock",
SERVICE_UNLOCK,
{
ATTR_ENTITY_ID: CONF_MOCK_LOCK_ENTITY_ID,
ATTR_ENTITY_ID: MOCK_LOCK_ENTITY_ID,
},
blocking=True,
)
@ -122,7 +122,7 @@ async def test_wallbox_lock_class_authentication_error(hass: HomeAssistant) -> N
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

View File

@ -5,28 +5,28 @@ import pytest
import requests_mock
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.core import HomeAssistant
from tests.components.wallbox import entry, setup_integration
from tests.components.wallbox.const import (
CONF_ERROR,
CONF_JWT,
CONF_MOCK_NUMBER_ENTITY_ID,
CONF_STATUS,
CONF_TTL,
CONF_USER_ID,
ERROR,
JWT,
MOCK_NUMBER_ENTITY_ID,
STATUS,
TTL,
USER_ID,
)
authorisation_response = json.loads(
json.dumps(
{
CONF_JWT: "fakekeyhere",
CONF_USER_ID: 12345,
CONF_TTL: 145656758,
CONF_ERROR: "false",
CONF_STATUS: 200,
JWT: "fakekeyhere",
USER_ID: 12345,
TTL: 145656758,
ERROR: "false",
STATUS: 200,
}
)
)
@ -45,7 +45,7 @@ async def test_wallbox_number_class(hass: HomeAssistant) -> None:
)
mock_request.put(
"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,
)
@ -53,7 +53,7 @@ async def test_wallbox_number_class(hass: HomeAssistant) -> None:
"number",
SERVICE_SET_VALUE,
{
ATTR_ENTITY_ID: CONF_MOCK_NUMBER_ENTITY_ID,
ATTR_ENTITY_ID: MOCK_NUMBER_ENTITY_ID,
ATTR_VALUE: 20,
},
blocking=True,
@ -74,7 +74,7 @@ async def test_wallbox_number_class_connection_error(hass: HomeAssistant) -> Non
)
mock_request.put(
"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,
)
@ -84,7 +84,7 @@ async def test_wallbox_number_class_connection_error(hass: HomeAssistant) -> Non
"number",
SERVICE_SET_VALUE,
{
ATTR_ENTITY_ID: CONF_MOCK_NUMBER_ENTITY_ID,
ATTR_ENTITY_ID: MOCK_NUMBER_ENTITY_ID,
ATTR_VALUE: 20,
},
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.const import (
CONF_MOCK_SENSOR_CHARGING_POWER_ID,
CONF_MOCK_SENSOR_CHARGING_SPEED_ID,
CONF_MOCK_SENSOR_MAX_AVAILABLE_POWER,
MOCK_SENSOR_CHARGING_POWER_ID,
MOCK_SENSOR_CHARGING_SPEED_ID,
MOCK_SENSOR_MAX_AVAILABLE_POWER,
)
@ -15,16 +15,16 @@ async def test_wallbox_sensor_class(hass: HomeAssistant) -> None:
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.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.name == "Mock Title Charging Speed"
# 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"
await hass.config_entries.async_unload(entry.entry_id)