Commit Graph
14 Commits
Author SHA1 Message Date
imonlinux 005900b2ae Update models.py
Replaced sounddevice with soundcard, removed the audio Queue, added the new download directory to the search path, and added the device listing arguments
2025-11-17 20:19:30 -08:00
imonlinux 324881ca8b Update models.py
Removed audio_queue, added download_dir, and updated AvailableWakeWord to use the new libraries
2025-11-17 20:18:38 -08:00
imonlinux 9d27b016ca Update models.py
Fixed LED startup state bug.
2025-11-17 18:04:34 -08:00
imonlinux 0f1ceefc5c Update models.py
Goal: satellite.py currently uses a set of boolean flags (_is_streaming_audio, _tts_played, _run_finished, _is_speaking) to figure out what it's doing. This is hard to read and easy to break. Replaced this with a clean, formal state machine (using an Enum). This makes the logic explicit and much easier to manage.

added the SatelliteState Enum at the top and removed the media_player_entity from ServerState as it's better managed by the satellite itself
2025-11-17 15:05:35 -08:00
imonlinux dbc371ce8f Bug Identified With GPIO LEDs (Grove) 2025-10-12 16:14:52 -07:00
imonlinux a435cc97e7 Implement MQTT for Advanced LVA Controls
Includes various compatibility fixes, reversions, and clean-up from the previous development cycle to create a stable base for the MQTT implementation. This ensures the application starts reliably with the pinned aioesphomeapi version.
2025-10-12 12:59:42 -07:00
imonlinux 834a15beb9 Revert API Microphone Mute Switch 2025-10-12 10:08:43 -07:00
imonlinux bceb7640ef Add Microphone Mute Switch Entity
Adds a mic_muted: bool flag to the ServerState dataclass to globally track the mute status of the microphone.
2025-10-11 17:07:15 -07:00
imonlinux 6e63111e63 Implement Volume Persistence
Adds a new volume_level: float field to the Preferences dataclass. This creates a dedicated entry in the preferences.json file to store the user's desired volume (from 0.0 to 1.0).
2025-10-11 15:33:13 -07:00
imonlinux 7f8bdefa39 Adds two new fields to the ServerState dataclass:
event_bus: EventBus

loop: asyncio.AbstractEventLoop

This provides a globally accessible instance of the event bus and the main asyncio event loop to any component that needs them.
2025-10-11 12:38:00 -07:00
Michael Hansen d5300ae694 Support openWakeWord 2025-09-16 15:05:18 -05:00
Michael Hansen e26864a191 Support multiple wake words 2025-09-15 11:29:28 -05:00
Michael Hansen 2c937e3cb3 Save preferences to JSON file 2025-09-15 11:06:09 -05:00
Michael Hansen ea901a1c14 Small refactor 2025-09-15 10:43:51 -05:00