pythonraspberry-piyamlhome-assistant

Trying to edit configuration.yaml but erroring


I'm trying to make a doorbell with raspberry pi, home assistant and telegram however i keep getting this error when trying to add parts to configurations.yaml.

Jul 14 15:49:19 homeassistant hass[9133]: 2020-07-14 15:49:18 ERROR (MainThread) [homeassistant.bootstrap] Failed to parse configuration.yaml: mapping values are not allowed here Jul 14 15:49:19 homeassistant hass[9133]: in "/home/pi/.homeassistant/configuration.yaml", line 23, column 12. Activating safe mode

Here is my configuration file.


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123
camera: 
 - platform: mqtt 
   topic: dev/camera 

# Text to speech
#tts:
#  - platform: google_translate

notify: 
 - name: Telegram 
   platform: telegram 
   api_key: 1194049919:AAEC_sgl94lgVhFnWCcse9HXegC3A4_eZbY 
   chat_id: 1154840631
automation:
 - alias: Doorbell_pressed_automation 
    trigger: 
     platform: mqtt 
     topic: dev/test
     payload: 'Capture!' 
    action: 
      - service: automation.turn_off 
        entity_id: automation.doorbell_pressed_automation 
      - service: script.turn_on 
        entity_id: script.doorbell_pressed_script 
      - delay: "00:00:5" 
      - service: automation.turn_on 
        entity_id: automation.doorbell_pressed_automation 
doorbell_pressed_script: 
 sequence: 
   - service: notify.Telegram 
     data: 
       title: Home Assistant Notification 
       message: --Doorbell Pressed-- 
       data: 
         photo: 
           - url: http://192.168.1.15/images/image.jpg 
             caption: Doorbell View 
dev_publish_on_script: 
 sequence: 
   - service: mqtt.publish 
     data: {"topic":"dev/test", "payload":"ON"} 
#import scripts
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
customize: !include customize.yaml

Any help would be appreciated as I really do not know where I'm going wrong. Is my formatting incorrect with wrong spacing or am I missing a end of line somewhere?


Solution

  • It's because trigger: and action: are more indented than alias:. They need to be on the same indentation level.

    When trigger: is more indented than alias:, it is read as part of the scalar value of alias, effectively making the value of that scalar Doorbell_pressed_automation\ntrigger. However, multiline scalars, while allowed, must not be used as implicit mapping keys. Hence, when the mapping value starts after the : of trigger, you get the error that mapping values are not allowed here.