mirror of
https://github.com/home-assistant/core.git
synced 2025-07-09 22:37:11 +00:00
Remove deprecated Flu Near You integration (#78700)
This commit is contained in:
parent
d7b58f6949
commit
e265848b63
@ -402,9 +402,6 @@ omit =
|
||||
homeassistant/components/flume/coordinator.py
|
||||
homeassistant/components/flume/entity.py
|
||||
homeassistant/components/flume/sensor.py
|
||||
homeassistant/components/flunearyou/__init__.py
|
||||
homeassistant/components/flunearyou/repairs.py
|
||||
homeassistant/components/flunearyou/sensor.py
|
||||
homeassistant/components/folder/sensor.py
|
||||
homeassistant/components/folder_watcher/*
|
||||
homeassistant/components/foobot/sensor.py
|
||||
|
@ -103,7 +103,6 @@ homeassistant.components.feedreader.*
|
||||
homeassistant.components.file_upload.*
|
||||
homeassistant.components.filesize.*
|
||||
homeassistant.components.fitbit.*
|
||||
homeassistant.components.flunearyou.*
|
||||
homeassistant.components.flux_led.*
|
||||
homeassistant.components.forecast_solar.*
|
||||
homeassistant.components.fritz.*
|
||||
|
@ -355,8 +355,6 @@ build.json @home-assistant/supervisor
|
||||
/tests/components/flo/ @dmulcahey
|
||||
/homeassistant/components/flume/ @ChrisMandich @bdraco @jeeftor
|
||||
/tests/components/flume/ @ChrisMandich @bdraco @jeeftor
|
||||
/homeassistant/components/flunearyou/ @bachya
|
||||
/tests/components/flunearyou/ @bachya
|
||||
/homeassistant/components/flux_led/ @icemanch @bdraco
|
||||
/tests/components/flux_led/ @icemanch @bdraco
|
||||
/homeassistant/components/forecast_solar/ @klaasnicolaas @frenck
|
||||
|
@ -1,89 +0,0 @@
|
||||
"""The flunearyou component."""
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
from datetime import timedelta
|
||||
from functools import partial
|
||||
from typing import Any
|
||||
|
||||
from pyflunearyou import Client
|
||||
from pyflunearyou.errors import FluNearYouError
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE, Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers import aiohttp_client, config_validation as cv
|
||||
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
|
||||
from .const import CATEGORY_CDC_REPORT, CATEGORY_USER_REPORT, DOMAIN, LOGGER
|
||||
|
||||
DEFAULT_UPDATE_INTERVAL = timedelta(minutes=30)
|
||||
|
||||
CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False)
|
||||
|
||||
PLATFORMS = [Platform.SENSOR]
|
||||
|
||||
|
||||
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
"""Set up Flu Near You as config entry."""
|
||||
async_create_issue(
|
||||
hass,
|
||||
DOMAIN,
|
||||
"integration_removal",
|
||||
is_fixable=True,
|
||||
severity=IssueSeverity.ERROR,
|
||||
translation_key="integration_removal",
|
||||
)
|
||||
|
||||
websession = aiohttp_client.async_get_clientsession(hass)
|
||||
client = Client(session=websession)
|
||||
|
||||
latitude = entry.data.get(CONF_LATITUDE, hass.config.latitude)
|
||||
longitude = entry.data.get(CONF_LONGITUDE, hass.config.longitude)
|
||||
|
||||
async def async_update(api_category: str) -> dict[str, Any]:
|
||||
"""Get updated date from the API based on category."""
|
||||
try:
|
||||
if api_category == CATEGORY_CDC_REPORT:
|
||||
data = await client.cdc_reports.status_by_coordinates(
|
||||
latitude, longitude
|
||||
)
|
||||
else:
|
||||
data = await client.user_reports.status_by_coordinates(
|
||||
latitude, longitude
|
||||
)
|
||||
except FluNearYouError as err:
|
||||
raise UpdateFailed(err) from err
|
||||
|
||||
return data
|
||||
|
||||
coordinators = {}
|
||||
data_init_tasks = []
|
||||
|
||||
for api_category in (CATEGORY_CDC_REPORT, CATEGORY_USER_REPORT):
|
||||
coordinator = coordinators[api_category] = DataUpdateCoordinator(
|
||||
hass,
|
||||
LOGGER,
|
||||
name=f"{api_category} ({latitude}, {longitude})",
|
||||
update_interval=DEFAULT_UPDATE_INTERVAL,
|
||||
update_method=partial(async_update, api_category),
|
||||
)
|
||||
data_init_tasks.append(coordinator.async_config_entry_first_refresh())
|
||||
|
||||
await asyncio.gather(*data_init_tasks)
|
||||
hass.data.setdefault(DOMAIN, {})
|
||||
hass.data[DOMAIN][entry.entry_id] = coordinators
|
||||
|
||||
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
|
||||
|
||||
return True
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
"""Unload an Flu Near You config entry."""
|
||||
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
|
||||
if unload_ok:
|
||||
hass.data[DOMAIN].pop(entry.entry_id)
|
||||
|
||||
return unload_ok
|
@ -1,60 +0,0 @@
|
||||
"""Define a config flow manager for flunearyou."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from pyflunearyou import Client
|
||||
from pyflunearyou.errors import FluNearYouError
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
from homeassistant.helpers import aiohttp_client, config_validation as cv
|
||||
|
||||
from .const import DOMAIN, LOGGER
|
||||
|
||||
|
||||
class FluNearYouFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
"""Handle an FluNearYou config flow."""
|
||||
|
||||
VERSION = 1
|
||||
|
||||
@property
|
||||
def data_schema(self) -> vol.Schema:
|
||||
"""Return the data schema for integration."""
|
||||
return vol.Schema(
|
||||
{
|
||||
vol.Required(
|
||||
CONF_LATITUDE, default=self.hass.config.latitude
|
||||
): cv.latitude,
|
||||
vol.Required(
|
||||
CONF_LONGITUDE, default=self.hass.config.longitude
|
||||
): cv.longitude,
|
||||
}
|
||||
)
|
||||
|
||||
async def async_step_user(
|
||||
self, user_input: dict[str, Any] | None = None
|
||||
) -> FlowResult:
|
||||
"""Handle the start of the config flow."""
|
||||
if not user_input:
|
||||
return self.async_show_form(step_id="user", data_schema=self.data_schema)
|
||||
|
||||
unique_id = f"{user_input[CONF_LATITUDE]}, {user_input[CONF_LONGITUDE]}"
|
||||
|
||||
await self.async_set_unique_id(unique_id)
|
||||
self._abort_if_unique_id_configured()
|
||||
|
||||
websession = aiohttp_client.async_get_clientsession(self.hass)
|
||||
client = Client(session=websession)
|
||||
|
||||
try:
|
||||
await client.cdc_reports.status_by_coordinates(
|
||||
user_input[CONF_LATITUDE], user_input[CONF_LONGITUDE]
|
||||
)
|
||||
except FluNearYouError as err:
|
||||
LOGGER.error("Error while configuring integration: %s", err)
|
||||
return self.async_show_form(step_id="user", errors={"base": "unknown"})
|
||||
|
||||
return self.async_create_entry(title=unique_id, data=user_input)
|
@ -1,8 +0,0 @@
|
||||
"""Define flunearyou constants."""
|
||||
import logging
|
||||
|
||||
DOMAIN = "flunearyou"
|
||||
LOGGER = logging.getLogger(__package__)
|
||||
|
||||
CATEGORY_CDC_REPORT = "cdc_report"
|
||||
CATEGORY_USER_REPORT = "user_report"
|
@ -1,32 +0,0 @@
|
||||
"""Diagnostics support for Flu Near You."""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.components.diagnostics import async_redact_data
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||
|
||||
from .const import CATEGORY_CDC_REPORT, CATEGORY_USER_REPORT, DOMAIN
|
||||
|
||||
TO_REDACT = {
|
||||
CONF_LATITUDE,
|
||||
CONF_LONGITUDE,
|
||||
}
|
||||
|
||||
|
||||
async def async_get_config_entry_diagnostics(
|
||||
hass: HomeAssistant, entry: ConfigEntry
|
||||
) -> dict[str, Any]:
|
||||
"""Return diagnostics for a config entry."""
|
||||
coordinators: dict[str, DataUpdateCoordinator] = hass.data[DOMAIN][entry.entry_id]
|
||||
|
||||
return async_redact_data(
|
||||
{
|
||||
CATEGORY_CDC_REPORT: coordinators[CATEGORY_CDC_REPORT].data,
|
||||
CATEGORY_USER_REPORT: coordinators[CATEGORY_USER_REPORT].data,
|
||||
},
|
||||
TO_REDACT,
|
||||
)
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"domain": "flunearyou",
|
||||
"name": "Flu Near You",
|
||||
"config_flow": true,
|
||||
"documentation": "https://www.home-assistant.io/integrations/flunearyou",
|
||||
"requirements": ["pyflunearyou==2.0.2"],
|
||||
"codeowners": ["@bachya"],
|
||||
"iot_class": "cloud_polling",
|
||||
"loggers": ["pyflunearyou"]
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
"""Repairs platform for the Flu Near You integration."""
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import data_entry_flow
|
||||
from homeassistant.components.repairs import RepairsFlow
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
|
||||
class FluNearYouFixFlow(RepairsFlow):
|
||||
"""Handler for an issue fixing flow."""
|
||||
|
||||
async def async_step_init(
|
||||
self, user_input: dict[str, str] | None = None
|
||||
) -> data_entry_flow.FlowResult:
|
||||
"""Handle the first step of a fix flow."""
|
||||
return await self.async_step_confirm()
|
||||
|
||||
async def async_step_confirm(
|
||||
self, user_input: dict[str, str] | None = None
|
||||
) -> data_entry_flow.FlowResult:
|
||||
"""Handle the confirm step of a fix flow."""
|
||||
if user_input is not None:
|
||||
removal_tasks = [
|
||||
self.hass.config_entries.async_remove(entry.entry_id)
|
||||
for entry in self.hass.config_entries.async_entries(DOMAIN)
|
||||
]
|
||||
await asyncio.gather(*removal_tasks)
|
||||
return self.async_create_entry(title="Fixed issue", data={})
|
||||
return self.async_show_form(step_id="confirm", data_schema=vol.Schema({}))
|
||||
|
||||
|
||||
async def async_create_fix_flow(
|
||||
hass: HomeAssistant,
|
||||
issue_id: str,
|
||||
data: dict[str, str | int | float | None] | None,
|
||||
) -> RepairsFlow:
|
||||
"""Create flow."""
|
||||
return FluNearYouFixFlow()
|
@ -1,221 +0,0 @@
|
||||
"""Support for user- and CDC-based flu info sensors from Flu Near You."""
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Mapping
|
||||
from typing import Any, Union, cast
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
SensorEntity,
|
||||
SensorEntityDescription,
|
||||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import ATTR_STATE, CONF_LATITUDE, CONF_LONGITUDE
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.helpers.update_coordinator import (
|
||||
CoordinatorEntity,
|
||||
DataUpdateCoordinator,
|
||||
)
|
||||
|
||||
from .const import CATEGORY_CDC_REPORT, CATEGORY_USER_REPORT, DOMAIN
|
||||
|
||||
ATTR_CITY = "city"
|
||||
ATTR_REPORTED_DATE = "reported_date"
|
||||
ATTR_REPORTED_LATITUDE = "reported_latitude"
|
||||
ATTR_REPORTED_LONGITUDE = "reported_longitude"
|
||||
ATTR_STATE_REPORTS_LAST_WEEK = "state_reports_last_week"
|
||||
ATTR_STATE_REPORTS_THIS_WEEK = "state_reports_this_week"
|
||||
ATTR_ZIP_CODE = "zip_code"
|
||||
|
||||
SENSOR_TYPE_CDC_LEVEL = "level"
|
||||
SENSOR_TYPE_CDC_LEVEL2 = "level2"
|
||||
SENSOR_TYPE_USER_CHICK = "chick"
|
||||
SENSOR_TYPE_USER_DENGUE = "dengue"
|
||||
SENSOR_TYPE_USER_FLU = "flu"
|
||||
SENSOR_TYPE_USER_LEPTO = "lepto"
|
||||
SENSOR_TYPE_USER_NO_SYMPTOMS = "none"
|
||||
SENSOR_TYPE_USER_SYMPTOMS = "symptoms"
|
||||
SENSOR_TYPE_USER_TOTAL = "total"
|
||||
|
||||
CDC_SENSOR_DESCRIPTIONS = (
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_CDC_LEVEL,
|
||||
name="CDC level",
|
||||
icon="mdi:biohazard",
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_CDC_LEVEL2,
|
||||
name="CDC level 2",
|
||||
icon="mdi:biohazard",
|
||||
),
|
||||
)
|
||||
|
||||
USER_SENSOR_DESCRIPTIONS = (
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_CHICK,
|
||||
name="Avian flu symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_DENGUE,
|
||||
name="Dengue fever symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_FLU,
|
||||
name="Flu symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_LEPTO,
|
||||
name="Leptospirosis symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_NO_SYMPTOMS,
|
||||
name="No symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_SYMPTOMS,
|
||||
name="Flu-like symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=SENSOR_TYPE_USER_TOTAL,
|
||||
name="Total symptoms",
|
||||
icon="mdi:alert",
|
||||
native_unit_of_measurement="reports",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
)
|
||||
|
||||
EXTENDED_SENSOR_TYPE_MAPPING = {
|
||||
SENSOR_TYPE_USER_FLU: "ili",
|
||||
SENSOR_TYPE_USER_NO_SYMPTOMS: "no_symptoms",
|
||||
SENSOR_TYPE_USER_TOTAL: "total_surveys",
|
||||
}
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
|
||||
) -> None:
|
||||
"""Set up Flu Near You sensors based on a config entry."""
|
||||
coordinators = hass.data[DOMAIN][entry.entry_id]
|
||||
|
||||
sensors: list[CdcSensor | UserSensor] = [
|
||||
CdcSensor(coordinators[CATEGORY_CDC_REPORT], entry, description)
|
||||
for description in CDC_SENSOR_DESCRIPTIONS
|
||||
]
|
||||
sensors.extend(
|
||||
[
|
||||
UserSensor(coordinators[CATEGORY_USER_REPORT], entry, description)
|
||||
for description in USER_SENSOR_DESCRIPTIONS
|
||||
]
|
||||
)
|
||||
async_add_entities(sensors)
|
||||
|
||||
|
||||
class FluNearYouSensor(CoordinatorEntity, SensorEntity):
|
||||
"""Define a base Flu Near You sensor."""
|
||||
|
||||
_attr_has_entity_name = True
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
coordinator: DataUpdateCoordinator,
|
||||
entry: ConfigEntry,
|
||||
description: SensorEntityDescription,
|
||||
) -> None:
|
||||
"""Initialize the sensor."""
|
||||
super().__init__(coordinator)
|
||||
|
||||
self._attr_unique_id = (
|
||||
f"{entry.data[CONF_LATITUDE]},"
|
||||
f"{entry.data[CONF_LONGITUDE]}_{description.key}"
|
||||
)
|
||||
self._entry = entry
|
||||
self.entity_description = description
|
||||
|
||||
|
||||
class CdcSensor(FluNearYouSensor):
|
||||
"""Define a sensor for CDC reports."""
|
||||
|
||||
@property
|
||||
def extra_state_attributes(self) -> Mapping[str, Any] | None:
|
||||
"""Return entity specific state attributes."""
|
||||
return {
|
||||
ATTR_REPORTED_DATE: self.coordinator.data["week_date"],
|
||||
ATTR_STATE: self.coordinator.data["name"],
|
||||
}
|
||||
|
||||
@property
|
||||
def native_value(self) -> StateType:
|
||||
"""Return the value reported by the sensor."""
|
||||
return cast(
|
||||
Union[str, None], self.coordinator.data[self.entity_description.key]
|
||||
)
|
||||
|
||||
|
||||
class UserSensor(FluNearYouSensor):
|
||||
"""Define a sensor for user reports."""
|
||||
|
||||
@property
|
||||
def extra_state_attributes(self) -> Mapping[str, Any] | None:
|
||||
"""Return entity specific state attributes."""
|
||||
attrs = {
|
||||
ATTR_CITY: self.coordinator.data["local"]["city"].split("(")[0],
|
||||
ATTR_REPORTED_LATITUDE: self.coordinator.data["local"]["latitude"],
|
||||
ATTR_REPORTED_LONGITUDE: self.coordinator.data["local"]["longitude"],
|
||||
ATTR_STATE: self.coordinator.data["state"]["name"],
|
||||
ATTR_ZIP_CODE: self.coordinator.data["local"]["zip"],
|
||||
}
|
||||
|
||||
if self.entity_description.key in self.coordinator.data["state"]["data"]:
|
||||
states_key = self.entity_description.key
|
||||
elif self.entity_description.key in EXTENDED_SENSOR_TYPE_MAPPING:
|
||||
states_key = EXTENDED_SENSOR_TYPE_MAPPING[self.entity_description.key]
|
||||
|
||||
attrs[ATTR_STATE_REPORTS_THIS_WEEK] = self.coordinator.data["state"]["data"][
|
||||
states_key
|
||||
]
|
||||
attrs[ATTR_STATE_REPORTS_LAST_WEEK] = self.coordinator.data["state"][
|
||||
"last_week_data"
|
||||
][states_key]
|
||||
|
||||
return attrs
|
||||
|
||||
@property
|
||||
def native_value(self) -> StateType:
|
||||
"""Return the value reported by the sensor."""
|
||||
if self.entity_description.key == SENSOR_TYPE_USER_TOTAL:
|
||||
value = sum(
|
||||
v
|
||||
for k, v in self.coordinator.data["local"].items()
|
||||
if k
|
||||
in (
|
||||
SENSOR_TYPE_USER_CHICK,
|
||||
SENSOR_TYPE_USER_DENGUE,
|
||||
SENSOR_TYPE_USER_FLU,
|
||||
SENSOR_TYPE_USER_LEPTO,
|
||||
SENSOR_TYPE_USER_SYMPTOMS,
|
||||
)
|
||||
)
|
||||
else:
|
||||
value = self.coordinator.data["local"][self.entity_description.key]
|
||||
|
||||
return cast(int, value)
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Configure Flu Near You",
|
||||
"description": "Monitor user-based and CDC reports for a pair of coordinates.",
|
||||
"data": {
|
||||
"latitude": "[%key:common::config_flow::data::latitude%]",
|
||||
"longitude": "[%key:common::config_flow::data::longitude%]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"unknown": "[%key:common::config_flow::error::unknown%]"
|
||||
},
|
||||
"abort": {
|
||||
"already_configured": "[%key:common::config_flow::abort::already_configured_location%]"
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"title": "Flu Near You is no longer available",
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"title": "Remove Flu Near You",
|
||||
"description": "The external data source powering the Flu Near You integration is no longer available; thus, the integration no longer works.\n\nPress SUBMIT to remove Flu Near You from your Home Assistant instance."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0432\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u043e"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0430 \u0448\u0438\u0440\u0438\u043d\u0430"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "La ubicaci\u00f3 ja est\u00e0 configurada"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Error inesperat"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitud",
|
||||
"longitude": "Longitud"
|
||||
},
|
||||
"description": "Monitoritza informes basats en usuari i CDC per a parells de coordenades.",
|
||||
"title": "Configuraci\u00f3 Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "La font de dades externa que alimenta la integraci\u00f3 Flu Near You ja no est\u00e0 disponible; per tant, la integraci\u00f3 ja no funciona. \n\nPrem ENVIAR per eliminar Flu Near You de Home Assistant.",
|
||||
"title": "Elimina Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You ja no est\u00e0 disponible"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Um\u00edst\u011bn\u00ed je ji\u017e nastaveno"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Neo\u010dek\u00e1van\u00e1 chyba"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Zem\u011bpisn\u00e1 \u0161\u00ed\u0159ka",
|
||||
"longitude": "Zem\u011bpisn\u00e1 d\u00e9lka"
|
||||
},
|
||||
"title": "Nastaven\u00ed Flu Near You"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Standort ist bereits konfiguriert"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Unerwarteter Fehler"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Breitengrad",
|
||||
"longitude": "L\u00e4ngengrad"
|
||||
},
|
||||
"description": "\u00dcberwache benutzerbasierte und CDC-Berichte f\u00fcr ein Koordinatenpaar.",
|
||||
"title": "Konfiguriere Grippe in deiner N\u00e4he"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Die externe Datenquelle, aus der die Integration von Flu Near You gespeist wird, ist nicht mehr verf\u00fcgbar; daher funktioniert die Integration nicht mehr.\n\nDr\u00fccke SENDEN, um Flu Near You aus deiner Home Assistant-Instanz zu entfernen.",
|
||||
"title": "Flu Near You entfernen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You ist nicht mehr verf\u00fcgbar"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u0397 \u03c4\u03bf\u03c0\u03bf\u03b8\u03b5\u03c3\u03af\u03b1 \u03ad\u03c7\u03b5\u03b9 \u03ae\u03b4\u03b7 \u03b4\u03b9\u03b1\u03bc\u03bf\u03c1\u03c6\u03c9\u03b8\u03b5\u03af"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\u0391\u03c0\u03c1\u03cc\u03c3\u03bc\u03b5\u03bd\u03bf \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u0393\u03b5\u03c9\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc \u03c0\u03bb\u03ac\u03c4\u03bf\u03c2",
|
||||
"longitude": "\u0393\u03b5\u03c9\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc \u03bc\u03ae\u03ba\u03bf\u03c2"
|
||||
},
|
||||
"description": "\u03a0\u03b1\u03c1\u03b1\u03ba\u03bf\u03bb\u03bf\u03cd\u03b8\u03b7\u03c3\u03b7 \u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ce\u03bd \u03b2\u03ac\u03c3\u03b5\u03b9 \u03c7\u03c1\u03ae\u03c3\u03c4\u03b7 \u03ba\u03b1\u03b9 CDC \u03b3\u03b9\u03b1 \u03ad\u03bd\u03b1 \u03b6\u03b5\u03cd\u03b3\u03bf\u03c2 \u03c3\u03c5\u03bd\u03c4\u03b5\u03c4\u03b1\u03b3\u03bc\u03ad\u03bd\u03c9\u03bd.",
|
||||
"title": "\u0394\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03c4\u03bf\u03c5 Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "\u0397 \u03b5\u03be\u03c9\u03c4\u03b5\u03c1\u03b9\u03ba\u03ae \u03c0\u03b7\u03b3\u03ae \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03c0\u03bf\u03c5 \u03c4\u03c1\u03bf\u03c6\u03bf\u03b4\u03bf\u03c4\u03b5\u03af \u03c4\u03b7\u03bd \u03b5\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7 Flu Near You \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03c0\u03bb\u03ad\u03bf\u03bd \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b7. \u0395\u03c0\u03bf\u03bc\u03ad\u03bd\u03c9\u03c2, \u03b7 \u03b5\u03bd\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03b4\u03b5\u03bd \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03b5\u03af \u03c0\u03bb\u03ad\u03bf\u03bd. \n\n \u03a0\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 SUBMIT \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03b1\u03c6\u03b1\u03b9\u03c1\u03ad\u03c3\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b3\u03c1\u03af\u03c0\u03b7 \u03ba\u03bf\u03bd\u03c4\u03ac \u03c3\u03b1\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03c0\u03b1\u03c1\u03bf\u03c5\u03c3\u03af\u03b1 \u03c4\u03bf\u03c5 Home Assistant.",
|
||||
"title": "\u0391\u03c6\u03b1\u03b9\u03c1\u03ad\u03c3\u03c4\u03b5 \u03c4\u03bf Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "\u03a4\u03bf Flu Near You \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03c0\u03bb\u03ad\u03bf\u03bd \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03bf"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Location is already configured"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Unexpected error"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude"
|
||||
},
|
||||
"description": "Monitor user-based and CDC reports for a pair of coordinates.",
|
||||
"title": "Configure Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "The external data source powering the Flu Near You integration is no longer available; thus, the integration no longer works.\n\nPress SUBMIT to remove Flu Near You from your Home Assistant instance.",
|
||||
"title": "Remove Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You is no longer available"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Estas coordenadas ya est\u00e1n registradas."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitud",
|
||||
"longitude": "Longitud"
|
||||
},
|
||||
"description": "Monitoree los repotes basados en el usuario y los CDC para un par de coordenadas.",
|
||||
"title": "Configurar Flu Near You (Gripe cerca de usted)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "La ubicaci\u00f3n ya est\u00e1 configurada"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Error inesperado"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitud",
|
||||
"longitude": "Longitud"
|
||||
},
|
||||
"description": "Supervisa los informes del CDC y los basados en los usuarios para un par de coordenadas.",
|
||||
"title": "Configurar Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "La fuente de datos externa que alimenta la integraci\u00f3n Flu Near You ya no est\u00e1 disponible; por lo tanto, la integraci\u00f3n ya no funciona. \n\nPulsa ENVIAR para eliminar Flu Near You de tu instancia Home Assistant.",
|
||||
"title": "Eliminar Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You ya no est\u00e1 disponible"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Asukoht on juba h\u00e4\u00e4lestatud"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Tundmatu viga"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Laiuskraad",
|
||||
"longitude": "Pikkuskraad"
|
||||
},
|
||||
"description": "Kasutajap\u00f5histe ja CDC-aruannete j\u00e4lgimine antud asukohas.",
|
||||
"title": "Seadista Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Flu Near You integratsiooni k\u00e4ivitav v\u00e4line andmeallikas ei ole enam saadaval; seega ei t\u00f6\u00f6ta integratsioon enam.\n\nVajutage SUBMIT, et eemaldada Flu Near You oma Home Assistant'i instantsist.",
|
||||
"title": "Eemalda Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You pole enam saadaval"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"unknown": "Odottamaton virhe"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "L'emplacement est d\u00e9j\u00e0 configur\u00e9"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Erreur inattendue"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude"
|
||||
},
|
||||
"description": "Surveillez les rapports des utilisateurs et du CDC pour des coordonn\u00e9es.",
|
||||
"title": "Configurer Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"title": "Flu Near You n'est plus disponible"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u05ea\u05e6\u05d5\u05e8\u05ea \u05d4\u05de\u05d9\u05e7\u05d5\u05dd \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05dc\u05ea\u05d9 \u05e6\u05e4\u05d5\u05d9\u05d4"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u05e7\u05d5 \u05e8\u05d5\u05d7\u05d1",
|
||||
"longitude": "\u05e7\u05d5 \u05d0\u05d5\u05e8\u05da"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "A hely m\u00e1r konfigur\u00e1lva van"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "V\u00e1ratlan hiba t\u00f6rt\u00e9nt"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Sz\u00e9less\u00e9g",
|
||||
"longitude": "Hossz\u00fas\u00e1g"
|
||||
},
|
||||
"description": "Figyelje a felhaszn\u00e1l\u00f3alap\u00fa \u00e9s a CDC jelent\u00e9seket egy p\u00e1r koordin\u00e1t\u00e1ra.",
|
||||
"title": "Flu Near You weboldal konfigur\u00e1l\u00e1sa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "A Flu Near You integr\u00e1ci\u00f3t m\u0171k\u00f6dtet\u0151 k\u00fcls\u0151 adatforr\u00e1s m\u00e1r nem el\u00e9rhet\u0151, \u00edgy az integr\u00e1ci\u00f3 m\u00e1r nem m\u0171k\u00f6dik.\n\nNyomja meg a MEHET gombot a Flu Near You elt\u00e1vol\u00edt\u00e1s\u00e1hoz a Home Assistantb\u00f3l.",
|
||||
"title": "Flu Near You elt\u00e1vol\u00edt\u00e1sa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You m\u00e1r nem el\u00e9rhet\u0151"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Lokasi sudah dikonfigurasi"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Kesalahan yang tidak diharapkan"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Lintang",
|
||||
"longitude": "Bujur"
|
||||
},
|
||||
"description": "Pantau laporan berbasis pengguna dan CDC berdasarkan data koordinat.",
|
||||
"title": "Konfigurasikan Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Sumber data eksternal yang mendukung integrasi Flu Near You tidak lagi tersedia, sehingga integrasi tidak lagi berfungsi. \n\nTekan KIRIM untuk menghapus integrasi Flu Near You dari instans Home Assistant Anda.",
|
||||
"title": "Hapus Integrasi Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Integrasi Flu Year You tidak lagi tersedia"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "La posizione \u00e8 gi\u00e0 configurata"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Errore imprevisto"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitudine",
|
||||
"longitude": "Logitudine"
|
||||
},
|
||||
"description": "Monitorare i rapporti basati su utenti e quelli della CDC per una coppia di coordinate.",
|
||||
"title": "Configurare Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "L'origine dati esterna che alimenta l'integrazione Flu Near You non \u00e8 pi\u00f9 disponibile; quindi, l'integrazione non funziona pi\u00f9. \n\nPremi INVIA per rimuovere Flu Near You dall'istanza di Home Assistant.",
|
||||
"title": "Rimuovi Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You non \u00e8 pi\u00f9 disponibile"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u3059\u3067\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u7def\u5ea6",
|
||||
"longitude": "\u7d4c\u5ea6"
|
||||
},
|
||||
"description": "\u30e6\u30fc\u30b6\u30fc\u30d9\u30fc\u30b9\u306e\u30ec\u30dd\u30fc\u30c8\u3068CDC\u306e\u30ec\u30dd\u30fc\u30c8\u3092\u30da\u30a2\u306b\u3057\u3066\u5ea7\u6a19\u3067\u30e2\u30cb\u30bf\u30fc\u3057\u307e\u3059\u3002",
|
||||
"title": "\u8fd1\u304f\u306eFlu\u3092\u8a2d\u5b9a"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Flu Near You\u3068\u306e\u7d71\u5408\u306b\u5fc5\u8981\u306a\u5916\u90e8\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u4f7f\u7528\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u305f\u3081\u3001\u7d71\u5408\u306f\u6a5f\u80fd\u3057\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002\n\nSUBMIT\u3092\u62bc\u3057\u3066\u3001Flu Near You\u3092Home Assistant\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304b\u3089\u524a\u9664\u3057\u307e\u3059\u3002",
|
||||
"title": "\u8fd1\u304f\u306eFlu Near You\u3092\u524a\u9664"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You\u306f\u3001\u5229\u7528\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3057\u305f"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\uc704\uce58\uac00 \uc774\ubbf8 \uad6c\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\uc608\uc0c1\uce58 \ubabb\ud55c \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\uc704\ub3c4",
|
||||
"longitude": "\uacbd\ub3c4"
|
||||
},
|
||||
"description": "\uc0ac\uc6a9\uc790 \uae30\ubc18 \ub370\uc774\ud130 \ubc0f CDC \ubcf4\uace0\uc11c\uc5d0\uc11c \uc88c\ud45c\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud569\ub2c8\ub2e4.",
|
||||
"title": "Flu Near You \uad6c\uc131\ud558\uae30"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Standuert ass scho konfigur\u00e9iert"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Onerwaarte Feeler"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Breedegrad",
|
||||
"longitude": "L\u00e4ngegrad"
|
||||
},
|
||||
"description": "Iwwerwach Benotzer-bas\u00e9iert an CDC Berichter fir Koordinaten.",
|
||||
"title": "Flu Near You konfigur\u00e9ieren"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Locatie is al geconfigureerd"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Onverwachte fout"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Breedtegraad",
|
||||
"longitude": "Lengtegraad"
|
||||
},
|
||||
"description": "Bewaak gebruikersgebaseerde en CDC-rapporten voor een paar co\u00f6rdinaten.",
|
||||
"title": "Configureer \nFlu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"title": "Flu Near You verwijderen"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Plasseringen er allerede konfigurert"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Uventet feil"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Breddegrad",
|
||||
"longitude": "Lengdegrad"
|
||||
},
|
||||
"description": "Overv\u00e5k brukerbaserte rapporter og CDC-rapporter for et par koordinater.",
|
||||
"title": "Konfigurere influensa i n\u00e6rheten av deg"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Den eksterne datakilden som driver Flu Near You-integrasjonen er ikke lenger tilgjengelig; dermed fungerer ikke integreringen lenger. \n\n Trykk SUBMIT for \u00e5 fjerne Flu Near You fra Home Assistant-forekomsten.",
|
||||
"title": "Fjern influensa n\u00e6r deg"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You er ikke lenger tilgjengelig"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Lokalizacja jest ju\u017c skonfigurowana"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Nieoczekiwany b\u0142\u0105d"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Szeroko\u015b\u0107 geograficzna",
|
||||
"longitude": "D\u0142ugo\u015b\u0107 geograficzna"
|
||||
},
|
||||
"description": "Monitoruj raporty oparte na u\u017cytkownikach i CDC dla pary wsp\u00f3\u0142rz\u0119dnych.",
|
||||
"title": "Konfiguracja Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Zewn\u0119trzne \u017ar\u00f3d\u0142o danych dla integracji Flu Near You nie jest ju\u017c dost\u0119pne; tym sposobem integracja ju\u017c nie dzia\u0142a. \n\nNaci\u015bnij ZATWIERD\u0179, aby usun\u0105\u0107 Flu Near You z Home Assistanta.",
|
||||
"title": "Usu\u0144 Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You nie jest ju\u017c dost\u0119pna"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Localiza\u00e7\u00e3o j\u00e1 est\u00e1 configurada"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Erro inesperado"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude"
|
||||
},
|
||||
"description": "Monitore relat\u00f3rios baseados em usu\u00e1rio e CDC para um par de coordenadas.",
|
||||
"title": "Configurar Flue Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "A fonte de dados externa que alimenta a integra\u00e7\u00e3o do Flu Near You n\u00e3o est\u00e1 mais dispon\u00edvel; assim, a integra\u00e7\u00e3o n\u00e3o funciona mais. \n\n Pressione ENVIAR para remover Flu Near You da sua inst\u00e2ncia do Home Assistant.",
|
||||
"title": "Remova Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You n\u00e3o est\u00e1 mais dispon\u00edvel"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "A localiza\u00e7\u00e3o j\u00e1 est\u00e1 configurada"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Erro inesperado"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430."
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u0428\u0438\u0440\u043e\u0442\u0430",
|
||||
"longitude": "\u0414\u043e\u043b\u0433\u043e\u0442\u0430"
|
||||
},
|
||||
"description": "\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0438 CDC \u043e\u0442\u0447\u0435\u0442\u043e\u0432 \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c.",
|
||||
"title": "Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 Flu Near You, \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d.\n\n\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c Flu Near You \u0438\u0437 \u0412\u0430\u0448\u0435\u0433\u043e Home Assistant.",
|
||||
"title": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f Flu Near You \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Zemepisn\u00e1 \u0161\u00edrka",
|
||||
"longitude": "Zemepisn\u00e1 d\u013a\u017eka"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Te koordinate so \u017ee registrirane."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Zemljepisna \u0161irina",
|
||||
"longitude": "Zemljepisna dol\u017eina"
|
||||
},
|
||||
"description": "Spremljajte uporabni\u0161ke in CDC obvestila za dolo\u010dene koordinate.",
|
||||
"title": "Konfigurirajte Flu Near You"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Dessa koordinater \u00e4r redan registrerade."
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Ov\u00e4ntat fel"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Latitud",
|
||||
"longitude": "Longitud"
|
||||
},
|
||||
"description": "\u00d6vervaka anv\u00e4ndarbaserade och CDC-rapporter f\u00f6r ett par koordinater.",
|
||||
"title": "Konfigurera influensa i n\u00e4rheten av dig"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Den externa datak\u00e4llan som driver Flu Near You-integrationen \u00e4r inte l\u00e4ngre tillg\u00e4nglig; allts\u00e5 fungerar inte integrationen l\u00e4ngre. \n\n Tryck p\u00e5 SUBMIT f\u00f6r att ta bort Flu Near You fr\u00e5n din Home Assistant-instans.",
|
||||
"title": "Ta bort influensa n\u00e4ra dig"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Influensa n\u00e4ra dig \u00e4r inte l\u00e4ngre tillg\u00e4nglig"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Konum zaten yap\u0131land\u0131r\u0131lm\u0131\u015f"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "Beklenmeyen hata"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "Enlem",
|
||||
"longitude": "Boylam"
|
||||
},
|
||||
"description": "Bir \u00e7ift koordinat i\u00e7in kullan\u0131c\u0131 tabanl\u0131 raporlar\u0131 ve CDC raporlar\u0131n\u0131 izleyin.",
|
||||
"title": "Flu Near You'yu Yap\u0131land\u0131r\u0131n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "Flu Near You entegrasyonuna g\u00fc\u00e7 sa\u011flayan harici veri kayna\u011f\u0131 art\u0131k mevcut de\u011fil; bu nedenle, entegrasyon art\u0131k \u00e7al\u0131\u015fm\u0131yor. \n\n Home Assistant \u00f6rne\u011finden Flu Near You'yu kald\u0131rmak i\u00e7in G\u00d6NDER'e bas\u0131n.",
|
||||
"title": "Yak\u0131n\u0131n\u0131zdaki Flu Near You'yu Kald\u0131r\u0131n"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You art\u0131k mevcut de\u011fil"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0434\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u043c\u0456\u0441\u0446\u0435\u0437\u043d\u0430\u0445\u043e\u0434\u0436\u0435\u043d\u043d\u044f \u0432\u0436\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u0435."
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\u041d\u0435\u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u0428\u0438\u0440\u043e\u0442\u0430",
|
||||
"longitude": "\u0414\u043e\u0432\u0433\u043e\u0442\u0430"
|
||||
},
|
||||
"description": "\u041c\u043e\u043d\u0456\u0442\u043e\u0440\u0438\u043d\u0433 \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044c\u043a\u0438\u0445 \u0456 CDC \u0437\u0432\u0456\u0442\u0456\u0432 \u0437\u0430 \u0432\u043a\u0430\u0437\u0430\u043d\u0438\u043c\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438.",
|
||||
"title": "Flu Near You"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u4f4d\u7f6e\u5b8c\u6210\u914d\u7f6e"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
{
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "\u5ea7\u6a19\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
|
||||
},
|
||||
"error": {
|
||||
"unknown": "\u672a\u9810\u671f\u932f\u8aa4"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"data": {
|
||||
"latitude": "\u7def\u5ea6",
|
||||
"longitude": "\u7d93\u5ea6"
|
||||
},
|
||||
"description": "\u76e3\u6e2c\u4f7f\u7528\u8005\u8207 CDC \u56de\u5831\u76f8\u5c0d\u61c9\u5ea7\u6a19\u3002",
|
||||
"title": "\u8a2d\u5b9a Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"integration_removal": {
|
||||
"fix_flow": {
|
||||
"step": {
|
||||
"confirm": {
|
||||
"description": "The external data source powering the Flu Near You \u6574\u5408\u6240\u4f7f\u7528\u7684\u5916\u90e8\u8cc7\u6599\u4f86\u6e90\u5df2\u7d93\u7121\u6cd5\u4f7f\u7528\uff0c\u6574\u5408\u7121\u6cd5\u4f7f\u7528\u3002\n\n\u6309\u4e0b\u300c\u50b3\u9001\u300d\u4ee5\u79fb\u9664\u7531 Home Assistant \u79fb\u9664 Flu Near You\u3002",
|
||||
"title": "\u79fb\u9664 Flu Near You"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Flu Near You \u5df2\u7d93\u7121\u6cd5\u4f7f\u7528"
|
||||
}
|
||||
}
|
||||
}
|
@ -114,7 +114,6 @@ FLOWS = {
|
||||
"flipr",
|
||||
"flo",
|
||||
"flume",
|
||||
"flunearyou",
|
||||
"flux_led",
|
||||
"forecast_solar",
|
||||
"forked_daapd",
|
||||
|
10
mypy.ini
10
mypy.ini
@ -782,16 +782,6 @@ disallow_untyped_defs = true
|
||||
warn_return_any = true
|
||||
warn_unreachable = true
|
||||
|
||||
[mypy-homeassistant.components.flunearyou.*]
|
||||
check_untyped_defs = true
|
||||
disallow_incomplete_defs = true
|
||||
disallow_subclassing_any = true
|
||||
disallow_untyped_calls = true
|
||||
disallow_untyped_decorators = true
|
||||
disallow_untyped_defs = true
|
||||
warn_return_any = true
|
||||
warn_unreachable = true
|
||||
|
||||
[mypy-homeassistant.components.flux_led.*]
|
||||
check_untyped_defs = true
|
||||
disallow_incomplete_defs = true
|
||||
|
@ -1557,9 +1557,6 @@ pyflic==2.0.3
|
||||
# homeassistant.components.flume
|
||||
pyflume==0.6.5
|
||||
|
||||
# homeassistant.components.flunearyou
|
||||
pyflunearyou==2.0.2
|
||||
|
||||
# homeassistant.components.futurenow
|
||||
pyfnip==0.2
|
||||
|
||||
|
@ -1085,9 +1085,6 @@ pyflic==2.0.3
|
||||
# homeassistant.components.flume
|
||||
pyflume==0.6.5
|
||||
|
||||
# homeassistant.components.flunearyou
|
||||
pyflunearyou==2.0.2
|
||||
|
||||
# homeassistant.components.forked_daapd
|
||||
pyforked-daapd==0.1.11
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
"""Define tests for the flunearyou component."""
|
@ -1,61 +0,0 @@
|
||||
"""Define fixtures for Flu Near You tests."""
|
||||
import json
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.flunearyou.const import DOMAIN
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.common import MockConfigEntry, load_fixture
|
||||
|
||||
|
||||
@pytest.fixture(name="config_entry")
|
||||
def config_entry_fixture(hass, config, unique_id):
|
||||
"""Define a config entry fixture."""
|
||||
entry = MockConfigEntry(domain=DOMAIN, unique_id=unique_id, data=config)
|
||||
entry.add_to_hass(hass)
|
||||
return entry
|
||||
|
||||
|
||||
@pytest.fixture(name="config")
|
||||
def config_fixture(hass):
|
||||
"""Define a config entry data fixture."""
|
||||
return {
|
||||
CONF_LATITUDE: 51.528308,
|
||||
CONF_LONGITUDE: -0.3817765,
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture(name="data_cdc", scope="session")
|
||||
def data_cdc_fixture():
|
||||
"""Define CDC data."""
|
||||
return json.loads(load_fixture("cdc_data.json", "flunearyou"))
|
||||
|
||||
|
||||
@pytest.fixture(name="data_user", scope="session")
|
||||
def data_user_fixture():
|
||||
"""Define user data."""
|
||||
return json.loads(load_fixture("user_data.json", "flunearyou"))
|
||||
|
||||
|
||||
@pytest.fixture(name="setup_flunearyou")
|
||||
async def setup_flunearyou_fixture(hass, data_cdc, data_user, config):
|
||||
"""Define a fixture to set up Flu Near You."""
|
||||
with patch(
|
||||
"pyflunearyou.cdc.CdcReport.status_by_coordinates", return_value=data_cdc
|
||||
), patch(
|
||||
"pyflunearyou.user.UserReport.status_by_coordinates", return_value=data_user
|
||||
), patch(
|
||||
"homeassistant.components.flunearyou.PLATFORMS", []
|
||||
):
|
||||
assert await async_setup_component(hass, DOMAIN, config)
|
||||
await hass.async_block_till_done()
|
||||
yield
|
||||
|
||||
|
||||
@pytest.fixture(name="unique_id")
|
||||
def unique_id_fixture(hass):
|
||||
"""Define a config entry unique ID fixture."""
|
||||
return "51.528308, -0.3817765"
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"level": "Low",
|
||||
"level2": "None",
|
||||
"week_date": "2020-05-16",
|
||||
"name": "Washington State",
|
||||
"fill": {
|
||||
"color": "#00B7B6",
|
||||
"opacity": 0.7
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"city": "Chester(72934)",
|
||||
"place_id": "49377",
|
||||
"zip": "72934",
|
||||
"contained_by": "610",
|
||||
"latitude": "35.687603",
|
||||
"longitude": "-94.253845",
|
||||
"none": 1,
|
||||
"symptoms": 0,
|
||||
"flu": 0,
|
||||
"lepto": 0,
|
||||
"dengue": 0,
|
||||
"chick": 0,
|
||||
"icon": "1"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"city": "Los Angeles(90046)",
|
||||
"place_id": "23818",
|
||||
"zip": "90046",
|
||||
"contained_by": "204",
|
||||
"latitude": "34.114731",
|
||||
"longitude": "-118.363724",
|
||||
"none": 2,
|
||||
"symptoms": 0,
|
||||
"flu": 0,
|
||||
"lepto": 0,
|
||||
"dengue": 0,
|
||||
"chick": 0,
|
||||
"icon": "1"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"city": "Corvallis(97330)",
|
||||
"place_id": "21462",
|
||||
"zip": "97330",
|
||||
"contained_by": "239",
|
||||
"latitude": "44.638504",
|
||||
"longitude": "-123.292938",
|
||||
"none": 3,
|
||||
"symptoms": 0,
|
||||
"flu": 0,
|
||||
"lepto": 0,
|
||||
"dengue": 0,
|
||||
"chick": 0,
|
||||
"icon": "1"
|
||||
}
|
||||
]
|
@ -1,52 +0,0 @@
|
||||
"""Define tests for the flunearyou config flow."""
|
||||
from unittest.mock import patch
|
||||
|
||||
from pyflunearyou.errors import FluNearYouError
|
||||
|
||||
from homeassistant import data_entry_flow
|
||||
from homeassistant.components.flunearyou import DOMAIN
|
||||
from homeassistant.config_entries import SOURCE_USER
|
||||
from homeassistant.const import CONF_LATITUDE, CONF_LONGITUDE
|
||||
|
||||
|
||||
async def test_duplicate_error(hass, config, config_entry, setup_flunearyou):
|
||||
"""Test that an error is shown when duplicates are added."""
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": SOURCE_USER}, data=config
|
||||
)
|
||||
assert result["type"] == data_entry_flow.FlowResultType.ABORT
|
||||
assert result["reason"] == "already_configured"
|
||||
|
||||
|
||||
async def test_errors(hass, config):
|
||||
"""Test that exceptions show the appropriate error."""
|
||||
with patch(
|
||||
"pyflunearyou.cdc.CdcReport.status_by_coordinates", side_effect=FluNearYouError
|
||||
):
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": SOURCE_USER}, data=config
|
||||
)
|
||||
assert result["errors"] == {"base": "unknown"}
|
||||
|
||||
|
||||
async def test_show_form(hass):
|
||||
"""Test that the form is served with no input."""
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": SOURCE_USER}
|
||||
)
|
||||
|
||||
assert result["type"] == data_entry_flow.FlowResultType.FORM
|
||||
assert result["step_id"] == "user"
|
||||
|
||||
|
||||
async def test_step_user(hass, config, setup_flunearyou):
|
||||
"""Test that the user step works."""
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN, context={"source": SOURCE_USER}, data=config
|
||||
)
|
||||
assert result["type"] == data_entry_flow.FlowResultType.CREATE_ENTRY
|
||||
assert result["title"] == "51.528308, -0.3817765"
|
||||
assert result["data"] == {
|
||||
CONF_LATITUDE: 51.528308,
|
||||
CONF_LONGITUDE: -0.3817765,
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
"""Test Flu Near You diagnostics."""
|
||||
from homeassistant.components.diagnostics import REDACTED
|
||||
|
||||
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
||||
|
||||
|
||||
async def test_entry_diagnostics(hass, config_entry, hass_client, setup_flunearyou):
|
||||
"""Test config entry diagnostics."""
|
||||
assert await get_diagnostics_for_config_entry(hass, hass_client, config_entry) == {
|
||||
"cdc_report": {
|
||||
"level": "Low",
|
||||
"level2": "None",
|
||||
"week_date": "2020-05-16",
|
||||
"name": "Washington State",
|
||||
"fill": {"color": "#00B7B6", "opacity": 0.7},
|
||||
},
|
||||
"user_report": [
|
||||
{
|
||||
"id": 1,
|
||||
"city": "Chester(72934)",
|
||||
"place_id": "49377",
|
||||
"zip": "72934",
|
||||
"contained_by": "610",
|
||||
"latitude": REDACTED,
|
||||
"longitude": REDACTED,
|
||||
"none": 1,
|
||||
"symptoms": 0,
|
||||
"flu": 0,
|
||||
"lepto": 0,
|
||||
"dengue": 0,
|
||||
"chick": 0,
|
||||
"icon": "1",
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"city": "Los Angeles(90046)",
|
||||
"place_id": "23818",
|
||||
"zip": "90046",
|
||||
"contained_by": "204",
|
||||
"latitude": REDACTED,
|
||||
"longitude": REDACTED,
|
||||
"none": 2,
|
||||
"symptoms": 0,
|
||||
"flu": 0,
|
||||
"lepto": 0,
|
||||
"dengue": 0,
|
||||
"chick": 0,
|
||||
"icon": "1",
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"city": "Corvallis(97330)",
|
||||
"place_id": "21462",
|
||||
"zip": "97330",
|
||||
"contained_by": "239",
|
||||
"latitude": REDACTED,
|
||||
"longitude": REDACTED,
|
||||
"none": 3,
|
||||
"symptoms": 0,
|
||||
"flu": 0,
|
||||
"lepto": 0,
|
||||
"dengue": 0,
|
||||
"chick": 0,
|
||||
"icon": "1",
|
||||
},
|
||||
],
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user