1
0
mirror of https://github.com/natekspencer/hacs-oasis_mini.git synced 2025-12-06 18:44:14 -05:00
Commit Graph

173 Commits

Author SHA1 Message Date
Nathan Spencer
4336f658c4 Make device own required steps when setting playlist 2025-11-26 20:32:12 +00:00
Nathan Spencer
50773c582c Merge pull request #108 from natekspencer/validate-workflow
Updates the GitHub Actions validation workflow with configuration refinements
2025-11-26 13:08:50 -07:00
Nathan Spencer
461165673c Update validate workflow 2025-11-26 20:03:08 +00:00
Nathan Spencer
8d3cc00ebc Merge pull request #107 from natekspencer/track-image-url
Use helper to get image from track dictionary
2025-11-26 12:52:09 -07:00
Nathan Spencer
c4fd6a7ef6 Use helper to get image from track dictionary 2025-11-26 19:46:02 +00:00
Nathan Spencer
5dc49b6a68 Merge pull request #106 from natekspencer/media-player-enhancements
Enhance media player entity with browse/search capability
2.1.0
2025-11-25 12:27:48 -07:00
Nathan Spencer
e1599b7c47 Address PR review 2025-11-25 19:08:02 +00:00
Nathan Spencer
c1754ad959 Enhance media_player with browse/search capability 2025-11-25 18:33:32 +00:00
Nathan Spencer
8abd20a4ff Merge pull request #105 from natekspencer/issue-templates
* **Chores**
  * Added structured issue templates for bug reports and feature requests to standardize information collection.
  * Disabled blank issue creation to encourage use of proper templates.
2025-11-25 10:10:39 -07:00
Nathan Spencer
cad03269ef Add issue templates 2025-11-25 17:03:01 +00:00
Nathan Spencer
a06c2b41b6 Merge pull request #104 from natekspencer/dispatcher
* **Performance Improvements**
  * Devices are integrated only after full initialization for more reliable discovery and faster setup.
  * Reduced unnecessary status requests for sleeping/inactive devices to conserve bandwidth and improve efficiency.
  * Improved real-time tracking so device state changes are reflected more quickly.

* **New Features**
  * Newly initialized devices are added dynamically as they come online, improving responsiveness to device additions.
