6 Commits

49 changed files with 4838 additions and 278 deletions

59
.idea/PROJECT_STATE.md generated Normal file
View File

@@ -0,0 +1,59 @@
# Project State: HA KNX Bridge
## Project Description
HA KNX Bridge is a Home Assistant custom integration that mirrors Home Assistant entities
to KNX group addresses and accepts KNX actions to control Home Assistant entities.
It is installed via HACS and configured through the Home Assistant UI (config flow).
The integration should:
- Reuse an existing Home Assistant KNX integration entry when available.
- Allow users to add "Ports" that bind a single HA entity to KNX group addresses.
- Auto-select appropriate KNX DPTs and request only the group addresses needed.
- Ignore missing/empty group addresses without errors.
Target compatibility: Home Assistant 2025.12 with forward compatibility to 2026.2.
Project rules:
- Keep `README.md` updated for user-relevant changes after each new version.
- Maintain `CHANGELOG.md` with newest entries at the top.
- Releases are created only when explicitly requested.
- Version number must match everywhere it is referenced (manifest, changelog, README, HACS if used).
## Current State (as of 2026-02-15)
Completed:
- Repo initialized with `main` branch and pushed to GitHub.
- HACS metadata (`hacs.json`) and base integration scaffold created.
- Config flow created with subentries ("Ports") for:
- Binary Sensor
- Cover
- KNX group address validation and normalization in subentry flows.
- Options flow skeleton added (no options yet).
- `bcs.yaml` metadata file added for BCS store listing.
- Switch port support added (KNX command + state).
- Per-address invert toggles added for incoming/outgoing payloads.
- DPT auto-selection centralized for KNX event registration.
- Port devices and enable switches added for quick overview and toggling.
- Bridge manager implements:
- Binary sensor state -> KNX send (DPT 1)
- Cover KNX incoming commands -> HA services
- Cover HA state -> KNX percent updates (DPT 5.001)
- README includes initial DPT mapping and roadmap.
- Incoming invert toggles removed; outgoing inversion remains only for state addresses.
- Project version set to 0.0.20 and `CHANGELOG.md` maintained.
Files created:
- `custom_components/ha_knx_bridge/__init__.py`
- `custom_components/ha_knx_bridge/bridge.py`
- `custom_components/ha_knx_bridge/config_flow.py`
- `custom_components/ha_knx_bridge/const.py`
- `custom_components/ha_knx_bridge/manifest.json`
- `custom_components/ha_knx_bridge/strings.json`
- `hacs.json`
- `README.md`
- `CHANGELOG.md`
- `.gitignore`
Open items / next steps:
- Add optional option flow for future settings.
- Expand entity coverage (light, switch, sensor, climate).
- Add tests (config flow, KNX mapping).
- Improve DPT auto-selection logic per entity features.

View File

@@ -1,5 +1,24 @@
# Changelog # Changelog
## 0.0.20 - 2026-02-15
- Remove incoming invert toggles; keep outgoing inversion only for state addresses.
## 0.0.19 - 2026-02-13
- Fix port enable switches by updating config entry options properly.
- Show port switches under the main integration device instead of per-port devices.
## 0.0.18 - 2026-02-13
- Add port devices with enable toggles and an edit-port flow.
- Provide locale fallback translations for all Home Assistant languages.
## 0.0.17 - 2026-02-13
- Add edit port flow to update existing option-based ports.
- Add fallback translations for all supported Home Assistant locales.
- Add per-port enable switches and device entries for quick overview.
## 0.0.16 - 2026-02-13
- Normalize incoming event destinations and clamp percent payloads even without inversion.
## 0.0.15 - 2026-02-13 ## 0.0.15 - 2026-02-13
- Remove unsupported `payload_length` field from KNX send calls. - Remove unsupported `payload_length` field from KNX send calls.

View File

@@ -23,6 +23,7 @@ Current minimal scope:
2. Add Ports from the integration's configuration page. 2. Add Ports from the integration's configuration page.
If the "Add Port" UI is missing, open the integration options and manage ports If the "Add Port" UI is missing, open the integration options and manage ports
there (fallback for HA versions without subentry support). there (fallback for HA versions without subentry support).
3. Each Port shows up as a device with an enable switch for quick on/off control.
### Binary Sensor Port ### Binary Sensor Port
- `entity_id`: the HA binary_sensor to mirror. - `entity_id`: the HA binary_sensor to mirror.
@@ -39,7 +40,7 @@ Current minimal scope:
If a group address is left empty, it is ignored. If a group address is left empty, it is ignored.
Group address format must be `X/Y/Z` (0-31/0-7/0-255) or `X/Y` (0-31/0-2047). Group address format must be `X/Y/Z` (0-31/0-7/0-255) or `X/Y` (0-31/0-2047).
Each group address has `invert incoming` and `invert outgoing` toggles to flip KNX payloads. Only state addresses expose an `invert outgoing` toggle to flip KNX payloads.
### Switch Port ### Switch Port
- `entity_id`: the HA switch to control/monitor. - `entity_id`: the HA switch to control/monitor.
@@ -67,6 +68,6 @@ Each group address has `invert incoming` and `invert outgoing` toggles to flip K
- Advanced DPT mapping options and inversion settings. - Advanced DPT mapping options and inversion settings.
## Versioning and Releases ## Versioning and Releases
- Current version: 0.0.15 - Current version: 0.0.20
- `CHANGELOG.md` lists versions with the newest entries at the top. - `CHANGELOG.md` lists versions with the newest entries at the top.
- Release creation is manual and only done when explicitly requested. - Release creation is manual and only done when explicitly requested.

View File

@@ -16,6 +16,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
raise raise
entry.runtime_data = manager entry.runtime_data = manager
entry.async_on_unload(entry.add_update_listener(_update_listener)) entry.async_on_unload(entry.add_update_listener(_update_listener))
await hass.config_entries.async_forward_entry_setups(entry, ["switch"])
return True return True
@@ -24,6 +25,7 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
if manager is None: if manager is None:
return True return True
await manager.async_unload() await manager.async_unload()
await hass.config_entries.async_unload_platforms(entry, ["switch"])
return True return True

View File

