Remove name (not necessary)

This commit is contained in:
cyr-ius
2020-03-28 17:54:19 +01:00
parent f1884cedf9
commit c1e3e5c4e2
4 changed files with 16 additions and 19 deletions

View File

@@ -8,7 +8,6 @@
"host": "Hostname or IP Address", "host": "Hostname or IP Address",
"username": "Username", "username": "Username",
"password": "Password", "password": "Password",
"name": "Friendly Name",
"certificate": "Certificate", "certificate": "Certificate",
"continuous": "Continuous", "continuous": "Continuous",
"delay": "Delay" "delay": "Delay"

View File

@@ -8,7 +8,6 @@
"host": "Nom ou Addresse IP", "host": "Nom ou Addresse IP",
"username": "Utilisateur", "username": "Utilisateur",
"password": "Mot de passe", "password": "Mot de passe",
"name": "Nom",
"certificate": "Certificat", "certificate": "Certificat",
"continuous": "Continue", "continuous": "Continue",
"delay": "Delais" "delay": "Delais"

View File

@@ -1,12 +1,13 @@
"""Config flow to configure demo component.""" """Config flow to configure demo component."""
import asyncio
import logging import logging
import time
import async_timeout
from roomba import Roomba, RoombaConnectionError from roomba import Roomba, RoombaConnectionError
import voluptuous as vol import voluptuous as vol
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PASSWORD, CONF_USERNAME from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
from homeassistant.core import callback from homeassistant.core import callback
from .const import ( from .const import (
@@ -16,7 +17,6 @@ from .const import (
DEFAULT_CERT, DEFAULT_CERT,
DEFAULT_CONTINUOUS, DEFAULT_CONTINUOUS,
DEFAULT_DELAY, DEFAULT_DELAY,
DEFAULT_NAME,
DOMAIN, DOMAIN,
) )
@@ -25,7 +25,6 @@ DATA_SCHEMA = vol.Schema(
vol.Required(CONF_HOST): str, vol.Required(CONF_HOST): str,
vol.Required(CONF_USERNAME): str, vol.Required(CONF_USERNAME): str,
vol.Required(CONF_PASSWORD): str, vol.Required(CONF_PASSWORD): str,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): str,
vol.Optional(CONF_CERT, default=DEFAULT_CERT): str, vol.Optional(CONF_CERT, default=DEFAULT_CERT): str,
vol.Optional(CONF_CONTINUOUS, default=DEFAULT_CONTINUOUS): bool, vol.Optional(CONF_CONTINUOUS, default=DEFAULT_CONTINUOUS): bool,
vol.Optional(CONF_DELAY, default=DEFAULT_DELAY): int, vol.Optional(CONF_DELAY, default=DEFAULT_DELAY): int,
@@ -56,11 +55,12 @@ class RoombaConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
if DOMAIN not in self.hass.data: if DOMAIN not in self.hass.data:
self.hass.data[DOMAIN] = {} self.hass.data[DOMAIN] = {}
if user_input is not None: if user_input is not None:
self.name = None
self.host = user_input["host"] self.host = user_input["host"]
self.username = user_input["username"] self.username = user_input["username"]
self.password = user_input["password"] self.password = user_input["password"]
self.name = user_input["name"]
self.certificate = user_input["certificate"] self.certificate = user_input["certificate"]
self.continuous = user_input["continuous"] self.continuous = user_input["continuous"]
self.delay = user_input["delay"] self.delay = user_input["delay"]
@@ -76,27 +76,27 @@ class RoombaConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
_LOGGER.debug("Initializing communication with host %s", self.host) _LOGGER.debug("Initializing communication with host %s", self.host)
try: try:
with async_timeout.timeout(10):
await self.hass.async_add_job(roomba.connect) await self.hass.async_add_job(roomba.connect)
except RoombaConnectionError: while not roomba.roomba_connected:
await asyncio.sleep(0.5)
except RoombaConnectionError as exc:
_LOGGER.error(f"Error: {exc}")
errors = {"base": "cannot_connect"} errors = {"base": "cannot_connect"}
except asyncio.TimeoutError:
timeout = time.time() + 1 _LOGGER.error("Error: Timeout exceeded, user or password incorrect")
while not roomba.roomba_connected and not errors: # Api looping if user or password incorrect and roomba exist
if time.time() > timeout:
errors = {"base": "invalid_auth"}
await self.hass.async_add_job(roomba.disconnect) await self.hass.async_add_job(roomba.disconnect)
time.sleep(0.2) errors = {"base": "invalid_auth"}
if roomba.roomba_connected: if roomba.roomba_connected:
self.hass.data[DOMAIN]["roomba"] = roomba self.hass.data[DOMAIN]["roomba"] = roomba
self.hass.data[DOMAIN]["name"] = self.name
return self.async_create_entry( return self.async_create_entry(
title=self.name, title=self.name,
data={ data={
"host": self.host, "host": self.host,
"username": self.username, "username": self.username,
"password": self.password, "password": self.password,
"name": self.name,
"certificate": self.certificate, "certificate": self.certificate,
"continuous": self.continuous, "continuous": self.continuous,
"delay": self.delay, "delay": self.delay,

View File

@@ -8,7 +8,6 @@
"host": "Hostname or IP Address", "host": "Hostname or IP Address",
"username": "Username", "username": "Username",
"password": "Password", "password": "Password",
"name": "Friendly Name",
"certificate": "Certificate", "certificate": "Certificate",
"continuous": "Continuous", "continuous": "Continuous",
"delay": "Delay" "delay": "Delay"