Add stall sensor detection.
parent
0142c5412b
commit
2f7d96f8d3
|
|
@ -28,14 +28,16 @@ period where no entities are subscribed, causing stale states until another full
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from py_typecheck import checked, checked_or
|
||||
|
||||
from homeassistant.const import Platform
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.exceptions import ConfigEntryNotReady, PlatformNotReady
|
||||
from homeassistant.helpers.event import async_track_time_interval
|
||||
|
||||
from .const import (
|
||||
DEFAULT_URL,
|
||||
|
|
@ -53,6 +55,7 @@ from .data import SWSConfigEntry, SWSRuntimeData
|
|||
from .health_coordinator import HealthCoordinator
|
||||
from .legacy import update_legacy_battery_issue
|
||||
from .routes import Routes
|
||||
from .staleness import update_stale_sensors_issue
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
PLATFORMS: list[Platform] = [Platform.SENSOR, Platform.BINARY_SENSOR]
|
||||
|
|
@ -181,6 +184,12 @@ async def async_setup_entry(hass: HomeAssistant, entry: SWSConfigEntry) -> bool:
|
|||
|
||||
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
|
||||
|
||||
@callback
|
||||
def _check_stale(_now: datetime) -> None:
|
||||
update_stale_sensors_issue(hass, entry)
|
||||
|
||||
entry.async_on_unload(async_track_time_interval(hass, _check_stale, timedelta(hours=1)))
|
||||
|
||||
entry.async_on_unload(entry.add_update_listener(update_listener))
|
||||
update_legacy_battery_issue(hass, entry)
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ from py_typecheck import checked, checked_or
|
|||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import InvalidStateError
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
from .binary_sensor import add_new_binary_sensors
|
||||
from .const import (
|
||||
|
|
@ -45,6 +46,7 @@ from .ecowitt import EcowittBridge
|
|||
from .health_coordinator import HealthCoordinator
|
||||
from .pocasti_cz import PocasiPush
|
||||
from .sensor import add_new_sensors
|
||||
from .staleness import update_stale_sensors_issue
|
||||
from .utils import (
|
||||
anonymize,
|
||||
check_disabled,
|
||||
|
|
@ -139,6 +141,10 @@ class WeatherDataUpdateCoordinator(DataUpdateCoordinator):
|
|||
add_new_binary_sensors(self.hass, self.config, newly_discovered)
|
||||
add_new_sensors(self.hass, self.config, newly_discovered)
|
||||
self.async_set_updated_data(mapped_data)
|
||||
now = dt_util.utcnow()
|
||||
for key in mapped_data:
|
||||
self.config.runtime_data.last_seen[key] = now
|
||||
update_stale_sensors_issue(self.hass, self.config)
|
||||
|
||||
if health:
|
||||
health.update_ingress_result(
|
||||
|
|
@ -299,6 +305,12 @@ class WeatherDataUpdateCoordinator(DataUpdateCoordinator):
|
|||
add_new_binary_sensors(self.hass, self.config, newly_discovered)
|
||||
|
||||
self.async_set_updated_data(remaped_items)
|
||||
|
||||
now = dt_util.utcnow()
|
||||
for key in remaped_items:
|
||||
self.config.runtime_data.last_seen[key] = now
|
||||
update_stale_sensors_issue(self.hass, self.config)
|
||||
|
||||
if health:
|
||||
health.update_ingress_result(
|
||||
webdata,
|
||||
|
|
|
|||
|
|
@ -8,10 +8,12 @@ hass.data[DOMAIN]["routes"] because it must outlive a single entry reload.
|
|||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from datetime import datetime
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from homeassistant.components.binary_sensor import BinarySensorEntityDescription
|
||||
|
|
@ -45,6 +47,10 @@ class SWSRuntimeData:
|
|||
# Health data cache for diagnostics - refreshed by `HealthCoordinator` on each tick.
|
||||
health_data: dict[str, Any] | None = None
|
||||
|
||||
# Staleness tracking - in-memory, resets on reload.
|
||||
started_at: datetime = field(default_factory=dt_util.utcnow)
|
||||
last_seen: dict[str, datetime] = field(default_factory=dict)
|
||||
|
||||
|
||||
# Type alias for typed ConfigEntry
|
||||
type SWSConfigEntry = ConfigEntry[SWSRuntimeData]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,76 @@
|
|||
"""Stale sensor detection.
|
||||
|
||||
If a sensor key is in SENSORS_TO_LOAD but its station never reported it (or stopped reporting it
|
||||
for an extended period), the corresponding HA entity becomes Unavailable indefinitely.
|
||||
|
||||
This module raises a Repairs issue listing such stale keys so users can decide whether to remove them.
|
||||
|
||||
Warmup avoids false-positives at integration startup before any payload arrives.
|
||||
The check is in-memory only — restart/reload resets last_seen, but the 1h warmup covers re-population
|
||||
from incoming webhooks.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import timedelta
|
||||
from typing import Final
|
||||
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import issue_registry as ir
|
||||
from homeassistant.helpers.issue_registry import IssueSeverity
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
from .const import DOMAIN, SENSORS_TO_LOAD
|
||||
from .data import SWSConfigEntry
|
||||
|
||||
STALE_THRESHOLD: Final = timedelta(hours=24)
|
||||
WARMUP_PERIOD: Final = timedelta(hours=1)
|
||||
|
||||
|
||||
def _stale_sensor_issue_id(entry: SWSConfigEntry) -> str:
|
||||
"""Return Repairs issue id for this config entry."""
|
||||
return f"stale_sensors_{entry.entry_id}"
|
||||
|
||||
|
||||
@callback
|
||||
def _find_stale_keys(entry: SWSConfigEntry) -> list[str]:
|
||||
"""Return keys in SENSORS_TO_LOAD that haven't been seen recently."""
|
||||
runtime = entry.runtime_data
|
||||
now = dt_util.utcnow()
|
||||
|
||||
if (now - runtime.started_at) < WARMUP_PERIOD:
|
||||
return []
|
||||
|
||||
loaded = entry.options.get(SENSORS_TO_LOAD, [])
|
||||
last_seen = runtime.last_seen
|
||||
|
||||
stale: list[str] = []
|
||||
for key in loaded:
|
||||
seen_at = last_seen.get(key)
|
||||
if seen_at is None or (now - seen_at) > STALE_THRESHOLD:
|
||||
stale.append(key)
|
||||
return stale
|
||||
|
||||
|
||||
@callback
|
||||
def update_stale_sensors_issue(hass: HomeAssistant, entry: SWSConfigEntry) -> None:
|
||||
"""Create or clear a Repairs issue for stale sensor keys."""
|
||||
|
||||
issue_id = _stale_sensor_issue_id(entry)
|
||||
stale = _find_stale_keys(entry)
|
||||
|
||||
if stale:
|
||||
ir.async_create_issue(
|
||||
hass,
|
||||
DOMAIN,
|
||||
issue_id=issue_id,
|
||||
is_persistent=True,
|
||||
is_fixable=False,
|
||||
severity=IssueSeverity.WARNING,
|
||||
translation_key="stale_sensors_detected",
|
||||
translation_placeholders={
|
||||
"sensors": ", ".join(sorted(stale)),
|
||||
},
|
||||
)
|
||||
else:
|
||||
ir.async_delete_issue(hass, DOMAIN, issue_id=issue_id)
|
||||
|
|
@ -1,437 +1,441 @@
|
|||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Vyplňte platné API ID.",
|
||||
"valid_credentials_key": "Vyplňte platný API KEY.",
|
||||
"valid_credentials_match": "API ID a API KEY nesmějí být stejné!"
|
||||
"config": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Vyplňte platné API ID.",
|
||||
"valid_credentials_key": "Vyplňte platný API KEY.",
|
||||
"valid_credentials_match": "API ID a API KEY nesmějí být stejné!"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Vyberte typ stanice",
|
||||
"description": "Zadejte typ stanice, kterou používáte. Pokude nepoužíváte Ecowitt, vyberte PWS/WSLink",
|
||||
"menu_options": {
|
||||
"pws": "PWS/WSLink (Sencor, Garni, Bresser, jiné - Weather Underground kompatibilní)",
|
||||
"ecowitt": "Ecowitt"
|
||||
}
|
||||
},
|
||||
"pws": {
|
||||
"title": "Přihlašovací údaje PWS/WSLink.",
|
||||
"description": "Zadejte API ID a API KEY, aby meteostanice mohla komunikovat s HomeAssistantem.",
|
||||
"data": {
|
||||
"API_ID": "API ID / ID Stanice",
|
||||
"API_KEY": "API KEY / Heslo",
|
||||
"wslink": "WSLink Protorkol",
|
||||
"dev_debug_checkbox": "Developer log"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Vyberte typ stanice",
|
||||
"description": "Zadejte typ stanice, kterou používáte. Pokude nepoužíváte Ecowitt, vyberte PWS/WSLink",
|
||||
"menu_options": {
|
||||
"pws": "PWS/WSLink (Sencor, Garni, Bresser, jiné - Weather Underground kompatibilní)",
|
||||
"ecowitt": "Ecowitt"
|
||||
}
|
||||
},
|
||||
"pws": {
|
||||
"title": "Přihlašovací údaje PWS/WSLink.",
|
||||
"description": "Zadejte API ID a API KEY, aby meteostanice mohla komunikovat s HomeAssistantem.",
|
||||
"data": {
|
||||
"API_ID": "API ID / ID Stanice",
|
||||
"API_KEY": "API KEY / Heslo",
|
||||
"wslink": "WSLink Protorkol",
|
||||
"dev_debug_checkbox": "Developer log"
|
||||
},
|
||||
"data_description": {
|
||||
"API_ID": "API ID je ID stanice, které jste nastavili v meteostanici.",
|
||||
"API_KEY": "API KEY je heslo, které jste nastavili v meteostanici.",
|
||||
"wslink": "Zapněte tuto volbu, pokud stanice používá WSLink protokol. Pokud si nejstě jistí, použijte https://test-station.schizza.cz/",
|
||||
"dev_debug_checkbox": "Zapnout pouze v případě, že chcete poslat ladící informace vývojáři."
|
||||
}
|
||||
},
|
||||
"ecowitt": {
|
||||
"title": "Nastavení pro Ecowitt stanice",
|
||||
"description": "Zadejte unikátní webhook ID pro příjem dat ze stanic Ecowitt. Pokud nepoužíváte stanice Ecowitt, tento krok přeskočte.",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unikátní webhook ID pro Ecowitt stanice",
|
||||
"ecowitt_enabled": "Povolit data ze stanic Ecowitt"
|
||||
},
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Nastavení pro stanici: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Povolit přijímání dat ze stanic Ecowitt"
|
||||
}
|
||||
}
|
||||
"data_description": {
|
||||
"API_ID": "API ID je ID stanice, které jste nastavili v meteostanici.",
|
||||
"API_KEY": "API KEY je heslo, které jste nastavili v meteostanici.",
|
||||
"wslink": "Zapněte tuto volbu, pokud stanice používá WSLink protokol. Pokud si nejstě jistí, použijte https://test-station.schizza.cz/",
|
||||
"dev_debug_checkbox": "Zapnout pouze v případě, že chcete poslat ladící informace vývojáři."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Vyplňte platné API ID",
|
||||
"valid_credentials_key": "Vyplňte platný API KEY",
|
||||
"valid_credentials_match": "API ID a API KEY nesmějí být stejné!",
|
||||
"windy_id_required": "Je vyžadováno Windy ID, pokud chcete aktivovat přeposílání dat na Windy",
|
||||
"windy_pw_required": "Je vyžadován Windy KEY, pokud chcete aktivovat přeposílání dat na Windy",
|
||||
"pocasi_id_required": "Je vyžadován Počasí ID, pokud chcete aktivovat přeposílání dat na Počasí Meteo CZ",
|
||||
"pocasi_key_required": "Klíč k účtu Počasí Meteo je povinný.",
|
||||
"pocasi_send_minimum": "Minimální interval pro přeposílání je 12 sekund."
|
||||
},
|
||||
"ecowitt": {
|
||||
"title": "Nastavení pro Ecowitt stanice",
|
||||
"description": "Zadejte unikátní webhook ID pro příjem dat ze stanic Ecowitt. Pokud nepoužíváte stanice Ecowitt, tento krok přeskočte.",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unikátní webhook ID pro Ecowitt stanice",
|
||||
"ecowitt_enabled": "Povolit data ze stanic Ecowitt"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Nastavení integrace SWS12500",
|
||||
"description": "Vyberte, co chcete konfigurovat. Zda přihlašovací údaje nebo nastavení pro přeposílání dat na Windy.",
|
||||
"menu_options": {
|
||||
"basic": "Základní - přístupové údaje (přihlášení)",
|
||||
"windy": "Nastavení pro přeposílání dat na Windy",
|
||||
"pocasi": "Nastavení pro přeposlání dat na Počasí Meteo CZ",
|
||||
"ecowitt": "Nastavení pro stanice Ecowitt",
|
||||
"wslink_port_setup": "Nastavení portu WSLink Addonu",
|
||||
"migration": "Migrace statistiky senzoru"
|
||||
}
|
||||
},
|
||||
"basic": {
|
||||
"description": "Nastavení endpointu PWS/WSLink. Pro stanici jen s Ecowwittem vypněte 'Povolit endpoint PWS/WSLink'. API ID/KEY nejsou potřeba",
|
||||
"title": "Nastavení PWS/WSLink",
|
||||
"data": {
|
||||
"API_ID": "API ID / ID Stanice",
|
||||
"API_KEY": "API KEY / Heslo",
|
||||
"wslink": "WSLink protokol",
|
||||
"dev_debug_checkbox": "Developer log",
|
||||
"legacy_enabled": "Povolit endpoint PWS/WSLink"
|
||||
},
|
||||
"data_description": {
|
||||
"dev_debug_checkbox": "Zapnout pouze v případě, že chcete poslat ladící informace vývojáři.",
|
||||
"API_ID": "API ID je ID stanice, které jste nastavili v meteostanici.",
|
||||
"API_KEY": "API KEY je heslo, které jste nastavili v meteostanici.",
|
||||
"wslink": "WSLink API zapněte, pokud je stanice nastavena na zasílání dat přes WSLink.",
|
||||
"legacy_enabled": "Vyplněte, pokud vaše stanice používá pouze Ecowitt."
|
||||
}
|
||||
},
|
||||
"windy": {
|
||||
"description": "Přeposílání dat z metostanice na Windy",
|
||||
"title": "Konfigurace Windy",
|
||||
"data": {
|
||||
"WINDY_STATION_ID": "ID stanice, získaný z Windy",
|
||||
"WINDY_STATION_PWD": "Heslo stanice, získané z Windy",
|
||||
"windy_enabled_checkbox": "Povolit přeposílání dat na Windy",
|
||||
"windy_logger_checkbox": "Logovat data a odpovědi z Windy"
|
||||
},
|
||||
"data_description": {
|
||||
"WINDY_STATION_ID": "ID stanice získaný z https://stations.windy.com/station",
|
||||
"WINDY_STATION_PWD": "Heslo stanice získané z https://stations.windy.com/station",
|
||||
"windy_logger_checkbox": "Zapnout pouze v případě, že chcete poslat ladící informace vývojáři."
|
||||
}
|
||||
},
|
||||
"pocasi": {
|
||||
"description": "Přeposílání dat do aplikace Počasí Meteo",
|
||||
"title": "Konfigurace Počasí Meteo",
|
||||
"data": {
|
||||
"POCASI_CZ_API_ID": "ID účtu na Počasí Meteo",
|
||||
"POCASI_CZ_API_KEY": "Klíč (Key) k účtu Počasí Meteo",
|
||||
"POCASI_CZ_SEND_INTERVAL": "Interval v sekundách",
|
||||
"pocasi_enabled_chcekbox": "Povolit přeposílání dat na server Počasí Meteo",
|
||||
"pocasi_logger_checkbox": "Logovat data a odpovědi z Počasí Meteo"
|
||||
},
|
||||
"data_description": {
|
||||
"POCASI_API_ID": "ID získáte ve své aplikaci Počasí Meteo",
|
||||
"POCASI_API_KEY": "Klíč (Key) získáte ve své aplikaci Počasí Meteo",
|
||||
"POCASI_SEND_INTERVAL": "Interval v jakém se mají data na server přeposílat (minimum 12s, defaultně 30s)",
|
||||
"pocasi_enabled_checkbox": "Zapne přeposílání data na server Počasí Meteo",
|
||||
"pocasi_logger_checkbox": "Zapnout pouze v případě, že chcete zaslat ladící informace vývojáři."
|
||||
}
|
||||
},
|
||||
"ecowitt": {
|
||||
"description": "Nastavení pro Ecowitt",
|
||||
"title": "Konfigurace pro stanice Ecowitt",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unikátní webhook ID",
|
||||
"ecowitt_enabled": "Povolit data ze stanice Ecowitt"
|
||||
},
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Nastavení pro stanici: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Povolit přijímání dat ze stanic Ecowitt"
|
||||
}
|
||||
},
|
||||
"wslink_port_setup": {
|
||||
"description": "Nastavení portu, kde naslouchá WSLink Addon. Slouží pro příjem diagnostik.",
|
||||
"title": "Port WSLink Addonu",
|
||||
"data": {
|
||||
"WSLINK_ADDON_PORT": "Naslouchající port WSLink Addonu"
|
||||
},
|
||||
"data_description": {
|
||||
"WSLINK_ADDON_PORT": "Zadejte port, tak jak jej máte nastavený ve WSLink Addonu."
|
||||
}
|
||||
},
|
||||
"migration": {
|
||||
"title": "Migrace statistiky senzoru.",
|
||||
"description": "Pro správnou funkci dlouhodobé statistiky je nutné provést migraci jednotky senzoru v dlouhodobé statistice. Původní jednotka dlouhodobé statistiky pro denní úhrn srážek byla v mm/d, nicméně stanice zasílá pouze data v mm bez časového rozlišení.\n\n Senzor, který má být migrován je pro denní úhrn srážek. Pokud je v seznamu již správná hodnota u senzoru pro denní úhrn (mm), pak je již migrace hotová.\n\n Výsledek migrace pro senzor: {migration_status}, přepvedeno celkem {migration_count} řádků.",
|
||||
"data": {
|
||||
"sensor_to_migrate": "Senzor pro migraci",
|
||||
"trigger_action": "Spustit migraci"
|
||||
},
|
||||
"data_description": {
|
||||
"sensor_to_migrate": "Vyberte správný senzor pri migraci statistiky. \n Hodnoty senzoru budou zachovány, nepřepočítají se, pouze se změní jednotka v dlouhodobé statistice. ",
|
||||
"trigger_action": "Po zaškrtnutí se spustí migrace statistiky senzoru."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"binary_sensor": {
|
||||
"outside_battery": {
|
||||
"name": "Venkovní baterie"
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Baterie kozole"
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Baterie senzoru 2"
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Baterie senzoru 3"
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Baterie senzoru 4"
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Baterie senzoru 5"
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Baterie senzoru 6"
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Baterie senzoru 7"
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Baterie senzoru 8"
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"integration_health": {
|
||||
"name": "Stav integrace",
|
||||
"state": {
|
||||
"online_wu": "Online PWS/WU",
|
||||
"online_wslink": "Online WSLink",
|
||||
"online_idle": "Čekám na data",
|
||||
"degraded": "Degradovaný",
|
||||
"error": "Nefunkční"
|
||||
}
|
||||
},
|
||||
"active_protocol": {
|
||||
"name": "Aktivní protokol",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"wslink_addon_status": {
|
||||
"name": "Stav WSLink Addonu",
|
||||
"state": {
|
||||
"online": "Běží",
|
||||
"offline": "Vypnutý"
|
||||
}
|
||||
},
|
||||
"wslink_addon_name": {
|
||||
"name": "Název WSLink Addonu"
|
||||
},
|
||||
"wslink_addon_version": {
|
||||
"name": "Verze WSLink Addonu"
|
||||
},
|
||||
"wslink_addon_listen_port": {
|
||||
"name": "Port WSLink Addonu"
|
||||
},
|
||||
"wslink_upstream_ha_port": {
|
||||
"name": "Port upstream HA WSLink Addonu"
|
||||
},
|
||||
"route_wu_enabled": {
|
||||
"name": "Protokol PWS/WU"
|
||||
},
|
||||
"route_wslink_enabled": {
|
||||
"name": "Protokol WSLink"
|
||||
},
|
||||
"last_ingress_time": {
|
||||
"name": "Poslední přístup"
|
||||
},
|
||||
"last_ingress_protocol": {
|
||||
"name": "Protokol posledního přístupu",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"last_ingress_route_enabled": {
|
||||
"name": "Trasa posledního přístupu povolena"
|
||||
},
|
||||
"last_ingress_accepted": {
|
||||
"name": "Poslední přístup",
|
||||
"state": {
|
||||
"accepted": "Prijat",
|
||||
"rejected": "Odmítnut"
|
||||
}
|
||||
},
|
||||
"last_ingress_authorized": {
|
||||
"name": "Autorizace posledního přístupu",
|
||||
"state": {
|
||||
"authorized": "Autorizován",
|
||||
"unauthorized": "Neautorizován",
|
||||
"unknown": "Neznámý"
|
||||
}
|
||||
},
|
||||
"last_ingress_reason": {
|
||||
"name": "Zpráva přístupu"
|
||||
},
|
||||
"forward_windy_enabled": {
|
||||
"name": "Přeposílání na Windy"
|
||||
},
|
||||
"forward_windy_status": {
|
||||
"name": "Stav přeposílání na Windy",
|
||||
"state": {
|
||||
"disabled": "Vypnuto",
|
||||
"idle": "Čekám na odeslání",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"forward_pocasi_enabled": {
|
||||
"name": "Přeposílání na Počasí Meteo"
|
||||
},
|
||||
"forward_pocasi_status": {
|
||||
"name": "Stav přeposílání na Počasí Meteo",
|
||||
"state": {
|
||||
"disabled": "Vypnuto",
|
||||
"idle": "Čekám na odeslání",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"indoor_temp": {
|
||||
"name": "Vnitřní teplota"
|
||||
},
|
||||
"indoor_humidity": {
|
||||
"name": "Vnitřní vlhkost vzduchu"
|
||||
},
|
||||
"outside_temp": {
|
||||
"name": "Venkovní teplota"
|
||||
},
|
||||
"outside_humidity": {
|
||||
"name": "Venkovní vlhkost vzduchu"
|
||||
},
|
||||
"uv": {
|
||||
"name": "UV index"
|
||||
},
|
||||
"baro_pressure": {
|
||||
"name": "Tlak vzduchu"
|
||||
},
|
||||
"dew_point": {
|
||||
"name": "Rosný bod"
|
||||
},
|
||||
"wind_speed": {
|
||||
"name": "Rychlost větru"
|
||||
},
|
||||
"wind_dir": {
|
||||
"name": "Směr větru"
|
||||
},
|
||||
"wind_gust": {
|
||||
"name": "Poryvy větru"
|
||||
},
|
||||
"rain": {
|
||||
"name": "Srážky"
|
||||
},
|
||||
"daily_rain": {
|
||||
"name": "Denní úhrn srážek"
|
||||
},
|
||||
"solar_radiation": {
|
||||
"name": "Sluneční osvit"
|
||||
},
|
||||
"ch2_temp": {
|
||||
"name": "Teplota senzoru 2"
|
||||
},
|
||||
"ch2_humidity": {
|
||||
"name": "Vlhkost sensoru 2"
|
||||
},
|
||||
"ch3_temp": {
|
||||
"name": "Teplota senzoru 3"
|
||||
},
|
||||
"ch3_humidity": {
|
||||
"name": "Vlhkost sensoru 3"
|
||||
},
|
||||
"ch4_temp": {
|
||||
"name": "Teplota senzoru 4"
|
||||
},
|
||||
"ch4_humidity": {
|
||||
"name": "Vlhkost sensoru 4"
|
||||
},
|
||||
"heat_index": {
|
||||
"name": "Tepelný index"
|
||||
},
|
||||
"chill_index": {
|
||||
"name": "Pocitová teplota"
|
||||
},
|
||||
"hourly_rain": {
|
||||
"name": "Hodinový úhrn srážek"
|
||||
},
|
||||
"weekly_rain": {
|
||||
"name": "Týdenní úhrn srážek"
|
||||
},
|
||||
"monthly_rain": {
|
||||
"name": "Měsíční úhrn srážek"
|
||||
},
|
||||
"yearly_rain": {
|
||||
"name": "Roční úhrn srážek"
|
||||
},
|
||||
"wbgt_temp": {
|
||||
"name": "WBGT index"
|
||||
},
|
||||
"hcho": {
|
||||
"name": "Formaldehyd (HCHO)"
|
||||
},
|
||||
"voc": {
|
||||
"name": "Úroveň VOC",
|
||||
"state": {
|
||||
"unhealthy": "Nezdravá",
|
||||
"poor": "Špatná",
|
||||
"moderate": "Průměrná",
|
||||
"good": "Dobrá",
|
||||
"excellent": "Velmi dobrá"
|
||||
}
|
||||
},
|
||||
"t9_battery": {
|
||||
"name": "Baterie senzoru HCHO/VOC"
|
||||
},
|
||||
"wind_azimut": {
|
||||
"name": "Azimut",
|
||||
"state": {
|
||||
"n": "S",
|
||||
"nne": "SSV",
|
||||
"ne": "SV",
|
||||
"ene": "VVS",
|
||||
"e": "V",
|
||||
"ese": "VVJ",
|
||||
"se": "JV",
|
||||
"sse": "JJV",
|
||||
"s": "J",
|
||||
"ssw": "JJZ",
|
||||
"sw": "JZ",
|
||||
"wsw": "JZZ",
|
||||
"w": "Z",
|
||||
"wnw": "ZZS",
|
||||
"nw": "SZ",
|
||||
"nnw": "SSZ"
|
||||
}
|
||||
},
|
||||
"outside_battery": {
|
||||
"name": "Stav nabití venkovní baterie",
|
||||
"state": {
|
||||
"low": "Nízká",
|
||||
"normal": "Normální",
|
||||
"unknown": "Neznámá / zcela vybitá"
|
||||
}
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Stav nabití baterie kozole",
|
||||
"state": {
|
||||
"low": "Nízká",
|
||||
"normal": "Normální",
|
||||
"drained": "Neznámá / zcela vybitá"
|
||||
}
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Stav nabití baterie kanálu 2",
|
||||
"state": {
|
||||
"low": "Nízká",
|
||||
"normal": "Normální",
|
||||
"unknown": "Neznámá / zcela vybitá"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"legacy_battery_sensor_deprecated": {
|
||||
"title": "Detekovány zastaralé senzory baterií.",
|
||||
"description": "V registru entit byly nalezeny staré senzory baterií ({entities}). Byly nahrazeny binárními senzory baterií a budou odstraněny ve verzi {remove_version}. Smažte prosím staré entity ručně přes Nastavení -> Zařízení a služby -> SWS-12500."
|
||||
}
|
||||
},
|
||||
"notify": {
|
||||
"added": {
|
||||
"title": "Nalezeny nové senzory pro SWS 12500.",
|
||||
"message": "{added_sensors}\n"
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Nastavení pro stanici: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Povolit přijímání dat ze stanic Ecowitt"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Vyplňte platné API ID",
|
||||
"valid_credentials_key": "Vyplňte platný API KEY",
|
||||
"valid_credentials_match": "API ID a API KEY nesmějí být stejné!",
|
||||
"windy_id_required": "Je vyžadováno Windy ID, pokud chcete aktivovat přeposílání dat na Windy",
|
||||
"windy_pw_required": "Je vyžadován Windy KEY, pokud chcete aktivovat přeposílání dat na Windy",
|
||||
"pocasi_id_required": "Je vyžadován Počasí ID, pokud chcete aktivovat přeposílání dat na Počasí Meteo CZ",
|
||||
"pocasi_key_required": "Klíč k účtu Počasí Meteo je povinný.",
|
||||
"pocasi_send_minimum": "Minimální interval pro přeposílání je 12 sekund."
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Nastavení integrace SWS12500",
|
||||
"description": "Vyberte, co chcete konfigurovat. Zda přihlašovací údaje nebo nastavení pro přeposílání dat na Windy.",
|
||||
"menu_options": {
|
||||
"basic": "Základní - přístupové údaje (přihlášení)",
|
||||
"windy": "Nastavení pro přeposílání dat na Windy",
|
||||
"pocasi": "Nastavení pro přeposlání dat na Počasí Meteo CZ",
|
||||
"ecowitt": "Nastavení pro stanice Ecowitt",
|
||||
"wslink_port_setup": "Nastavení portu WSLink Addonu",
|
||||
"migration": "Migrace statistiky senzoru"
|
||||
}
|
||||
},
|
||||
"basic": {
|
||||
"description": "Nastavení endpointu PWS/WSLink. Pro stanici jen s Ecowwittem vypněte 'Povolit endpoint PWS/WSLink'. API ID/KEY nejsou potřeba",
|
||||
"title": "Nastavení PWS/WSLink",
|
||||
"data": {
|
||||
"API_ID": "API ID / ID Stanice",
|
||||
"API_KEY": "API KEY / Heslo",
|
||||
"wslink": "WSLink protokol",
|
||||
"dev_debug_checkbox": "Developer log",
|
||||
"legacy_enabled": "Povolit endpoint PWS/WSLink"
|
||||
},
|
||||
"data_description": {
|
||||
"dev_debug_checkbox": "Zapnout pouze v případě, že chcete poslat ladící informace vývojáři.",
|
||||
"API_ID": "API ID je ID stanice, které jste nastavili v meteostanici.",
|
||||
"API_KEY": "API KEY je heslo, které jste nastavili v meteostanici.",
|
||||
"wslink": "WSLink API zapněte, pokud je stanice nastavena na zasílání dat přes WSLink.",
|
||||
"legacy_enabled": "Vyplněte, pokud vaše stanice používá pouze Ecowitt."
|
||||
}
|
||||
},
|
||||
"windy": {
|
||||
"description": "Přeposílání dat z metostanice na Windy",
|
||||
"title": "Konfigurace Windy",
|
||||
"data": {
|
||||
"WINDY_STATION_ID": "ID stanice, získaný z Windy",
|
||||
"WINDY_STATION_PWD": "Heslo stanice, získané z Windy",
|
||||
"windy_enabled_checkbox": "Povolit přeposílání dat na Windy",
|
||||
"windy_logger_checkbox": "Logovat data a odpovědi z Windy"
|
||||
},
|
||||
"data_description": {
|
||||
"WINDY_STATION_ID": "ID stanice získaný z https://stations.windy.com/station",
|
||||
"WINDY_STATION_PWD": "Heslo stanice získané z https://stations.windy.com/station",
|
||||
"windy_logger_checkbox": "Zapnout pouze v případě, že chcete poslat ladící informace vývojáři."
|
||||
}
|
||||
},
|
||||
"pocasi": {
|
||||
"description": "Přeposílání dat do aplikace Počasí Meteo",
|
||||
"title": "Konfigurace Počasí Meteo",
|
||||
"data": {
|
||||
"POCASI_CZ_API_ID": "ID účtu na Počasí Meteo",
|
||||
"POCASI_CZ_API_KEY": "Klíč (Key) k účtu Počasí Meteo",
|
||||
"POCASI_CZ_SEND_INTERVAL": "Interval v sekundách",
|
||||
"pocasi_enabled_chcekbox": "Povolit přeposílání dat na server Počasí Meteo",
|
||||
"pocasi_logger_checkbox": "Logovat data a odpovědi z Počasí Meteo"
|
||||
},
|
||||
"data_description": {
|
||||
"POCASI_API_ID": "ID získáte ve své aplikaci Počasí Meteo",
|
||||
"POCASI_API_KEY": "Klíč (Key) získáte ve své aplikaci Počasí Meteo",
|
||||
"POCASI_SEND_INTERVAL": "Interval v jakém se mají data na server přeposílat (minimum 12s, defaultně 30s)",
|
||||
"pocasi_enabled_checkbox": "Zapne přeposílání data na server Počasí Meteo",
|
||||
"pocasi_logger_checkbox": "Zapnout pouze v případě, že chcete zaslat ladící informace vývojáři."
|
||||
}
|
||||
},
|
||||
"ecowitt": {
|
||||
"description": "Nastavení pro Ecowitt",
|
||||
"title": "Konfigurace pro stanice Ecowitt",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unikátní webhook ID",
|
||||
"ecowitt_enabled": "Povolit data ze stanice Ecowitt"
|
||||
},
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Nastavení pro stanici: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Povolit přijímání dat ze stanic Ecowitt"
|
||||
}
|
||||
},
|
||||
"wslink_port_setup": {
|
||||
"description": "Nastavení portu, kde naslouchá WSLink Addon. Slouží pro příjem diagnostik.",
|
||||
"title": "Port WSLink Addonu",
|
||||
"data": {
|
||||
"WSLINK_ADDON_PORT": "Naslouchající port WSLink Addonu"
|
||||
},
|
||||
"data_description": {
|
||||
"WSLINK_ADDON_PORT": "Zadejte port, tak jak jej máte nastavený ve WSLink Addonu."
|
||||
}
|
||||
},
|
||||
"migration": {
|
||||
"title": "Migrace statistiky senzoru.",
|
||||
"description": "Pro správnou funkci dlouhodobé statistiky je nutné provést migraci jednotky senzoru v dlouhodobé statistice. Původní jednotka dlouhodobé statistiky pro denní úhrn srážek byla v mm/d, nicméně stanice zasílá pouze data v mm bez časového rozlišení.\n\n Senzor, který má být migrován je pro denní úhrn srážek. Pokud je v seznamu již správná hodnota u senzoru pro denní úhrn (mm), pak je již migrace hotová.\n\n Výsledek migrace pro senzor: {migration_status}, přepvedeno celkem {migration_count} řádků.",
|
||||
"data": {
|
||||
"sensor_to_migrate": "Senzor pro migraci",
|
||||
"trigger_action": "Spustit migraci"
|
||||
},
|
||||
"data_description": {
|
||||
"sensor_to_migrate": "Vyberte správný senzor pri migraci statistiky. \n Hodnoty senzoru budou zachovány, nepřepočítají se, pouze se změní jednotka v dlouhodobé statistice. ",
|
||||
"trigger_action": "Po zaškrtnutí se spustí migrace statistiky senzoru."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"binary_sensor": {
|
||||
"outside_battery": {
|
||||
"name": "Venkovní baterie"
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Baterie kozole"
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Baterie senzoru 2"
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Baterie senzoru 3"
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Baterie senzoru 4"
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Baterie senzoru 5"
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Baterie senzoru 6"
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Baterie senzoru 7"
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Baterie senzoru 8"
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"integration_health": {
|
||||
"name": "Stav integrace",
|
||||
"state": {
|
||||
"online_wu": "Online PWS/WU",
|
||||
"online_wslink": "Online WSLink",
|
||||
"online_idle": "Čekám na data",
|
||||
"degraded": "Degradovaný",
|
||||
"error": "Nefunkční"
|
||||
}
|
||||
},
|
||||
"active_protocol": {
|
||||
"name": "Aktivní protokol",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"wslink_addon_status": {
|
||||
"name": "Stav WSLink Addonu",
|
||||
"state": {
|
||||
"online": "Běží",
|
||||
"offline": "Vypnutý"
|
||||
}
|
||||
},
|
||||
"wslink_addon_name": {
|
||||
"name": "Název WSLink Addonu"
|
||||
},
|
||||
"wslink_addon_version": {
|
||||
"name": "Verze WSLink Addonu"
|
||||
},
|
||||
"wslink_addon_listen_port": {
|
||||
"name": "Port WSLink Addonu"
|
||||
},
|
||||
"wslink_upstream_ha_port": {
|
||||
"name": "Port upstream HA WSLink Addonu"
|
||||
},
|
||||
"route_wu_enabled": {
|
||||
"name": "Protokol PWS/WU"
|
||||
},
|
||||
"route_wslink_enabled": {
|
||||
"name": "Protokol WSLink"
|
||||
},
|
||||
"last_ingress_time": {
|
||||
"name": "Poslední přístup"
|
||||
},
|
||||
"last_ingress_protocol": {
|
||||
"name": "Protokol posledního přístupu",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"last_ingress_route_enabled": {
|
||||
"name": "Trasa posledního přístupu povolena"
|
||||
},
|
||||
"last_ingress_accepted": {
|
||||
"name": "Poslední přístup",
|
||||
"state": {
|
||||
"accepted": "Prijat",
|
||||
"rejected": "Odmítnut"
|
||||
}
|
||||
},
|
||||
"last_ingress_authorized": {
|
||||
"name": "Autorizace posledního přístupu",
|
||||
"state": {
|
||||
"authorized": "Autorizován",
|
||||
"unauthorized": "Neautorizován",
|
||||
"unknown": "Neznámý"
|
||||
}
|
||||
},
|
||||
"last_ingress_reason": {
|
||||
"name": "Zpráva přístupu"
|
||||
},
|
||||
"forward_windy_enabled": {
|
||||
"name": "Přeposílání na Windy"
|
||||
},
|
||||
"forward_windy_status": {
|
||||
"name": "Stav přeposílání na Windy",
|
||||
"state": {
|
||||
"disabled": "Vypnuto",
|
||||
"idle": "Čekám na odeslání",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"forward_pocasi_enabled": {
|
||||
"name": "Přeposílání na Počasí Meteo"
|
||||
},
|
||||
"forward_pocasi_status": {
|
||||
"name": "Stav přeposílání na Počasí Meteo",
|
||||
"state": {
|
||||
"disabled": "Vypnuto",
|
||||
"idle": "Čekám na odeslání",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"indoor_temp": {
|
||||
"name": "Vnitřní teplota"
|
||||
},
|
||||
"indoor_humidity": {
|
||||
"name": "Vnitřní vlhkost vzduchu"
|
||||
},
|
||||
"outside_temp": {
|
||||
"name": "Venkovní teplota"
|
||||
},
|
||||
"outside_humidity": {
|
||||
"name": "Venkovní vlhkost vzduchu"
|
||||
},
|
||||
"uv": {
|
||||
"name": "UV index"
|
||||
},
|
||||
"baro_pressure": {
|
||||
"name": "Tlak vzduchu"
|
||||
},
|
||||
"dew_point": {
|
||||
"name": "Rosný bod"
|
||||
},
|
||||
"wind_speed": {
|
||||
"name": "Rychlost větru"
|
||||
},
|
||||
"wind_dir": {
|
||||
"name": "Směr větru"
|
||||
},
|
||||
"wind_gust": {
|
||||
"name": "Poryvy větru"
|
||||
},
|
||||
"rain": {
|
||||
"name": "Srážky"
|
||||
},
|
||||
"daily_rain": {
|
||||
"name": "Denní úhrn srážek"
|
||||
},
|
||||
"solar_radiation": {
|
||||
"name": "Sluneční osvit"
|
||||
},
|
||||
"ch2_temp": {
|
||||
"name": "Teplota senzoru 2"
|
||||
},
|
||||
"ch2_humidity": {
|
||||
"name": "Vlhkost sensoru 2"
|
||||
},
|
||||
"ch3_temp": {
|
||||
"name": "Teplota senzoru 3"
|
||||
},
|
||||
"ch3_humidity": {
|
||||
"name": "Vlhkost sensoru 3"
|
||||
},
|
||||
"ch4_temp": {
|
||||
"name": "Teplota senzoru 4"
|
||||
},
|
||||
"ch4_humidity": {
|
||||
"name": "Vlhkost sensoru 4"
|
||||
},
|
||||
"heat_index": {
|
||||
"name": "Tepelný index"
|
||||
},
|
||||
"chill_index": {
|
||||
"name": "Pocitová teplota"
|
||||
},
|
||||
"hourly_rain": {
|
||||
"name": "Hodinový úhrn srážek"
|
||||
},
|
||||
"weekly_rain": {
|
||||
"name": "Týdenní úhrn srážek"
|
||||
},
|
||||
"monthly_rain": {
|
||||
"name": "Měsíční úhrn srážek"
|
||||
},
|
||||
"yearly_rain": {
|
||||
"name": "Roční úhrn srážek"
|
||||
},
|
||||
"wbgt_temp": {
|
||||
"name": "WBGT index"
|
||||
},
|
||||
"hcho": {
|
||||
"name": "Formaldehyd (HCHO)"
|
||||
},
|
||||
"voc": {
|
||||
"name": "Úroveň VOC",
|
||||
"state": {
|
||||
"unhealthy": "Nezdravá",
|
||||
"poor": "Špatná",
|
||||
"moderate": "Průměrná",
|
||||
"good": "Dobrá",
|
||||
"excellent": "Velmi dobrá"
|
||||
}
|
||||
},
|
||||
"t9_battery": {
|
||||
"name": "Baterie senzoru HCHO/VOC"
|
||||
},
|
||||
"wind_azimut": {
|
||||
"name": "Azimut",
|
||||
"state": {
|
||||
"n": "S",
|
||||
"nne": "SSV",
|
||||
"ne": "SV",
|
||||
"ene": "VVS",
|
||||
"e": "V",
|
||||
"ese": "VVJ",
|
||||
"se": "JV",
|
||||
"sse": "JJV",
|
||||
"s": "J",
|
||||
"ssw": "JJZ",
|
||||
"sw": "JZ",
|
||||
"wsw": "JZZ",
|
||||
"w": "Z",
|
||||
"wnw": "ZZS",
|
||||
"nw": "SZ",
|
||||
"nnw": "SSZ"
|
||||
}
|
||||
},
|
||||
"outside_battery": {
|
||||
"name": "Stav nabití venkovní baterie",
|
||||
"state": {
|
||||
"low": "Nízká",
|
||||
"normal": "Normální",
|
||||
"unknown": "Neznámá / zcela vybitá"
|
||||
}
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Stav nabití baterie kozole",
|
||||
"state": {
|
||||
"low": "Nízká",
|
||||
"normal": "Normální",
|
||||
"drained": "Neznámá / zcela vybitá"
|
||||
}
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Stav nabití baterie kanálu 2",
|
||||
"state": {
|
||||
"low": "Nízká",
|
||||
"normal": "Normální",
|
||||
"unknown": "Neznámá / zcela vybitá"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"legacy_battery_sensor_deprecated": {
|
||||
"title": "Detekovány zastaralé senzory baterií.",
|
||||
"description": "V registru entit byly nalezeny staré senzory baterií ({entities}). Byly nahrazeny binárními senzory baterií a budou odstraněny ve verzi {remove_version}. Smažte prosím staré entity ručně přes Nastavení -> Zařízení a služby -> SWS-12500."
|
||||
},
|
||||
"stale_sensors_detected": {
|
||||
"title": "Detekovány nečinné sensory",
|
||||
"description": "Tyto senzory jsou nastavené, ale nereportují data: {sensors}. V HA budou viditelné jako Nedostupné. Pokud už nejsou přítomné, můžeš je odstranit přes Nastavení –> Zařízení a Služby –> SWS 12500."
|
||||
}
|
||||
},
|
||||
"notify": {
|
||||
"added": {
|
||||
"title": "Nalezeny nové senzory pro SWS 12500.",
|
||||
"message": "{added_sensors}\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,490 +1,494 @@
|
|||
{
|
||||
"config": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Provide valid API ID.",
|
||||
"valid_credentials_key": "Provide valid API KEY.",
|
||||
"valid_credentials_match": "API ID and API KEY should not be the same."
|
||||
"config": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Provide valid API ID.",
|
||||
"valid_credentials_key": "Provide valid API KEY.",
|
||||
"valid_credentials_match": "API ID and API KEY should not be the same."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Choose your station type",
|
||||
"description": "Choose the type of your station. If you don't have Eccowit station, choose PWS/WSLink",
|
||||
"menu_options": {
|
||||
"pws": "PWS/WSLink (Sencor, Garni, Bresser, other - Weather Underground compatible)",
|
||||
"ecowitt": "Ecowitt"
|
||||
}
|
||||
},
|
||||
"pws": {
|
||||
"title": "PWS/WSLink credentials.",
|
||||
"description": "Provide API ID and API KEY so the Weather Station can access HomeAssistant.",
|
||||
"data": {
|
||||
"API_ID": "API ID / Station ID",
|
||||
"API_KEY": "API KEY / Password",
|
||||
"wslink": "WSLink Protocol",
|
||||
"dev_debug_checkbox": "Developer log"
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Choose your station type",
|
||||
"description": "Choose the type of your station. If you don't have Eccowit station, choose PWS/WSLink",
|
||||
"menu_options": {
|
||||
"pws": "PWS/WSLink (Sencor, Garni, Bresser, other - Weather Underground compatible)",
|
||||
"ecowitt": "Ecowitt"
|
||||
}
|
||||
},
|
||||
"pws": {
|
||||
"title": "PWS/WSLink credentials.",
|
||||
"description": "Provide API ID and API KEY so the Weather Station can access HomeAssistant.",
|
||||
"data": {
|
||||
"API_ID": "API ID / Station ID",
|
||||
"API_KEY": "API KEY / Password",
|
||||
"wslink": "WSLink Protocol",
|
||||
"dev_debug_checkbox": "Developer log"
|
||||
},
|
||||
"data_description": {
|
||||
"API_ID": "API ID is the Station ID you set in the Weather Station.",
|
||||
"API_KEY": "API KEY is the password you set in the Weather Station.",
|
||||
"wslink": "Enable WSLink Protocol if the station is set to send data via WSLink. If you are unsure, use https://test-station.schizza.cz/",
|
||||
"dev_debug_checkbox": " Enable only if you want to send debuging data to the developer."
|
||||
}
|
||||
},
|
||||
"ecowitt": {
|
||||
"title": "Ecowitt configuration.",
|
||||
"description": "No API ID/KEY needed. Set your Ecowitt station to send data to the enndpoint below.",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unique webhook ID",
|
||||
"ecowitt_enabled": "Enable Ecowitt station data"
|
||||
},
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Set your Ecowitt station to send data to the endpoint: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Enable receiving data from Ecowitt stations"
|
||||
}
|
||||
}
|
||||
"data_description": {
|
||||
"API_ID": "API ID is the Station ID you set in the Weather Station.",
|
||||
"API_KEY": "API KEY is the password you set in the Weather Station.",
|
||||
"wslink": "Enable WSLink Protocol if the station is set to send data via WSLink. If you are unsure, use https://test-station.schizza.cz/",
|
||||
"dev_debug_checkbox": " Enable only if you want to send debuging data to the developer."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Provide valid API ID.",
|
||||
"valid_credentials_key": "Provide valid API KEY.",
|
||||
"valid_credentials_match": "API ID and API KEY should not be the same.",
|
||||
"windy_id_required": "Windy API ID is required if you want to enable this function.",
|
||||
"windy_pw_required": "Windy API password is required if you want to enable this function."
|
||||
},
|
||||
"ecowitt": {
|
||||
"title": "Ecowitt configuration.",
|
||||
"description": "No API ID/KEY needed. Set your Ecowitt station to send data to the enndpoint below.",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unique webhook ID",
|
||||
"ecowitt_enabled": "Enable Ecowitt station data"
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Configure SWS12500 Integration",
|
||||
"description": "Choose what do you want to configure. If basic access or resending data for Windy site",
|
||||
"menu_options": {
|
||||
"basic": "Basic - configure credentials for Weather Station",
|
||||
"windy": "Windy configuration"
|
||||
}
|
||||
},
|
||||
"basic": {
|
||||
"description": "Provide API ID and API KEY so the Weather Station can access HomeAssistant",
|
||||
"title": "Configure credentials",
|
||||
"data": {
|
||||
"API_ID": "API ID / Station ID",
|
||||
"API_KEY": "API KEY / Password",
|
||||
"WSLINK": "WSLink API",
|
||||
"dev_debug_checkbox": "Developer log"
|
||||
},
|
||||
"data_description": {
|
||||
"dev_debug_checkbox": " Enable only if you want to send debuging data to the developer.",
|
||||
"API_ID": "API ID is the Station ID you set in the Weather Station.",
|
||||
"API_KEY": "API KEY is the password you set in the Weather Station.",
|
||||
"WSLINK": "Enable WSLink API if the station is set to send data via WSLink."
|
||||
}
|
||||
},
|
||||
"windy": {
|
||||
"description": "Resend weather data to your Windy stations.",
|
||||
"title": "Configure Windy",
|
||||
"data": {
|
||||
"WINDY_STATION_ID": "Station ID obtained form Windy",
|
||||
"WINDY_STATION_PWD": "Station password obtained from Windy",
|
||||
"windy_enabled_checkbox": "Enable resending data to Windy",
|
||||
"windy_logger_checkbox": "Log Windy data and responses"
|
||||
},
|
||||
"data_description": {
|
||||
"WINDY_STATION_ID": "Windy station ID obtained from https://stations.windy.com/stations",
|
||||
"WINDY_STATION_PWD": "Windy station password obtained from https://stations.windy.com/stations",
|
||||
"windy_logger_checkbox": "Enable only if you want to send debuging data to the developer."
|
||||
}
|
||||
},
|
||||
"pocasi": {
|
||||
"description": "Resend data to Pocasi Meteo CZ",
|
||||
"title": "Configure Pocasi Meteo CZ",
|
||||
"data": {
|
||||
"POCASI_CZ_API_ID": "ID from your Pocasi Meteo APP",
|
||||
"POCASI_CZ_API_KEY": "Key from your Pocasi Meteo APP",
|
||||
"POCASI_CZ_SEND_INTERVAL": "Resend interval in seconds",
|
||||
"pocasi_enabled_checkbox": "Enable resending data to Pocasi Meteo",
|
||||
"pocasi_logger_checkbox": "Log data and responses"
|
||||
},
|
||||
"data_description": {
|
||||
"POCASI_CZ_API_ID": "You can obtain your ID in Pocasi Meteo App",
|
||||
"POCASI_CZ_API_KEY": "You can obtain your KEY in Pocasi Meteo App",
|
||||
"POCASI_CZ_SEND_INTERVAL": "Resend interval in seconds (minimum 12s, default 30s)",
|
||||
"pocasi_enabled_checkbox": "Enables resending data to Pocasi Meteo",
|
||||
"pocasi_logger_checkbox": "Enable only if you want to send debbug data to the developer"
|
||||
}
|
||||
},
|
||||
"ecowitt": {
|
||||
"description": "Nastavení pro Ecowitt",
|
||||
"title": "Konfigurace pro stanice Ecowitt",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unikátní webhook ID",
|
||||
"ecowitt_enabled": "Povolit data ze stanice Ecowitt"
|
||||
},
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Nastavení pro stanici: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Povolit přijímání dat ze stanic Ecowitt"
|
||||
}
|
||||
},
|
||||
"migration": {
|
||||
"title": "Statistic migration.",
|
||||
"description": "For the correct functioning of long-term statistics, it is necessary to migrate the sensor unit in the long-term statistics. The original unit of long-term statistics for daily precipitation was in mm/d, however, the station only sends data in mm without time differentiation.\n\n The sensor to be migrated is for daily precipitation. If the correct value is already in the list for the daily precipitation sensor (mm), then the migration is already complete.\n\n Migration result for the sensor: {migration_status}, a total of {migration_count} rows converted.",
|
||||
"data": {
|
||||
"sensor_to_migrate": "Sensor to migrate",
|
||||
"trigger_action": "Trigger migration"
|
||||
},
|
||||
"data_description": {
|
||||
"sensor_to_migrate": "Select the correct sensor for statistics migration.\nThe sensor values will be preserved, they will not be recalculated, only the unit in the long-term statistics will be changed.",
|
||||
"trigger_action": "Trigger the sensor statistics migration after checking."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"binary_sensor": {
|
||||
"outside_battery": {
|
||||
"name": "Outside battery"
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Console battery"
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Channel 2 battery"
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Channel 3 battery"
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Channel 4 battery"
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Channel 5 battery"
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Channel 6 battery"
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Channel 7 battery"
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Channel 8 battery"
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"integration_health": {
|
||||
"name": "Integration status",
|
||||
"state": {
|
||||
"online_wu": "Online PWS/WU",
|
||||
"online_wslink": "Online WSLink",
|
||||
"online_idle": "Waiting for data",
|
||||
"degraded": "Degraded",
|
||||
"error": "Error"
|
||||
}
|
||||
},
|
||||
"active_protocol": {
|
||||
"name": "Active protocol",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"wslink_addon_status": {
|
||||
"name": "WSLink Addon Status",
|
||||
"state": {
|
||||
"online": "Running",
|
||||
"offline": "Offline"
|
||||
}
|
||||
},
|
||||
"wslink_addon_name": {
|
||||
"name": "WSLink Addon Name"
|
||||
},
|
||||
"wslink_addon_version": {
|
||||
"name": "WSLink Addon Version"
|
||||
},
|
||||
"wslink_addon_listen_port": {
|
||||
"name": "WSLink Addon Listen Port"
|
||||
},
|
||||
"wslink_upstream_ha_port": {
|
||||
"name": "WSLink Addon Upstream HA Port"
|
||||
},
|
||||
"route_wu_enabled": {
|
||||
"name": "PWS/WU Protocol"
|
||||
},
|
||||
"route_wslink_enabled": {
|
||||
"name": "WSLink Protocol"
|
||||
},
|
||||
"last_ingress_time": {
|
||||
"name": "Last access time"
|
||||
},
|
||||
"last_ingress_protocol": {
|
||||
"name": "Last access protocol",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"last_ingress_route_enabled": {
|
||||
"name": "Last ingress route enabled"
|
||||
},
|
||||
"last_ingress_accepted": {
|
||||
"name": "Last access",
|
||||
"state": {
|
||||
"accepted": "Accepted",
|
||||
"rejected": "Rejected"
|
||||
}
|
||||
},
|
||||
"last_ingress_authorized": {
|
||||
"name": "Last access authorization",
|
||||
"state": {
|
||||
"authorized": "Authorized",
|
||||
"unauthorized": "Unauthorized",
|
||||
"unknown": "Unknown"
|
||||
}
|
||||
},
|
||||
"last_ingress_reason": {
|
||||
"name": "Last access reason"
|
||||
},
|
||||
"forward_windy_enabled": {
|
||||
"name": "Forwarding to Windy"
|
||||
},
|
||||
"forward_windy_status": {
|
||||
"name": "Forwarding status to Windy",
|
||||
"state": {
|
||||
"disabled": "Disabled",
|
||||
"idle": "Waiting to send",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"forward_pocasi_enabled": {
|
||||
"name": "Forwarding to Počasí Meteo"
|
||||
},
|
||||
"forward_pocasi_status": {
|
||||
"name": "Forwarding status to Počasí Meteo",
|
||||
"state": {
|
||||
"disabled": "Disabled",
|
||||
"idle": "Waiting to send",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"indoor_temp": {
|
||||
"name": "Indoor temperature"
|
||||
},
|
||||
"indoor_humidity": {
|
||||
"name": "Indoor humidity"
|
||||
},
|
||||
"outside_temp": {
|
||||
"name": "Outside Temperature"
|
||||
},
|
||||
"outside_humidity": {
|
||||
"name": "Outside humidity"
|
||||
},
|
||||
"uv": {
|
||||
"name": "UV index"
|
||||
},
|
||||
"baro_pressure": {
|
||||
"name": "Barometric pressure"
|
||||
},
|
||||
"dew_point": {
|
||||
"name": "Dew point"
|
||||
},
|
||||
"wind_speed": {
|
||||
"name": "Wind speed"
|
||||
},
|
||||
"wind_dir": {
|
||||
"name": "Wind direction"
|
||||
},
|
||||
"wind_gust": {
|
||||
"name": "Wind gust"
|
||||
},
|
||||
"rain": {
|
||||
"name": "Rain"
|
||||
},
|
||||
"daily_rain": {
|
||||
"name": "Daily precipitation"
|
||||
},
|
||||
"solar_radiation": {
|
||||
"name": "Solar irradiance"
|
||||
},
|
||||
"ch2_temp": {
|
||||
"name": "Channel 2 temperature"
|
||||
},
|
||||
"ch2_humidity": {
|
||||
"name": "Channel 2 humidity"
|
||||
},
|
||||
"ch3_temp": {
|
||||
"name": "Channel 3 temperature"
|
||||
},
|
||||
"ch3_humidity": {
|
||||
"name": "Channel 3 humidity"
|
||||
},
|
||||
"ch4_temp": {
|
||||
"name": "Channel 4 temperature"
|
||||
},
|
||||
"ch4_humidity": {
|
||||
"name": "Channel 4 humidity"
|
||||
},
|
||||
"ch5_temp": {
|
||||
"name": "Channel 5 temperature"
|
||||
},
|
||||
"ch5_humidity": {
|
||||
"name": "Channel 5 humidity"
|
||||
},
|
||||
"ch6_temp": {
|
||||
"name": "Channel 6 temperature"
|
||||
},
|
||||
"ch6_humidity": {
|
||||
"name": "Channel 6 humidity"
|
||||
},
|
||||
"ch7_temp": {
|
||||
"name": "Channel 7 temperature"
|
||||
},
|
||||
"ch7_humidity": {
|
||||
"name": "Channel 7 humidity"
|
||||
},
|
||||
"ch8_temp": {
|
||||
"name": "Channel 8 temperature"
|
||||
},
|
||||
"ch8_humidity": {
|
||||
"name": "Channel 8 humidity"
|
||||
},
|
||||
"heat_index": {
|
||||
"name": "Apparent temperature"
|
||||
},
|
||||
"chill_index": {
|
||||
"name": "Wind chill"
|
||||
},
|
||||
"hourly_rain": {
|
||||
"name": "Hourly precipitation"
|
||||
},
|
||||
"weekly_rain": {
|
||||
"name": "Weekly precipitation"
|
||||
},
|
||||
"monthly_rain": {
|
||||
"name": "Monthly precipitation"
|
||||
},
|
||||
"yearly_rain": {
|
||||
"name": "Yearly precipitation"
|
||||
},
|
||||
"wbgt_index": {
|
||||
"name": "WBGT index"
|
||||
},
|
||||
"hcho": {
|
||||
"name": "Formaldehyde (HCHO)"
|
||||
},
|
||||
"voc": {
|
||||
"name": "VOC level",
|
||||
"state": {
|
||||
"unhealthy": "Unhealthy",
|
||||
"poor": "Poor",
|
||||
"moderate": "Moderate",
|
||||
"good": "Good",
|
||||
"excellent": "Excellent"
|
||||
}
|
||||
},
|
||||
"t9_battery": {
|
||||
"name": "HCHO/VOC sensor battery"
|
||||
},
|
||||
"wind_azimut": {
|
||||
"name": "Bearing",
|
||||
"state": {
|
||||
"n": "N",
|
||||
"nne": "NNE",
|
||||
"ne": "NE",
|
||||
"ene": "ENE",
|
||||
"e": "E",
|
||||
"ese": "ESE",
|
||||
"se": "SE",
|
||||
"sse": "SSE",
|
||||
"s": "S",
|
||||
"ssw": "SSW",
|
||||
"sw": "SW",
|
||||
"wsw": "WSW",
|
||||
"w": "W",
|
||||
"wnw": "WNW",
|
||||
"nw": "NW",
|
||||
"nnw": "NNW"
|
||||
}
|
||||
},
|
||||
"outside_battery": {
|
||||
"name": "Outside battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Channel 2 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Channel 3 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Channel 4 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Channel 5 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Channel 6 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Channel 7 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Channel 8 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Console battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"legacy_battery_sensor_deprecated": {
|
||||
"title": "Legacy battery sensor detected",
|
||||
"description": "Old battery sensor entities ({entities}) were found in the entity registry. They have been replaced by binary battery sensors and will be removed in version {remove_version}. Please delete the legacy entities manually via Settings Old battery sensor entities ({entities}) were found in the entity registry. They have been replaced by binary battery sensors and will be removed in version {remove_version}. Please delete the legacy entities manually via Settings -> Devices & Services -> SWS 12500."
|
||||
}
|
||||
},
|
||||
"notify": {
|
||||
"added": {
|
||||
"title": "New sensors for SWS 12500 found.",
|
||||
"message": "{added_sensors}\n"
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Set your Ecowitt station to send data to the endpoint: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Enable receiving data from Ecowitt stations"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"error": {
|
||||
"valid_credentials_api": "Provide valid API ID.",
|
||||
"valid_credentials_key": "Provide valid API KEY.",
|
||||
"valid_credentials_match": "API ID and API KEY should not be the same.",
|
||||
"windy_id_required": "Windy API ID is required if you want to enable this function.",
|
||||
"windy_pw_required": "Windy API password is required if you want to enable this function."
|
||||
},
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Configure SWS12500 Integration",
|
||||
"description": "Choose what do you want to configure. If basic access or resending data for Windy site",
|
||||
"menu_options": {
|
||||
"basic": "Basic - configure credentials for Weather Station",
|
||||
"windy": "Windy configuration"
|
||||
}
|
||||
},
|
||||
"basic": {
|
||||
"description": "Provide API ID and API KEY so the Weather Station can access HomeAssistant",
|
||||
"title": "Configure credentials",
|
||||
"data": {
|
||||
"API_ID": "API ID / Station ID",
|
||||
"API_KEY": "API KEY / Password",
|
||||
"WSLINK": "WSLink API",
|
||||
"dev_debug_checkbox": "Developer log"
|
||||
},
|
||||
"data_description": {
|
||||
"dev_debug_checkbox": " Enable only if you want to send debuging data to the developer.",
|
||||
"API_ID": "API ID is the Station ID you set in the Weather Station.",
|
||||
"API_KEY": "API KEY is the password you set in the Weather Station.",
|
||||
"WSLINK": "Enable WSLink API if the station is set to send data via WSLink."
|
||||
}
|
||||
},
|
||||
"windy": {
|
||||
"description": "Resend weather data to your Windy stations.",
|
||||
"title": "Configure Windy",
|
||||
"data": {
|
||||
"WINDY_STATION_ID": "Station ID obtained form Windy",
|
||||
"WINDY_STATION_PWD": "Station password obtained from Windy",
|
||||
"windy_enabled_checkbox": "Enable resending data to Windy",
|
||||
"windy_logger_checkbox": "Log Windy data and responses"
|
||||
},
|
||||
"data_description": {
|
||||
"WINDY_STATION_ID": "Windy station ID obtained from https://stations.windy.com/stations",
|
||||
"WINDY_STATION_PWD": "Windy station password obtained from https://stations.windy.com/stations",
|
||||
"windy_logger_checkbox": "Enable only if you want to send debuging data to the developer."
|
||||
}
|
||||
},
|
||||
"pocasi": {
|
||||
"description": "Resend data to Pocasi Meteo CZ",
|
||||
"title": "Configure Pocasi Meteo CZ",
|
||||
"data": {
|
||||
"POCASI_CZ_API_ID": "ID from your Pocasi Meteo APP",
|
||||
"POCASI_CZ_API_KEY": "Key from your Pocasi Meteo APP",
|
||||
"POCASI_CZ_SEND_INTERVAL": "Resend interval in seconds",
|
||||
"pocasi_enabled_checkbox": "Enable resending data to Pocasi Meteo",
|
||||
"pocasi_logger_checkbox": "Log data and responses"
|
||||
},
|
||||
"data_description": {
|
||||
"POCASI_CZ_API_ID": "You can obtain your ID in Pocasi Meteo App",
|
||||
"POCASI_CZ_API_KEY": "You can obtain your KEY in Pocasi Meteo App",
|
||||
"POCASI_CZ_SEND_INTERVAL": "Resend interval in seconds (minimum 12s, default 30s)",
|
||||
"pocasi_enabled_checkbox": "Enables resending data to Pocasi Meteo",
|
||||
"pocasi_logger_checkbox": "Enable only if you want to send debbug data to the developer"
|
||||
}
|
||||
},
|
||||
"ecowitt": {
|
||||
"description": "Nastavení pro Ecowitt",
|
||||
"title": "Konfigurace pro stanice Ecowitt",
|
||||
"data": {
|
||||
"ecowitt_webhook_id": "Unikátní webhook ID",
|
||||
"ecowitt_enabled": "Povolit data ze stanice Ecowitt"
|
||||
},
|
||||
"data_description": {
|
||||
"ecowitt_webhook_id": "Nastavení pro stanici: {url}:{port}/weatherhub/{webhook_id}",
|
||||
"ecowitt_enabled": "Povolit přijímání dat ze stanic Ecowitt"
|
||||
}
|
||||
},
|
||||
"migration": {
|
||||
"title": "Statistic migration.",
|
||||
"description": "For the correct functioning of long-term statistics, it is necessary to migrate the sensor unit in the long-term statistics. The original unit of long-term statistics for daily precipitation was in mm/d, however, the station only sends data in mm without time differentiation.\n\n The sensor to be migrated is for daily precipitation. If the correct value is already in the list for the daily precipitation sensor (mm), then the migration is already complete.\n\n Migration result for the sensor: {migration_status}, a total of {migration_count} rows converted.",
|
||||
"data": {
|
||||
"sensor_to_migrate": "Sensor to migrate",
|
||||
"trigger_action": "Trigger migration"
|
||||
},
|
||||
"data_description": {
|
||||
"sensor_to_migrate": "Select the correct sensor for statistics migration.\nThe sensor values will be preserved, they will not be recalculated, only the unit in the long-term statistics will be changed.",
|
||||
"trigger_action": "Trigger the sensor statistics migration after checking."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"binary_sensor": {
|
||||
"outside_battery": {
|
||||
"name": "Outside battery"
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Console battery"
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Channel 2 battery"
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Channel 3 battery"
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Channel 4 battery"
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Channel 5 battery"
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Channel 6 battery"
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Channel 7 battery"
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Channel 8 battery"
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"integration_health": {
|
||||
"name": "Integration status",
|
||||
"state": {
|
||||
"online_wu": "Online PWS/WU",
|
||||
"online_wslink": "Online WSLink",
|
||||
"online_idle": "Waiting for data",
|
||||
"degraded": "Degraded",
|
||||
"error": "Error"
|
||||
}
|
||||
},
|
||||
"active_protocol": {
|
||||
"name": "Active protocol",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"wslink_addon_status": {
|
||||
"name": "WSLink Addon Status",
|
||||
"state": {
|
||||
"online": "Running",
|
||||
"offline": "Offline"
|
||||
}
|
||||
},
|
||||
"wslink_addon_name": {
|
||||
"name": "WSLink Addon Name"
|
||||
},
|
||||
"wslink_addon_version": {
|
||||
"name": "WSLink Addon Version"
|
||||
},
|
||||
"wslink_addon_listen_port": {
|
||||
"name": "WSLink Addon Listen Port"
|
||||
},
|
||||
"wslink_upstream_ha_port": {
|
||||
"name": "WSLink Addon Upstream HA Port"
|
||||
},
|
||||
"route_wu_enabled": {
|
||||
"name": "PWS/WU Protocol"
|
||||
},
|
||||
"route_wslink_enabled": {
|
||||
"name": "WSLink Protocol"
|
||||
},
|
||||
"last_ingress_time": {
|
||||
"name": "Last access time"
|
||||
},
|
||||
"last_ingress_protocol": {
|
||||
"name": "Last access protocol",
|
||||
"state": {
|
||||
"wu": "PWS/WU",
|
||||
"wslink": "WSLink API"
|
||||
}
|
||||
},
|
||||
"last_ingress_route_enabled": {
|
||||
"name": "Last ingress route enabled"
|
||||
},
|
||||
"last_ingress_accepted": {
|
||||
"name": "Last access",
|
||||
"state": {
|
||||
"accepted": "Accepted",
|
||||
"rejected": "Rejected"
|
||||
}
|
||||
},
|
||||
"last_ingress_authorized": {
|
||||
"name": "Last access authorization",
|
||||
"state": {
|
||||
"authorized": "Authorized",
|
||||
"unauthorized": "Unauthorized",
|
||||
"unknown": "Unknown"
|
||||
}
|
||||
},
|
||||
"last_ingress_reason": {
|
||||
"name": "Last access reason"
|
||||
},
|
||||
"forward_windy_enabled": {
|
||||
"name": "Forwarding to Windy"
|
||||
},
|
||||
"forward_windy_status": {
|
||||
"name": "Forwarding status to Windy",
|
||||
"state": {
|
||||
"disabled": "Disabled",
|
||||
"idle": "Waiting to send",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"forward_pocasi_enabled": {
|
||||
"name": "Forwarding to Počasí Meteo"
|
||||
},
|
||||
"forward_pocasi_status": {
|
||||
"name": "Forwarding status to Počasí Meteo",
|
||||
"state": {
|
||||
"disabled": "Disabled",
|
||||
"idle": "Waiting to send",
|
||||
"ok": "Ok"
|
||||
}
|
||||
},
|
||||
"indoor_temp": {
|
||||
"name": "Indoor temperature"
|
||||
},
|
||||
"indoor_humidity": {
|
||||
"name": "Indoor humidity"
|
||||
},
|
||||
"outside_temp": {
|
||||
"name": "Outside Temperature"
|
||||
},
|
||||
"outside_humidity": {
|
||||
"name": "Outside humidity"
|
||||
},
|
||||
"uv": {
|
||||
"name": "UV index"
|
||||
},
|
||||
"baro_pressure": {
|
||||
"name": "Barometric pressure"
|
||||
},
|
||||
"dew_point": {
|
||||
"name": "Dew point"
|
||||
},
|
||||
"wind_speed": {
|
||||
"name": "Wind speed"
|
||||
},
|
||||
"wind_dir": {
|
||||
"name": "Wind direction"
|
||||
},
|
||||
"wind_gust": {
|
||||
"name": "Wind gust"
|
||||
},
|
||||
"rain": {
|
||||
"name": "Rain"
|
||||
},
|
||||
"daily_rain": {
|
||||
"name": "Daily precipitation"
|
||||
},
|
||||
"solar_radiation": {
|
||||
"name": "Solar irradiance"
|
||||
},
|
||||
"ch2_temp": {
|
||||
"name": "Channel 2 temperature"
|
||||
},
|
||||
"ch2_humidity": {
|
||||
"name": "Channel 2 humidity"
|
||||
},
|
||||
"ch3_temp": {
|
||||
"name": "Channel 3 temperature"
|
||||
},
|
||||
"ch3_humidity": {
|
||||
"name": "Channel 3 humidity"
|
||||
},
|
||||
"ch4_temp": {
|
||||
"name": "Channel 4 temperature"
|
||||
},
|
||||
"ch4_humidity": {
|
||||
"name": "Channel 4 humidity"
|
||||
},
|
||||
"ch5_temp": {
|
||||
"name": "Channel 5 temperature"
|
||||
},
|
||||
"ch5_humidity": {
|
||||
"name": "Channel 5 humidity"
|
||||
},
|
||||
"ch6_temp": {
|
||||
"name": "Channel 6 temperature"
|
||||
},
|
||||
"ch6_humidity": {
|
||||
"name": "Channel 6 humidity"
|
||||
},
|
||||
"ch7_temp": {
|
||||
"name": "Channel 7 temperature"
|
||||
},
|
||||
"ch7_humidity": {
|
||||
"name": "Channel 7 humidity"
|
||||
},
|
||||
"ch8_temp": {
|
||||
"name": "Channel 8 temperature"
|
||||
},
|
||||
"ch8_humidity": {
|
||||
"name": "Channel 8 humidity"
|
||||
},
|
||||
"heat_index": {
|
||||
"name": "Apparent temperature"
|
||||
},
|
||||
"chill_index": {
|
||||
"name": "Wind chill"
|
||||
},
|
||||
"hourly_rain": {
|
||||
"name": "Hourly precipitation"
|
||||
},
|
||||
"weekly_rain": {
|
||||
"name": "Weekly precipitation"
|
||||
},
|
||||
"monthly_rain": {
|
||||
"name": "Monthly precipitation"
|
||||
},
|
||||
"yearly_rain": {
|
||||
"name": "Yearly precipitation"
|
||||
},
|
||||
"wbgt_index": {
|
||||
"name": "WBGT index"
|
||||
},
|
||||
"hcho": {
|
||||
"name": "Formaldehyde (HCHO)"
|
||||
},
|
||||
"voc": {
|
||||
"name": "VOC level",
|
||||
"state": {
|
||||
"unhealthy": "Unhealthy",
|
||||
"poor": "Poor",
|
||||
"moderate": "Moderate",
|
||||
"good": "Good",
|
||||
"excellent": "Excellent"
|
||||
}
|
||||
},
|
||||
"t9_battery": {
|
||||
"name": "HCHO/VOC sensor battery"
|
||||
},
|
||||
"wind_azimut": {
|
||||
"name": "Bearing",
|
||||
"state": {
|
||||
"n": "N",
|
||||
"nne": "NNE",
|
||||
"ne": "NE",
|
||||
"ene": "ENE",
|
||||
"e": "E",
|
||||
"ese": "ESE",
|
||||
"se": "SE",
|
||||
"sse": "SSE",
|
||||
"s": "S",
|
||||
"ssw": "SSW",
|
||||
"sw": "SW",
|
||||
"wsw": "WSW",
|
||||
"w": "W",
|
||||
"wnw": "WNW",
|
||||
"nw": "NW",
|
||||
"nnw": "NNW"
|
||||
}
|
||||
},
|
||||
"outside_battery": {
|
||||
"name": "Outside battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch2_battery": {
|
||||
"name": "Channel 2 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch3_battery": {
|
||||
"name": "Channel 3 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch4_battery": {
|
||||
"name": "Channel 4 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch5_battery": {
|
||||
"name": "Channel 5 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch6_battery": {
|
||||
"name": "Channel 6 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch7_battery": {
|
||||
"name": "Channel 7 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"ch8_battery": {
|
||||
"name": "Channel 8 battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
},
|
||||
"indoor_battery": {
|
||||
"name": "Console battery level",
|
||||
"state": {
|
||||
"normal": "OK",
|
||||
"low": "Low",
|
||||
"unknown": "Unknown / drained out"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {
|
||||
"legacy_battery_sensor_deprecated": {
|
||||
"title": "Legacy battery sensor detected",
|
||||
"description": "Old battery sensor entities ({entities}) were found in the entity registry. They have been replaced by binary battery sensors and will be removed in version {remove_version}. Please delete the legacy entities manually via Settings Old battery sensor entities ({entities}) were found in the entity registry. They have been replaced by binary battery sensors and will be removed in version {remove_version}. Please delete the legacy entities manually via Settings -> Devices & Services -> SWS 12500."
|
||||
},
|
||||
"stale_sensors_detected": {
|
||||
"title": "Stale sensor detected",
|
||||
"description": "These sensors are configured but haven't reported data recently: {sensors}. They will appear as Unavailable in HA. If they are no longer connected, you can remove them via Settings -> Devices & Services -> SWS 12500."
|
||||
}
|
||||
},
|
||||
"notify": {
|
||||
"added": {
|
||||
"title": "New sensors for SWS 12500 found.",
|
||||
"message": "{added_sensors}\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue