Skip to content

Commit

Permalink
Show how to only allow one instance
Browse files Browse the repository at this point in the history
  • Loading branch information
ludeeus committed Apr 20, 2020
1 parent a53b0f7 commit a727e06
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 17 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"appPort": [
"9123:8123"
],
"postCreateCommand": "dc install",
"postCreateCommand": "cc install",
"runArgs": [
"-v",
"${env:HOME}${env:USERPROFILE}/.ssh:/tmp/.ssh"
Expand Down
3 changes: 3 additions & 0 deletions custom_components/blueprint/.translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
},
"error": {
"auth": "Username/Password is wrong."
},
"abort": {
"single_instance_allowed": "Only a single configuration of Blueprint is allowed."
}
},
"options": {
Expand Down
3 changes: 3 additions & 0 deletions custom_components/blueprint/.translations/nb.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
},
"error": {
"auth": "Brukernavn/Passord er feil."
},
"abort": {
"single_instance_allowed": "Du kan konfigurere Blueprint kun en gang."
}
},
"options": {
Expand Down
22 changes: 13 additions & 9 deletions custom_components/blueprint/config_flow.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
"""Adds config flow for Blueprint."""
from collections import OrderedDict

import voluptuous as vol
from sampleclient.client import Client
from homeassistant import config_entries
from homeassistant.core import callback

from custom_components.blueprint.const import (
DOMAIN,
from sampleclient.client import Client

from custom_components.blueprint.const import ( # pylint: disable=unused-import
CONF_PASSWORD,
CONF_USERNAME,
DOMAIN,
PLATFORMS,
)

Expand All @@ -25,10 +24,15 @@ def __init__(self):
self._errors = {}

async def async_step_user(
self, user_input={}
): # pylint: disable=dangerous-default-value
self, user_input=None # pylint: disable=bad-continuation
):
"""Handle a flow initialized by the user."""
self._errors = {}

# Uncomment the next 2 lines if only a single instance of the integration is allowed:
# if self._async_current_entries():
# return self.async_abort(reason="single_instance_allowed")

if user_input is not None:
valid = await self._test_credentials(
user_input[CONF_USERNAME], user_input[CONF_PASSWORD]
Expand All @@ -49,7 +53,7 @@ async def async_step_user(
def async_get_options_flow(config_entry):
return BlueprintOptionsFlowHandler(config_entry)

async def _show_config_form(self, user_input):
async def _show_config_form(self, user_input): # pylint: disable=unused-argument
"""Show the configuration form to edit location data."""
return self.async_show_form(
step_id="user",
Expand Down Expand Up @@ -78,7 +82,7 @@ def __init__(self, config_entry):
self.config_entry = config_entry
self.options = dict(config_entry.options)

async def async_step_init(self, user_input=None):
async def async_step_init(self, user_input=None): # pylint: disable=unused-argument
"""Manage the options."""
return await self.async_step_user()

Expand Down
8 changes: 3 additions & 5 deletions custom_components/blueprint/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,9 @@ def device_state_attributes(self):

async def async_added_to_hass(self):
"""Connect to dispatcher listening for entity data notifications."""
self.coordinator.async_add_listener(self.async_write_ha_state)

async def async_will_remove_from_hass(self):
"""Disconnect from update signal."""
self.coordinator.async_remove_listener(self.async_write_ha_state)
self.async_on_remove(
self.coordinator.async_add_listener(self.async_write_ha_state)
)

async def async_update(self):
"""Update Brother entity."""
Expand Down
10 changes: 8 additions & 2 deletions hacs.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
{
"name": "Blueprint",
"hacs": "0.19.0",
"homeassistant": "0.97.0"
"hacs": "0.24.0",
"domains": [
"binary_sensor",
"sensor",
"switch"
],
"iot_class": "Cloud Polling",
"homeassistant": "0.108.0"
}

0 comments on commit a727e06

Please sign in to comment.