@@ -15,10 +15,10 @@ from .const import (
ADDRESS_EVENT_TYPE, ADDRESS_EVENT_TYPE,
ADDRESS_VALUE_TYPE, ADDRESS_VALUE_TYPE,
CONF_COMMAND_ADDRESS, CONF_COMMAND_ADDRESS,
CONF_INVERT_INCOMING,
CONF_INVERT_OUTGOING, CONF_INVERT_OUTGOING,
CONF_MOVE_LONG_ADDRESS, CONF_MOVE_LONG_ADDRESS,
CONF_MOVE_SHORT_ADDRESS, CONF_MOVE_SHORT_ADDRESS,
CONF_PORT_ENABLED,
CONF_PORTS, CONF_PORTS,
CONF_POSITION_ADDRESS, CONF_POSITION_ADDRESS,
CONF_POSITION_STATE_ADDRESS, CONF_POSITION_STATE_ADDRESS,
@@ -35,7 +35,6 @@ KNX_DOMAIN = "knx"
class BinarySensorPort: class BinarySensorPort:
entity_id: str entity_id: str
state_address: str | None state_address: str | None
state_invert_incoming: bool
state_invert_outgoing: bool state_invert_outgoing: bool
@@ -43,25 +42,13 @@ class BinarySensorPort:
class CoverPort: class CoverPort:
entity_id: str entity_id: str
move_long_address: str | None move_long_address: str | None
move_long_invert_incoming: bool
move_long_invert_outgoing: bool
move_short_address: str | None move_short_address: str | None
move_short_invert_incoming: bool
move_short_invert_outgoing: bool
stop_address: str | None stop_address: str | None
stop_invert_incoming: bool
stop_invert_outgoing: bool
position_address: str | None position_address: str | None
position_invert_incoming: bool
position_invert_outgoing: bool
position_state_address: str | None position_state_address: str | None
position_state_invert_incoming: bool
position_state_invert_outgoing: bool position_state_invert_outgoing: bool
angle_address: str | None angle_address: str | None
angle_invert_incoming: bool
angle_invert_outgoing: bool
angle_state_address: str | None angle_state_address: str | None
angle_state_invert_incoming: bool
angle_state_invert_outgoing: bool angle_state_invert_outgoing: bool
@@ -70,16 +57,12 @@ class SwitchPort:
entity_id: str entity_id: str
command_address: str | None command_address: str | None
state_address: str | None state_address: str | None
command_invert_incoming: bool
command_invert_outgoing: bool
state_invert_incoming: bool
state_invert_outgoing: bool state_invert_outgoing: bool
@dataclass(frozen=True) @dataclass(frozen=True)
class AddressOptions: class AddressOptions:
value_type: str | None value_type: str | None
invert_incoming: bool
invert_outgoing: bool invert_outgoing: bool
@@ -119,15 +102,17 @@ class BridgeManager:
switch_ports: list[SwitchPort] = [] switch_ports: list[SwitchPort] = []
cover_ports: list[CoverPort] = [] cover_ports: list[CoverPort] = []
for port_type, data in _iter_port_configs(self.entry): enabled_overrides = dict(self.entry.options.get(CONF_PORT_ENABLED, {}))
for port in _iter_port_configs(self.entry):
port_type = port.port_type
data = port.data
if not _is_port_enabled(port, enabled_overrides):
continue
if port_type == "binary_sensor": if port_type == "binary_sensor":
binary_ports.append( binary_ports.append(
BinarySensorPort( BinarySensorPort(
entity_id=data["entity_id"], entity_id=data["entity_id"],
state_address=_clean_address(data.get(CONF_STATE_ADDRESS)), state_address=_clean_address(data.get(CONF_STATE_ADDRESS)),
state_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_STATE_ADDRESS))
),
state_invert_outgoing=_clean_bool( state_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_STATE_ADDRESS)) data.get(_invert_out_key(CONF_STATE_ADDRESS))
), ),
@@ -141,15 +126,6 @@ class BridgeManager:
data.get(CONF_COMMAND_ADDRESS) data.get(CONF_COMMAND_ADDRESS)
), ),
state_address=_clean_address(data.get(CONF_STATE_ADDRESS)), state_address=_clean_address(data.get(CONF_STATE_ADDRESS)),
command_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_COMMAND_ADDRESS))
),
command_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_COMMAND_ADDRESS))
),
state_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_STATE_ADDRESS))
),
state_invert_outgoing=_clean_bool( state_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_STATE_ADDRESS)) data.get(_invert_out_key(CONF_STATE_ADDRESS))
), ),
@@ -160,55 +136,19 @@ class BridgeManager:
CoverPort( CoverPort(
entity_id=data["entity_id"], entity_id=data["entity_id"],
move_long_address=_clean_address(data.get(CONF_MOVE_LONG_ADDRESS)), move_long_address=_clean_address(data.get(CONF_MOVE_LONG_ADDRESS)),
move_long_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_MOVE_LONG_ADDRESS))
),
move_long_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_MOVE_LONG_ADDRESS))
),
move_short_address=_clean_address(data.get(CONF_MOVE_SHORT_ADDRESS)), move_short_address=_clean_address(data.get(CONF_MOVE_SHORT_ADDRESS)),
move_short_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_MOVE_SHORT_ADDRESS))
),
move_short_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_MOVE_SHORT_ADDRESS))
),
stop_address=_clean_address(data.get(CONF_STOP_ADDRESS)), stop_address=_clean_address(data.get(CONF_STOP_ADDRESS)),
stop_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_STOP_ADDRESS))
),
stop_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_STOP_ADDRESS))
),
position_address=_clean_address(data.get(CONF_POSITION_ADDRESS)), position_address=_clean_address(data.get(CONF_POSITION_ADDRESS)),
position_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_POSITION_ADDRESS))
),
position_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_POSITION_ADDRESS))
),
position_state_address=_clean_address( position_state_address=_clean_address(
data.get(CONF_POSITION_STATE_ADDRESS) data.get(CONF_POSITION_STATE_ADDRESS)
), ),
position_state_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_POSITION_STATE_ADDRESS))
),
position_state_invert_outgoing=_clean_bool( position_state_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_POSITION_STATE_ADDRESS)) data.get(_invert_out_key(CONF_POSITION_STATE_ADDRESS))
), ),
angle_address=_clean_address(data.get(CONF_ANGLE_ADDRESS)), angle_address=_clean_address(data.get(CONF_ANGLE_ADDRESS)),
angle_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_ANGLE_ADDRESS))
),
angle_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_ANGLE_ADDRESS))
),
angle_state_address=_clean_address( angle_state_address=_clean_address(
data.get(CONF_ANGLE_STATE_ADDRESS) data.get(CONF_ANGLE_STATE_ADDRESS)
), ),
angle_state_invert_incoming=_clean_bool(
data.get(_invert_in_key(CONF_ANGLE_STATE_ADDRESS))
),
angle_state_invert_outgoing=_clean_bool( angle_state_invert_outgoing=_clean_bool(
data.get(_invert_out_key(CONF_ANGLE_STATE_ADDRESS)) data.get(_invert_out_key(CONF_ANGLE_STATE_ADDRESS))
), ),
@@ -229,7 +169,6 @@ class BridgeManager:
self._remember_address_options( self._remember_address_options(
port.state_address, port.state_address,
_get_value_type(CONF_STATE_ADDRESS), _get_value_type(CONF_STATE_ADDRESS),
port.state_invert_incoming,
port.state_invert_outgoing, port.state_invert_outgoing,
) )
self._unsub_listeners.append( self._unsub_listeners.append(
@@ -244,7 +183,6 @@ class BridgeManager:
self._remember_address_options( self._remember_address_options(
port.state_address, port.state_address,
_get_value_type(CONF_STATE_ADDRESS), _get_value_type(CONF_STATE_ADDRESS),
port.state_invert_incoming,
port.state_invert_outgoing, port.state_invert_outgoing,
) )
self._unsub_listeners.append( self._unsub_listeners.append(
@@ -260,14 +198,12 @@ class BridgeManager:
self._remember_address_options( self._remember_address_options(
port.position_state_address, port.position_state_address,
_get_value_type(CONF_POSITION_STATE_ADDRESS), _get_value_type(CONF_POSITION_STATE_ADDRESS),
port.position_state_invert_incoming,
port.position_state_invert_outgoing, port.position_state_invert_outgoing,
) )
if port.angle_state_address: if port.angle_state_address:
self._remember_address_options( self._remember_address_options(
port.angle_state_address, port.angle_state_address,
_get_value_type(CONF_ANGLE_STATE_ADDRESS), _get_value_type(CONF_ANGLE_STATE_ADDRESS),
port.angle_state_invert_incoming,
port.angle_state_invert_outgoing, port.angle_state_invert_outgoing,
) )
self._unsub_listeners.append( self._unsub_listeners.append(
@@ -282,8 +218,6 @@ class BridgeManager:
for port in switch_ports: for port in switch_ports:
self._register_knx_switch_address( self._register_knx_switch_address(
port.command_address, port.command_address,
port.command_invert_incoming,
port.command_invert_outgoing,
port, port,
) )
@@ -291,40 +225,30 @@ class BridgeManager:
self._register_knx_address( self._register_knx_address(
port.move_long_address, port.move_long_address,
CONF_MOVE_LONG_ADDRESS, CONF_MOVE_LONG_ADDRESS,
port.move_long_invert_incoming,
port.move_long_invert_outgoing,
port, port,
"move_long", "move_long",
) )
self._register_knx_address( self._register_knx_address(
port.move_short_address, port.move_short_address,
CONF_MOVE_SHORT_ADDRESS, CONF_MOVE_SHORT_ADDRESS,
port.move_short_invert_incoming,
port.move_short_invert_outgoing,
port, port,
"move_short", "move_short",
) )
self._register_knx_address( self._register_knx_address(
port.stop_address, port.stop_address,
CONF_STOP_ADDRESS, CONF_STOP_ADDRESS,
port.stop_invert_incoming,
port.stop_invert_outgoing,
port, port,
"stop", "stop",
) )
self._register_knx_address( self._register_knx_address(
port.position_address, port.position_address,
CONF_POSITION_ADDRESS, CONF_POSITION_ADDRESS,
port.position_invert_incoming,
port.position_invert_outgoing,
port, port,
"position", "position",
) )
self._register_knx_address( self._register_knx_address(
port.angle_address, port.angle_address,
CONF_ANGLE_ADDRESS, CONF_ANGLE_ADDRESS,
port.angle_invert_incoming,
port.angle_invert_outgoing,
port, port,
"angle", "angle",
) )
@@ -345,8 +269,6 @@ class BridgeManager:
self, self,
address: str | None, address: str | None,
address_key: str, address_key: str,
invert_incoming: bool,
invert_outgoing: bool,
port: CoverPort, port: CoverPort,
action: str, action: str,
) -> None: ) -> None:
@@ -359,15 +281,13 @@ class BridgeManager:
value_type = _get_value_type(address_key) value_type = _get_value_type(address_key)
event_type = _get_event_type(address_key) event_type = _get_event_type(address_key)
self._remember_address_options( self._remember_address_options(
address, value_type, invert_incoming, invert_outgoing address, value_type, False
) )
self._registered_addresses.append((address, event_type)) self._registered_addresses.append((address, event_type))
def _register_knx_switch_address( def _register_knx_switch_address(
self, self,
address: str | None, address: str | None,
invert_incoming: bool,
invert_outgoing: bool,
port: SwitchPort, port: SwitchPort,
) -> None: ) -> None:
if not address: if not address:
@@ -378,8 +298,7 @@ class BridgeManager:
self._remember_address_options( self._remember_address_options(
address, address,
_get_value_type(CONF_COMMAND_ADDRESS), _get_value_type(CONF_COMMAND_ADDRESS),
invert_incoming, False,
invert_outgoing,
) )
self._registered_addresses.append((address, _get_event_type(CONF_COMMAND_ADDRESS))) self._registered_addresses.append((address, _get_event_type(CONF_COMMAND_ADDRESS)))
@@ -387,12 +306,10 @@ class BridgeManager:
self, self,
address: str, address: str,
value_type: str | None, value_type: str | None,
invert_incoming: bool,
invert_outgoing: bool, invert_outgoing: bool,
) -> None: ) -> None:
self._address_options[address] = AddressOptions( self._address_options[address] = AddressOptions(
value_type=value_type, value_type=value_type,
invert_incoming=invert_incoming,
invert_outgoing=invert_outgoing, invert_outgoing=invert_outgoing,
) )
@@ -424,7 +341,7 @@ class BridgeManager:
return return
payload = 1 if new_state.state == "on" else 0 payload = 1 if new_state.state == "on" else 0
payload = _invert_value( payload = _invert_value(
payload, port.state_address, self._address_options, "outgoing" payload, port.state_address, self._address_options
) )
await self._knx_send_raw(port.state_address, payload) await self._knx_send_raw(port.state_address, payload)
@@ -439,7 +356,7 @@ class BridgeManager:
return return
payload = 1 if new_state.state == "on" else 0 payload = 1 if new_state.state == "on" else 0
payload = _invert_value( payload = _invert_value(
payload, port.state_address, self._address_options, "outgoing" payload, port.state_address, self._address_options
) )
await self._knx_send_raw(port.state_address, payload) await self._knx_send_raw(port.state_address, payload)
@@ -458,7 +375,6 @@ class BridgeManager:
position, position,
port.position_state_address, port.position_state_address,
self._address_options, self._address_options,
"outgoing",
) )
await self._knx_send_percent( await self._knx_send_percent(
port.position_state_address, position port.position_state_address, position
@@ -471,7 +387,6 @@ class BridgeManager:
angle, angle,
port.angle_state_address, port.angle_state_address,
self._address_options, self._address_options,
"outgoing",
) )
await self._knx_send_percent(port.angle_state_address, angle) await self._knx_send_percent(port.angle_state_address, angle)
@@ -482,11 +397,7 @@ class BridgeManager:
if direction is not None and not str(direction).lower().startswith("incoming"): if direction is not None and not str(direction).lower().startswith("incoming"):
return return
destination = ( destination = _event_destination(event)
event.data.get("destination")
or event.data.get("destination_address")
or event.data.get("address")
)
if not destination: if not destination:
return return
@@ -502,9 +413,8 @@ class BridgeManager:
value = _extract_event_value(event) value = _extract_event_value(event)
if value is None: if value is None:
return return
value = _invert_value( destination = _event_destination(event)
value, event.data.get("destination"), self._address_options, "incoming" value = _invert_value(value, destination, self._address_options)
)
if action == "move_long": if action == "move_long":
if value == 0: if value == 0:
@@ -530,9 +440,8 @@ class BridgeManager:
value = _extract_event_value(event) value = _extract_event_value(event)
if value is None: if value is None:
return return
value = _invert_value( destination = _event_destination(event)
value, event.data.get("destination"), self._address_options, "incoming" value = _invert_value(value, destination, self._address_options)
)
if value == 0: if value == 0:
await self._call_switch_service(port.entity_id, "turn_off") await self._call_switch_service(port.entity_id, "turn_off")
elif value == 1: elif value == 1:
@@ -617,31 +526,23 @@ def _invert_value(
value: int, value: int,
address: str | None, address: str | None,
address_options: dict[str, AddressOptions], address_options: dict[str, AddressOptions],
direction: str,
) -> int: ) -> int:
if address is None: if address is None:
return value return value
options = address_options.get(address) options = address_options.get(address)
if options is None: if options is None:
return value return value
if direction == "incoming": if options.value_type == "percent":
if not options.invert_incoming: value = _clamp_percent(value)
return value
else:
if not options.invert_outgoing: if not options.invert_outgoing:
return value return value
if options.value_type == "percent": if options.value_type == "percent":
value = _clamp_percent(value)
return 100 - value return 100 - value
if value not in (0, 1): if value not in (0, 1):
return value return value
return 0 if value == 1 else 1 return 0 if value == 1 else 1
def _invert_in_key(address_key: str) -> str:
return f"{address_key}_{CONF_INVERT_INCOMING}"
def _invert_out_key(address_key: str) -> str: def _invert_out_key(address_key: str) -> str:
return f"{address_key}_{CONF_INVERT_OUTGOING}" return f"{address_key}_{CONF_INVERT_OUTGOING}"
@@ -680,15 +581,60 @@ def _map_scalar_value(value: Any) -> int | None:
return None return None
def _iter_port_configs(entry: ConfigEntry) -> list[tuple[str, dict[str, Any]]]: def _event_destination(event: Event) -> str | None:
ports: list[tuple[str, dict[str, Any]]] = [] return (
event.data.get("destination")
or event.data.get("destination_address")
or event.data.get("address")
)
@dataclass(frozen=True)
class PortConfig:
port_id: str
port_type: str
title: str
data: dict[str, Any]
enabled: bool | None
def _iter_port_configs(entry: ConfigEntry) -> list[PortConfig]:
ports: list[PortConfig] = []
subentries = getattr(entry, "subentries", []) subentries = getattr(entry, "subentries", [])
for subentry in subentries: for subentry in subentries:
ports.append((subentry.type, subentry.data)) ports.append(
PortConfig(
port_id=subentry.entry_id,
port_type=subentry.type,
title=subentry.title or subentry.entry_id,
data=subentry.data,
enabled=subentry.data.get(CONF_ENABLED),
)
)
option_ports = entry.options.get(CONF_PORTS, []) option_ports = entry.options.get(CONF_PORTS, [])
for port in option_ports: for port in option_ports:
port_type = port.get("type") port_type = port.get("type")
data = port.get("data", {}) data = port.get("data", {})
if port_type and isinstance(data, dict): if port_type and isinstance(data, dict):
ports.append((port_type, data)) ports.append(
PortConfig(
port_id=port.get("id", ""),
port_type=port_type,
title=port.get("title", port.get("id", "Port")),
data=data,
enabled=port.get("enabled"),
)
)
return ports return ports
def _is_port_enabled(port: PortConfig, overrides: dict[str, Any]) -> bool:
if port.port_id and port.port_id in overrides:
return bool(overrides[port.port_id])
if port.enabled is None:
return True
return bool(port.enabled)
def iter_ports(entry: ConfigEntry) -> list[PortConfig]:
return _iter_port_configs(entry)

