Multiple issues with configuring home assistant

Alright so after looking at wiki’s, reddit, YouTube, and forums here for me the help logs on home assistant tell me nothing on how to add things.

I would like to add the following things on the Home Assistant dashboard overview

Like a second device to track via nmap (since it will only track my iphone by ip)
Plex server that I have up and running
Sabnzbd
my roku players
having more than 1 automation in the automation.yaml (if i add a second home assistant won’t start)

For example on the Home assistant website for roku all it says is add to the config file is

media_player:
  - platform: roku

I restart the home assistant and my devices do not show up. So here is my config file with hopefully all my info taken out. Please someone help me if you can. There are some things commented out because when i add them Home Assistant fails to start. There is also a plex.conf file as well if it helps.

configuration.yaml

homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # Location required to calculate the time the sun rises and sets
  latitude: (my latitude)
  longitude: (my longitude)
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 189
  # metric for Metric, imperial for Imperial
  unit_system: imperial
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: America/Chicago


  customize:
    # Add an entry for each entity that you want to overwrite.
    media_player.living_room_speaker:
      friendly_name: Google Home
      icon: mdi:google-home
  
# Customization file
# customize: !include customize.yaml


# Show links to resources in log and frontend
introduction:

# Enables the frontend
frontend:

# Enables configuration UI
config:

http:
  # Secrets are defined in the file secrets.yaml
  # api_password: !secret http_password
  # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
  # base_url: example.duckdns.org:8123

# Checks for available updates
# Note: This component will send some information about your system to
# the developers to assist with development of Home Assistant.
# For more information, please see:
# https://home-assistant.io/blog/2016/10/25/explaining-the-updater/
updater:
  # Optional, allows Home Assistant developers to focus on popular components.
  # include_used_components: true

# Discover some devices automatically
discovery:
  ignore:
    - sonos
    - samsung_tv
  enable:
    - homekit

media_player:
  - platform: plex
    entity_namespace: 'plex'
    include_non_clients: true
    scan_interval: 5
    show_all_controls: false
    use_custom_entity_ids: true
    use_episode_art: true
    remove_unavailable_clients: true
    client_remove_interval: 600
  - platform: roku

nest:
  client_id: (my client id)
  client_secret: (my client number)

google_assistant:
  project_id: (my project id)
  client_id: (my client id)
  access_token: (my access token)
  agent_user_id: (my user id)


# Allows you to issue voice commands from the frontend in enabled browsers
conversation:

# Enables support for tracking state changes over time
history:

# View all events in a logbook
logbook:

# Enables a map showing the location of tracked devices
map:

# Track the sun
sun:

# Weather prediction
sensor:
  - platform: yr

# Text to speech
tts:
  - platform: google
  
# sabnzbd:
#   api-key: (my api key)
#   host: (my ip address)
#   name: sab
#   port: 8080
#   sensors:
#      - current_status
#      - speed
#      - queue_size
#      - queue_remaining
#      - disk_size
#      - disk_free
#      - queue_count
#      - day_size
#      - week_size
#      - month_size
#      - total_size

device_tracker:
   - platform: nmap_tracker
     hosts: (my iphone the one that it actually tracks)
     home_interval: 10
     exclude: (computer which home assistant runs on)

# device_tracker:
#  - platform: nmap_tracker
#     hosts: (second iphone IP)
#     home_interval: 10
#     exclude: (computer which home assistant runs on)

# Cloud
cloud: !include cloud.yaml

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml

My automations.yaml

--- 
action: 
  data: 
    message: "Welcome home Christoph"
  service: tts.google_say
trigger: 
  entity_id: device_tracker.4c74bfae057c
  from: not_home
  platform: state
  to: home

--- 
action: 
  data_template: 
    message: "Hello Good Morning"
  service: tts.google_say
alias: "Good morning"
trigger: 
    platform: time
    hours: 10
    minutes: 10
    seconds: 0

Thanks for any help given

I don’t have roku, but it should be discovered automatically, so try comnenting out the roku stuff and restart, then read the log file.

on your automations i’m not sure what the three -'s are but assuming those are ok i see that only your second automation has an alias. I’m pretty sure all of your automations need an alias to differentiate them and it becomes their entity_id’s.

