Commit Graph
307 Commits
Author SHA1 Message Date
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
Florian Asche 76308cc209 add more clear documentation on the start page (#166) 2026-02-20 19:21:53 +01:00
Florian AscheandFlorian Asche 70fab99c9f Feature/custom paths (#165)
* add possibility to add own wake words and sounds
* improve documentation

---------

Co-authored-by: Florian Asche <git@florian-asche.de>
v1.1.4
2026-02-20 19:05:38 +01:00
Omar Amin 7074dfb278 Merge branch 'main' into fix/timer-loop-suppress 2026-02-20 13:17:57 +02:00
Florian AscheandFlorian Asche 033ff45baf Documentation (#162)
* docs: add info about permission and fix variable name
* docs(install): simplify systemd service user setup
* docs: Remove LVA_USER_ID and LVA_USER_GROUP environment variables from the systemd unit example. The User directive is sufficient for defining the service user. Consolidated installation notes regarding user permissions.

---------

Co-authored-by: Florian Asche <git@florian-asche.de>
2026-02-19 23:00:03 +01:00
Ethan Kiczek 3834f51179 Fix timer finished sound not looping
Check if player is actually playing before calling stop(for_replacement=True)
in MpvMediaPlayer.play(). When the player was already idle,
stop(for_replacement=True) would set _suppress_end_event=True with no
end-file event to consume it. The next track's end-file callback would
then be incorrectly suppressed, breaking the timer loop.

- Import PlayerState to check player state
- Only call stop(for_replacement=True) when player is not IDLE
2026-02-18 18:13:51 -05: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
Elia Giacobazzi e1670ba5cf Correct LVA_USER_ID variable name where wrong 2026-02-17 17:26:26 +01:00
Florian AscheandFlorian Asche 05356acb3e fix bug in network-interface parameter usage
Co-authored-by: Florian Asche <git@florian-asche.de>
v1.1.3
2026-02-14 22:14:53 +01:00
Omar Amin d6dbf83158 Merge pull request #144 from giobber/patch
Update documentation, correcting typo
2026-02-14 17:20:26 +02:00
Elia Giacobazzi 358e02afd5 Add missing code block characters 2026-02-14 01:13:32 +01:00
Elia Giacobazzi ffabc7d9fd Update documentation, correcting typo
- Fix typo where variable LVA_USER_ID was written as USERLVA_
- Remove "sudo ln -sf" from descriptive text
- Add missing sudo command from two code blocks
- Add characters probably missign due to typos
2026-02-13 23:55:52 +01:00
Florian Asche 725c39013a Improve documentation (#141)
* add new parameter overview
* change download link for docker-compose setup to latest version
v1.1.2
2026-02-13 19:58:15 +01:00
Florian Asche 4052daae01 hotfix for mac-detection and various variable names (#139)
* Change Client-Name: The client name inside LVA is not capable of having spaces in the name. Fixed the example.
* Add first version of Docker-Compose for developers
* Add variable for network-interface and auto detection by default
* Added autodetection for the MAC-Address based on the detected or specified network-interface.
* Switched from listening on all IP-Addresses to the IP of the default interface, usually u set the correct network-interface and it will automatically detect the right IP-Address.
* Added missing variables, fixed variables names
* Fixed not working variables for example sound-files.
* Moved the auto-name creation from shell to python. The name is no longer mandatory, it will be generated if no name is given.
2026-02-13 19:50:20 +01:00
Florian Asche f72e5c8d30 Merge pull request #136 from Ziris85/EXTRA_ARGS-as-array
Changes EXTRA_ARGS variable to bash array to better handle  variable expansion
2026-02-12 20:47:42 +01:00
Florian Asche 8f39a281c9 Merge pull request #31 from Hedda/patch-1 (improved documentation)
Update README.md
2026-02-12 18:10:27 +01:00
Michael Hansen 097bd4b32c Merge pull request #138 from omaramin-2000/Add-Open-Home-Foundation-badge-to-README
Add open home foundation badge to readme
2026-02-12 08:38:44 -06: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
Adam Vest 612bd25650 Changes EXTRA_ARGS variable to bash array to better handle variables
Signed-off-by: Adam Vest <ziris85@live.com>
2026-02-11 22:46:43 -05:00
Florian Asche 4076a48815 Merge pull request #132 from OHF-Voice/feature/improve-github-workflow
changed github workflow naming
v1.1.1
2026-02-11 00:57:24 +01:00
Florian Asche d703197849 changed github workflow naming 2026-02-11 00:56:27 +01:00
Florian Asche 27cb9ada28 Merge pull request #129 from pgrafe/issue_128
media_player: handle STOP command correctly (fixes #128)
2026-02-11 00:34:40 +01:00
Florian Asche f8c7501fa4 Merge branch 'main' into issue_128 2026-02-11 00:34:28 +01:00
Michael Hansen 9fc165711a Merge pull request #118 from OHF-Voice/feature/add-docker
Add docker build pipeline and compose files
v1.1.0
2026-02-10 14:46:03 -06:00
Florian Asche d4edbc8333 Merge branch 'main' into feature/add-docker 2026-02-10 21:20:19 +01:00
Florian Asche db2de23f4f Merge pull request #123 from pgrafe/issue_107
Fix mpv pause state when loading new media
2026-02-10 21:18:14 +01:00
Omar Amin 72dfc6db35 Merge branch 'main' into issue_128 2026-02-10 20:39:06 +02:00
Philipp Grafe 72c7d4dff4 media_player: handle STOP command correctly (fixes #128)
Home Assistant sends MEDIA_PLAYER_COMMAND_STOP when the queue is cleared.
The MediaPlayer entity did not handle this command, causing playback to
continue without media metadata and leaving the UI in an inconsistent state.

This change adds explicit handling for the STOP command:
- stop playback via the music player
- reset the media player state to IDLE

This aligns the behavior with the original player and Home Assistant’s
expected media player semantics.
2026-02-10 18:58:55 +01:00
Philipp Grafe b2d4ec1413 Fix mpv pause state when loading new media
Prevent IDLE state and done callback on track replacement

mpv emits an end-file event when playback is stopped. During track
replacement this caused the media player to transition to IDLE and
notify Home Assistant even though a new track was already playing.

Introduce a suppression flag to distinguish track replacement from
natural playback end and avoid incorrect state transitions.
2026-02-10 14:27:22 +01:00
Florian Asche 5d3d82419e docs: added parameters 2026-02-09 18:09:14 +01:00
Omar Amin c5032a0605 Merge branch 'main' into issue_107 2026-02-09 13:30:27 +02:00
Philipp Grafe 3e893ab44b Fix mpv pause state when loading new media
- added some debug logging
2026-02-09 11:41:40 +01:00
Philipp Grafe f5b76b8921 TTS does not lower mpv music volume while speaking
- Fixes #126
- callback was missing
2026-02-08 18:29:40 +01:00
Florian Asche 761bcea5ac Merge branch 'main' into feature/add-docker 2026-02-08 17:23:39 +01:00
Florian Asche 31eeac8f68 Merge pull request #67 from jaminh/no-name-for-list
Don't require name for list commands
2026-02-08 17:21:21 +01:00
Florian Asche c346617c89 Merge branch 'main' into no-name-for-list 2026-02-08 16:54:47 +01:00
Florian Asche 5e4cee8ac5 Merge pull request #125 from omaramin-2000/main
Handle announcement separately from the media player
2026-02-08 16:54:00 +01: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
Florian Asche a9335bf6c7 fix output for pulseaudio check 2026-02-08 15:04:17 +01:00
Florian Asche 54aaad7a15 rename variables to prevent override by os 2026-02-08 15:01:26 +01:00
Florian Asche 0a79a5d8e6 add client name generation directly in entrypoint 2026-02-08 15:00:48 +01:00