View File

@@ -14,7 +14,6 @@ from .const import (
CONF_ANGLE_ADDRESS, CONF_ANGLE_ADDRESS,
CONF_ANGLE_STATE_ADDRESS, CONF_ANGLE_STATE_ADDRESS,
CONF_COMMAND_ADDRESS, CONF_COMMAND_ADDRESS,
CONF_INVERT_INCOMING,
CONF_INVERT_OUTGOING, CONF_INVERT_OUTGOING,
CONF_KNX_ENTRY_ID, CONF_KNX_ENTRY_ID,
CONF_MOVE_LONG_ADDRESS, CONF_MOVE_LONG_ADDRESS,
@@ -23,6 +22,8 @@ from .const import (
CONF_PORT_ID, CONF_PORT_ID,
CONF_POSITION_ADDRESS, CONF_POSITION_ADDRESS,
CONF_POSITION_STATE_ADDRESS, CONF_POSITION_STATE_ADDRESS,
CONF_ENABLED,
CONF_PORT_ENABLED,
CONF_STATE_ADDRESS, CONF_STATE_ADDRESS,
CONF_STOP_ADDRESS, CONF_STOP_ADDRESS,
DOMAIN, DOMAIN,
@@ -98,6 +99,7 @@ class HAKnxBridgeOptionsFlow(config_entries.OptionsFlow):
"add_binary_sensor", "add_binary_sensor",
"add_switch", "add_switch",
"add_cover", "add_cover",
"edit_port",
"remove_port", "remove_port",
], ],
) )
@@ -169,7 +171,12 @@ class HAKnxBridgeOptionsFlow(config_entries.OptionsFlow):
if user_input is not None: if user_input is not None:
port_id = user_input[CONF_PORT_ID] port_id = user_input[CONF_PORT_ID]
ports = [port for port in ports if port.get("id") != port_id] ports = [port for port in ports if port.get("id") != port_id]
return self.async_create_entry(title="", data={CONF_PORTS: ports}) overrides = dict(self._config_entry.options.get(CONF_PORT_ENABLED, {}))
overrides.pop(port_id, None)
return self.async_create_entry(
title="",
data={CONF_PORTS: ports, CONF_PORT_ENABLED: overrides},
)
options = [ options = [
{ {
@@ -188,18 +195,118 @@ class HAKnxBridgeOptionsFlow(config_entries.OptionsFlow):
) )
return self.async_show_form(step_id="remove_port", data_schema=schema) return self.async_show_form(step_id="remove_port", data_schema=schema)
async def async_step_edit_port(self, user_input: dict | None = None):
ports = list(self._config_entry.options.get(CONF_PORTS, []))
if not ports:
return self.async_abort(reason="no_ports_to_edit")
if user_input is not None and CONF_PORT_ID in user_input:
port_id = user_input[CONF_PORT_ID]
port = next((item for item in ports if item.get("id") == port_id), None)
if port is None:
return self.async_abort(reason="no_ports_to_edit")
self.context["port_id"] = port_id
port_type = port.get("type")
data = port.get("data", {})
if port_type == "binary_sensor":
return self.async_show_form(
step_id="edit_binary_sensor",
data_schema=_binary_sensor_schema(defaults=data),
)
if port_type == "switch":
return self.async_show_form(
step_id="edit_switch",
data_schema=_switch_schema(defaults=data),
)
if port_type == "cover":
return self.async_show_form(
step_id="edit_cover",
data_schema=_cover_schema(defaults=data),
)
return self.async_abort(reason="no_ports_to_edit")
options = [
{
"value": port.get("id"),
"label": port.get("title", port.get("id")),
}
for port in ports
if port.get("id")
]
schema = vol.Schema(
{
vol.Required(CONF_PORT_ID): selector.SelectSelector(
selector.SelectSelectorConfig(options=options, mode="dropdown")
)
}
)
return self.async_show_form(step_id="edit_port", data_schema=schema)
async def async_step_edit_binary_sensor(self, user_input: dict | None = None):
return await self._async_edit_port(
"binary_sensor", user_input, _binary_sensor_schema
)
async def async_step_edit_switch(self, user_input: dict | None = None):
return await self._async_edit_port("switch", user_input, _switch_schema)
async def async_step_edit_cover(self, user_input: dict | None = None):
return await self._async_edit_port("cover", user_input, _cover_schema)
async def _async_store_port(self, port_type: str, user_input: dict): async def _async_store_port(self, port_type: str, user_input: dict):
ports = list(self._config_entry.options.get(CONF_PORTS, [])) ports = list(self._config_entry.options.get(CONF_PORTS, []))
title = _entity_title(self.hass, user_input[CONF_ENTITY_ID]) title = _entity_title(self.hass, user_input[CONF_ENTITY_ID])
enabled = bool(user_input.get(CONF_ENABLED, True))
ports.append( ports.append(
{ {
"id": uuid.uuid4().hex, "id": uuid.uuid4().hex,
"type": port_type, "type": port_type,
"title": title, "title": title,
"data": user_input, "data": user_input,
"enabled": enabled,
} }
) )
return self.async_create_entry(title="", data={CONF_PORTS: ports}) overrides = dict(self._config_entry.options.get(CONF_PORT_ENABLED, {}))
overrides[ports[-1]["id"]] = enabled
return self.async_create_entry(
title="",
data={CONF_PORTS: ports, CONF_PORT_ENABLED: overrides},
)
async def _async_edit_port(self, port_type: str, user_input, schema_factory):
ports = list(self._config_entry.options.get(CONF_PORTS, []))
port_id = self.context.get("port_id")
if port_id is None:
return self.async_abort(reason="no_ports_to_edit")
port = next((item for item in ports if item.get("id") == port_id), None)
if port is None:
return self.async_abort(reason="no_ports_to_edit")
if user_input is None:
return self.async_show_form(
step_id=f"edit_{port_type}",
data_schema=schema_factory(defaults=port.get("data", {})),
)
user_input, errors = _validate_knx_addresses(user_input, _port_keys(port_type))
if errors:
return self.async_show_form(
step_id=f"edit_{port_type}",
data_schema=schema_factory(defaults=user_input),
errors=errors,
)
enabled = bool(user_input.get(CONF_ENABLED, True))
port["data"] = user_input
port["enabled"] = enabled
port["title"] = _entity_title(self.hass, user_input[CONF_ENTITY_ID])
overrides = dict(self._config_entry.options.get(CONF_PORT_ENABLED, {}))
overrides[port_id] = enabled
return self.async_create_entry(
title="",
data={CONF_PORTS: ports, CONF_PORT_ENABLED: overrides},
)
class BinarySensorPortSubentryFlow(config_entries.ConfigSubentryFlow): class BinarySensorPortSubentryFlow(config_entries.ConfigSubentryFlow):
@@ -275,126 +382,159 @@ def _entity_title(hass, entity_id: str) -> str:
return state.attributes.get("friendly_name", entity_id) return state.attributes.get("friendly_name", entity_id)
def _binary_sensor_schema() -> vol.Schema: def _binary_sensor_schema(defaults: dict | None = None) -> vol.Schema:
defaults = defaults or {}
return vol.Schema( return vol.Schema(
{ {
vol.Required(CONF_ENTITY_ID): selector.EntitySelector( vol.Required(
CONF_ENTITY_ID,
default=defaults.get(CONF_ENTITY_ID, ""),
): selector.EntitySelector(
selector.EntitySelectorConfig(domain=["binary_sensor"]) selector.EntitySelectorConfig(domain=["binary_sensor"])
), ),
vol.Optional(CONF_STATE_ADDRESS): selector.TextSelector( vol.Optional(
CONF_STATE_ADDRESS,
default=defaults.get(CONF_STATE_ADDRESS, ""),
): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_STATE_ADDRESS), default=False): ( vol.Optional(
_invert_out_key(CONF_STATE_ADDRESS),
default=bool(defaults.get(_invert_out_key(CONF_STATE_ADDRESS))),
): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
vol.Optional(_invert_out_key(CONF_STATE_ADDRESS), default=False): ( vol.Optional(CONF_ENABLED, default=bool(defaults.get(CONF_ENABLED, True))): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
} }
) )
def _cover_schema() -> vol.Schema: def _cover_schema(defaults: dict | None = None) -> vol.Schema:
defaults = defaults or {}
return vol.Schema( return vol.Schema(
{ {
vol.Required(CONF_ENTITY_ID): selector.EntitySelector( vol.Required(
CONF_ENTITY_ID,
default=defaults.get(CONF_ENTITY_ID, ""),
): selector.EntitySelector(
selector.EntitySelectorConfig(domain=["cover"]) selector.EntitySelectorConfig(domain=["cover"])
), ),
vol.Optional(CONF_MOVE_LONG_ADDRESS): selector.TextSelector( vol.Optional(
CONF_MOVE_LONG_ADDRESS,
default=defaults.get(CONF_MOVE_LONG_ADDRESS, ""),
): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_MOVE_LONG_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_MOVE_SHORT_ADDRESS,
), default=defaults.get(CONF_MOVE_SHORT_ADDRESS, ""),
vol.Optional(_invert_out_key(CONF_MOVE_LONG_ADDRESS), default=False): ( ): selector.TextSelector(
selector.BooleanSelector()
),
vol.Optional(CONF_MOVE_SHORT_ADDRESS): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_MOVE_SHORT_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_STOP_ADDRESS,
), default=defaults.get(CONF_STOP_ADDRESS, ""),
vol.Optional(_invert_out_key(CONF_MOVE_SHORT_ADDRESS), default=False): ( ): selector.TextSelector(
selector.BooleanSelector()
),
vol.Optional(CONF_STOP_ADDRESS): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_STOP_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_POSITION_ADDRESS,
), default=defaults.get(CONF_POSITION_ADDRESS, ""),
vol.Optional(_invert_out_key(CONF_STOP_ADDRESS), default=False): ( ): selector.TextSelector(
selector.BooleanSelector()
),
vol.Optional(CONF_POSITION_ADDRESS): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_POSITION_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_POSITION_STATE_ADDRESS,
), default=defaults.get(CONF_POSITION_STATE_ADDRESS, ""),
vol.Optional(_invert_out_key(CONF_POSITION_ADDRESS), default=False): ( ): selector.TextSelector(
selector.BooleanSelector()
),
vol.Optional(CONF_POSITION_STATE_ADDRESS): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_POSITION_STATE_ADDRESS), default=False): ( vol.Optional(
_invert_out_key(CONF_POSITION_STATE_ADDRESS),
default=bool(defaults.get(_invert_out_key(CONF_POSITION_STATE_ADDRESS))),
): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
vol.Optional(_invert_out_key(CONF_POSITION_STATE_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_ANGLE_ADDRESS,
), default=defaults.get(CONF_ANGLE_ADDRESS, ""),
vol.Optional(CONF_ANGLE_ADDRESS): selector.TextSelector( ): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_ANGLE_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_ANGLE_STATE_ADDRESS,
), default=defaults.get(CONF_ANGLE_STATE_ADDRESS, ""),
vol.Optional(_invert_out_key(CONF_ANGLE_ADDRESS), default=False): ( ): selector.TextSelector(
selector.BooleanSelector()
),
vol.Optional(CONF_ANGLE_STATE_ADDRESS): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_ANGLE_STATE_ADDRESS), default=False): ( vol.Optional(
_invert_out_key(CONF_ANGLE_STATE_ADDRESS),
default=bool(defaults.get(_invert_out_key(CONF_ANGLE_STATE_ADDRESS))),
): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
vol.Optional(_invert_out_key(CONF_ANGLE_STATE_ADDRESS), default=False): ( vol.Optional(CONF_ENABLED, default=bool(defaults.get(CONF_ENABLED, True))): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
} }
) )
def _switch_schema() -> vol.Schema: def _switch_schema(defaults: dict | None = None) -> vol.Schema:
defaults = defaults or {}
return vol.Schema( return vol.Schema(
{ {
vol.Required(CONF_ENTITY_ID): selector.EntitySelector( vol.Required(
CONF_ENTITY_ID,
default=defaults.get(CONF_ENTITY_ID, ""),
): selector.EntitySelector(
selector.EntitySelectorConfig(domain=["switch"]) selector.EntitySelectorConfig(domain=["switch"])
), ),
vol.Optional(CONF_COMMAND_ADDRESS): selector.TextSelector( vol.Optional(
CONF_COMMAND_ADDRESS,
default=defaults.get(CONF_COMMAND_ADDRESS, ""),
): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_COMMAND_ADDRESS), default=False): ( vol.Optional(
selector.BooleanSelector() CONF_STATE_ADDRESS,
), default=defaults.get(CONF_STATE_ADDRESS, ""),
vol.Optional(_invert_out_key(CONF_COMMAND_ADDRESS), default=False): ( ): selector.TextSelector(
selector.BooleanSelector()
),
vol.Optional(CONF_STATE_ADDRESS): selector.TextSelector(
selector.TextSelectorConfig(type="text") selector.TextSelectorConfig(type="text")
), ),
vol.Optional(_invert_in_key(CONF_STATE_ADDRESS), default=False): ( vol.Optional(
_invert_out_key(CONF_STATE_ADDRESS),
default=bool(defaults.get(_invert_out_key(CONF_STATE_ADDRESS))),
): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
vol.Optional(_invert_out_key(CONF_STATE_ADDRESS), default=False): ( vol.Optional(CONF_ENABLED, default=bool(defaults.get(CONF_ENABLED, True))): (
selector.BooleanSelector() selector.BooleanSelector()
), ),
} }
) )
def _port_keys(port_type: str) -> list[str]:
if port_type == "binary_sensor":
return [CONF_STATE_ADDRESS]
if port_type == "switch":
return [CONF_COMMAND_ADDRESS, CONF_STATE_ADDRESS]
if port_type == "cover":
return [
CONF_MOVE_LONG_ADDRESS,
CONF_MOVE_SHORT_ADDRESS,
CONF_STOP_ADDRESS,
CONF_POSITION_ADDRESS,
CONF_POSITION_STATE_ADDRESS,
CONF_ANGLE_ADDRESS,
CONF_ANGLE_STATE_ADDRESS,
]
return []
def _validate_knx_addresses( def _validate_knx_addresses(
user_input: dict, keys: list[str] user_input: dict, keys: list[str]
) -> tuple[dict, dict[str, str]]: ) -> tuple[dict, dict[str, str]]:
@@ -406,7 +546,6 @@ def _validate_knx_addresses(
value = cleaned.get(key) value = cleaned.get(key)
if value is None: if value is None:
cleaned.pop(key, None) cleaned.pop(key, None)
cleaned.pop(_invert_in_key(key), None)
cleaned.pop(_invert_out_key(key), None) cleaned.pop(_invert_out_key(key), None)
continue continue
try: try:
@@ -416,7 +555,6 @@ def _validate_knx_addresses(
continue continue
if normalized == "": if normalized == "":
cleaned.pop(key, None) cleaned.pop(key, None)
cleaned.pop(_invert_in_key(key), None)
cleaned.pop(_invert_out_key(key), None) cleaned.pop(_invert_out_key(key), None)
else: else:
cleaned[key] = normalized cleaned[key] = normalized
@@ -452,10 +590,6 @@ def _parse_int(value: str) -> int:
return int(text) return int(text)
def _invert_in_key(address_key: str) -> str:
return f"{address_key}_{CONF_INVERT_INCOMING}"
def _invert_out_key(address_key: str) -> str: def _invert_out_key(address_key: str) -> str:
return f"{address_key}_{CONF_INVERT_OUTGOING}" return f"{address_key}_{CONF_INVERT_OUTGOING}"

View File

@@ -4,10 +4,11 @@ CONF_KNX_ENTRY_ID = "knx_entry_id"
CONF_STATE_ADDRESS = "state_address" CONF_STATE_ADDRESS = "state_address"
CONF_COMMAND_ADDRESS = "command_address" CONF_COMMAND_ADDRESS = "command_address"
CONF_INVERT_INCOMING = "invert_incoming"
CONF_INVERT_OUTGOING = "invert_outgoing" CONF_INVERT_OUTGOING = "invert_outgoing"
CONF_PORTS = "ports" CONF_PORTS = "ports"
CONF_PORT_ID = "port_id" CONF_PORT_ID = "port_id"
CONF_PORT_ENABLED = "port_enabled"
CONF_ENABLED = "enabled"
CONF_MOVE_LONG_ADDRESS = "move_long_address" CONF_MOVE_LONG_ADDRESS = "move_long_address"
CONF_MOVE_SHORT_ADDRESS = "move_short_address" CONF_MOVE_SHORT_ADDRESS = "move_short_address"

View File

@@ -1,7 +1,7 @@
{ {
"domain": "ha_knx_bridge", "domain": "ha_knx_bridge",
"name": "HA KNX Bridge", "name": "HA KNX Bridge",
"version": "0.0.15", "version": "0.0.20",
"config_flow": true, "config_flow": true,
"documentation": "https://github.com/bahmcloud/HA-KNX-Bridge", "documentation": "https://github.com/bahmcloud/HA-KNX-Bridge",
"issue_tracker": "https://github.com/bahmcloud/HA-KNX-Bridge/issues", "issue_tracker": "https://github.com/bahmcloud/HA-KNX-Bridge/issues",

View File

@@ -36,7 +36,6 @@
"data": { "data": {
"entity_id": "Binary sensor entity", "entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Invert incoming",
"state_address_invert_outgoing": "Invert outgoing" "state_address_invert_outgoing": "Invert outgoing"
} }
}, },
@@ -45,10 +44,8 @@
"data": { "data": {
"entity_id": "Switch entity", "entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)", "command_address": "Command group address (DPT 1)",
"command_address_invert_incoming": "Invert incoming",
"command_address_invert_outgoing": "Invert outgoing", "command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Invert incoming",
"state_address_invert_outgoing": "Invert outgoing" "state_address_invert_outgoing": "Invert outgoing"
} }
}, },
@@ -57,25 +54,18 @@
"data": { "data": {
"entity_id": "Cover entity", "entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)", "move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_incoming": "Invert incoming",
"move_long_address_invert_outgoing": "Invert outgoing", "move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)", "move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_incoming": "Invert incoming",
"move_short_address_invert_outgoing": "Invert outgoing", "move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)", "stop_address": "Stop (DPT 1)",
"stop_address_invert_incoming": "Invert incoming",
"stop_address_invert_outgoing": "Invert outgoing", "stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)", "position_address": "Set position (DPT 5.001)",
"position_address_invert_incoming": "Invert incoming",
"position_address_invert_outgoing": "Invert outgoing", "position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)", "position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_incoming": "Invert incoming",
"position_state_address_invert_outgoing": "Invert outgoing", "position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)", "angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_incoming": "Invert incoming",
"angle_address_invert_outgoing": "Invert outgoing", "angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)", "angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_incoming": "Invert incoming",
"angle_state_address_invert_outgoing": "Invert outgoing" "angle_state_address_invert_outgoing": "Invert outgoing"
} }
}, },
@@ -98,8 +88,8 @@
"data": { "data": {
"entity_id": "Binary sensor entity", "entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Invert incoming", "state_address_invert_outgoing": "Invert outgoing",
"state_address_invert_outgoing": "Invert outgoing" "enabled": "Enabled"
} }
} }
} }
@@ -111,11 +101,10 @@
"data": { "data": {
"entity_id": "Switch entity", "entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)", "command_address": "Command group address (DPT 1)",
"command_address_invert_incoming": "Invert incoming",
"command_address_invert_outgoing": "Invert outgoing", "command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Invert incoming", "state_address_invert_outgoing": "Invert outgoing",
"state_address_invert_outgoing": "Invert outgoing" "enabled": "Enabled"
} }
} }
} }
@@ -127,26 +116,20 @@
"data": { "data": {
"entity_id": "Cover entity", "entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)", "move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_incoming": "Invert incoming",
"move_long_address_invert_outgoing": "Invert outgoing", "move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)", "move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_incoming": "Invert incoming",
"move_short_address_invert_outgoing": "Invert outgoing", "move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)", "stop_address": "Stop (DPT 1)",
"stop_address_invert_incoming": "Invert incoming",
"stop_address_invert_outgoing": "Invert outgoing", "stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)", "position_address": "Set position (DPT 5.001)",
"position_address_invert_incoming": "Invert incoming",
"position_address_invert_outgoing": "Invert outgoing", "position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)", "position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_incoming": "Invert incoming",
"position_state_address_invert_outgoing": "Invert outgoing", "position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)", "angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_incoming": "Invert incoming",
"angle_address_invert_outgoing": "Invert outgoing", "angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)", "angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_incoming": "Invert incoming", "angle_state_address_invert_outgoing": "Invert outgoing",
"angle_state_address_invert_outgoing": "Invert outgoing" "enabled": "Enabled"
} }
} }
} }

