* 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 get_response to Assist satellite and ESPHome
* Rename get_response to ask_question
* Add possible answers to questions
* Add wildcard support and entity test
* Add ESPHome test
* Refactor to remove async_ask_question
* Use single entity_id instead of target
* Fix error message
* Remove ESPHome test
* Clean up
* Revert fix