29
29
from homeassistant .core import HomeAssistant
30
30
from homeassistant .helpers .aiohttp_client import async_get_clientsession
31
31
32
- from .const import CONF_BASE_PATH , CONF_SERIAL , DOMAIN
32
+ from .const import (
33
+ CONF_BASE_PATH ,
34
+ CONF_PROTO_LEGACY ,
35
+ CONF_SERIAL ,
36
+ DOMAIN ,
37
+ IPP_PROTO_VERSION_DEFAULT ,
38
+ IPP_PROTO_VERSION_LEGACY ,
39
+ )
33
40
34
41
_LOGGER = logging .getLogger (__name__ )
35
42
@@ -47,6 +54,9 @@ async def validate_input(hass: HomeAssistant, data: dict) -> dict[str, Any]:
47
54
tls = data [CONF_SSL ],
48
55
verify_ssl = data [CONF_VERIFY_SSL ],
49
56
session = session ,
57
+ ipp_version = IPP_PROTO_VERSION_LEGACY
58
+ if data [CONF_PROTO_LEGACY ]
59
+ else IPP_PROTO_VERSION_DEFAULT ,
50
60
)
51
61
52
62
printer = await ipp .printer ()
@@ -57,8 +67,6 @@ async def validate_input(hass: HomeAssistant, data: dict) -> dict[str, Any]:
57
67
class IPPFlowHandler (ConfigFlow , domain = DOMAIN ):
58
68
"""Handle an IPP config flow."""
59
69
60
- VERSION = 1
61
-
62
70
def __init__ (self ) -> None :
63
71
"""Set up the instance."""
64
72
self .discovery_info : dict [str , Any ] = {}
@@ -127,6 +135,7 @@ async def async_step_zeroconf(
127
135
CONF_BASE_PATH : f"/{ base_path } " ,
128
136
CONF_NAME : name ,
129
137
CONF_UUID : unique_id ,
138
+ CONF_PROTO_LEGACY : False ,
130
139
}
131
140
)
132
141
@@ -215,6 +224,7 @@ def _show_setup_form(self, errors: dict | None = None) -> ConfigFlowResult:
215
224
vol .Required (CONF_BASE_PATH , default = "/ipp/print" ): str ,
216
225
vol .Required (CONF_SSL , default = False ): bool ,
217
226
vol .Required (CONF_VERIFY_SSL , default = False ): bool ,
227
+ vol .Required (CONF_PROTO_LEGACY , default = False ): bool ,
218
228
}
219
229
),
220
230
errors = errors or {},
0 commit comments