Skip to content

Releases: pentafive/web888-ha-bridge

v1.2.2: WebSocket Log Noise Reduction

Choose a tag to compare

@pentafive pentafive released this 06 Feb 16:31

Fixed

  • WebSocket Log Noise Reduction - Consolidated disconnect logging from 3 warnings per event per device to 1. Client-level WebSocket close and poll error messages demoted to DEBUG; coordinator emits single WARNING on first failure per cycle.

  • Exponential Reconnect Backoff - Added progressive backoff when device is unreachable: 10s → 20s → 40s → 80s → 160s → 300s max. Resets on successful reconnect. Prevents log flooding when SDR devices are temporarily offline.

  • Repeated Failure Log Demotion - After initial disconnect WARNING, subsequent reconnect attempts log at DEBUG level until connection is restored. Reduces log noise from ~190 warnings/32min to ~2 warnings per device.

  • pyproject.toml Version Sync - Fixed version mismatch (was 1.0.0, now synced to 1.2.2).

Added

  • Buy Me a Coffee Support Link - Added donation badge to README and .github/FUNDING.yml.

Full Changelog: https://github.com/pentafive/web888-ha-bridge/blob/master/CHANGELOG.md

v1.2.1: Bug fixes, MAC auto-discovery, diagnostics

Choose a tag to compare

@pentafive pentafive released this 25 Jan 22:56

What's Changed

Bug Fixes

  • EntityCategory.CONFIG Error - Changed to DIAGNOSTIC for feature flag binary sensors and session config sensors
  • WebSocket Disconnection Handling - Added keep-alive pings (ping_interval=20, ping_timeout=10)
  • WebSocket Authentication Validation - Now validates auth actually succeeded before continuing
  • Config Flow Import Error - Fixed missing return after ImportError in password validation
  • Callback Error Isolation - Wrapped callbacks in try/except to prevent WS disconnects
  • Thermal Warning Null Check - Fixed edge case when CPU temp is exactly 0°C
  • HTTP Session Management - Implemented connection pooling with session reuse
  • Web-888 Device Detection - Stricter validation (requires BOTH offline and users fields)
  • Config Drain Loop Timeout - Added 5-second overall timeout
  • Satellite Sensor Availability - Fixed sensors showing unavailable when <12 satellites tracked

New Features

  • MAC Address Auto-Discovery - Automatically discovers MAC/serial/DNA from WebSocket config_cb
  • Sequence Errors sensor - Diagnostic counter from device stats
  • Realtime Errors sensor - Diagnostic counter from device stats
  • Total Session Hours sensor - Combined runtime of all active channels
  • Preemptible Channels sensor - Count of channels that can be preempted
  • Enhanced Channel Attributes - session_time, session_seconds, preemptible

Documentation

  • Complete rewrite of Sensor-Reference.md documenting all ~74 sensors
  • Complete rewrite of Dashboard-Examples.md with comprehensive examples
  • New ft8-monitoring.yaml example dashboard for FT8/WSPR monitoring

Full Changelog: v1.2.0...v1.2.1

v1.2.0 - Full Device Configuration Exposure

Choose a tag to compare

@pentafive pentafive released this 25 Jan 06:57

What's New

All device configuration is now parsed from WebSocket load_cfg and load_adm messages and exposed as sensors.

Calibration Sensors (Diagnostic)

  • S-Meter Calibration - S-meter offset (dB)
  • Waterfall Calibration - Waterfall offset (dB)
  • DC Offset I/Q - ADC DC offset correction
  • Clock Adjustment - Clock trim value
  • ADC Clock Correction - ADC clock frequency correction
  • Overload Mute - Overload mute threshold (dB)

Session/Access Config Sensors

  • Inactivity Timeout - Auto-disconnect timeout (minutes)
  • IP Rate Limit - Per-IP connection rate limit (minutes)
  • Password-Free Channels - Channels without password requirement
  • Camping Slots - Number of camping slots allowed
  • API Channels - Channels for external API access
  • TDoA Channels - Channels for TDoA operations

Network Config Sensors

  • Configured IP - Static IP if configured
  • Service Port - Web service port

Device Info Sensors

  • Device Location - Location string from config
  • Antenna Description - Antenna info from config
  • Altitude ASL - Altitude above sea level (meters)
  • Owner Info - Owner contact email
  • Admin Email - Admin contact email

