home-assistant.io/source/_components/shell_command.markdown
bbrendon e4fff883f9 add automation code. (#2015)
the example makes it seem like the magic happens without an automation
2017-02-12 14:14:09 +01:00

59 lines
1.5 KiB
Markdown

---
layout: page
title: "Shell command"
description: "Instructions how to integrate Shell commands into Home Assistant."
date: 2015-10-13 19:10
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Automation
logo: home-assistant.png
---
This component can expose regular shell commands as services. Services can be called from a [script] or in [automation].
[script]: /components/script/
[automation]: /getting-started/automation/
```yaml
# Example configuration.yaml entry
# Exposes service shell_command.restart_pow
shell_command:
restart_pow: touch ~/.pow/restart.txt
```
Configuration variables:
- Alias for the command
- Command itself.
The commands can be dynamic, using templates to insert values of other entities. When using templates you are limited to only template the arguments. You are also no longer allowed to use pipe symbols when using templates.
Any service data passed into the service call to activate the shell command will be available as a variable within the template.
```yaml
# Apply value of a GUI slider to the shell_command
automation:
- alias: run_set_ac
trigger:
platform: state
entity_id: input_slider.ac_temperature
action:
service: shell_command.set_ac_to_slider
input_slider:
ac_temperature:
name: A/C Setting
initial: 24
min: 18
max: 32
step: 1
{% raw %}
shell_command:
set_ac_to_slider: 'irsend SEND_ONCE DELONGHI AC_{{ states.input_slider.ac_temperature.state }}_AUTO'
{% endraw %}
```