Skip to content

Releases: SimoneB79/ha-linux-companion

v3.0.1 — Topbar scroll fix + login keyboard i18n

26 Jun 07:08

Choose a tag to compare

Fix

  • Topbar: touchmove ora usa capture:true per intercettare lo scroll prima dei listener di Home Assistant
  • Topbar: corretta direzione scroll — scroll giù (dito su) nasconde, scroll su (dito giù) mostra
  • Login: fix spazio nella tastiera che mostrava il template literal raw invece del testo tradotto

v3.0.0 — i18n Support (IT/EN)

24 Jun 14:42

Choose a tag to compare

What's New

🌐 Internationalization (i18n)

  • Full language support: Italian (default) and English
  • Language selector in settings overlay
  • Persistent language preference (localStorage)
  • 54 translation keys covering all UI strings
  • Dual support: local injection + IPC fallback

🐛 Bug Fixes (from v2.4.0)

  • WS reconnect storm fix (guard flag + cleanup)
  • Stale token on dashboard reload
  • Auto-recover from HA login page after restart
  • HA 2026.6.x sensor payload compatibility
  • Touchscreen topbar reveal improvement

🐳 Docker Support

  • Dockerfile with noVNC access
  • docker-compose.yml included

Full Changelog: v2.4.0...v3.0.0

v2.5.0

08 Jun 09:00

Choose a tag to compare

