home-assistant.io/source/_components/binary_sensor.command_line.markdown
2016-05-05 10:00:44 +02:00

2.4 KiB

layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release
layout title description date sidebar comments sharing footer logo ha_category ha_release
page Command line Binary Sensor Instructions how to integrate Command binary sensors within Home Assistant. 2016-01-13 12:15 true false true true command_line.png Binary Sensor 0.12

The command binary sensor platform issues specific commands to get data.

To use your Command binary sensor in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
binary_sensor:
  platform: command_line
  command: cat /proc/sys/net/ipv4/ip_forward
  name: 'IP4 forwarding'
  sensor_class: opening
  payload_on: "1"
  payload_off: "0"
  value_template: '{% raw %}{{ value.x }}{% endraw %}'

Configuration variables:

  • command (Required): The action to take to get the value.
  • name (Optional): Let you overwrite the the name of the device. By default name from the device is used.
  • sensor_class (Optional): The type/class of the sensor to set the icon in the frontend.
  • payload_on (Optional): The payload that represents enabled state. Default is "ON".
  • payload_off (Optional): The payload that represents disabled state. Default is "OFF".
  • value_template (Optional): Defines a template to extract a value from the payload.

{% linkable_title Examples %}

In this section you find some real life examples of how to use this sensor.

{% linkable_title SickRage %}

Check the state of an SickRage instance.

# Example configuration.yaml entry
binary_sensor:
  platform: command_line
  command: netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")
  name: 'sickragerunning'
  payload_on: "Running"
  payload_off: "Not running"

{% linkable_title Check RasPlex %}

Check if RasPlex is online.

binary_sensor:
  platform: command_line
  command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
  name: 'is_rasplex_online'
  payload_on: 1
  payload_off: 0

An alternative solution could look like this:

binary_sensor:
  platform: command_line
  name: Printer
  command: ping -c 1 192.168.1.10 &> /dev/null && echo success || echo fail
  payload_on: "success"
  payload_off: "fail"