mirror of
https://github.com/home-assistant/core.git
synced 2025-11-17 15:00:12 +00:00
* Initial implementation of hardware update model * Fixes * WIP: change the `homeassistant_sky_connect` integration type * More fixes * WIP * Display firmware info in the device page * Make progress more responsive * WIP: Yellow * Abstract the bootloader reset type * Clean up comments * Make the Yellow integration non-hardware * Use the correct radio device for Yellow * Avoid hardcoding strings * Use `FIRMWARE_VERSION` within config flows * Fix up unit tests * Revert integration type changes * Rewrite hardware ownership context manager name, for clarity * Move manifest parsing logic into a new package Pass the correct type to the firmware API library * Create and delete entities instead of mutating the entity description * Move entity replacement into a `async_setup_entry` callback * Change update entity category from "diagnostic" to "config" * Have the client library handle firmware fetching * Switch from dispatcher to `async_on_state_change` * Remove unnecessary type annotation on base update entity * Simplify state recomputation * Remove device registry code, since the devices will not be visible * Further simplify state computation * Give the device-less update entity a more descriptive name * Limit state changes to integer increments when sending firmware update progress * Re-raise `HomeAssistantError` if there is a problem during flashing * Remove unnecessary state write during entity creation * Rename `_maybe_recompute_state` to `_update_attributes` * Bump the flasher to 0.0.30 * Add some tests * Ensure the update entity has a sensible name * Initial ZBT-1 unit tests * Replace `_update_config_entry_after_install` with a more explicit `_firmware_info_callback` override * Write the firmware version to the config entry as well * Test the hardware update platform independently * Add unit tests to the Yellow and ZBT-1 integrations * Load firmware info from the config entry when creating the update entity * Test entity state restoration * Test the reloading of integrations marked as "owning" * Test installation failure cases * Test firmware type change callback failure case * Address review comments
22 lines
737 B
Python
22 lines
737 B
Python
"""Common constants for the SkyConnect integration tests."""
|
|
|
|
from homeassistant.helpers.service_info.usb import UsbServiceInfo
|
|
|
|
USB_DATA_SKY = UsbServiceInfo(
|
|
device="/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_9e2adbd75b8beb119fe564a0f320645d-if00-port0",
|
|
vid="10C4",
|
|
pid="EA60",
|
|
serial_number="9e2adbd75b8beb119fe564a0f320645d",
|
|
manufacturer="Nabu Casa",
|
|
description="SkyConnect v1.0",
|
|
)
|
|
|
|
USB_DATA_ZBT1 = UsbServiceInfo(
|
|
device="/dev/serial/by-id/usb-Nabu_Casa_Home_Assistant_Connect_ZBT-1_9e2adbd75b8beb119fe564a0f320645d-if00-port0",
|
|
vid="10C4",
|
|
pid="EA60",
|
|
serial_number="9e2adbd75b8beb119fe564a0f320645d",
|
|
manufacturer="Nabu Casa",
|
|
description="Home Assistant Connect ZBT-1",
|
|
)
|