Conversation
Issues Found
Next Steps
Thank you for your contribution! If you need any help, please reach out on our Discord server. ❤️ |
beebls
left a comment
There was a problem hiding this comment.
Your plugin currently kills all processes on port 8765 in order to starts it's webserver without telling the user. Can you change this to dynamically choose a port, for example, trying 8765, then if that is occupied, trying 8766, etc etc.
Okay, I'll release an update soon. |
Addressed the port killing feedback. Removed _kill_port() and _port_in_use() entirely. Now the server just tries to bind ports 8765–8785 in a loop and takes the first one that works — no process killing, no pre-checks, no race conditions. If 8765 is busy it falls back to 8766 and shows a notice in UI. Tested on device. |
|
Your PR right now is attempting to update multiple plugins, so you will need to rebase onto main |
Done, rebased onto main. The PR should now only affect the ha-deck plugin. Please let me know if anything looks off. |
|
Hi, please elaborate on your usage of AI if any when developing this plugin. |
Hello, 95 was written by me. Claude helped me with localization into English, writing tooltips in the code in English, and helped with the readme file and PR text since English isn't my native language. Otherwise, I wrote all the code. As I mentioned above, Claude helped me organize the documentation within the code to avoid confusion, and consulted me on the web server for the plugin. |
|
Thank you for this plugin, looks really QoL. But, what for it setting up own web page? Why just not connect to HA directly from frontend via API? Or from backend with some logic, but looks like you do not need backend at all here |
To use the Home Assistant API, you need to use a long-term token, which is generated once. The problem is that this token is very long and consists of random characters and numbers. I was thinking about how to simplify data entry on the Steam Deck and came to the conclusion that creating a web page for configuration would be the best solution. |
can't you implement simple login page, or copy-paste the token? |
According to the Home Assistant API documentation, they are currently in use and highly recommend using long-term tokens. I agree that this is more secure and flexible in configuration, although it may not be as convenient for initial setup. As for simply copying and pasting the token, I will likely implement the ability to choose the initial setup method. There will be two options: entering it on a Steam Deck or on a web server. Unfortunately, I'm currently swamped with university work and don't have time to download the update. Work will resume soon. |
|
For me, the web server turned out to be a very convenient solution to the problem. I connected to the plugin from my phone, generated a token on the phone, and inserted it into the plugin's web page from the phone, and after that, the web server disconnected.
|
There’s an API for your use case: https://developers.home-assistant.io/docs/frontend/external-authentication/ |
mdeguzis
left a comment
There was a problem hiding this comment.
Your LICENSE is incorrect. Please see the license of the plugin template repo and replace "Hypothetical Plugin Developer" and its year with your own information if you wish to use BSD-3. Crediting Steam Deck Homebrew is mandatory.
15 минут и будет готово |
The license has been updated. I believe everything is correct now |
HA Deck
Control your smart home directly from the Steam Deck Quick Access Menu.
HA Deck connects to Home Assistant — the most popular open-source smart home platform — and lets you control lights, switches, and view sensors without leaving your game.
No more picking up your phone just to turn off the lights. Everything is one button press away on your Deck.
Features
Screenshots
Repo: https://github.com/Marker284/ha-deck
Checklist:
Developer Checklist
Plugin Checklist
Plugin Backend Checklist
Testing