SWS-12500-custom-component/custom_components/sws12500
SchiZzA 1fe4d6da45
fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations
Security (from the deep audit):
- S1: health "integration_health" sensor no longer dumps the full snapshot in
  extra_state_attributes (readable by any HA user). public_health_snapshot()
  strips internal network details (source IP, internal URLs, raw add-on status);
  full data stays on the authenticated endpoint and admin-only diagnostics.
- S2: anonymize() now masks the Ecowitt passkey/PASSKEY.
- S3: Windy station id masked before logging the dataset.
- S4: diagnostics redacts internal network fields (source IP, URLs, raw_status).

i18n (Q1/Q2):
- Sync strings.json + en.json with the actual flow: add wslink_port_setup step,
  the ecowitt/pocasi/wslink_port_setup menu entries, the pocasi_* and
  windy_key_required error keys, the stale_sensors_detected issue; fix wrong data
  keys (WSLINK->wslink + legacy_enabled, POCASI_CZ_SEND_INTERVAL->POCASI_SEND_INTERVAL,
  pocasi_enabled_checkbox->pocasi_enabled_chcekbox); translate the English ecowitt
  options step (was Czech); de-duplicate the legacy-battery issue description.
- Q2: rename wbgt_index -> wbgt_temp to match the entity translation_key.
- cs.json: add windy_key_required and fix the pocasi data/data_description keys.

Tests: 300 passing, 100% coverage maintained; basedpyright clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 18:08:34 +02:00
..
translations fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00
__init__.py fix(routes): rebind sticky health route on reload; defensive resolve 2026-06-21 12:51:14 +02:00
battery_sensors.py Implement Ecowitt protocol support and dynamic binary sensor discovery. 2026-04-11 16:37:17 +02:00
battery_sensors_def.py fix: coordinator reuse, route dispatcher, binary sensor translations & test suite alignment 2026-06-01 17:01:40 +02:00
binary_sensor.py fix: coordinator reuse, route dispatcher, binary sensor translations & test suite alignment 2026-06-01 17:01:40 +02:00
config_flow.py fix: address review findings across forwarders and helpers 2026-06-21 12:51:35 +02:00
const.py fix: address review findings across forwarders and helpers 2026-06-21 12:51:35 +02:00
coordinator.py fix(security): authenticate health endpoint and stop webhook-id leak 2026-06-21 13:42:56 +02:00
data.py Add stall sensor detection. 2026-06-01 17:47:30 +02:00
diagnostics.py fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00
ecowitt.py fix: address review findings across forwarders and helpers 2026-06-21 12:51:35 +02:00
health_coordinator.py fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00
health_sensor.py fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00
icons.json Refactor SWS12500 integration for push-based updates 2026-01-27 09:21:27 +01:00
legacy.py fix: coordinator reuse, route dispatcher, binary sensor translations & test suite alignment 2026-06-01 17:01:40 +02:00
manifest.json Implement Ecowitt protocol support and dynamic binary sensor discovery. 2026-04-11 16:37:17 +02:00
pocasti_cz.py fix: address review findings across forwarders and helpers 2026-06-21 12:51:35 +02:00
routes.py fix(routes): rebind sticky health route on reload; defensive resolve 2026-06-21 12:51:14 +02:00
sensor.py fix(ecowitt): Connect Ecowitt bridge to sensor platform earlier 2026-06-21 11:28:24 +02:00
sensors_common.py fix: coordinator reuse, route dispatcher, binary sensor translations & test suite alignment 2026-06-01 17:01:40 +02:00
sensors_weather.py fix: address review findings across forwarders and helpers 2026-06-21 12:51:35 +02:00
sensors_wslink.py fix: address review findings across forwarders and helpers 2026-06-21 12:51:35 +02:00
staleness.py Add stall sensor detection. 2026-06-01 17:47:30 +02:00
strings.json fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00
sws12500 Add health diagnostic sensor and extensive tests for sws12500 2026-02-21 11:29:40 +01:00
utils.py fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00
windy_func.py fix(security)+i18n: stop health-attribute leak, mask secrets in logs, sync translations 2026-06-21 18:08:34 +02:00