2025-11-25 09:49:09 -07:00
Nathan Spencer
a3d58017b4 Address nitpick comments 2025-11-25 16:40:41 +00:00
Nathan Spencer
eecf5e90dc Don't wait on devices to initialize during coordinator update, implement dispatcher for device initialization/setup 2025-11-25 16:29:36 +00:00
Nathan Spencer
d9fa3b8c9e Merge pull request #102 from natekspencer/device-initialized
Add helper to check for device initialization instead of first status
2025-11-24 13:55:28 -07:00
Nathan Spencer
e4ccee0698 Update coordinator to not fail if no devices have been initialized 2025-11-24 20:48:46 +00:00
Nathan Spencer
e6e84f8984 Add helper to check for device initializtion instead of first status 2025-11-24 20:31:57 +00:00
Nathan Spencer
009cd8cde3 Fix missing dependency for update tracks action (#101) 2.0.0 2025-11-24 12:17:53 -07:00
Nathan Spencer
a3ea4dc05a Add convenience properties and more logging to mqtt client, better mqtt management via coordinator (#100)
* Add convenience properties and more logging to mqtt client, better mqtt management via coordinator

* Address PR comments

* Address PR comments

* Fix
2025-11-24 11:54:04 -07:00
Nathan Spencer
379b6f67f2 Swap out direct HTTP connection with server MQTT connection to handle firmware 2.60+ (#98)
* Switch to using mqtt

* Better mqtt handling when connection is interrupted

* Get track info from the cloud when playlist or index changes

* Add additional helpers

* Dynamically handle devices and other enhancements

* 📝 Add docstrings to `mqtt`

Docstrings generation was requested by @natekspencer.

* https://github.com/natekspencer/hacs-oasis_mini/pull/98#issuecomment-3568450288

The following files were modified:

* `custom_components/oasis_mini/__init__.py`
* `custom_components/oasis_mini/binary_sensor.py`
* `custom_components/oasis_mini/button.py`
* `custom_components/oasis_mini/config_flow.py`
* `custom_components/oasis_mini/coordinator.py`
* `custom_components/oasis_mini/entity.py`
* `custom_components/oasis_mini/helpers.py`
* `custom_components/oasis_mini/image.py`
* `custom_components/oasis_mini/light.py`
* `custom_components/oasis_mini/media_player.py`
* `custom_components/oasis_mini/number.py`
* `custom_components/oasis_mini/pyoasiscontrol/clients/cloud_client.py`
* `custom_components/oasis_mini/pyoasiscontrol/clients/http_client.py`
* `custom_components/oasis_mini/pyoasiscontrol/clients/mqtt_client.py`
* `custom_components/oasis_mini/pyoasiscontrol/clients/transport.py`
* `custom_components/oasis_mini/pyoasiscontrol/device.py`
* `custom_components/oasis_mini/pyoasiscontrol/utils.py`
* `custom_components/oasis_mini/select.py`
* `custom_components/oasis_mini/sensor.py`
* `custom_components/oasis_mini/switch.py`
* `custom_components/oasis_mini/update.py`
* `update_tracks.py`

* Fix formatting in transport.py

* Replace tabs with spaces

* Use tuples instead of sets for descriptors

* Encode svg in image entity

* Fix iot_class

* Fix tracks list url

* Ensure update_tracks closes the connection

* Fix number typing and docstring

* Fix docstring in update_tracks

* Cache playlist based on type

* Fix formatting in device.py

* Add missing async_send_auto_clean_command to http client

* Propagate UnauthenticatedError from async_get_track_info

* Adjust exceptions

* Move create_client outside of try block in config_flow

* Formatting

* Address PR comments

* Formatting

* Add noqa: ARG001 on unused hass

* Close cloud/MQTT clients if initial coordinator refresh fails.

* Address PR again

* PR fixes

* Pass config entry to coordinator

* Remove async_timeout (thanks ChatGPT... not)

* Address PR

* Replace magic numbers for status code

* Update autoplay wording/ordering

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2.0.0b6
2025-11-24 01:09:23 -07:00
Nathan Spencer
171a608314 Merge pull request #97 from natekspencer/update-tracks
Update tracks
2025-11-19 16:18:00 -07:00
natekspencer
5f01397b56 Update tracks 2025-11-19 23:16:54 +00:00
Nathan Spencer
b56d7fe805 Merge pull request #96 from natekspencer/update-tracks
Update tracks
2025-11-19 16:13:09 -07:00
natekspencer
1eecef9299 Update tracks 2025-11-19 23:12:08 +00:00
Nathan Spencer
bd7e3831a7 Merge pull request #95 from natekspencer/update-tracks
Update tracks
2025-11-19 16:10:12 -07:00
natekspencer
11f7a38b04 Update tracks 2025-11-19 23:09:30 +00:00
Nathan Spencer
152879f8e0 Merge pull request #94 from natekspencer/update-tracks
Update tracks
2025-11-19 16:06:46 -07:00
natekspencer
4a07fa3ebb Update tracks 2025-11-19 23:04:07 +00:00
Nathan Spencer
2687f1e597 Merge pull request #93 from natekspencer/update-tracks
Add manual trigger for update tracks Github action
2025-11-19 16:01:58 -07:00
Nathan Spencer
a4c6fd57dd Add manual trigger for update tracks Github action 2025-11-19 22:51:38 +00:00
Nathan Spencer
0cab687cef Merge pull request #87 from natekspencer/error-translations
Add error translations
1.2.0
2025-08-02 08:23:18 -06:00
Nathan Spencer
581f41c517 Add error translations 2025-08-02 14:21:34 +00:00
Nathan Spencer
7705d61a4f Merge pull request #86 from natekspencer/status-icons
Update status icons for busy and sleeping
2025-08-02 07:55:38 -06:00
Nathan Spencer
3a8e274d26 Update status icons for busy and sleeping 2025-08-02 13:54:35 +00:00
Nathan Spencer
6c6ce70932 Merge pull request #85 from natekspencer/cloud-playlists
Add cloud playlists
2025-08-02 07:52:24 -06:00
Nathan Spencer
8a72aba294 Add cloud playlists 2025-08-02 13:48:58 +00:00
Nathan Spencer
9949241c84 Merge pull request #83 from natekspencer/natekspencer-patch-1
Change schedule for update-tracks workflow
2025-07-24 13:38:59 -06:00
Nathan Spencer
b07fc68b21 Change schedule for update-tracks workflow 2025-07-24 13:37:49 -06:00
Nathan Spencer
91d03f11a8 Merge pull request #82 from natekspencer/update-tracks
Update tracks
2025-07-24 13:35:53 -06:00
natekspencer
4d2c7a0199 Update tracks 2025-07-24 19:20:41 +00:00
Nathan Spencer
7c650949d8 Merge pull request #81 from natekspencer/update-tracks
Fix track info with new format
1.1.1
2025-07-23 13:52:47 -06:00
Nathan Spencer
2d37fb691f Fix track info with new format 2025-07-23 19:49:46 +00:00
Nathan Spencer
21fd8a63ba Merge pull request #80 from natekspencer/led-effects
Add additional led effects
1.1.0
2025-07-22 18:09:16 -06:00
Nathan Spencer
552339665f Add additional led effects 2025-07-23 00:06:10 +00:00
Nathan Spencer
85449a5363 Merge pull request #79 from natekspencer/add-sleep-button
Add sleep button
2025-07-22 17:37:52 -06:00
Nathan Spencer
d2bc89bdd7 Add sleep button 2025-07-22 23:36:33 +00:00
Nathan Spencer
06008e8f4c Merge pull request #78 from natekspencer/firmware-2.02-temp-fix
Add fix for firmware 2.02 led issue
2025-07-22 17:34:36 -06:00
Nathan Spencer
9fdfd8129f Merge pull request #76 from natekspencer/update-tracks
Update tracks
2025-07-22 17:31:03 -06:00
natekspencer
f9237927d9 Update tracks 2025-07-22 19:20:38 +00:00
Nathan Spencer
dcd8db52f5 Merge pull request #75 from natekspencer/update-tracks
Update tracks
2025-07-21 13:21:11 -06:00
natekspencer
86cf060af0 Update tracks 2025-07-21 19:20:16 +00:00