If you have followed the official documentation or one of the community guides. You should now have a running instance Of HassOS on your Pi.
So now you may want to move into some useful configurations, add-ons and Integrations.
There are no two ways about it to get the very best from HassOS you will need to learn yaml
What is yaml? You can read a very detailed description here:
But to keep things basic for new users it is configuration language. It is how your configuration files are laid out and how ESPhome is configured.
The best way to start out is by using the many examples in the documentation and forums. There are a number of video tutorials on YouTube by many of the active users on these forums.
parent:
child:
grandchild:
So lets look at an example and break it down using sensor as the parent. It is important to use two spaces and NOT the tab key.
sensor: #this is the parent
- platform: time_date # this is the first child it sits two spaces back underneath the parent.
display_options: # in this case the options are listed directly in line with the first child
- 'time' # here we have the actual list of the options we want to record.
- 'date' # note that as these are a subset 'grandchildren if you like' then they sit two spaces behind the fist child
- 'date_time' #It is also important to note that as there are 6 grandchildren then they must be set using a hyphen.
- 'time_date' # a space must follow the hyphen.
- 'time_utc'
- 'beat'
- platform: zoneminder # this is the second child of the parent note again the two spaces, the hyphen and the space
monitored_conditions: week #In this case the child only has one grandchild so it can be shown with a colon and a following space
- platform: version # This child has no grandchildren so can be written like this.
Observe that each of the parents children sit the two spaces back, with the hyphen and the space. This is because they share the same first name.
There are other ways to write this in yaml but IMHO this is the simplest and should get you started.
Now lets have a look at an example from ESPHome. There is an excellent resource for this add-on that shows the supported devices along with examples
esphome: #this is a parent
name: comms #this a child of that parent
platform: ESP8266 #this is also a child of the parent
board: d1_mini # in this case as the first name of the child is different so we do not need the hyphen
wifi: # this is a parent
ssid: !secret mywifi # this is a child of the parent wifi
password: !secret mywifipw # this is a child of the parent wifi again with a different first name
ap: # this is a child of the parent wifi note the two spaces
ssid: "Comms Fallback Hotspot" # this is a child of ap and a grandchild to wifi
password: "9TUwdQty3jba" # again the grandchild of wifi with a different first name
captive_portal: # A childless parent
# Enable logging
logger: # A childless parent
# Enable Home Assistant API
api: # a parent with one child
password: !secret apipw
ota: # a parent with one child
password: !secret otapw
sensor: # a parent with one child but may have another later so two spaces one hyphen and one space
- platform: dht # child
model: AM2302 #child option
pin: D7 #child option
temperature: #child option with a grandchild
name: "Case Temp" # only child of the option temperature
humidity: #child option with a grandchild
name: "Case Humidity" # only child of the option humidity
update_interval: 20s #child option
Hopefully, this will help new non-techie users to understand a little more about yaml.