Simple Mode in Home Assistant 1.0 · Home Assistant dev docs


This is a companion discussion topic for the original entry at https://developers.home-assistant.io/blog/2019/10/05/simple-mode.html

Should all users be able to switch on-the-fly between simple-mode and an advanced-mode to be able to be able to temporarly expose more advanced settings and functions in the UI only when needed?

Example of software that does something similar is Kodi (formerly XBMC), it allows users to switch settings levels on-the-fly to hide or show more advanced options inside its GUI. For this purpose Kodi has 4 tiered settings levels where each level unlocks more advanced settings; those settings levels available in its GUI are: “Basic”, “Standard (Default)”, “Advanced”, and “Expert”.

Inside Kodi’s GUI, the “Settings level” can be changed using a button-icon in the bottom left on the GUI under the settings section, clicking that button in the GUI shows the currently selected setting level and allow the user to change setting levels on-the-fly, and it just as easy to change back. More info on that user-experience in their wiki => https://kodi.wiki/view/Settings

The purpose of this option inside the GUI is that a normal users can have the settings level set as “Standard” 99% of the time so that they don’t have to be exposed everyday to more advanced settings that not used most of the time, but they still always have the option via GUI to simply change the settings level to advanced or expert in order to expose and change settings classed as such if for example given advice in the cummunity forum to change an advanced setting for a specific thing and then be able to quickly change back the settings level in order to hide those more advanced settings again.

6 Likes

That’s not a bad idea at all. We’ll consider it :+1:

4 Likes

It will be problematic if the advanced mode allows you to configure things in ways that the simple ui can not present. But we already have that with automations that don’t follow the pattern that the ui understands.

As this is my first post, I have to mention that I am a big fan of HA and really appreciate how all of you have been developing this great software in the past! I have been trying a lot from Mediola, FHEM, Openhab, ioBroker and finally got hooked on Hass.Io. I feel the simple mode is the next step on the developing path I have been seeing in the last 9 month towards a more intuitive to use software.
One thing I have been missing for a long time, is an easy tasker / scheduler. Every app like Dyson, Mediola etc. has an easy userinterface to do that. On Monday I need the light to go on at 8.00 Sundays at 10.00. Very typical usecase I am still strugelling with to setup up in HA. Is that meant by time trigger automation? To be honest today I don’t even know where to pick the weekday.

1 Like

That’s probably a better topic for it’s own thread and not here.

If you feel it should be moved that is fine. My point was mainly in terms of I feel this one userstory should be implemented in the simple mode. Should I put this request somewhere in github? (As I was telling still a Newbie)

The time is the trigger, the weekday is the condition.

See here.

I agree with you, it must be simple for new user. It doesn’t necessary to implement all features for noobs, but at the moment it’s a pain. I spend a whole day to configure a single switch, that’s frustrating but ok for me, 'cause it’s my hobby. At this state I can’t recommend hass to my friends although it’s a good system.

Finally it doesn’t matter which version it is, the main thing it works good

Good suggetion. Will try it out. Any idea when Days will be included in the automation front end?

Simple answer: Yes.

Having only some of the available options in the GUI, and requiring users to go edit a configuration file for others is a non-starter with all but us geeks.

Having the GUI present a blank form field into which the user needs to write (or paste) code is a non-starter.

Automations are the heart and soul of a home automation system. It’s absurd to think the masses are going to write code to do this. They want (for example) what duesseldorferjung describes; a GUI way to select days, day-of-week, etc. Things everyone would naturally want to do.

Of course, some things can’t be “dumbed down” enough for raw beginners. Hiding details in “advanced mode” is a great way to balance that. But advanced mode still needs to be a GUI.

An advanced user is NOT a developer. Two totally different skill sets. Think of the accountant who is an advanced Excel user, but doesn’t have a clue about how to code a spreadsheet application in whatever language Excel is written in.

2 Likes

Although not simple it extremely flexible and will save you many separate automations if you have complex week schedules. Have a look at Schedy. For lights you can use the switch actor. http://hass-apps.readthedocs.io/en/stable/apps/schedy

I would also very much like to see an easy to use drag-and-drop flow-based visual editor for automations (and scripts) included by default in Home Assistant web-GUI.

Its type of visual drag-and-drop coding (also known as graphical programming blocks) tools for programming automation flows via the web-GUI much easier for people who are new to scripting automations. There are several editor frameworks that could be used to achieve this; Node-RED being one, though I personally prefer the interlocking-blocks style of “Blockly” and “Scratch Blocks” which makes coding look simple.

Blockymonday

However I want to highlight that my main point here is to express that I really want a such drag-and-drop flow-based visual editor for automations (and scripts) to not just be an option that can be installed but that it should be be included by default with Home Assistant and preferable even pre-installed by default in Hass.io

Blockly (Blockly technology) upstream code is maintained by Google:

Scratch Blocks builds on Google’s Blockly technology mentioned above and simply it even more

Example of an open-source home automation software that specificly uses Blockly to simply programming of automations and scripting via drag-and-drop in its web-GUI is Domoticz

https://www.domoticz.com/wiki/Blockly

https://www.domoticz.com/wiki/Automation#Blockly

1 Like

But…Node-RED is already useable quite easy in HA :slight_smile:

I think this thread is not so much about new features like a visual scheduler (of course that would make sense and be a great addition, necessary to get casual users) but more about which type of settings are exposed to the user, be it GUI or text config…

For example a standard user would be able to add users, set his theme but maybe not change stuff that might break things or confuse him, that would be exposed through a higher level like advanced or expert. Of course he can get there easy but he will also be aware that he is now in expert mode and should take care while he can be confident to not break to mich i standard mode. Also casual stuff is easier to find in standard mode instead of being buried betwenn 1000 other settings.

Who is Simple Mode supposed to be for? Who’s the audience for Home Assistant in Simple Mode, who are the people it’s not able to reach without Simple Mode?

I guess what I’m asking is, why would someone inexperienced with home automation choose Home Assistant in Simple Mode, instead of just sticking with HomeKit or Amazon Alexa or Google Home?

Because to me, it seems like maybe that’s not a large audience. “The masses” or the “non-power users”, why are they leaving HomeKit? (Or Amazon, or Google.) Devices in these ecosystems are easy to find, ready-made products, and installing them into the associated controller is reasonably easy.

These ecosystems are promoted by major vendors that people have made big commitments to (Apple, Google). “Regular” people in those ecosystems are pretty happy with what they have. What’s missing enough or making them unhappy enough to look around for a replacement that’s not just a different flavor from the Big Three? Enough that they’ll find and be interested in a (by comparison) small little open source tool?

Note: I’m not suggesting that the effort isn’t worthwhile. I think it’s a very reasonable goal to have Home Assistant’s “out of the box” be better, easier to understand. And to have it be highly usable for core functionality without seeing a single line of YAML.

But I do think it’s worth thinking about who that’s for. If it’s for “the masses”, and Simple Mode is all they will ever use…I don’t think there are that many of those “masses” out there. I think those folks will stick with HomeKit, etc.

I would suggest that perhaps Simple Mode should be more about on-boarding—a process or temporary stage—rather than a permanent user interface mode. I suspect that’s the real goal here, to make getting started easier and more approachable.

(Having just gone through my first two weeks of “onboarding” with Home Assistant, I can say that the default Simple Mode was actually more confusing than Advanced Mode. Indeed, it took me a few hours to even figure out that there was a Simple mode, which I was trapped in, and that’s why the user interface looked different from all of the doc and third-party tutorials…)