Реліз v0.4.5Windows · Open source

Peripheral Battery Monitor

Легкий застосунок для Windows 11, який показує заряд бездротових мишей, клавіатур, гарнітур та інших пристроїв у треї — без фірмового ПЗ виробника та сторонніх драйверів.

  • v0.4.5останній реліз · 24 жовтня 2026 р.
  • 3способи читати заряд: HID, BLE, Windows
  • 2мови інтерфейсу
  • 0драйверів і прав адміністратора
Огляд

Про проєкт

Фірмові утиліти виробників показують заряд лише своїх пристроїв, часто вимагають окремих драйверів і працюють у фоні постійно. Peripheral Battery Monitor збирає заряд усіх бездротових пристроїв у треї та компактному дашборді.

Для пристроїв із власними протоколами — 2.4 GHz-приймача AJAZZ AJ139 і Apple Magic Keyboard — застосунок напряму читає HID-звіти про батарею. BLE-пристрої зі стандартним Battery Service зчитуються та надсилають сповіщення про зміну заряду, решта знаходиться через властивості батареї Windows. Встановлюється без прав адміністратора й оновлюється з GitHub Releases — останній реліз v0.4.5 вийшов 24 жовтня 2026 р..

Можливості

Що вміє система

  • Трей на ваш смак

    Одна спільна іконка до чотирьох пристроїв або окрема іконка для кожного; символи батареї чи найменший відсоток.

  • Компактний дашборд

    Картки пристроїв зʼявляються й зникають автоматично, з іконками типу та зʼєднання, сторінки замість прокрутки.

  • Bluetooth Battery Service

    BLE-пристрої зі стандартним сервісом батареї зчитуються при підключенні та надсилають сповіщення про зміну заряду.

  • Автовиявлення

    Bluetooth Classic, BLE і USB/HID-пристрої групуються за фізичним пристроєм без дублікатів.

  • Чесні дані

    Відключені й непідтверджені пристрої не потрапляють у трей і сповіщення, а відсутні дані не підміняються нулем.

  • Відключення з картки

    Bluetooth-пристрій можна відʼєднати з дашборду — спарювання при цьому зберігається.

  • Оновлення й відкат

    Вибір релізу для оновлення або повернення до старішої версії з перевіркою SHA-256; налаштування зберігаються.

  • Українська та англійська

    Перемикання мови інтерфейсу, налаштування в розділах «Загальні», «Іконки в треї», «Сповіщення».

  • Приватність

    Жодного кейлогінгу, телеметрії чи хмарних акаунтів — з клавіатури читається лише колекція батареї.

Архітектура

Як це побудовано

  1. Нативний лаунчер на C#

    Запускає застосунок у PowerShell runspace і перемикає активну версію через покажчик — оновлення та відкати розгортаються поруч.

  2. Провайдери пристроїв на C#

    AJ139 через 2.4 GHz-приймач (65-байтні HID-звіти, фільтр хибних стрибків заряду) і Apple Magic Keyboard через Bluetooth.

  3. Win32 HID, SetupAPI і BLE GATT

    P/Invoke у hid.dll і setupapi.dll для пошуку інтерфейсів за VID/PID; стандартні сервіс 180F і характеристика 2A19 для BLE.

  4. Інтерфейс на Windows Forms

    Трей, дашборд зі сторінками, стандартна панель інструментів Windows і налаштування; стан передається в UI через заблоковані знімки.

  5. CI/CD на GitHub Actions

    На windows-latest: тести парсерів, стабільності заряду, встановлення, оновлення й відкату; тег vX.Y.Z публікує реліз із SHA256SUMS.

Інтеграції

Зовнішні сервіси

  • GitHub ReleasesВибір релізу, оновлення й відкат із контролем цілісності.
  • Bluetooth LE Battery ServiceРівень заряду та сповіщення про зміни (0x180F / 0x2A19).
  • Властивості пристроїв WindowsЗаряд і стан зʼєднання для автовиявлених пристроїв.
  • AJAZZ AJ139 V2 MCВласний HID-протокол 2.4 GHz-приймача.
  • Apple Magic KeyboardЗвіти про батарею через Bluetooth.
Технології

Стек проєкту

Застосунок

  • PowerShell 5.1
  • C#
  • .NET Framework
  • Windows Forms

Windows API

  • HID
  • SetupAPI
  • Bluetooth LE GATT
  • Device Properties
  • P/Invoke

Інфраструктура

  • GitHub Actions
  • GitHub Releases
  • SHA-256

Маєте ідею або проєкт?

Відкритий до співпраці над бізнес-системами, CRM та інтеграціями. Напишіть — обговоримо.

vhnatovskyi@hotmail.com