Commit Graph
100 Commits
Author SHA1 Message Date
Omar Amin 2d460b6728 Leds and buttons events (#266)
Use events and commands to control custom onboard leds and buttons. Can be used to communicate with an external Python script via a WebSocket API running in a container alongside LVA.
2026-07-03 19:58:45 +03:00
Omar Amin e1770d071c Update README.md 2026-07-01 02:55:40 +03:00
Omar Amin 49b0937a13 Document continue-conversation-delay 2026-07-01 02:48:25 +03:00
Omar Amin 19c6322c28 Add audio input channels env 2026-06-24 22:57:31 +03:00
Omar Amin eb2d3b21b1 Allow using python versions above 3.11 (#345) 2026-06-22 21:53:18 +03:00
Omar Amin 479c1d1a97 Update webrtc to the latest version 2026-06-22 20:20:51 +03:00
Omar Amin a9f0af1287 Upgrade to Python 3.13 2026-06-22 20:19:35 +03:00
Omar Amin 1d84fa0898 Add delay to continue conversation before listening (#342)
Add a configurable amount of delay (defaulting to 0.5s) after the TTS playback is finished to avoid the mic to capture the end of response during start/continue conversation.

Fixes #313
2026-06-19 22:47:01 +03:00
Omar Amin eb29a00386 Enable dual audio input channel (#334)
This PR adds the ability to choose the microphone stream that works best with a particular STT engine using the new dual audio input channel feature.
2026-06-19 02:46:02 +03:00
Omar Amin 06f7256ebf Upgrade to aiosesphomeapi 45.3.1 2026-06-19 02:29:54 +03:00
Omar Amin 32f6de6222 Enhance wake word documentation (#336)
Added more detailed section for both MicoWakeWord&OpenWakeWord.
2026-06-09 01:29:42 +03:00
Omar Amin b339f76b7d Update formatting of requirements in README
Formatted requirements section for better readability.
2026-06-04 22:48:35 +03:00
Omar Amin 4ba509ab41 Revise README for clarity and hardware compatibility
Updated project description to clarify functionality and improved hardware compatibility notes.
2026-06-04 22:39:24 +03:00
Omar Amin 34edd1e67d App for HAOS (#325)
Added the app link for Home Assistant OS to the documentation.
2026-06-04 22:37:14 +03:00
Omar Amin 957cd205ef Add hey_morgan wakeword 2026-06-01 01:32:04 +03:00
Omar Amin 2a4a08a55b Add webrtc library links in audio options documentation
Updated documentation to include links to the webrtc library for gain and noise suppression features.
2026-05-28 18:24:58 +03:00
Omar Amin b1e36b0cc3 Update hardware compatibility details in README
Added requirement for 16kHz mono audio support for USB microphones to improve voice recognition performance.
2026-05-07 17:35:29 +03:00
Omar Amin 3ea32895ee Wake word sensitivity (#207)
## Summary
- Introduces configurable wake word and stop word sensitivity
- Adds UI-controllable thresholds for wake word detection
- Refactors wake word loading and handling logic
- Improves audio preprocessing and runtime behavior

## Key Features
- Per-wake-word sensitivity configuration (Wake Word 1 & 2)
- Configurable stop word sensitivity
- Fine-grained numeric control (0.0 – 1.0, step 0.001)
- Sensitivity values exposed as Number Entities for Home Assistant
- Persistent storage of user-defined sensitivity values

## Wake Word Handling
- Support for model-specific default thresholds (`probability_cutoff`)
- Automatic fallback to defaults if no user value is set
- Separate thresholds for:
  - Wake Word 1
  - Wake Word 2
  - Stop Word
- Unified handling for MicroWakeWord and OpenWakeWord models

## UI / API Integration
- Adds new Home Assistant entities:
  - `WakeWord1SensitivityNumberEntity`
  - `WakeWord2SensitivityNumberEntity`
  - `StopWordSensitivityNumberEntity`
- Entities support:
  - Live updates
  - Persistence via preferences
  - Synchronization with runtime state
- Pushes updated values to Home Assistant on startup

## Refactoring
- Extracted wake word logic into `wake_word.py`
  - Model discovery
  - Model loading
  - Stop word handling
- Simplified `__main__.py` by delegating wake word responsibilities
- Improved separation between configuration and runtime state

## Additional Changes
- Improved debug logging across initialization and runtime

## Impact
- Enables fine-tuning of wake word detection accuracy
- Reduces false positives and missed triggers
- Improves usability via UI-based configuration
- Provides better flexibility across different environments and microphones
2026-04-21 02:04:11 +02:00
Omar Amin 0de631160e Fix formatting issues in README.md 2026-04-21 00:46:01 +02:00
Omar Amin 4c9d92f499 Fix audio cuts and playback issues (#296)
Increase the audio-buffer seconds to initialise the sink stream.
2026-04-17 18:43:32 +02:00
Omar Amin a21d217d45 Fix duplicate MIC_VOLUME entry in install_application.md
Removed duplicate MIC_VOLUME entry from documentation.
2026-04-17 17:40:02 +02:00
Omar Amin 0722c40f67 Fix typo in Environment variable for MIC_VOLUME 2026-04-17 02:32:01 +02:00
Omar Amin 72311bf58a Fix spelling and document MIC_VOLUME in installation guide
Corrected spelling of 'Environment' and added documentation for MIC_VOLUME.
2026-04-17 02:30:07 +02:00
Omar Amin 995da72569 Add mic-volume option to README 2026-04-16 23:52:38 +02:00
Omar Amin 79dde095b0 Add mic volume argument to entrypoint script 2026-04-16 23:50:52 +02:00
Omar Amin c284806b73 Add the ability to control microphone volume (#287)
Control microphone volume via UI in device page. Set to the maximum by default and saved in preferences to restore upon restarts.
2026-04-10 01:33:34 +02:00
Omar Amin 88fb2c5a49 Start listening after stopping ringing timer using wake word (#275)
Wake-up after stopping ringing timer using wake words such as "Okay Nabu", "Hey Jarvis" rather than "Stop" to get another command instead of the need to repeat the wake word.
2026-03-31 00:11:25 +02:00
Omar Amin 412035e6b2 Fix lint formatting (#262) 2026-03-26 14:54:40 +02:00
Omar Amin 4194aa42ec Add maximum seconds for ringing timer (#261)
Auto stop ringing timer if the determined time (default 15 mins) has passed without manually stopping. This max time can be modified using the command `--timer-max-ring-seconds`.
2026-03-25 01:46:53 +02:00
Omar Amin d4f5b549da Update CHANGELOG.md 2026-03-15 05:46:06 +02:00
Omar Amin 735731b63e Fix typo in line 176 2026-03-11 03:01:00 +02:00
Omar Amin 893476ebf2 Merge pull request #224 from omaramin-2000/main
Update the changelog file automatically on each release
2026-03-11 01:42:25 +02:00
Omar Amin 50f6fef860 Create cliff.toml 2026-03-11 01:11:49 +02:00
Omar Amin cd453b685a Merge branch 'main' into main 2026-03-11 01:08:49 +02:00
Omar Amin 79c34cf0b3 Update CHANGELOG.md 2026-03-11 01:06:29 +02:00
Omar Amin fc8ee9b691 Update CHANGELOG.md 2026-03-11 01:05:53 +02:00
Omar Amin 7868f8fc8b Merge branch 'main' into main 2026-03-11 01:03:14 +02:00
Omar Amin 5771fb9e1e Update CHANGELOG.md 2026-03-11 01:02:23 +02:00
Omar Amin 25cd705d88 Delete release-please-config.json 2026-03-11 00:48:21 +02:00
Omar Amin f5b07381c6 Delete release-please-manifest.json 2026-03-11 00:48:09 +02:00
Omar Amin 50ac5f8783 Rename release-please.yml to release.yml 2026-03-11 00:47:46 +02:00
Omar Amin f81d21e37b Update release-please.yml 2026-03-11 00:44:09 +02:00
Omar Amin 53ae51cf52 Create release-please-manifest.json 2026-03-11 00:37:10 +02:00
Omar Amin 454a1ea281 Create release-please-config.json 2026-03-11 00:33:28 +02:00
Omar Amin 18d0a19cb4 Create release-please.yml 2026-03-11 00:29:18 +02:00
Omar Amin 9dcc4542a4 Enhance play method for playlist support (#172)
Refactor play method to support playlists and sequential playback.
2026-02-24 00:24:14 +01:00
Omar Amin 020b1f4ecf Merge pull request #168 from omaramin-2000/Volume-Persistence-Across-Restarts
Volume persistence across restarts
2026-02-22 22:06:29 +02:00
Omar Amin 15b87942c5 Merge branch 'main' into Volume-Persistence-Across-Restarts 2026-02-22 05:34:57 +02:00
Omar Amin 614bce4c55 Merge pull request #159 from ekiczek/fix/timer-loop-suppress
Fix timer finished sound not looping
2026-02-22 02:43:47 +02:00
Omar Amin c4e444f8ca Refactor volume setting and add persistence
Refactor volume handling to use _apply_volume method and persist volume settings if server state is available.
2026-02-22 00:50:17 +02:00
Omar Amin c81a707c6a Enhance volume persistence with logging
Add logging for volume persistence and conditionally skip saving if unchanged.
2026-02-22 00:43:32 +02:00
Omar Amin 981a786a46 Merge branch 'main' into Volume-Persistence-Across-Restarts 2026-02-21 22:19:05 +02:00
Omar Amin 38c064fc68 Update media player entity volume handling
Set the volume and previous volume for the media player entity based on the current state.
2026-02-21 16:27:06 +02:00
Omar Amin 0d34e67823 Enhance volume management in entity.py
Added initial volume parameter and volume control methods.
2026-02-21 16:26:13 +02:00
Omar Amin ac69618d29 Add volume handling to Preferences and persistence method
Added volume attribute to Preferences and implemented persist_volume method to save normalized media volume.
2026-02-21 16:25:16 +02:00
Omar Amin c91511c93e Initialize volume from preferences on startup
Load initial volume from preferences and constrain it between 0.0 and 1.0. Set volume for music and TTS players based on initial volume.
2026-02-21 16:24:40 +02:00
Omar Amin 7074dfb278 Merge branch 'main' into fix/timer-loop-suppress 2026-02-20 13:17:57 +02:00
Omar Amin cf5494642e Merge pull request #155 from giobber/patch-1
Correct LVA_USER_ID variable name where wrong
2026-02-17 23:20:52 +02:00
Omar Amin d6dbf83158 Merge pull request #144 from giobber/patch
Update documentation, correcting typo
2026-02-14 17:20:26 +02:00
Omar Amin 1a5281380b Update badge for Open Home Foundation project 2026-02-12 15:06:25 +02:00
Omar Amin f1460cceab Update badge description in README.md 2026-02-12 15:04:49 +02:00
Omar Amin e1cc9c5b1d Add badge for Open Home Foundation standard 2026-02-12 15:02:45 +02:00
Omar Amin 027c48fd7e Add Open Home Foundation badge to README
Added badge for Open Home Foundation standard.
2026-02-12 15:01:10 +02:00
Omar Amin 6add30f9f8 Fix formatting in README.md 2026-02-12 14:52:46 +02:00
Omar Amin 75085808a8 Fix formatting in README for clarity 2026-02-12 14:50:34 +02:00
Omar Amin 9e491a9e51 Merge branch 'main' into patch-1 2026-02-12 14:48:09 +02:00
Omar Amin 72dfc6db35 Merge branch 'main' into issue_128 2026-02-10 20:39:06 +02:00
Omar Amin c5032a0605 Merge branch 'main' into issue_107 2026-02-09 13:30:27 +02:00
Omar Amin 282aa7ecf0 Handle announcement separately from the media player
Update the announcement handling to just duck the music player volume instead of pausing it.
2026-02-08 16:11:11 +02:00
Omar Amin 7a92d69864 Merge pull request #116 from omaramin-2000/main
Add explanation for how to customize the default wakeup and timer sounds, and enable thinking sound on startup.
2026-01-29 00:30:57 +02:00
Omar Amin 405ab13abc Update README.md 2026-01-28 23:58:56 +02:00
Omar Amin 4e12be4ab6 Add sound customization
Add explanation for how to customize the default wakeup and timer sounds, and enable thinking sound on startup.
2026-01-28 23:57:39 +02:00
Omar Amin 89d9ba99a0 Merge pull request #112 from OHF-Voice/beta
Merge beta changes
2026-01-27 22:28:19 +02:00
Omar Amin 8cc7f175a0 Merge branch 'main' into beta 2026-01-27 22:08:15 +02:00
Omar Amin 5567d67305 Check for empty messages and handle thread-safety 2026-01-27 21:54:20 +02:00
Omar Amin 0330fe4e62 Add media player command 2026-01-27 21:52:48 +02:00
Omar Amin 3ddcac6e48 Update satellite.py 2026-01-27 19:03:38 +02:00
Omar Amin 22ea0fa20b Fix the mute method 2026-01-27 18:55:36 +02:00
Omar Amin 5186570bce Fix the switch state
Fix the reverting thinking sound switch when toggling
2026-01-27 01:36:37 +02:00
Omar Amin ed2065423e Update satellite.py 2026-01-24 21:59:24 +02:00
Omar Amin e1f5227174 Update satellite.py
Initialize the self._pipeline_active to fix issue #87
2026-01-24 21:37:07 +02:00
Omar Amin fcd1ab9969 Update satellite.py
Fix issue #87
2026-01-24 21:02:29 +02:00
Omar Amin 475f410ebc Merge pull request #100 from omaramin-2000/main
Fix issues #98 and #87
2026-01-24 18:36:16 +02:00
Omar Amin 25a15d0366 Update satellite.py 2026-01-24 18:33:08 +02:00
Omar Amin 993cef313d Merge branch 'OHF-Voice:main' into main 2026-01-21 18:25:49 +02:00
Omar Amin 34780cde54 Merge pull request #82 from omaramin-2000/Add-mute/unmute-sounds
Add mute/unmute sounds
2026-01-21 18:24:23 +02:00
Omar Amin 19ab96efad Merge branch 'OHF-Voice:main' into Add-mute/unmute-sounds 2026-01-21 15:57:53 +02:00
Omar Amin 88546839ee Merge branch 'OHF-Voice:main' into main 2026-01-21 15:50:10 +02:00
Omar Amin 689079598c Update satellite.py 2026-01-21 14:57:27 +02:00
Omar Amin 10713a7e70 Update satellite.py 2026-01-21 14:54:08 +02:00
Omar Amin 8743861738 Update satellite.py 2026-01-21 13:17:06 +02:00
Omar Amin 1352cb3ac3 Add mute/unmute sounds
Play the same mute/unmute sounds in the voice pe
2026-01-21 01:51:53 +02:00
Omar Amin a23cd2d492 Merge branch 'OHF-Voice:main' into main 2026-01-21 01:45:40 +02:00
Omar Amin 8ca997c7d3 Merge branch 'OHF-Voice:main' into Add-mute/unmute-sounds 2026-01-21 01:45:28 +02:00
Omar Amin 351886ea98 Update satellite.py 2026-01-21 01:33:56 +02:00
Omar Amin a4abda49db Merge branch 'OHF-Voice:main' into main 2026-01-21 01:28:39 +02:00
Omar Amin 6227cd7669 Update entity.py 2026-01-21 01:28:20 +02:00
Omar Amin ebaa3324d9 Update entity.py 2026-01-21 01:23:43 +02:00
Omar Amin e119ef0330 Fix the media player mute switch 2026-01-21 00:56:11 +02:00
Omar Amin 472fd4239b Add mute switch functionality 2026-01-21 00:30:03 +02:00