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?
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.