most of the time lists of automations are listed with a single dash as:

- alias: Deck Light On at Dusk
  trigger:
    platform: sun
    event: sunset
    offset: "+00:15:00"
  action:
    service: homeassistant.turn_on
    entity_id: light.sengled_e11g13_03070a4c_1

- alias: Deck Light Off at 1am
  trigger:
    platform: time
    hours: 01
    minutes: 00
    seconds: 00
  action:
    service: homeassistant.turn_off
    entity_id: light.sengled_e11g13_03070a4c_1
    
- alias: Deck Light Off at Sunrise
  trigger:
    platform: sun
    event: sunrise
  action:
    service: homeassistant.turn_off
    entity_id: light.sengled_e11g13_03070a4c_1

Thanks for the replies for the automations one when I do combine I still get an error. the home assistant or yaml files seem to me be really finicky.

- alias: "Welcome home Christoph"
  trigger:
    platform: state
    entity_id: device_tracker.4c74bfae057c
    from: not_home
    to: home
  action:
    service: tts.google_say
  data: 
    message: "Welcome home Christoph"

- alias: "Good morning"
  trigger:
    platform: time
    hours: 8
    minutes: 10
    seconds: 00
  action:
    service: tts.google_say
  data_template: 
    message: "Hello Good Morning"

Error that I get is below. It says configuration invalid when I say check config

Invalid config for [automation]: [data] is an invalid option for [automation]. Check: automation->data. (See /home/christoph/.homeassistant/configuration.yaml, line 136). Please check the docs at https://home-assistant.io/components/automation/
Invalid config for [automation]: [data_template] is an invalid option for [automation]. Check: automation->data_template. (See /home/christoph/.homeassistant/configuration.yaml, line 136). Please check the docs at https://home-assistant.io/components/automation/

I commented out the -roku in the config file and restarted and checked the logs and nothing about Roku nor is is it in the front page of my home assistant or in the integrations page

Here is what I got from my logbook

7:16 PM Google Home turned off
7:16 PM automation 0 turned on
7:16 PM Home Assistant started
7:16 PM yr Symbol changed to 1
7:15 PM Home Assistant stopped

Check the indentation and quote marks on the corrected automation below:

- alias: "Welcome home Christoph"
  trigger:
    platform: state
    entity_id: device_tracker.4c74bfae057c
    from: 'not_home'
    to: 'home'
  action:
    service: tts.google_say
    data: 
      message: "Welcome home Christoph"

Try that out. Make sure you make the other one look the same, too.

Yes, YAML is very finicky when it comes to indentations. But it’s no different than pretty much any other programming language and its required syntax.

I know each one works by itself. It’s just when they are in the same file that they don’t work. I made the changes you suggested and still gives errors

- alias: "Welcome home Christoph"
  trigger:
    platform: state
    entity_id: device_tracker.4c74bfae057c
    from: 'not_home'
    to: 'home'
  action:
    service: tts.google_say
    data: 
      message: "Welcome home Christoph"
      
- alias: "Good morning"
  trigger:
    platform: time
    hours: 8
    minutes: 10
    seconds: 00
  action:
    service: tts.google_say
  data: 
    message: "Hello Good Morning"

Configuration invalid
Invalid config for [automation]: [data] is an invalid option for [automation]. Check: automation->data. (See /home/christoph/.homeassistant/configuration.yaml, line 136). Please check the docs at Automation - Home Assistant

look at the second one. it doesn’t look like the first one. look at “data:” specifically. I assume that is line 136…

Thanks for that. To me it looked exactly the same. I’m surprised the indenting made a difference even though everything else was the same at least to me. Now I know to look out for that in the future.

Now I just need to figure out how to get devices to show up on my home assistant page and be configured and everything like plex, roku, and sabnzbd. Maybe it is an indent problem in my config.yaml as well?

read the above again. :wink:

as far as those other devices, it looks like the indentations are OK. I don’t use any of those so my ability to help is limited.

At least now that you have the automations issue fixed you can add each device one at a time and hopefully work thru any errors you might get.