View File

@@ -0,0 +1,76 @@
from __future__ import annotations
from dataclasses import dataclass
from typing import Any
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.components.switch import SwitchEntity
from .const import CONF_PORTS, CONF_PORT_ENABLED, DOMAIN
from .bridge import iter_ports
@dataclass(frozen=True)
class PortDescriptor:
port_id: str
port_type: str
title: str
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities
) -> None:
entities: list[SwitchEntity] = []
for port in iter_ports(entry):
entities.append(
PortEnabledSwitch(entry, port.port_id, port.port_type, port.title)
)
async_add_entities(entities, update_before_add=True)
class PortEnabledSwitch(SwitchEntity):
_attr_has_entity_name = True
def __init__(self, entry: ConfigEntry, port_id: str, port_type: str, title: str):
self._entry = entry
self._port_id = port_id
self._port_type = port_type
self._title = title
self._attr_unique_id = f"{entry.entry_id}_{port_id}_enabled"
@property
def name(self) -> str:
return f"{self._title} Enabled"
@property
def device_info(self) -> DeviceInfo:
return DeviceInfo(
identifiers={(DOMAIN, self._entry.entry_id)},
name="HA KNX Bridge",
manufacturer="HA KNX Bridge",
model="Integration",
)
@property
def is_on(self) -> bool:
overrides = self._entry.options.get(CONF_PORT_ENABLED, {})
if self._port_id in overrides:
return bool(overrides[self._port_id])
return True
async def async_turn_on(self, **kwargs: Any) -> None:
await self._async_set_enabled(True)
async def async_turn_off(self, **kwargs: Any) -> None:
await self._async_set_enabled(False)
async def _async_set_enabled(self, enabled: bool) -> None:
overrides = dict(self._entry.options.get(CONF_PORT_ENABLED, {}))
overrides[self._port_id] = enabled
self.hass.config_entries.async_update_entry(
self._entry,
options={**self._entry.options, CONF_PORT_ENABLED: overrides},
)
await self.hass.config_entries.async_reload(self._entry.entry_id)

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -1,71 +1,113 @@
{ {
"options": { "options": {
"abort": { "abort": {
"no_ports_to_remove": "Es gibt noch keine Ports zum Entfernen." "no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
}, },
"step": { "step": {
"init": { "init": {
"title": "HA KNX Bridge Optionen", "title": "HA KNX Bridge Options",
"description": "Ports verwalten, wenn Subentries nicht verfügbar sind.", "description": "Manage ports when subentries are unavailable.",
"menu_options": { "menu_options": {
"add_binary_sensor": "Binary-Sensor-Port hinzufügen", "add_binary_sensor": "Add binary sensor port",
"add_switch": "Schalter-Port hinzufügen", "add_switch": "Add switch port",
"add_cover": "Cover-Port hinzufügen", "add_cover": "Add cover port",
"remove_port": "Port entfernen" "edit_port": "Edit port",
"remove_port": "Remove port"
} }
}, },
"add_binary_sensor": { "add_binary_sensor": {
"title": "Binary-Sensor-Port hinzufügen", "title": "Add Binary Sensor Port",
"data": { "data": {
"entity_id": "Binary-Sensor-Entity", "entity_id": "Binary sensor entity",
"state_address": "State-Gruppenadresse (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Eingehend invertieren", "state_address_invert_outgoing": "Invert outgoing",
"state_address_invert_outgoing": "Ausgehend invertieren" "enabled": "Enabled"
} }
}, },
"add_switch": { "add_switch": {
"title": "Schalter-Port hinzufügen", "title": "Add Switch Port",
"data": { "data": {
"entity_id": "Schalter-Entity", "entity_id": "Switch entity",
"command_address": "Command-Gruppenadresse (DPT 1)", "command_address": "Command group address (DPT 1)",
"command_address_invert_incoming": "Eingehend invertieren", "command_address_invert_outgoing": "Invert outgoing",
"command_address_invert_outgoing": "Ausgehend invertieren", "state_address": "State group address (DPT 1)",
"state_address": "State-Gruppenadresse (DPT 1)", "state_address_invert_outgoing": "Invert outgoing",
"state_address_invert_incoming": "Eingehend invertieren", "enabled": "Enabled"
"state_address_invert_outgoing": "Ausgehend invertieren"
} }
}, },
"add_cover": { "add_cover": {
"title": "Cover-Port hinzufügen", "title": "Add Cover Port",
"data": { "data": {
"entity_id": "Cover-Entity", "entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Auf/Ab)", "move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_incoming": "Eingehend invertieren", "move_long_address_invert_outgoing": "Invert outgoing",
"move_long_address_invert_outgoing": "Ausgehend invertieren", "move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address": "Move short (DPT 1.007 Schritt)", "move_short_address_invert_outgoing": "Invert outgoing",
"move_short_address_invert_incoming": "Eingehend invertieren",
"move_short_address_invert_outgoing": "Ausgehend invertieren",
"stop_address": "Stop (DPT 1)", "stop_address": "Stop (DPT 1)",
"stop_address_invert_incoming": "Eingehend invertieren", "stop_address_invert_outgoing": "Invert outgoing",
"stop_address_invert_outgoing": "Ausgehend invertieren", "position_address": "Set position (DPT 5.001)",
"position_address": "Position setzen (DPT 5.001)", "position_address_invert_outgoing": "Invert outgoing",
"position_address_invert_incoming": "Eingehend invertieren", "position_state_address": "State position (DPT 5.001)",
"position_address_invert_outgoing": "Ausgehend invertieren", "position_state_address_invert_outgoing": "Invert outgoing",
"position_state_address": "Positionsstatus (DPT 5.001)", "angle_address": "Set tilt (DPT 5.001)",
"position_state_address_invert_incoming": "Eingehend invertieren", "angle_address_invert_outgoing": "Invert outgoing",
"position_state_address_invert_outgoing": "Ausgehend invertieren", "angle_state_address": "State tilt (DPT 5.001)",
"angle_address": "Tilt setzen (DPT 5.001)", "angle_state_address_invert_outgoing": "Invert outgoing",
"angle_address_invert_incoming": "Eingehend invertieren", "enabled": "Enabled"
"angle_address_invert_outgoing": "Ausgehend invertieren",
"angle_state_address": "Tilt-Status (DPT 5.001)",
"angle_state_address_invert_incoming": "Eingehend invertieren",
"angle_state_address_invert_outgoing": "Ausgehend invertieren"
} }
}, },
"remove_port": { "remove_port": {
"title": "Port entfernen", "title": "Remove Port",
"data": { "data": {
"port_id": "Zu entfernender Port" "port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
} }
} }
} }

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -1,7 +1,8 @@
{ {
"options": { "options": {
"abort": { "abort": {
"no_ports_to_remove": "There are no ports to remove yet." "no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
}, },
"step": { "step": {
"init": { "init": {
@@ -11,6 +12,7 @@
"add_binary_sensor": "Add binary sensor port", "add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port", "add_switch": "Add switch port",
"add_cover": "Add cover port", "add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port" "remove_port": "Remove port"
} }
}, },
@@ -19,8 +21,8 @@
"data": { "data": {
"entity_id": "Binary sensor entity", "entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Invert incoming", "state_address_invert_outgoing": "Invert outgoing",
"state_address_invert_outgoing": "Invert outgoing" "enabled": "Enabled"
} }
}, },
"add_switch": { "add_switch": {
@@ -28,11 +30,10 @@
"data": { "data": {
"entity_id": "Switch entity", "entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)", "command_address": "Command group address (DPT 1)",
"command_address_invert_incoming": "Invert incoming",
"command_address_invert_outgoing": "Invert outgoing", "command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)", "state_address": "State group address (DPT 1)",
"state_address_invert_incoming": "Invert incoming", "state_address_invert_outgoing": "Invert outgoing",
"state_address_invert_outgoing": "Invert outgoing" "enabled": "Enabled"
} }
}, },
"add_cover": { "add_cover": {
@@ -40,26 +41,20 @@
"data": { "data": {
"entity_id": "Cover entity", "entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)", "move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_incoming": "Invert incoming",
"move_long_address_invert_outgoing": "Invert outgoing", "move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)", "move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_incoming": "Invert incoming",
"move_short_address_invert_outgoing": "Invert outgoing", "move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)", "stop_address": "Stop (DPT 1)",
"stop_address_invert_incoming": "Invert incoming",
"stop_address_invert_outgoing": "Invert outgoing", "stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)", "position_address": "Set position (DPT 5.001)",
"position_address_invert_incoming": "Invert incoming",
"position_address_invert_outgoing": "Invert outgoing", "position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)", "position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_incoming": "Invert incoming",
"position_state_address_invert_outgoing": "Invert outgoing", "position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)", "angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_incoming": "Invert incoming",
"angle_address_invert_outgoing": "Invert outgoing", "angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)", "angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_incoming": "Invert incoming", "angle_state_address_invert_outgoing": "Invert outgoing",
"angle_state_address_invert_outgoing": "Invert outgoing" "enabled": "Enabled"
} }
}, },
"remove_port": { "remove_port": {
@@ -67,6 +62,53 @@
"data": { "data": {
"port_id": "Port to remove" "port_id": "Port to remove"
} }
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
} }
} }
} }

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}

View File

@@ -0,0 +1,115 @@
{
"options": {
"abort": {
"no_ports_to_remove": "There are no ports to remove yet.",
"no_ports_to_edit": "There are no ports to edit yet."
},
"step": {
"init": {
"title": "HA KNX Bridge Options",
"description": "Manage ports when subentries are unavailable.",
"menu_options": {
"add_binary_sensor": "Add binary sensor port",
"add_switch": "Add switch port",
"add_cover": "Add cover port",
"edit_port": "Edit port",
"remove_port": "Remove port"
}
},
"add_binary_sensor": {
"title": "Add Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_switch": {
"title": "Add Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"add_cover": {
"title": "Add Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"remove_port": {
"title": "Remove Port",
"data": {
"port_id": "Port to remove"
}
},
"edit_port": {
"title": "Edit Port",
"data": {
"port_id": "Port to edit"
}
},
"edit_binary_sensor": {
"title": "Edit Binary Sensor Port",
"data": {
"entity_id": "Binary sensor entity",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_switch": {
"title": "Edit Switch Port",
"data": {
"entity_id": "Switch entity",
"command_address": "Command group address (DPT 1)",
"command_address_invert_outgoing": "Invert outgoing",
"state_address": "State group address (DPT 1)",
"state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
},
"edit_cover": {
"title": "Edit Cover Port",
"data": {
"entity_id": "Cover entity",
"move_long_address": "Move long (DPT 1.008 Up/Down)",
"move_long_address_invert_outgoing": "Invert outgoing",
"move_short_address": "Move short (DPT 1.007 Step)",
"move_short_address_invert_outgoing": "Invert outgoing",
"stop_address": "Stop (DPT 1)",
"stop_address_invert_outgoing": "Invert outgoing",
"position_address": "Set position (DPT 5.001)",
"position_address_invert_outgoing": "Invert outgoing",
"position_state_address": "State position (DPT 5.001)",
"position_state_address_invert_outgoing": "Invert outgoing",
"angle_address": "Set tilt (DPT 5.001)",
"angle_address_invert_outgoing": "Invert outgoing",
"angle_state_address": "State tilt (DPT 5.001)",
"angle_state_address_invert_outgoing": "Invert outgoing",
"enabled": "Enabled"
}
}
}
}
}