1818 CONF_USERNAME ,
1919)
2020from homeassistant .core import HomeAssistant , callback
21- from homeassistant .data_entry_flow import FlowResult
21+ from homeassistant .data_entry_flow import FlowResult , section
2222from homeassistant .helpers import config_validation as cv
2323from homeassistant .exceptions import HomeAssistantError
2424from homeassistant .util .network import is_ipv4_address , is_ipv6_address
4242_LOGGER = logging .getLogger (__name__ )
4343
4444ENVOY = "Envoy"
45+ ADVANCED_OPTIONS = "advanced_options"
4546
4647
4748async def validate_input (hass : HomeAssistant , data : dict [str , Any ]) -> EnvoyReader :
@@ -52,7 +53,7 @@ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> EnvoyRead
5253 enlighten_pass = data [CONF_PASSWORD ],
5354 inverters = False ,
5455 enlighten_serial_num = data [CONF_SERIAL ],
55- token_source = data [CONF_TOKEN_SOURCE ],
56+ token_source = data [ADVANCED_OPTIONS ][ CONF_TOKEN_SOURCE ],
5657 )
5758
5859 try :
@@ -100,11 +101,17 @@ def _async_generate_schema(self):
100101 schema [vol .Required (CONF_PASSWORD , default = default_data .get (CONF_PASSWORD ))] = (
101102 str
102103 )
103- schema [
104- vol .Required (
105- CONF_TOKEN_SOURCE , default = default_data .get (CONF_TOKEN_SOURCE , "entrez" )
106- )
107- ] = vol .In (["entrez" , "enlighten" ])
104+ schema [vol .Required (ADVANCED_OPTIONS )] = section (
105+ vol .Schema (
106+ {
107+ vol .Required (
108+ CONF_TOKEN_SOURCE ,
109+ default = default_data .get (CONF_TOKEN_SOURCE , "entrez" ),
110+ ): vol .In (["entrez" , "enlighten" ])
111+ }
112+ ),
113+ {"collapsed" : True },
114+ )
108115
109116 return vol .Schema (schema )
110117
@@ -215,6 +222,9 @@ async def async_step_user(
215222 data = user_input .copy ()
216223 data [CONF_NAME ] = self ._async_envoy_name ()
217224
225+ advanced_options = data .pop (ADVANCED_OPTIONS )
226+ data [CONF_TOKEN_SOURCE ] = advanced_options [CONF_TOKEN_SOURCE ]
227+
218228 if self ._current_entry :
219229 # Remove saved token to prevent it being used after reconfire
220230 store = Store (
0 commit comments