Bug Fixes

  • WS reconnect storm — guard against parallel WebSocket connections when HA returns 502
  • Dashboard shows login after HA restart — reload config from disk, use fresh access token for localStorage injection
  • WebView stuck on HA login page — auto-detect navigation to /auth/* URLs and reload dashboard
  • HA 2026.6.x sensor payload — strip registration-only fields from update_sensor_states

Compatibility

  • Home Assistant 2026.6.x required

v2.4.0

02 Jun 05:45
2f809fd

Choose a tag to compare

What's New

🔄 Auto-reconnect

Health check monitor detects when HA restarts and automatically reconnects (token refresh, WS, dashboard reload).

📊 Kiosk Status Bar

Auto-hiding status bar with swipe-up gesture, integrated settings gear.

🐛 Bug Fixes

  • WS auth loop fixed — WebSocket now reloads fresh token from disk on reconnect, preventing infinite connect/disconnect loops after token refresh.

📝 Docs

  • README: AI agent attribution (OpenClaw + Z.AI) + architecture section

Built by OpenClaw AI Agent (Z.AI model) with human supervision by SimoneB79

v2.2.0 — Auto-Reconnect + Kiosk Status Bar

01 Jun 07:09

Choose a tag to compare

🆕 Features

🔄 Auto-Reconnect (Health Monitor)

  • Companion automatically reconnects when HA or the server restarts
  • Pings HA every 60s (normal) or 10s (when offline)
  • On reconnect: refreshes token, reloads dashboard, restarts sensors, reconnects WebSocket

📊 Kiosk Status Bar

  • Professional top bar replaces the floating ⚙ gear button
  • Shows: clock, date, CPU temp, device name, settings gear
  • Auto-hides after 5 seconds — reappears on top-edge touch/mouse
  • Settings panel opens via gear tap or right-edge swipe
  • 50px height with 40×40 touch-friendly gear button

🐛 Bug Fixes

  • Companion no longer gets stuck on error page after HA restart
  • WebSocket reconnects properly with token refresh

v2.3.0 — Notification System, Hardware Integration & Remote Commands

26 May 08:24

Choose a tag to compare

🎉 v2.3.0 — Major Feature Release

🔔 Notification System

  • Custom HTML/CSS toast overlay injected into Lovelace dashboard
  • 5 priority levels: urgent (persistent + action button), high, default, low, min
  • Color-coded borders with animated slide-in/out and progress bar
  • Up to 3 stacked toasts with auto-dismiss
  • Notification settings menu: enable, sound, DND, duration, melody
  • Custom sounds: .wav/.ogg/.mp3/.flac from ~/.config/ha-linux-companion/sounds/
  • Channels: auto-created from data.channel, per-channel enable/sound/priority
  • Notification history with clear

🖥️ Hardware Integration

  • System clock with date and CPU temperature in settings menu
  • Hardware info panel: board model, CPU temp/freq, RAM, disk, OS, kernel, serial
  • Color-coded progress bars for CPU, RAM, disk usage
  • CPU governor selector: performance / powersave / ondemand / conservative / schedutil
  • Display ON/OFF control
  • Night scheduling: auto display off/on at configurable times
  • Network info: WiFi SSID, signal strength, IP, gateway, DNS
  • Audio output selector: switch between HDMI, jack, Bluetooth
  • System reboot/shutdown with confirmation
  • Update checker: shows latest stable and dev releases from GitHub

📡 Notification Commands

Control the panel remotely from any HA automation:

Command Description Data
command_screen_on Turn display on
command_screen_off Turn display off
command_screen_brightness_level Set brightness brightness: 0-100
command_volume_level Set volume volume_level: 0.0-1.0
command_dnd Toggle DND dnd: true/false
command_bluetooth BT on/off bluetooth: turn_on/turn_off
command_update_sensors Force sensor update
command_open_url Navigate to URL url: "https://..."
command_navigate Navigate HA path navigate: "/lovelace/0"
command_restart_app Restart Electron
command_reload_dashboard Reload dashboard
command_set_wallpaper Set background url: "https://..."
command_set_theme Set HA theme theme: "name"

Example Automation

automation:
  - alias: "Panel night mode"
    trigger:
      - platform: time
        at: "23:00:00"
    action:
      - service: notify.mobile_app_pannello
        data:
          message: command_screen_off

  - alias: "Panel morning"
    trigger:
      - platform: time
        at: "07:00:00"
    action:
      - service: notify.mobile_app_pannello
        data:
          message: command_screen_on
      - delay: 5
      - service: notify.mobile_app_pannello
        data:
          message: command_screen_brightness_level
          data:
            brightness: 80

Full Changelog

v2.0.0 → v2.3.0 — 10 commits on dev/notifications, now merged to main

  • Toast notification overlay with priority levels
  • Notification settings in overlay menu
  • Custom notification sounds support
  • Notification channels with auto-creation
  • Hardware integration (clock, display, CPU, network, audio)
  • Display night scheduling
  • Notification commands for remote panel control
  • Comprehensive README documentation

Assets

Source code available in the repository. Install via:

git clone https://github.com/SimoneB79/ha-linux-companion.git
cd ha-linux-companion
npm install
npm start

v2.3.0-dev — Hardware Integration & Notification Commands

26 May 07:53

Choose a tag to compare

🖥️ Hardware Integration & 📡 Notification Commands

System Clock

  • Time, date, CPU temperature displayed in settings menu header
  • Updates every second (clock) and 30s (temperature)

Display Controls

  • Monitor ON/OFF via vcgencmd / xset dpms
  • Night scheduling: auto display off/on at configurable times
  • Settings persisted in ~/.config/ha-linux-companion/schedule.json

Hardware Info Panel

  • Board model, CPU temp (color-coded bar), frequency
  • RAM usage with progress bar
  • Disk usage with progress bar
  • Uptime, serial number, OS, kernel, arch
  • Electron and Node.js versions

CPU Governor

  • Selectable: performance, powersave, ondemand, conservative, schedutil

Network Info

  • WiFi SSID, signal strength (% and dBm)
  • IP address, gateway, DNS, interface name

Audio Output Selector

  • Switch between HDMI, jack 3.5mm, Bluetooth via PulseAudio
  • Shows current default with ✓

System Power

  • Reboot and Shutdown buttons (with confirmation dialog)

Update Channel

  • Checks GitHub releases API for stable and dev versions
  • Shows current version badge with update notification

Notification Commands

Control the panel remotely from HA automations:

Command Description
command_screen_on Turn display on
command_screen_off Turn display off
command_screen_brightness_level Set brightness (data.brightness 0-100)
command_volume_level Set volume (data.volume_level 0.0-1.0)
command_dnd Toggle DND (data.dnd true/false)
command_bluetooth BT on/off (data.bluetooth turn_on/turn_off)
command_update_sensors Force sensor update
command_open_url Navigate to URL
command_navigate Navigate HA path
command_restart_app Restart Electron
command_reload_dashboard Reload dashboard
command_set_wallpaper Set background (data.url)
command_set_theme Set HA theme (data.theme)

Commands work via both WebSocket push and HTTP push.

Commits since v2.1.0-dev

  • 1d005f9 v2.2.0-dev — Hardware integration, system clock, display scheduling, network info
  • e3d59d4 Move clock inside settings menu panel
  • 3a58ed3 v2.3.0-dev — Notification commands (HA-remotable panel control)
  • 830d63e docs: update README

v2.1.0-dev — Notification System

26 May 06:49

Choose a tag to compare

Pre-release

🔔 Notification System

Toast Overlay

  • Custom HTML/CSS toast notifications injected into the Lovelace dashboard
  • Animated slide-in/out with progress bar for auto-dismiss
  • Up to 3 stacked toasts simultaneously
  • 5 priority levels: urgent (persistent + action button), high, default, low, min
  • Color-coded borders: 🔴 urgent, 🟡 high, 🔵 default, ⚪ low, ⚫ min
  • Action buttons support (primary/secondary)

Notification Settings (⚙ menu)

  • Enable/disable notifications
  • Sound on/off
  • Do Not Disturb mode
  • Popup duration: 4s / 6s / 10s / Never
  • Melody selection: Default / Success / Warning / Error
  • Recent notification history with clear

Custom Sounds

  • Place .wav, .ogg, .mp3, or .flac files in ~/.config/ha-linux-companion/sounds/
  • Selectable from the overlay menu
  • Preview on selection change

Channels

  • Auto-created when HA sends a notification with data.channel
  • Per-channel settings: enabled, sound, priority
  • Disabled channel = notification suppressed
  • Configurable from the overlay menu
  • Persisted in ~/.config/ha-linux-companion/channels.json

Sending Notifications

service: notify.mobile_app_pannello
data:
  title: "🚨 Alert"
  message: "Front door opened!"
  data:
    priority: high
    push_sound: warning
    channel: alarm
    channel_name: Allarmi

Commits

  • 534c722 v2.1.0-dev — Toast notification overlay
  • f6b31cd Notification settings in overlay menu
  • 7c06925 Custom notification sounds support
  • d2b2030 Notification channels — auto-create from HA, per-channel config
  • 8354837 docs: update README with notification system docs

v2.0.0 — Persistent Auth Sessions

26 May 04:54

Choose a tag to compare

What's Changed

🔐 New Auth System

  • New src/auth.js module — OAuth2 token management with persistent sessions
  • Uses home-assistant-js-websocket library for auth handling
  • Login with username/password now persists across reboots — no more re-login every restart!
  • Proactive token refresh: 5 minutes before expiry
  • If refresh fails: retries every 30s, NEVER wipes config
  • Long-lived token support for stable installations

🧹 Cleanup

  • Removed old inline auth methods from HAClient class
  • Cleaned up legacy Python app remnants

📋 Tested On

  • Raspberry Pi 5 (Debian Trixie, Wayland, 7" touch)
  • Raspberry Pi 4 (Debian Trixie, Wayland, DSI touch)

Full Changelog

v1.5.1...v2.0.0

v1.5.1 — Stable Release

25 May 14:58

Choose a tag to compare

HA Linux Companion v1.5.1

Bug Fixes

  • Token refresh: Fixed missing client_id in OAuth refresh request — tokens now auto-renew correctly
  • Audio EFAULT: Fixed execSync crash on Electron ARM/Wayland with proper encoding and stdio options

Notifications

  • Longer, more distinctive notification sounds (multi-tone presets)
  • Audio playback via pw-play for PipeWire backends
  • Fallback chain: pw-play > paplay > aplay

Assets

  • Added official app icon (SVG + PNG 512x512)

Tested On

  • Raspberry Pi 5 + 7in DSI touchscreen (HDMI audio)
  • Raspberry Pi 4 + 7in DSI touchscreen (headphone jack)
  • PipeWire audio mixing (squeezelite + notifications coexist)

Requirements

  • Node.js 20+
  • Electron 35+
  • PipeWire recommended (ALSA fallback supported)
  • Wayland or X11 display server

Full Changelog: https://github.com/SimoneB79/ha-linux-companion/commits/v1.5.1