Feature Flag Binary Sensors (Config Category)

  • GPS Enabled - Whether GPS is enabled
  • GPS Correction - GPS frequency correction enabled
  • DRM Enabled - Digital Radio Mondiale extension enabled
  • WSPR Enabled - WSPR extension enabled
  • WSPR Spot Logging - WSPR spot logging to file
  • WSPR Auto-Update Grid - Auto-update grid from GPS
  • Server Enabled - KiwiSDR server mode enabled
  • Airband Mode - Airband receive mode
  • Static IP Mode - Using static IP configuration
  • SDR.hu Listed - Registered with SDR.hu directory
  • KiwiSDR.com Listed - Registered with KiwiSDR.com

Changed

  • Separate WSPR and FT8 Reporter Fields: Reporter callsign/grid now stored separately
    • wspr_callsign, wspr_grid - For wsprnet.org reporting
    • ft8_callsign, ft8_grid - For PSKReporter (falls back to WSPR if empty)

Technical Notes

  • New DeviceConfig dataclass with ~50 configuration fields
  • Parses both MSG load_cfg= and MSG load_adm= WebSocket messages
  • Feature flags use EntityCategory.CONFIG for HA organization
  • All config sensors require WebSocket/admin mode

Full Changelog: v1.1.0...v1.2.0

v1.1.0 - Admin Sensors, Channel Tracking, Thermal Alerts

Choose a tag to compare

@pentafive pentafive released this 25 Jan 05:05

What's New

New Sensors (WebSocket/Admin Mode)

  • CPU Frequency - Processor clock speed (MHz)
  • CPU Usage - Average CPU utilization (%)
  • Waterfall/HTTP Bandwidth - Data rates (B/s)
  • Audio Dropped/Underruns - Diagnostic counters
  • GPS Tracking/In Solution/Avg SNR - Extended GPS metrics
  • ADC Clock - Reference clock frequency
  • GPS Acquiring (binary) - Satellite acquisition status
  • Thermal Warning (binary) - CPU temperature alert

Channel Type Tracking (WebSocket Only)

  • FT8/WSPR/User/Idle Channels - Count by type
  • FT8/WSPR Total Decodes - Per-mode decode totals
  • Per-channel attributes: channel_type, extension, is_extension, client_ip

Reporter Config Auto-Discovery

  • Reporter Callsign/Grid - Auto-parsed from WebSocket config

New Sensors (Both Modes)

  • GPS Fixes/min, Fixes/hour - GPS fix rates
  • Frequency Offset - Calibration diagnostic

Features

  • Hybrid Mode: WebSocket now fetches HTTP /status for device metadata
  • Thermal Monitoring: Configurable CPU temp threshold (default 70°C)
  • Per-Satellite Sensors: Optional security monitoring (interference/LOS detection)
  • Dashboard Generator: Web tool at docs/dashboard-generator.html

Bug Fixes

  • Fix "Unnamed device" in Home Assistant device registry
  • Improve WebSocket error handling with specific exception types

Configuration Options

  • enable_satellites - Enable per-satellite sensors (default: false)
  • thermal_threshold - CPU temp warning threshold (default: 70°C)
  • pskr_callsign - PSKReporter callsign for correlation

Full Changelog: v1.0.0...v1.1.0

v1.0.0 - Initial Release

Choose a tag to compare

@pentafive pentafive released this 06 Jan 00:30

Web-888 HA Bridge v1.0.0

Monitor your Web-888 SDR software-defined radio receiver in Home Assistant.

Features

Two Deployment Options

  • HACS Integration - Native Home Assistant custom component with ConfigFlow UI
  • Docker/MQTT Bridge - Standalone container with MQTT auto-discovery

Connection Modes

  • HTTP Mode - No authentication required, basic sensors
  • WebSocket Mode - Full sensor set with admin password

Sensors Included

Category Sensors
Users Connected Users, Users Max
System Uptime, CPU Temperature*, ADC Overflow Count
GPS GPS Lock, GPS Fixes, GPS Good Satellites, Grid Square*, Latitude, Longitude, Altitude
Signal SNR All Bands, SNR HF
Status Connected, Antenna Connected, Offline, Device Status, Frequency Bands
Channels* Frequency, Mode, Decoded Count (×12 channels)

* WebSocket mode only

Installation

HACS (Recommended)

  1. Add https://github.com/pentafive/web888-ha-bridge as a custom repository in HACS
  2. Install "Web-888 SDR Monitor"
  3. Restart Home Assistant
  4. Add integration via Settings → Devices & Services

Docker

git clone https://github.com/pentafive/web888-ha-bridge.git
cd web888-ha-bridge
cp .env.example .env
# Edit .env with your settings
docker compose up -d

Documentation

Related Projects

Acknowledgements