Customisable MQTT entities in Home Assistant, full backend modularisation, and accessibility improvements.
Added
• Customisable MQTT Entities: Toggle entire categories or fine-tune individual entities published to Home Assistant from the MQTT settings tab. Withheld entities are unregistered using empty discovery payloads, preventing orphaned unavailable states. (#116)
• Accessibility Improvements: Enhanced MQTT entity list contrast and sizing (14px labels, 12px badges with WCAG AA compliant 7.4:1 contrast, and enlarged 16×16px checkboxes with padded touch targets). Monochrome accent matches the dark and light themes.
Changed
• Backend Modularisation: Decomposed server/tvweb.js into dedicated ES5 modules under server/lib/:
server/lib/mqtt.js: MiniMQTT 3.1.1 protocol clientserver/lib/ha.js: Home Assistant discovery builder, entity catalogue, and withholding filtersserver/lib/updater.js: OTA update checks, staging, verification, install, and rollbackserver/lib/privacy.js: On-TV adblocker (/etc/hosts), telemetry daemons, ACR toggles, and user consent flagsserver/lib/oled.js: OLED detection, wear stats, compensation cycles, TPC/GSR toggles, and service menu access
• Strict Node 0.12.2 ES5 compatibility maintained across all modules.