From 59b3df2bc2ca8f49652fbb7b53649e231d5037b2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 4 Oct 2019 21:18:22 -0700 Subject: [PATCH] Add draft blog about vision --- website/blog/2019-10-05-simple-mode.md | 93 ++++++++++++++++++ .../2019-10-simple-mode/config-concepts.png | Bin 0 -> 7159 bytes 2 files changed, 93 insertions(+) create mode 100644 website/blog/2019-10-05-simple-mode.md create mode 100644 website/static/img/en/blog/2019-10-simple-mode/config-concepts.png diff --git a/website/blog/2019-10-05-simple-mode.md b/website/blog/2019-10-05-simple-mode.md new file mode 100644 index 00000000..637077f8 --- /dev/null +++ b/website/blog/2019-10-05-simple-mode.md @@ -0,0 +1,93 @@ +--- +author: Paulus Schoutsen +authorURL: https://twitter.com/balloob +authorImageURL: /img/profile/paulus.jpg +authorTwitter: balloob +title: Simple Mode in Home Assistant 1.0 +--- + +The Home Assistant UI has two different modes. There is a simple mode and an advanced mode. Simple mode has been introduced recently in [Home Assistant 0.96](https://www.home-assistant.io/blog/2019/07/17/release-96/#advanced-mode). In this post I want to outline my vision for simple mode in Home Assistant 1.0. + +**With simple mode we focus on the core Home Assistant experience. We're trying to answer the question: what is it that we want anyone to be able to do. Can we make it intuitive enough that people, young and old, can install Home Assistant and use it.** + +## Core concepts + +Simple mode is the simplified interface for non-power users. This is the default UI. Simple mode offers a subset of Home Assistant that is intuitive: easy to understand and easy to use. + +In simple mode, we will structure the configuration to how the user thinks about their house: + +- Inputs: devices and persons +- Outputs: scenes, scripts, automations + +
+![Configuration concepts. Inputs are users, integrations, zones, persons, devices. Outputs are scenes, scripts and automations.](/img/en/blog/2019-10-simple-mode/config-concepts.png)
+ + + +There are other inputs, but they are there to support devices and persons: + +- Integrations allow you to interact with your devices +- Users allow persons to log in and access Home Assistant +- Areas allow devices to be grouped +- Zones label locations on the map to allow tracking persons that carry a GPS emitting device + +As a user in simple mode, you will not be exposed to events, entity IDs, YAML or services. + + + +## Integration requirements + +Integrations need to be able to provide the inputs for the user in simple mode. This means that there will be requirements that need to be met before an integration can be included as part of simple mode. + +- All entities of an integration need to have a unique ID +- All entities of an integration need to provide device info + +Integrations should be set up via discovery or via account linking. In rare cases we can allow an integration to be configured via IP addresses. + +## Extended discovery + +During onboarding and when the user visits the integrations page, we will trigger an extended discovery. By default Home Assistant scans the network with the SSDP and zeroconf discovery protocols. In extended discovery we will run custom discovery protocols for popular integrations like Plex or Unifi. + +## No YAML + +Simple mode will be fully controlled via the UI. No features should be exposed that require users to open a text editor. For example, a config flow that requires a user to add client_id/secret to the configuration.yaml should not be part of simple mode. + +## Hass.io without add-ons + +In simple mode, Hass.io will be the place where users can go to manage hardware settings and updates. + +The initial version of simple mode will not show features to install Hass.io add-ons. This is done to manage the scope of Home Assistant 1.0. In the future we will revisit this and decide which add-ons fit our simple mode. + +## Scenes + +Users will control devices from scripts and automations using scenes instead of services. With scenes you take a snapshot of the current state of your devices and can restore this at a future moment. Easy to explain so easy to use. Our UI for managing scenes will be built around devices and areas. + +## Automations & Scripts + +Automations and scripts will be used with the current editor, but the types of triggers, conditions and actions will be limited to the ones that match our inputs. + +- Trigger types will be limited to time, sun, zone and device triggers. +- Condition types will be limited to time, zone, sun and device conditions. +- Action types will be limited to activate scene and device actions. + +## I am a power user, why would I care? + +By focusing energy on simple mode, we are making Home Assistant easier to use for all users, both beginners and power users. + +A great recent example of a feature that was driven by simple mode, but is beneficial for everyone is device automations. With device automations it is a breeze to configure Zigbee remotes. You can just pick from a list the button that should trigger your automation. Compare this to the old way of doing it: learn that you need to listen for `zha_event` in the event dev tool, then press the button to learn the event data to match on with an event trigger. + +Another ongoing effort that will make it easier for everyone is our Hacktoberfest focus on making scenes a [first-class citizen](https://github.com/home-assistant/home-assistant/issues/25681). + +## Comments + +
+ + diff --git a/website/static/img/en/blog/2019-10-simple-mode/config-concepts.png b/website/static/img/en/blog/2019-10-simple-mode/config-concepts.png new file mode 100644 index 0000000000000000000000000000000000000000..4a745019931669f3253882abb2cf6d8a1cc5a3b3 GIT binary patch literal 7159 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 Sn$lOju{=^#S16M+ef