A while back I ditched Windows for Linux desktop (long time Linux user, just not desktop) because I’ve learned to hate Microsoft.
I have 2 Sengled WiFi bulbs that I thought were useless now that Sengled is dead (although the app seems to be able to login again now, I’ll never trust it). But then I found Sengled Tools which, among other things, documents a very simple way to communicate with Sengled bulbs using JSON over UDP. The sample light custom component is only ~100 lines of Python and adding the UDP and JSON from Sengled Tools would be maybe 50-100 more. I took this as an invitation to improve my Python and rescue the bulbs so I started reading up on Home Assistant development.
I now have this overwhelming VS Code install with devcontainers etc. etc. which seems crazy overkill for the task at hand and I really resent AI being shoved in my face every time I try to do something - especially when the main purpose of the exercise is to learn.
I run Home Assistant in a VM and I worked out I can virsh console hass and then docker exec -it homeassistant sh. I think there’s maybe a sshd addon I could use and there is also the File Editor addon.
I guess I’ve answered my own question, and maybe I just wanted to have a rant about being “forced” back into the Microsoft ecosystem in order to develop for Home Assistant - but I would be interested to learn about other options.
You can write code in any basic editor… No need for a complex IDE, IMO. I think syntax highlighting is the only thing you really need just for QoL. Currently I’m using Sublime most of the time on Linux
I understand that - that’s why I mentioned terminal sessions into my home assistant instance and the file editor add-on. But when developing a home assistant component the only way to run it is in a home assistant instance. VS Code with devcontainers provides a development home assistant instance for this purpose. If I’m just editing the files in my production instance then I need to keep.restarting it to load new versions etc. Maybe I’ll just install another instance for development.
You can use devcontainers without vscode. At work, I use https://github.com/devcontainers/cli
Lunar vim is neovim configured as an IDE, worth checking out of you’re ok with the vim workflow
Emacs is the OG IDE (or produvtivity tool, in general)
If you want a python specific IDE then maybe pycharm is for you. I’ve heard good things.
I use vscodium personally. It’s VSCode, but compiled by the community so Microsoft’s telemetry doesn’t work. It’s not let me down yet
The problem I have with PyCharm is that JetBrains has decided to start shoving AI tools into it.
VsCodium might be the better option.
It’s opt out for the free license, but it is possible to block AI in JB IDEs.
@JoMiran @homeassistant vscode is full of ai too
VSCodium ≠ VSCode
VSCodium does not have AI features built in by default.
Dude can we not have one nice thing anymore 😭
Codium sounds perfect - thanks. It’s still going to be a bit overwhelming - but that’s another learning experience.
For just opening up, editing, and running a python file it’s not that bad. Just need an extension or two. But it goes deep if you are brave. I’m not lol
I really enjoy the jetbrains IDEs. They offer a free license, so you can try it without penalty. I prefer them over vscode personally.
Any text editor with code highlighting works. Plenty of them out there.
What about vscodium?
@yaroto98 @homeassistant plugins are essential to vscode and owned by MS. It’s their store.
Yeah, I’m just learning that now. Devcontainers is great because it runs a full instance of Home Assistant for debugging and test. There is DevPod Containers that might do the same thing, but I don’t use DevPod so it’s also a bit overwhelming (using that word a lot today…) to get going and I’m not sure if it’s compatible with the devcontaiers configuration in the Home Assistant dev tree.
Thirding VSCodium since you are familiar with the layout and workflow. Dont shy away from Lazy Vim, or Pycharm, or Emacs thouhj. Theres endless options on linux and they more or less depends on use case and taste. Try things out!
If you’re looking for an IDE that will just allow you to code, have a look at pulsar. The atom fork that works
You could try Geany for small projects like that.
I’ve heard some like neovim but I haven’t tried.






