Community Hass.io Add-on: IDE, based on Cloud9

hassio-repository
hassio-addon
Tags: #<Tag:0x00007fd0738ea990> #<Tag:0x00007fd0738ea800>

#1

This add-on is provided by the Community Hass.io Add-ons project.

GitHub Release GitLab CI Project Stage Project Maintenance

Supports armhf Architecture Supports aarch64 Architecture Supports amd64 Architecture Supports i386 Architecture

About


This add-on will give you a full blown IDE in your Home Assistant web interface and allows you to edit every aspect of your setup with ease. It will provide you with the same experience of editing your configurations as if you’d use a combination of a desktop editor and Samba.

It is based on Cloud9 IDE which is an online integrated development environment. It supports hundreds of programming languages, including C, C++, PHP, Ruby, Perl, Python, JavaScript with Node.js, and Go.

This add-on is a packaged version of the Cloud9 IDE, tuned for use with Home Assistant. It is designed to allow you to configure and edit your Home Assistant setup straight from the web interface using a useful, pretty and fullblown editor.

Installation


The installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on.

  1. Add our Hass.io add-ons repository to your Hass.io instance.
    Add the following URL: https://github.com/hassio-addons/repository
  2. Install the “IDE” add-on.
  3. Start the “IDE” add-on.
  4. Check the logs of the “IDE” add-on to see if everything went well.
  5. Surf to your Hass.io instance and use port 8321
    (e.g. http://hassio.local:8321).

:books: Please read the documentation for more information about the use and configuration of this add-on.

Embedding into Home Assistant


It is possible to embed the IDE directly into Home Assistant, allowing
you to access your IDE through the Home Assistant frontend.

Home Assistant provides the panel_iframe component, for these purposes.

Example configuration:

panel_iframe:
  ide:
    title: IDE
    icon: mdi:code-braces
    url: https://addres.to.your.hass.io:8321

Support


You can always try to get support from the community here at the Home Assistant community forums, join the conversation!

Questions? You have several options to get them answered:

You could also open an issue on GitHub, in case you ran into a bug, or maybe you have an idea on improving the addon:

:information_source: At this moment our Community Hass.io Add-ons Discord chat server and GitHub are our only official support channels. All others rely on community effort.

Repository on GitHub


Looking for more add-ons?


The primary goal of our add-ons project is to provide you (as an Hassio / Home Assistant user) with additional, high quality, add-ons that allow you to take your automated home to the next level.

Check out some of our other add-ons in our Community Hass.io Add-ons project.


Can't Access .YAML With Samba
Finding discovered items in configuration.yaml
Access hassio Samba share remotely—can I do it?
Repository: Community Hass.io Add-ons
YET another take on an alarm system
Repository: Community Hass.io Add-ons
How can I backup Hassio to GitHub
Home assistant + google home + kodi
Life360 Device Tracker Platform
#2

About the author of this add-on

Hi there!

I am Franck Nijhof, and I have 30 years of programming experience, in many languages. I am using this experience to work on the Home Assistant project by giving back my knowledge and time to the open source community.

The add-on you are currently looking at right now was developed/packaged by me. It is not the only add-on I have created; there are many many more :wink:

However, I have a problem… I am an addict. A :coffee: addict that is. Lucky for you, I turn that C8H10N4O2 (caffeine molecule) into code (and add-ons)!

If you want to show your appreciation, consider buying me a cup of high octane wakey juice by clicking on the “By me a coffee” image below! :heart:

Buy me a coffee

Or, become a Patron and support my work!

Support my work on Patreon

Enjoy your add-on, while I enjoy the brain juice. :coffee:

Thanks for all the :two_hearts:

…/Frenck

Join our Discord server Follow me on Twitter Flollow me on Instragram Follow me on GitHub Follow me on YouTube Follow me on Twitch patreon-icon

P.S.: In case you want to ask me a question: AMA (Ask Me Anything). Most of the time I am online at the Discord chat. (I go by @Frenck in there as well).


#3

:tada: Add-on: IDE v0.1.0

A new add-on! Sorry, it is not on the list of requested add-ons, but it’s one I think a lot of you guys might appreciate!

This add-on will give you a full blown IDE in your Home Assistant web interface and allows you to edit every aspect of your setup with ease. It will provide you with the same experience of editing your configurations as if you’d use a combination of a desktop editor and Samba.

It is based on Cloud9 IDE, which is an online integrated development environment.
This is how it looks on your frontend:

Added

  • Initial release :tada:

Since this is the first release of this add-on, I’m looking forward to your feedback!

WARNING: This add-on is a complex one and since this is the first release, there are undoubtedly bugs. Please report them on GitHub and I will get them fixed. :bug:

So, what is going to be the next add-on? :wink:


#4

Cool, this looks great!
Thanks for all the add-ons you’re making, really great work :smiley:.


#5

Thank you!


#6

I love it, but have one issue that is driving me nuts!

If I browse to the IDE address and port in a windows it works. When I place it on the iframe and click it I get an authentication error!

I am using DuckDNS and LetsEncrypt.

I have tried this using the LetsEncrypt key files.

{
  "log_level": "info",
  "username": "xxxxxx",
  "password": "xxxxx",
  "ssl": true,
  "certfile": "/ssl/fullchain.pem",
  "keyfile": "/ssl/privkey.pem",
  "packages": [],
  "init_commands": []
}

And I have tried it with ssl: false and no keyfiles.

What am I doing wrong?


#7

Do not specify /ssl/ in the configuration. It will assume that already, as an result it now tries to do /ssl/ssl/fullchain.pem.


#8

Thanks Frenck… That helped but now it tells me the cert is only good for my duckdns host, not my local ip address:8123.


#9

I got it! I had to add a local exception to my browser to allow it to work. I love it!


#10

I have noticed the terminal never populates. Can you tell me if it will work with the terminal addon?


#12

Was wondering the same but to be honest I’ve got no idea how half of this works :blush: Likewise the config check bit in the screenshot.

Great so far for what I do understand though :+1: Just need to adjust the colour scheme so it’s easier to read.


#13

This is great. I like the “Crimson Editor” theme the best, works great with Yaml.

I’m just wondering how to get the terminal command lines to execute, like the ones at the bottom of the screen grab for this add-on?

I clicked on the “Run Project” button, this opened a window at the bottom with “Check Configuration” and the command “hassio homeassistant check”, but I just get a little spinner where the close window “x” normally is, the command does not seem to finish executing.

Also is it possible to run the “Configuration Reloading” stuff like “Reload Core”, “Reload Groups” etc in the same way?

Any help would be appreciated!


#14

It is possible install hass.io addons when using home assistant docker image?
Where can i find howto if possible? right now i would like to try the ide add-on
Thanks


#15

I’d love to know this too. I dont use hass.io as I am happy running docker on a vm. I know we can run hass.io on top of a VM (https://home-assistant.io/blog/2017/11/29/hassio-virtual-machine/), but I like my setup… but I would love to use this IDE


#16

this looks soooooooo cool - exactly what I’m looking for since a while - is there any way to use this without hass.io - I’m running home-assistant and appdaemon on a general linux machine in a vertualenv … so far I don’t understand you code …


#17

It’s cool. Very responsive.
I’m having difficulty working out how to link it to my github backup of my config. Any guidance?


#18

Check, future versions will persist the “user” settings.

You can find them in the “Run” menu -> “Run configurations”.

That is not the behavior I would expect to be honest. I cannot determine the issue from this description.

That is a pretty good suggestion! I will add it to the list :slight_smile:


#19

I’m sorry guys. Add-ons is a feature only available to Hass.io. Yes, add-on are “just” Docker images, but that doesn’t mean you can run them on any Docker. This add-on relies on the Hass.io API on some places and will rely on it more in the future.

Use the magic Google to find out how to install Cloud9 IDE yourself (suggested search: “Install Cloud9 ide sdk core on ubuntu”, or something similar).

Or… you could switch to Hassio :wink:


#20

ok - probably not the right place to ask, but I searched and I couldnt find the answer: Can hass.io store its config files outside its container? Not through ad-hoc saving, but actually using files stored outside the container


#21

Not sure about your question (and kinda offtopic). Nevertheless, Hassio actually stores its configuration on the HostOS (Docker containers are not persistent).