Commit Graph
170 Commits
Author SHA1 Message Date
J. Nick Kostonandpre-commit-ci-lite[bot] f745135bdc Drop Python 3.10 support, require Python 3.11+ (#9522)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-07-15 15:20:58 -10:00
J. Nick Koston 440de12e3f Don't compile unnecessary platform files (e.g. ESP8266 files on ESP32) (#9354) 2025-07-08 09:04:41 +12:00
lamaunyandJesse Hills d86f319d66 Add support for LN882X Family (with LibreTiny) (#8954)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2025-06-30 16:20:36 +12:00
b18ff48b4a [API] Sub devices and areas (#8544)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick+github@koston.org>
2025-06-25 12:03:41 +00:00
Jesse HillsandCopilot 73771d5c50 [web_server] Fix download list where external_components has a substitution value (#8911)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-27 09:08:16 +12:00
Thomas Rupprecht aeb4e63950 update minimal python version to 3.10 (#8850) 2025-05-22 13:21:43 +12:00
David WoodhouseandJ. Nick Koston 3c7bb65a23 Sort resolved IP addresses for dashboard (#8536)
Co-authored-by: J. Nick Koston <nick+github@koston.org>
2025-04-17 13:19:55 +12:00
dependabot[bot]andJ. Nick Koston f3b1b11eba Bump flake8 from 7.0.0 to 7.2.0 (#8493)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-06 00:58:39 +00:00
Jesse Hills d9e23fdb5c [dashboard] Rename trash/delete to archive (#8357) 2025-03-03 15:24:05 +13:00
J. Nick Koston 3048f303c5 dashboard: Implement automatic ping fallback (#8263) 2025-02-27 15:17:07 +00:00
tomaszduda23 755b0bbfc7 [core, dashboard] load external component to get get_download_types (#8139) 2025-02-22 14:19:17 -06:00
Jesse Hills 143b0d3de4 Fix crash when storage file doesnt exist yet (#8249) 2025-02-14 14:27:11 +13:00
Jesse Hills 759df7ae6c [dashboard] Accept basic auth header (#7965) 2024-12-16 22:26:16 -06:00
J. Nick Koston 122ff731ef Ensure storage I/O for ignored devices runs in the executor (#7792) 2024-11-22 09:41:31 +13:00
Jesse Hills 335faf858b Fix dashboard ip resolving (#7747) 2024-11-11 08:55:19 +13:00
tomaszduda23andTomasz Duda c20e1975d1 unified way how all platforms handle get_download_types (#7617)
Co-authored-by: Tomasz Duda <tomaszduda23@gmai.com>
2024-10-25 10:25:19 +13:00
Jesse Hills ca5c73d170 Support ignoring discovered devices from the dashboard (#7665) 2024-10-25 07:55:14 +13:00
Jesse Hills e64709c37e [code-quality] Organise core imports (#7149) 2024-07-29 14:07:44 +12:00
Gábor Poczkodi 4bf7c97088 WebSocket overrides check_origin for reverse proxy configuration (#6845) 2024-06-12 13:19:18 +12:00
J. Nick Koston 59b1e9c1b0 Fix DashboardEntries.all() call (#6783) 2024-05-20 11:52:24 +00:00
J. Nick Koston 25ee24299a Revert "Fix MQTT dashboard discovery (Exception in MqttStatusThread)." (#6782) 2024-05-20 11:49:00 +00:00
Markus 91e7a44c31 Fix MQTT dashboard discovery (Exception in MqttStatusThread). (#6775) 2024-05-20 11:52:14 +12:00
Jesse Hills 9b7438a56d Require xsrf/csrf when using a password (#6396) 2024-03-19 13:39:01 +13:00
Jesse Hills 687553a285 Replace name and friendly name in full adopted configs (#4456) 2024-03-18 13:00:59 +13:00
Jesse Hills b3ff23ec76 Merge pull request from GHSA-9p43-hj5j-96h5 2024-03-06 08:09:45 +13:00
J. Nick Koston 83a1fc5fdb dashboard: move storage json update to a background task in edit save (#6280)
* dashboard: move storage json update to a background task in edit save

* dashboard: move storage json update to a background task in edit save

* fix typing

* docs
2024-02-24 23:39:47 -05:00
Jesse Hills a748610071 Merge pull request from GHSA-8p25-3q46-8q2p 2024-02-23 07:38:24 +13:00
dependabot[bot]andJ. Nick Koston 07c3ee75e5 Bump black from 23.12.1 to 24.2.0 (#6221)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-21 15:53:50 +13:00
J. Nick Koston 6dfdcff66c dashboard: refactor ping implementation to be more efficient (#6002) 2024-01-09 10:35:43 +09:00
J. Nick Koston fe15d993f9 dashboard: Fix file writes on Windows (#6013) 2023-12-24 22:56:31 +09:00
J. Nick Koston a97fc4f758 dashboard: Only ping when polling is active (#6001)
fixes https://github.com/esphome/issues/issues/5257
2023-12-23 14:43:17 +13:00
J. Nick Koston 46255ad4df Fix dashboard logs when api is disabled and using MQTT (#5992) 2023-12-22 16:35:31 +09:00
Jessica HamiltonandJesse Hills 70fdc3c3f8 web_server.py: return empty content when file doesn't exist (#5980)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-12-22 10:58:30 +09:00
J. Nick Koston ad5f6b5687 dashboard: fix supervisor auth doing I/O in the event loop (#5807) 2023-11-27 23:11:17 -06:00
J. Nick Koston 4e6d3729e1 dashboard: Small cleanups to dashboard (#5841) 2023-11-28 11:39:24 +13:00
J. Nick Koston 1762204b00 dashboard: set nodelay on the websocket to avoid a delay seeing log messages (#5802) 2023-11-24 11:49:55 +13:00
J. Nick Koston 7d5ebeda52 dashboard: Fix online status when api is disabled (#5792) 2023-11-21 13:16:06 +13:00
J. Nick Koston 2aaee81313 Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON (#5793)
* Refactor StorageJSON to keep loaded_integrations a set until its converted to a dict

after #5792 we will be checking loaded_integrations often. ESPHome
core keep uses a set, but it would get converted to a list when
passed through StorageJSON. Keep it a set until its needed to
be read/write to JSON so we do not have to linear searches on it
since they have a time complexity of O(n) vs O(1)

* legacy
2023-11-19 22:31:00 -05:00
J. Nick Koston cd9bf29df1 dashboard: Add lookup by name to entries (#5790)
* Add lookup by name to entries

* adj

* tweak

* tweak

* tweak

* tweak

* tweak

* tweak

* preen
2023-11-19 22:29:40 -05:00
J. Nick Koston 4e4fe3c26d dashboard: Ensure disk I/O happens in the executor (#5789)
* Ensure I/O executor

* safe file writer

* fixes

* more io

* more io
2023-11-19 22:28:35 -05:00
J. Nick Koston 3c243e663f dashboard: Add support for firing events (#5775)
* dashboard: fire events when entry is updated or state changes

* dashboard: fire events when entry is updated or state changes

* dashboard: fire events when entry is updated or state changes

* tweaks

* fixes

* remove typing_extensions

* rename for asyncio

* rename for asyncio

* rename for asyncio

* preen

* lint

* lint

* move dict converter

* lint
2023-11-17 19:33:10 -05:00
J. Nick Koston 149d814fab dashboard: Centralize dashboard entries into DashboardEntries class (#5774)
* Centralize dashboard entries into DashboardEntries class

* preen

* preen

* preen

* preen

* preen
2023-11-15 21:49:56 -05:00
J. Nick Koston 5f1d8dfa5b dashboard: use fastest available yaml loader in the dashboard (#5771)
* dashboard: use fastest available yaml loader in the dashboard

* remove unrelated change
2023-11-15 19:08:17 -05:00
J. Nick Koston 3644853d38 dashboard: fix subprocesses blocking the event loop (#5772)
* dashboard: fix subprocesses blocking the event loop

- break apart the util module
- adds a new util to run subprocesses with asyncio

* take a list
2023-11-15 19:07:51 -05:00
J. Nick Koston c795dbde26 dashboard: split dashboard web server code into its own module (#5770) 2023-11-15 21:34:09 +00:00
J. Nick Koston 86b4fdc139 dashboard: Break apart dashboard into separate modules (#5764)
* Break apart dashboard into seperate modules

* reduce code change

* late imports

* late imports

* preen

* remove accidental changes

* save the file
2023-11-15 13:00:28 -05:00
J. Nick Koston 20ea8bf06e dashboard: convert ping thread to use asyncio (#5749) 2023-11-14 22:55:33 -06:00
J. Nick Koston 214b419db2 dashboard: Use mdns cache when available if device connection is OTA (#5724)
* Use mdns or freshen cache when device connection is OTA

Since we already have a service browser running, we likely
already know the IP of the deivce we want to connect to so
we can replace OTA with the address to avoid the esphome
app having to look it up again

* isort

* Fix zeroconf name resolution refactoring error

HostResolver should get the type as the first arg instead
of the name

* no i/o

* tornado support native coros

* lint

* use new tornado start methods

* use new tornado start methods

* use new tornado start methods

* break

* lint

* lint

* typing, missing awaits

* io in executor

* missed one

* fix: missing if

* stale comment

* rename run_command to build_device_command since it does not actually run anything
2023-11-14 21:21:44 -05:00
J. Nick Koston f198be39d7 dashboard: Run get_serial_ports in the executor (#5740) 2023-11-14 13:46:51 +13:00
J. Nick Koston 08fc96b890 dashboard: remove usage of codecs module (#5741) 2023-11-14 13:44:49 +13:00