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.
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).
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.