|
85 | 85 | },
|
86 | 86 | }
|
87 | 87 |
|
| 88 | +test_response_eco_mode = { |
| 89 | + CHARGER_CHARGING_POWER_KEY: 0, |
| 90 | + CHARGER_STATUS_ID_KEY: 193, |
| 91 | + CHARGER_MAX_AVAILABLE_POWER_KEY: 25.0, |
| 92 | + CHARGER_CHARGING_SPEED_KEY: 0, |
| 93 | + CHARGER_ADDED_RANGE_KEY: 150, |
| 94 | + CHARGER_ADDED_ENERGY_KEY: 44.697, |
| 95 | + CHARGER_NAME_KEY: "WallboxName", |
| 96 | + CHARGER_DATA_KEY: { |
| 97 | + CHARGER_MAX_CHARGING_CURRENT_KEY: 24, |
| 98 | + CHARGER_ENERGY_PRICE_KEY: 0.4, |
| 99 | + CHARGER_LOCKED_UNLOCKED_KEY: False, |
| 100 | + CHARGER_SERIAL_NUMBER_KEY: "20000", |
| 101 | + CHARGER_PART_NUMBER_KEY: "PLP1-0-2-4-9-002-E", |
| 102 | + CHARGER_SOFTWARE_KEY: {CHARGER_CURRENT_VERSION_KEY: "5.5.10"}, |
| 103 | + CHARGER_CURRENCY_KEY: {"code": "EUR/kWh"}, |
| 104 | + CHARGER_MAX_ICP_CURRENT_KEY: 20, |
| 105 | + CHARGER_PLAN_KEY: {CHARGER_FEATURES_KEY: [CHARGER_POWER_BOOST_KEY]}, |
| 106 | + CHARGER_ECO_SMART_KEY: { |
| 107 | + CHARGER_ECO_SMART_STATUS_KEY: True, |
| 108 | + CHARGER_ECO_SMART_MODE_KEY: 0, |
| 109 | + }, |
| 110 | + }, |
| 111 | +} |
| 112 | + |
| 113 | + |
| 114 | +test_response_full_solar = { |
| 115 | + CHARGER_CHARGING_POWER_KEY: 0, |
| 116 | + CHARGER_STATUS_ID_KEY: 193, |
| 117 | + CHARGER_MAX_AVAILABLE_POWER_KEY: 25.0, |
| 118 | + CHARGER_CHARGING_SPEED_KEY: 0, |
| 119 | + CHARGER_ADDED_RANGE_KEY: 150, |
| 120 | + CHARGER_ADDED_ENERGY_KEY: 44.697, |
| 121 | + CHARGER_NAME_KEY: "WallboxName", |
| 122 | + CHARGER_DATA_KEY: { |
| 123 | + CHARGER_MAX_CHARGING_CURRENT_KEY: 24, |
| 124 | + CHARGER_ENERGY_PRICE_KEY: 0.4, |
| 125 | + CHARGER_LOCKED_UNLOCKED_KEY: False, |
| 126 | + CHARGER_SERIAL_NUMBER_KEY: "20000", |
| 127 | + CHARGER_PART_NUMBER_KEY: "PLP1-0-2-4-9-002-E", |
| 128 | + CHARGER_SOFTWARE_KEY: {CHARGER_CURRENT_VERSION_KEY: "5.5.10"}, |
| 129 | + CHARGER_CURRENCY_KEY: {"code": "EUR/kWh"}, |
| 130 | + CHARGER_MAX_ICP_CURRENT_KEY: 20, |
| 131 | + CHARGER_PLAN_KEY: {CHARGER_FEATURES_KEY: [CHARGER_POWER_BOOST_KEY]}, |
| 132 | + CHARGER_ECO_SMART_KEY: { |
| 133 | + CHARGER_ECO_SMART_STATUS_KEY: True, |
| 134 | + CHARGER_ECO_SMART_MODE_KEY: 1, |
| 135 | + }, |
| 136 | + }, |
| 137 | +} |
88 | 138 |
|
89 | 139 | authorisation_response = {
|
90 | 140 | "data": {
|
@@ -139,6 +189,56 @@ async def setup_integration(hass: HomeAssistant, entry: MockConfigEntry) -> None
|
139 | 189 | await hass.async_block_till_done()
|
140 | 190 |
|
141 | 191 |
|
| 192 | +async def setup_integration_ecosmart_eco_mode( |
| 193 | + hass: HomeAssistant, entry: MockConfigEntry |
| 194 | +) -> None: |
| 195 | + """Test wallbox sensor class setup.""" |
| 196 | + with requests_mock.Mocker() as mock_request: |
| 197 | + mock_request.get( |
| 198 | + "https://user-api.wall-box.com/users/signin", |
| 199 | + json=authorisation_response, |
| 200 | + status_code=HTTPStatus.OK, |
| 201 | + ) |
| 202 | + mock_request.get( |
| 203 | + "https://api.wall-box.com/chargers/status/12345", |
| 204 | + json=test_response_eco_mode, |
| 205 | + status_code=HTTPStatus.OK, |
| 206 | + ) |
| 207 | + mock_request.put( |
| 208 | + "https://api.wall-box.com/v2/charger/12345", |
| 209 | + json={CHARGER_MAX_CHARGING_CURRENT_KEY: 20}, |
| 210 | + status_code=HTTPStatus.OK, |
| 211 | + ) |
| 212 | + |
| 213 | + await hass.config_entries.async_setup(entry.entry_id) |
| 214 | + await hass.async_block_till_done() |
| 215 | + |
| 216 | + |
| 217 | +async def setup_integration_ecosmart_full_solar( |
| 218 | + hass: HomeAssistant, entry: MockConfigEntry |
| 219 | +) -> None: |
| 220 | + """Test wallbox sensor class setup.""" |
| 221 | + with requests_mock.Mocker() as mock_request: |
| 222 | + mock_request.get( |
| 223 | + "https://user-api.wall-box.com/users/signin", |
| 224 | + json=authorisation_response, |
| 225 | + status_code=HTTPStatus.OK, |
| 226 | + ) |
| 227 | + mock_request.get( |
| 228 | + "https://api.wall-box.com/chargers/status/12345", |
| 229 | + json=test_response_full_solar, |
| 230 | + status_code=HTTPStatus.OK, |
| 231 | + ) |
| 232 | + mock_request.put( |
| 233 | + "https://api.wall-box.com/v2/charger/12345", |
| 234 | + json={CHARGER_MAX_CHARGING_CURRENT_KEY: 20}, |
| 235 | + status_code=HTTPStatus.OK, |
| 236 | + ) |
| 237 | + |
| 238 | + await hass.config_entries.async_setup(entry.entry_id) |
| 239 | + await hass.async_block_till_done() |
| 240 | + |
| 241 | + |
142 | 242 | async def setup_integration_bidir(hass: HomeAssistant, entry: MockConfigEntry) -> None:
|
143 | 243 | """Test wallbox sensor class setup."""
|
144 | 244 | with requests_mock.Mocker() as mock_request:
|
|
0 commit comments