* Initial commit for VegeHub integration
* Moved several pieces to library, continuing.
* All device contact moved to library
* Updated documentation link
* Fixed an error in strings.json
* Removed commented out code and unused file
* Removed unneeded info logging, and a few missed lines of commented code
* Added/removed comments for clarity
* Converted integration to use webhooks.
* Update __init__.py to remove unnecessary code.
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove unnecessary code from config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Simplify unique_id assertion.
* Switch to CONF_ constant for user input
* Added explanation for passing exception.
* Got rid of try-except, since I don't really handle the exceptions her anyway.
* Moved data transform to vegehub library
* Changed references to use HA constants.
* Fixed assigning and returning _attr properties.
* Moved temperature sensor transform to the library.
* Moved sensor names to strings.json
* Made webhook names unique to avoid collisions when multiple devices are added.
* Converted to using entry.runtime_data
* Removed options flow for first PR
* Removed switch support to limit PR to one platform
* Removed/updated outdated tests
* Update homeassistant/components/vegehub/__init__.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Got rid of strings in favor of constants.
* Got rid of unnecessary check
* Imported constant directly.
* Added custom type for entry
* Expanded CONF_ constants into sensor.py
* Get rid of extra `str` and `get`
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Added type to errors
* Added try/except to MAC address retrieval
* Moved functionality out of ConfigFlow that shouldn't have been there
* Removed IP:MAC tracking from ConfigFlow
* Added retries to VegeHub PyPI package, and implemented them in integration
* Removed different sensor types for now
* Fixed typo
* Changed abort to error
* Fixed error reporting in config flow
* Further simplify sensor.py to handle all sensors the same
* Added comment to clarify
* Got rid of unused constants
* Removed unused strings in strings.json
* Added quality_scale.yaml
* Fixed problems in sensor init
* Moved config url and sw version storage into vegehub package
* Get rid of extra declaration
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Removed unnecessary task
* Fix type for entry
* Added a test before setup
* Fixed tests and got test coverage of config flow to 100%
* Fixed test descriptions
* Implemented a coordinator
* Removed unused property
* Fixed a few minor issues with the coordinator implementation
* Removed unused function
* Fixed some tests
* Trying to fix a problem with re-initialization when server reboots. Mostly working.
* Moved hub.setup from async_setup_entry to config flow to avoid running it on system reboot
* Delete tests/testing_config/.storage/http.auth
* Fixed errors in coordinator.py
* Added IP validation for manual input IP addresses
* Moved data into self._discovered to simplify
* Removed redundant typing
* Shortened sensor unique ID and added coordinator handler
* Added call to super()._handle_coordinator_update() so state gets handled correctly
* Fixed == and is
* Got rid of "slot" and moved functionality to lib
* Got rid of mocked aiohttp calls in favor of just mocking the vegehub library
* Rewrote config flow to make more sense.
* Changed order of data and data_description
* Changes to sensor.py
* Got rid of async_update_data in coordinator and moved async_set_updated_data into webhook callback
* Changed sensor updates so that they keep using last known values if update doesn't contain data for them
* Changed config flow to use homeassistant.helpers.service_info zeroconf instead of homeassistant.components zeroconf
* Added types to test parameters
* Changes and notes in config_flow.py
* Minor fix to get existing tests working before making changes to tests
* Removed unused data and simplified data passing
* Fixed tests, removed unused data, moved sensor tests to snapshots
* Mocked async_setup_entry and async_unload_entry
* Eliminated retry step so that retries just happen in the user flow or zeroconf_confirm
* Bumped the library version
* Bumped library version again
* Changed test-before-setup test
* Improved use of coordinator
* Almost done reworking tests. A few more changes still needed.
* Added via device to sensor.py and key reference to strings.json
* Webhook tests are almost, but not quite, working
* Fully functional again
* Change error to assert
* made identifiers and via_device the same
* made the via_device just be the mac
* Fixed strings.json and updated translations
* Fixed test_sensor.py
* Cleaned up tests and added autouse to several fixtures to simplify
* Switched from error to assert, and added exemption to quality scale.
* Cleaned up some tests and added update of IP if unique ID of discovered device is the same.
* Improved zeroconfig to update IP and hostname, and added a test to make sure those work.
* Fixed a comment.
* Improved ip/hostname update test.
* Changed Hub to VegeHub in strings.json for clarity.
* Switched to using a base entity to simplify and make adding platforms in the future easier.
* Moved the vegehub object into the coordinator to simplify.
* Removed actuators from sensors, and added unique name for battery sensor
* Changed coordinator to manage its own data, changed sensors to use descriptions and return their value as a property
* Updated data retrieval keys
* Minor updates to several files
* Fixed a few things for pytest
* Reverted to explicit check for None for pytest
* Fixed a comment and a variable name
* Fixed a comment
* Fix
* Bumped depenency version to eliminate pytest from dependencies.
---------
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joostlek <joostlek@outlook.com>
* add altruist integration and tests
* requested fixes + remove some deprecated sensors
* add tests for unknown sensor and device attribute in config_flow
* use CONF_ in data_schema
* suggested fixes
* remove test_setup_entry_success
* create ZeroconfServiceInfo in tests
* use CONF_IP_ADDRESS in tests
* add unique id assert
* add integration to strict-typing, set unavailable if no sensor key in data, change device name
* use add_suggested_values_to_schema, mmHg for pressure
* update snapshots and config entry name in tests
* remove changes in devcontainer config
* fixture for create client error, typing in tests, remove "Altruist" from device name
* change native_value_fn return type
* change sensor.py docstring
* remove device id from entry data, fix docstrings
* remove checks for client and device attributes
* use less variables in tests
* change creating AltruistSensor, remove device from arguments
* Update homeassistant/components/altruist/sensor.py
* Update homeassistant/components/altruist/quality_scale.yaml
* Update homeassistant/components/altruist/quality_scale.yaml
* Update quality_scale.yaml
* hassfest run
* suggested fixes
* set suggested_unit_of_measurement for pressure
* use mock_config_entry, update snapshots
* abort if cant create client on zeroconf step
* move sensor names in translatin placeholders
---------
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Create component via script.scaffold
* Create sensor definition
* Define coordinator
* Define config flow
* Refine sensor definition and add tests
* Refine coordinator after testing end to end
* Redefine sensor in a more idiomatic way
* Use entity (common-module)
* Follow config-flow conventions more closely
* Use custom ConfigEntry to conform to strict-typing
* Define API object instead of using aio directly
* Test before setup in init
* Add diagnostics
* Make some more quality changes
* Move scan interval to const
* Commit generated files
* Add quality scale
* feedback: Apply consistent language to Tilt Pi refs
* feedback: Remove empty manifest fields
* feedback: Use translations instead of hardcoded name
* feedback: Remove diagnostics
* feedback: Idiomatic and general improvements
* Use tilt-pi library
* feedback: Coordinator data returns dict
* feedback: Move client creation to coordinator
* feedback: Request only Tilt Pi URL from user
* Update homeassistant/components/tilt_pi/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/tilt_pi/sensor.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update homeassistant/components/tilt_pi/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* feedback: Avoid redundant keyword arguments in function calls
* feedback: Remove unused models and variables
* feedback: Use icons.json
* feedback: Style best practices
* Update homeassistant/components/tilt_pi/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Update tests/components/tilt_pi/test_config_flow.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* feedback: Improve config flow unit tests
* feedback: Patch TiltPi client mock
* feedback: Mark entity-device-class as done
* feedback: Align quaity scale with current state
* feeback: Create brands file for Tilt brand
* feedback: Demonstrate recovery in config flow
* feedback: Test coordinator behavior via sensors
* Update homeassistant/components/tilt_pi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/tilt_pi/coordinator.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/tilt_pi/quality_scale.yaml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/tilt_pi/quality_scale.yaml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/tilt_pi/quality_scale.yaml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/tilt_pi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* feedback: Update tilt_pi quality scale
* feedback: Move const to coordinator
* feedback: Correct strings.json for incorrect and missing fields
* feedback: Use tiltpi package version published via CI
* Run ruff format manually
* Add missing string for invalid host
* Fix
* Fix
---------
Co-authored-by: Michael Heyman <michaelheyman@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Add AI Task integration
* Remove GenTextTaskType
* Add AI Task prefs
* Add action to LLM task
* Remove WS command
* Rename result to text for GenTextTaskResult
* Apply suggestions from code review
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Add supported feature for generate text
* Update const.py
Co-authored-by: HarvsG <11440490+HarvsG@users.noreply.github.com>
* Update homeassistant/components/ai_task/services.yaml
Co-authored-by: HarvsG <11440490+HarvsG@users.noreply.github.com>
* Use WS API to set preferences
* Simplify pref storage
* Simplify pref test
* Update homeassistant/components/ai_task/services.yaml
Co-authored-by: Allen Porter <allen.porter@gmail.com>
---------
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: HarvsG <11440490+HarvsG@users.noreply.github.com>
* add immich integration
* bump aioimmich==0.3.1
* rework to require an url as input and pare it afterwards
* fix doc strings
* remove name attribute from deviceinfo as it is default behaviour
* add translated uom for count sensors
* explicitly pass in the config_entry in coordinator
* fix url in strings to uppercase
* use data_updates attribute instead of data
* remove left over
* match entries only by host
* remove quotes
* import SOURCE_USER directly, instead of config_entries
* split happy and sad flow tests
* remove unneccessary async_block_till_done() calls
* replace url example by "full URL"
* bump aioimmich==0.4.0
* bump aioimmich==0.5.0
* allow multiple users for same immich instance
* Fix tests
* limit entities when user has no admin rights
* Fix tests
* Fix tests
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* Remove myself as code owner
I'm haven't actively been working on this for some time. Have removed myself as a code owner.
* cleanup
* cleanup
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Improve Voip pipeline stability
It appears the pipeline is being unexpectedly cancelled in some
instances. In order to mitigate this issue hang ups will be detected
using a separate task rather than relying on timeouts in the STT read
method. Also reading STT events will be retried once if it is cancelled.
The pipeline will also catch and log any CancelledErrors to help with
further debugging.
* Update Voip tests
* Remove unnecessary changes
Remove unnecessary logging and cancelled error handling in wyoming STT.
* Remove comment about clearing system prompt
The test no longer checks for clearing the system prompt. Since that
logic exists completely in the assist_satellite component I think it is
reasonable to only test that logic in the unit tests for that component.
* Re-raise cancellation
Re-raise CancelledError if the current task is cancelling in the check hangup task
Co-authored-by: J. Nick Koston <nick@koston.org>
* Re-raise CancelledError in pipeline as well
* Fix formatting issue
* Remove unnecessary logging
* Add MockResultStream import to tests
This was presumably missed while merging
* Cancel check hangup task on disconnect
* Add myself as codeowner for VoIP
* Update CODEOWNERS
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Give entry unique id with MAC, strings.json tweaks
* Update codeowners
* Add config_flow tests
* Update requirements
* Update homeassistant/components/zimi/__init__.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Store controller reference in entry.runtime_data instead of hass.data
* Add typing
* Removed hass data pop on unload. (No longer needed when hass data moved for runtime_data)
* Refactor config_flow based on feedback from @zweckj with inline validation, simpler defaults, better description data
* Add Michael to codeowners
* Remove manual debug override in entity
* Populate via_device
* remove empty keys from manifest.json
* Refactor with DataUpdateCoordinator
Device Entities use existing push update method
* set via_device to match zcc identifier
* Changed logger to use debug level
* Define the zimi constants
* Move extraaneous code out from try
* Move __del__ to async_wil_remove_from_hass
* Use zcc device for name
* Print debug if mac mismatch
Add final exception if api is not ready after connect
* Re-work configuration flow:
1. Remove unused CONF_TIMEOUT, CONF_VERBOSITY and CONF_WATCHDOG
2. Move connect() logic out of ZimiCoordinator
3. Add fast connect check during ConfigFlow to check mac matches
4. Use zcc version 3.2.3 with default watchdog time value (and remove this from HA)
* Add error detail to mac mismatch
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/const.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/coordinator.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/coordinator.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove coordinator and move setup to __init__
* Set name in _attr_name
* Use _light directly for status etc; Remove _state and _brightness; SImplify update()
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* No need to delete device, fix return
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove non-failing items from try
Abort duplicate configurations
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Move attr change to notify
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/__init__.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Remove superflous defalt
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Move aysnc_connect_to_controller to helpers.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Invert if api
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Added ZimiConfigEntry to type runtime_data correctly.
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Use _abort_if_unique_id_configured
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Invert error logic for cleaner flow
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
* Add ZimiDimmer class
* Set colour_mode only in ZimiDimmer
* Use device name instead of entity name
Update deviceinfo for zcc
Update deviceinfo for lights
More ZimiDimmer and ZimiLight cleanup
* Update homeassistant/components/zimi/__init__.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/__init__.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Add missing import for CONNECTION_NETWORK_MAC
* @mhannon11 Fixed some minor style changes BUT these tests need re-working now that the config_flow has a second call to the zcc helper to check the API. The tests as written now fail with connect_fail
* Remove some code from try
* Moved static items from initialiser
* Remove superflous assert when unloading entry
* refactor - move title out of data
* One call to async_add_entities
Update ZimiDimmer to initialise color_modes after calling super()
* Create ZimiEntity base class
(as ToggleEntity)
* Updated test of config_flow
* Move api_mock parameters to test cases
* Much improved tests
* Test for input value mismatch and then recovery of flow
* Import FlowResultType
* Implement Entities event setup correctly
* Initial quality_scale.yml
* Update homeassistant/components/zimi/quality_scale.yml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/manifest.json
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Add link to zcc repo
* Update homeassistant/components/zimi/entity.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/entity.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Removed unecessary f-strings
* Filled in all of the quality scale
* Updated in line with latest documentation improvements
* FIx missing import for Entity
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Simplify logger and throw
* Update homeassistant/components/zimi/helpers.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Re-factor config_flow with multi-stage steps
* Add comments to notify
* Don't set hw_version
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/quality_scale.yml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* mark docs-troubleshooting done
* Update with zcc-helper version supporting PEP 625 sdist rules on PyPi
* Comment re characteristic ID
* Pulls in latest zcc that closes UDP listening port correctly after discovery timeout
* Re-factored config_flow
1. Try discovery and auto-populate
2. Try manual configuration (with optional values for port and mac)
In most cases, auto-discovery does it all.
Discovery will only fail if UDP broadcast is not possible to/from zcc.
* Do not show error message if discovery fails
* Refactor with self.data and async_show_step_finish()
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/quality_scale.yml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/quality_scale.yml
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/entity.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/light.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* refactor import to use ConfigFlow
* Change status for discovery
* Add dynamic title to config flow
* string
* Revert title from form but add IP:port to static title
* Automatically finish configuration if possible, if not show form
* Use StrEnum instead of Exception class
* Remove MAC from user forms
* Disconnect api before form completion
* Assign to self.mac instead of returning as detail
* Updated test suite
* Update test status
* mark action exemptions todo
* Remove mac related error cases from flow completely
* Remove unused MAC error strings
* Moved error details to logs
Removed _error_tuple
Removed error details
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* rename check_errors
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Update zcc-helper and support HA devices via zcc manufacter_info fields
* Partial implementation - Use updated zcc-helper to discover multiple controllers
* Config_flow with support for auto-discovery of one or more zcc or fallback to manual configuration.
* Don't re-connect to api if validate_connection already did
* Make fast=False is used for creation
* Pull in improved zcc_helper version to address data completeness after machine_info implementation
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Import and use ConfigFlowResult
* Latest zcc to fix discovers() return value bug
* Update config_flow.py
* Update homeassistant/components/zimi/manifest.json
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Use latest release version of 3.3 (no changes to rc4)
* Improved sentence casing
* Update strings.json
* Update homeassistant/components/zimi/entity.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Remove superflous logging
Use Zimi network_name as ZCC name
Cleanup device info inputs
* Remove __del__
* Rename arguments
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Move PLATFORMS to init
* Update homeassistant/components/zimi/light.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove debug at init
* Update homeassistant/components/zimi/helpers.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove _attr_has_entity = False
* More naming changes
* Revised config_flow to use zcc-helper for validation using new zcc-helper version
* Update homeassistant/components/zimi/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Removed commented enum
* s/_entity/_device/g
* Update homeassistant/components/zimi/entity.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/helpers.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Don't log error when raising exception
* Updated tests for new config_flow
* Refactor with new zcc that uses Exception classes to pass errors
* Updated tests for config_flow to use Exceptions
* Device name is based on model
* Device name is None
Maps better to ZCC concept where devices do not have a name but the individual entities have names.
* Fix quality filename
* Bump zcc-helper to 3.4 release version
* Remove name override
* Bump zcc-helper to 3.4.1 with new device_name attribute used to populate devinfo
* Update homeassistant/components/zimi/light.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add missing transalation picked up by CI
* Update homeassistant/components/zimi/light.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump zcc-helper to only classify light and dimmer controlPointType as lights
* Bump to non dev version of zcc-helper
* Ruff fixes
* Add missing data description for pytest
* Remove confusing comment
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/const.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/const.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/const.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/zimi/light.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* f-strings
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Assert result type, step and errors between each step
* test for duplicate entry
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/zimi/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove duplicate test for discovery failure
* Calculate brightness
* Don't re-raise Exception in helper
* Fix ruff and mypi errors
* Add tests for missing connection exceptions
* Added standard invalid_host and timeout strings
* Explain limitations in discovery.
* Update quality_scale.yaml
* Update quality_scale.yaml
* Removed duplicate strings with reference
---------
Co-authored-by: markhannon <mark.hannon@gmail.com>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove dependency on modbus for stiebel_eltron
The modbus integration changed its setup, so it is
not possible anymore to have an empty hub.
* Add config flow
* Update pystiebeleltron to v0.1.0
* Fix
* Fix
* Add test for non existing modbus hub
* Fix tests
* Add more tests
* Add missing translation string
* Add test for import failure
* Fix issues from review comments
* Fix issues from review comments
* Mock stiebel eltron client instead of setup_entry
* Update homeassistant/components/stiebel_eltron/__init__.py
* Update homeassistant/components/stiebel_eltron/__init__.py
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* multiple homes support, all zones visible
* Update homes and zones
* set zone, target temp, curent temp, hot water type fixes
* Hotwater devices added
* Mode ajust
* next version could be 0.4.4
* depricated climate feature removed ClimateEntityFeature
* Migrate to pyephember2
* HEAT_COOL mode
* Revert EPH_TO_HA_STATE to HEAT_COOL
* homes and ember declaretion removed
* cleaning try catch blocks, flatten list on zones
* refactored
* Version updated
* try catch returned
* pyephember2==0.4.12
* Update homeassistant/components/ephember/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* reverting unique_id and depricated vClimateEntityFeature.AUX_HEAT
* Update homeassistant/components/ephember/climate.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Initial commit prototype with empty inverters
* Use modern methods and global variable for character strings
* Platform that get the value of the meter in an entity
* Add check if inverter already configured
* Add tests for config_flow
* Update "imeon_inverter_api" in manifest.json
* Update "imeon_inverter_api" in requirements_all.txt
* Remove async_setup, clean comments, use of const PLATFORM
* Use of global variable and remove configuration of device name
* Use of entry.data instead of user_input variable
* Remove services.yaml
* No quality scale
* Use of common string
* Add sensors, use of EntityDescription and '_attr_device_info'
* Remove name from config_flow tests
* Use sentence case and change integration from hub to device
* Check connection before add platform in config_flow
* Use of _async_setup and minor changes
* Improve sensor description
* Add quality_scale.yaml
* Update the quality_scale.json
* Add tests for host invalid, route invalid, exception and invalid auth
* Type more precisely 'DataUpdateCoordinator'
* Don't use 'self.data' directly in coordinator and minor corrections
* Complete full quality_scale.yaml
* Use of fixtures in the tests
* Add snapshot tests for sensors
* Refactor the try except and use serial as unique id
* Change API version
* Add test for sensor
* Mock the api to generate the snapshot
* New type for async_add_entries
* Except timeout error for get_serial
* Add test for get_serial timeout error
* Move store data out of the try
* Use sentence case
* Use of fixtures
* Use separates fixtures
* Mock the api
* Put sensors fake data in json fixture file
* Use of a const interval, remove except timeout, enhance lisibility
* Try to use same fixture in test_config_flow
* Try use same fixture for all mock of inverter
* Modify the fixture in the context manager, correct the tests
* Fixture return mock.__aenter__ directly
* Adjust code clarity
* Bring all tests to either ABORT or CREATE_ENTRY
* Make the try except more concise
* Synthetize exception tests into one
* Add code clarity
* Nitpick with the tests
* Use unique id sensor
* Log an error on unknown error
* Remove useless comments, disable always_update and better use of timeout
* Adjust units, set the model and software version
* Set full name for Battery SOC and use ip instead of url
* Use of host instead of IP
* Fix the unit of economy factor
* Reduce mornitoring data display precision and update snapshots
* Remove unused variable HUBs
* Fix device info
* Set address label 'Host or IP'
* Fix the config_flow tests
* Re evaluate the quality_scale
* Use of 'host' instead of 'address'
* Make inverter discoverable by ssdp
* Add test ssdp configuration already exist
* Add exemption in quality scale
* Test abort ssdp if serial is unknown
* Handle update error
* Raise other exceptions
* Handle ClientError and ValueError from the api
* Update homeassistant/components/imeon_inverter/quality_scale.yaml
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
* Add Pterodactyl integration
* Remove translation for unavailable platform sensor, use constant for host
* Improve data descriptions
* Replace index based handling of data (list) with dict[str, PterodactylData]
* Replace CONF_HOST with CONF_URL
* Parse URL with YARL
* Set proper availability in binary sensor
* Remove storage of data within api.py
* Fix some review findings
* Use better unique ID for binary_sensor
* Fix more review findings
* Fix remaining review findings
* Add wrapper for server and util API, use underscore in unique ID
* Reuse result in config flow tests
* Patch async_setup_entry in config_flow tests
* Move patching of library APIs to the fixture mock_pterodactyl
* Add remote_calendar with storage
* Use coordinator and remove storage
* cleanup
* cleanup
* remove init from config_flow
* add some tests
* some fixes
* test-before-setup
* fix error handling
* remove unneeded code
* fix updates
* load calendar in the event loop
* allow redirects
* test_update_failed
* tests
* address review
* use error from local_calendar
* adress more comments
* remove unique_id
* add unique entity_id
* add excemption
* abort_entries_match
* unique_id
* add ,
* cleanup
* deduplicate call
* don't raise for status end de-nest
* multiline
* test
* tests
* use raise_for_status again
* use respx
* just use config_entry argument that already is defined
* Also assert on the config entry result title and data
* improve config_flow
* update quality scale
* address review
---------
Co-authored-by: Allen Porter <allen@thebends.org>