diff --git a/source/_addons/configurator.markdown b/source/_addons/configurator.markdown index b5956384ba9..0b0dae29d00 100644 --- a/source/_addons/configurator.markdown +++ b/source/_addons/configurator.markdown @@ -57,27 +57,77 @@ Screenshot of the HASS Configurator. ], "dirsfirst": false, "enforce_basepath": false, - "notify_service": "persistent_notification.create", - "ignore_ssl": false + "notify_service": "persistent_notification.create" } ``` -- **username** (*Required*): Set a username to access your configuration is protected. -- **password** (*Required*): Set a password for access. -- **ssl** (*Required*): Enable or Disable SSL/TLS for the editor. -- **certfile** (*Required*): Set the path the your SSL certificate if the ssl-option is set to `true`. -- **keyfile** (*Required*): Set the path the your SSL private key if the ssl-option is set to `true`. -- **allowed_networks** (*Required*): Limit access to the configurator by adding allowed IP addresses/networks to the list. -- **banned_ips** (*Required*): List of statically banned IP addresses. -- **banlimit** (*Required*): Ban access from IPs after `banlimit` failed login attempts. The default value `0` disables this feature. Restart the add-on to clear the list of banned IP addresses. -- **ignore_pattern** (*Required*): Files and folders to ignore in the UI. -- **dirsfirst** (*Required*): List directories before files in the file browser. -- **enforce_basepath** (*Required*): If set to `true`, access is limited to files within the `/config` directory. -- **notify_service** (*Required*): Specify a custom notify-service to be used to push notifications. -- **ignore_ssl** (*Required*): Ignore SSL errors when accessing the Home Assistant API. -- **sesame** (*Optional*): Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and your IP will get whitelisted. You can use the _Network status_ menu to revoke IP addresses for which access has been granted. Regular authentication is still required. -- **sesame_totp_secret** (*Optional*): Like the `sesame` option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit `sesame` that changes every 30 seconds. -- **loglevel** (*Optional*): You can change the logging level from the default value `info` if you want to. Valid values are: `debug`, `info`, `warning`, `error`, `critical`. +{% configuration %} +username: + description: Set a username so that access your configuration is protected. + required: true + type: string +password: + description: Set a password for access. + required: true + type: string +ssl: + description: Enable or Disable SSL/TLS for the editor. + required: true + type: boolean + default: false +certfile: + description: Set the path the your SSL certificate if the ssl-option is set to `true`. + required: true + type: string +keyfile: + description: Set the path the your SSL private key if the ssl-option is set to `true`. + required: true + type: string +allowed_networks: + description: Limit access to the configurator by adding allowed IP addresses/networks to the list. + required: true + type: string +banned_ips: + description: List of statically banned IP addresses. + required: true + type: string +banlimit: + description: Ban access from IPs after `banlimit` failed login attempts, setting the value to 0 disables this feature. Restart the add-on to clear the list of banned IP addresses. + required: true + type: integer + default: 0 +ignore_pattern: + description: Regex of files and folders to ignore in the UI. + required: true + type: string +dirsfirst: + description: List directories before files in the file browser. + required: true + type: boolean + default: false +enforce_basepath: + description: If set to `true`, access is limited to files within the `/config` directory. + required: true + type: boolean + default: false +notify_service: + description: Specify a custom notify-service to be used to push notifications. + required: true + type: string +loglevel: + description: The log level the configurator should run with. Valid values are `debug`, `info`, `warning`, `error`, `critical`. + required: false + type: string + default: info +sesame: + description: Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and your IP will get whitelisted. You can use the Network status menu to revoke IP addresses for which access has been granted. Regular authentication is still required. + required: false + type: string +sesame_totp_secret: + description: Like the `sesame` option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit `sesame` that changes every 30 seconds. + required: false + type: string +{% endconfiguration %}

Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the internet! diff --git a/source/_components/alarmdecoder.markdown b/source/_components/alarmdecoder.markdown index ae81c2cf1f5..268f80b7fce 100644 --- a/source/_components/alarmdecoder.markdown +++ b/source/_components/alarmdecoder.markdown @@ -13,7 +13,7 @@ ha_release: 0.43 ha_iot_class: "Local Push" --- -The `alarmdecoder` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad. +The `alarmdecoder` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad. Please visit the [AlarmDecoder website](https://www.alarmdecoder.com/) for further information about the AlarmDecoder devices. @@ -34,7 +34,7 @@ alarmdecoder: type: socket host: 192.168.1.20 port: 10000 - panel_display: On + panel_display: false zones: 01: name: 'Smoke Detector' @@ -45,15 +45,66 @@ alarmdecoder: type: 'opening' ``` -Configuration variables: - -- **type** (*Required*): The type of AlarmDecoder device: socket, serial or USB -- **host** (*Optional*): The IP address of the AlarmDecoder device on your home network, if using socket type. Default: `localhost` -- **port** (*Optional*): The port of the AlarmDecoder device on your home network, if using socket type. Default: `10000` -- **path** (*Optional*): The path of the AlarmDecoder device, if using socket type. Default: `/dev/ttyUSB0` -- **baudrate** (*Optional*): The baud rate of the AlarmDecoder device, if using serial type. Default: `115200` -- **panel_display** (*Optional*): Create a sensor called sensor.alarm_display to match the Alarm Keypad display. Default: `off` -- **zones** (*Optional*): AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.* -- **rfid** (*Optional*): The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status. -- **relayaddr** (*Optional*): Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed. -- **relaychan** (*Optional*): Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4) +{% configuration %} +device: + description: List of variables for the AlarmDecoder device. + required: true + type: list + keys: + type: + description: "The type of AlarmDecoder device: socket, serial or USB." + required: true + default: socket + type: string + host: + description: The IP address of the AlarmDecoder device on your home network, if using socket type. + required: false + default: localhost + type: string + port: + description: The IP address of the AlarmDecoder device on your home network, if using socket type. + required: false + default: 10000 + type: integer + path: + description: The path of the AlarmDecoder device, if using serial type. + required: false + default: "/dev/ttyUSB0" + type: string + baudrate: + description: The baud rate of the AlarmDecoder device, if using serial type. + required: false + default: 115200 + type: string +panel_display: + description: Create a sensor called sensor.alarm_display to match the Alarm Keypad display. + required: false + default: false + type: boolean +zones: + description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*" + required: false + type: list + keys: + name: + description: A name for the zone. + required: true + type: string + type: + description: "A type for the zone. Here you can find a list of [Device Classes](https://www.home-assistant.io/components/binary_sensor/#device-class)." + required: false + default: opening + type: string + rfid: + description: The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status. + required: false + type: string + relayaddr: + description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed." + required: inclusive + type: integer + relaychan: + description: "Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)" + required: inclusive + type: integer +{% endconfiguration %} diff --git a/source/_components/binary_sensor.ads.markdown b/source/_components/binary_sensor.ads.markdown index 753858d9737..ab988a737ae 100644 --- a/source/_components/binary_sensor.ads.markdown +++ b/source/_components/binary_sensor.ads.markdown @@ -26,16 +26,16 @@ binary_sensor: ``` {% configuration %} - adsvar: - required: true - description: The name of the variable which you want to access on the ADS device. - type: string - name: - required: false - description: An identifier for the light in the frontend. - type: string - device_class: - required: false - description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. - type: string +adsvar: + description: The name of the variable which you want to access on the ADS device. + required: true + type: string +name: + description: An identifier for the light in the frontend. + required: false + type: string +device_class: + description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. + required: false + type: string {% endconfiguration %} diff --git a/source/_components/binary_sensor.aurora.markdown b/source/_components/binary_sensor.aurora.markdown index 460500c24c3..f0429886ac2 100644 --- a/source/_components/binary_sensor.aurora.markdown +++ b/source/_components/binary_sensor.aurora.markdown @@ -32,17 +32,19 @@ binary_sensor: forecast_threshold: description: Provide your own threshold number above which the sensor will trigger. required: false - default: 75 type: integer + default: 75 name: description: The name of the sensor. required: false - default: Aurora Visibility type: string + default: Aurora Visibility {% endconfiguration %} +## {% linkable_title Full example %} + ```yaml - binary_sensor: - - platform: aurora - forecast_threshold: 50 +binary_sensor: + - platform: aurora + forecast_threshold: 50 ``` diff --git a/source/_components/binary_sensor.bayesian.markdown b/source/_components/binary_sensor.bayesian.markdown index a5b1779ce58..6154fbaa1f2 100644 --- a/source/_components/binary_sensor.bayesian.markdown +++ b/source/_components/binary_sensor.bayesian.markdown @@ -14,7 +14,6 @@ ha_release: 0.53 ha_qa_scale: internal --- - The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`. This allows for the detection of complex events that may not be readily observable, e.g., cooking, showering, in bed, the start of a morning routine, etc. It can also be used to gain greater confidence about events that _are_ directly observable, but for which the sensors can be unreliable, e.g., presence. @@ -36,20 +35,58 @@ binary_sensor: to_state: 'on' ``` -Configuration variables: - -- **prior** (*Required*): The prior probability of the event. At any point in time (ignoring all external influences) how likely is this event to occur? -- **probability_threshold** (*Optional*): The probability at which the sensor should trigger to `on`. -- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Bayesian Binary sensor`. -- **observations** array (*Required*): The observations which should influence the likelihood that the given event has occurred. - - **entity_id** (*Required*): Name of the entity to monitor. - - **prob_given_true** (*Required*): The probability of the observation occurring, given the event is `true`. - - **prob_given_false** (*Optional*): The probability of the observation occurring, given the event is `false` can be set as well. If `prob_given_false` is not set, it will default to `1 - prob_given_true`. - - **platform** (*Required*): The only supported observation platforms are `state` and `numeric_state`, which are modeled after their corresponding triggers for automations, requiring `below` and/or `above` instead of `to_state`. - - **to_state** (*Required*): The target state. +{% configuration %} +prior: + description: > + The prior probability of the event. At any point in time + (ignoring all external influences) how likely is this event to occur? + required: true + type: float +probability_threshold: + description: The probability at which the sensor should trigger to `on`. + required: false + type: float + default: 0.5 +name: + description: Name of the sensor to use in the frontend. + required: false + type: string + default: Bayesian Binary Sensor +observations: + description: The observations which should influence the likelihood that the given event has occurred. + required: true + type: list + keys: + entity_id: + description: Name of the entity to monitor. + required: true + type: string + prob_given_true: + description: The probability of the observation occurring, given the event is `true`. + required: true + type: float + prob_given_false: + description: The probability of the observation occurring, given the event is `false` can be set as well. + required: false + type: float + default: "`1 - prob_given_true` if `prob_given_false` is not set" + platform: + description: > + The only supported observation platforms are `state` and `numeric_state`, + which are modeled after their corresponding triggers for automations, + requiring `below` and/or `above` instead of `to_state`. + required: true + type: string + to_state: + description: The target state. + required: true + type: string +{% endconfiguration %} ## {% linkable_title Full examples %} +The following is an example for the `state` observation platform. + ```yaml # Example configuration.yaml entry binary_sensor: @@ -78,6 +115,8 @@ binary_sensor: to_state: 'below_horizon' ``` +Next up an example which targets the `numeric_state` observation platform, +as seen in the configuration it requires `below` and/or `above` instead of `to_state`. ```yaml # Example configuration.yaml entry diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index 66e4c98f4fa..069c6c9eb1d 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -48,18 +48,18 @@ pins: bouncetime: description: Debounce time for reading input pin defined in milliseconds [ms]. required: false - default: 50 type: integer + default: 50 invert_logic: description: If `true`, inverts the input logic to ACTIVE LOW required: false - default: false type: boolean + default: false pull_mode: description: Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. required: false - default: UP - type: string + type: string + default: UP {% endconfiguration %} For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown index 0bf0512d265..8f499766a42 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -13,7 +13,6 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- - The `command_line` binary sensor platform issues specific commands to get data. ## {% linkable_title Configuration %} @@ -33,10 +32,10 @@ command: required: true type: string name: - description: Let you overwrite the name of the device. By default *name* from the device is used. + description: Let you overwrite the name of the device. required: false - default: name type: string + default: "*name* from the device" device_class: description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. required: false @@ -44,13 +43,13 @@ device_class: payload_on: description: The payload that represents enabled state. required: false - default: ON type: string + default: ON payload_off: description: The payload that represents disabled state. required: false - default: OFF type: string + default: OFF value_template: description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. required: false @@ -58,13 +57,13 @@ value_template: scan_interval: description: Defines number of seconds for polling interval. required: false - default: 60 type: integer + default: 60 command_timeout: description: Defines number of seconds for command timeout. required: false - default: 15 type: integer + default: 15 {% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/binary_sensor.concord232.markdown b/source/_components/binary_sensor.concord232.markdown index f734d4afa5b..79d12a803aa 100644 --- a/source/_components/binary_sensor.concord232.markdown +++ b/source/_components/binary_sensor.concord232.markdown @@ -14,6 +14,8 @@ ha_release: 0.31 The `concord232` platform provides integration with GE, Interlogix (and other brands) alarm panels that support the RS-232 Automation Control Panel interface module (or have it built in). Supported panels include Concord 4. +## {% linkable_title Configuration %} + To enable this, add the following lines to your `configuration.yaml`: ```yaml @@ -26,11 +28,11 @@ binary_sensor: host: description: The host where the concord232 server process is running. required: false - default: localhost type: string + default: localhost port: description: The port where the Alarm panel is listening. required: false - default: 5007 type: integer + default: 5007 {% endconfiguration %} diff --git a/source/_components/binary_sensor.ffmpeg_motion.markdown b/source/_components/binary_sensor.ffmpeg_motion.markdown index eaf15a86a79..a342d640643 100644 --- a/source/_components/binary_sensor.ffmpeg_motion.markdown +++ b/source/_components/binary_sensor.ffmpeg_motion.markdown @@ -13,7 +13,6 @@ ha_release: 0.27 redirect_from: /components/binary_sensor.ffmpeg/ --- - The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant.

@@ -47,28 +46,28 @@ name: initial_state: description: Start `ffmpeg` with Home Assistant. required: false - default: true type: boolean + default: true changes: description: How much needs to change between two frames to detect it as motion, value in percentage (a lower value is more sensitive). required: false - default: 10% type: integer + default: 10 reset: description: The time to reset the state after no new motion is detected. required: false - default: 20 type: integer + default: 20 repeat: description: How many events need to be detected in *repeat_time* in order to trigger a motion, 0 repeats means deactivated. required: false - default: 0 type: integer + default: 0 repeat_time: description: The span of time *repeat* events need to occur in before triggering a motion, 0 seconds means deactivated. required: false - default: 0 type: integer + default: 0 extra_arguments: description: Extra options to pass to `ffmpeg`, e.g., video denoise filtering. required: false diff --git a/source/_components/binary_sensor.ffmpeg_noise.markdown b/source/_components/binary_sensor.ffmpeg_noise.markdown index ae2077cd298..53f45188b8d 100644 --- a/source/_components/binary_sensor.ffmpeg_noise.markdown +++ b/source/_components/binary_sensor.ffmpeg_noise.markdown @@ -12,7 +12,6 @@ ha_category: Image Processing ha_release: 0.27 --- - The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant.

@@ -42,23 +41,23 @@ name: initial_state: description: Start ffmpeg with home-assistant. required: false - default: true type: boolean + default: true peak: description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low. required: false - default: -30 type: integer + default: -30 duration: description: How long the noise needs to be over the peak to trigger the state. required: false - default: 1 type: integer + default: 1 reset: description: The time to reset the state after no new noise is over the peak. required: false - default: 20 type: integer + default: 20 extra_arguments: description: Extra options to pass to `ffmpeg`, like audio frequency filtering. required: false diff --git a/source/_components/binary_sensor.gc100.markdown b/source/_components/binary_sensor.gc100.markdown index 80d828723bd..2551d551004 100644 --- a/source/_components/binary_sensor.gc100.markdown +++ b/source/_components/binary_sensor.gc100.markdown @@ -23,7 +23,11 @@ binary_sensor: - '3:2': Garage Obstruction ``` -Configuration variables: - -- **ports** (*Required*): A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address. - +{% configuration %} +ports: + description: > + A list of module-address to name mappings in the format `'x:y': name`, + where x is module #, y is address. + required: true + type: list +{% endconfiguration %} diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index 97004e94b8e..9bb13677c13 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -42,14 +42,16 @@ device_class: significant_bit: description: Specify which significant bit of the KNX value should be used. required: false - default: 1 type: integer + default: 1 reset_after: description: Reset back to OFF state after specified milliseconds. required: false type: integer {% endconfiguration %} +### {% linkable_title Automation actions %} + You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time. ```yaml @@ -81,13 +83,13 @@ name: counter: description: Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. required: false - default: 1 type: integer + default: 1 hook: description: Indicates if the automation should be executed on what state of the binary sensor. Values are "on" or "off". required: false - default: "on" type: string + default: "on" action: description: Specify a list of actions analog to the [automation rules](/docs/automation/action/). required: false diff --git a/source/_components/binary_sensor.linode.markdown b/source/_components/binary_sensor.linode.markdown index cf6392993f5..414d4c2ae17 100644 --- a/source/_components/binary_sensor.linode.markdown +++ b/source/_components/binary_sensor.linode.markdown @@ -28,9 +28,8 @@ binary_sensor: ``` {% configuration %} - nodes: - description: List of VPSs you want to control. - required: true - type: string +nodes: + description: List of VPSs you want to control. + required: true + type: string {% endconfiguration %} - diff --git a/source/_components/binary_sensor.nx584.markdown b/source/_components/binary_sensor.nx584.markdown index 0f9c17dea93..88e77577dcc 100644 --- a/source/_components/binary_sensor.nx584.markdown +++ b/source/_components/binary_sensor.nx584.markdown @@ -17,6 +17,8 @@ The `nx584` platform provides integration with GE, Caddx, Interlogix (and other Enabling this sensor platform exposes all of your zones as binary sensors, which provides visibility through the UI as well as the ability to trigger automation actions instantly when something happens like a door opening, or a motion sensor trigger. +## {% linkable_title Configuration %} + To enable this feature, add the following lines to your `configuration.yaml`: ```yaml @@ -29,19 +31,19 @@ binary_sensor: host: description: This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant. required: false - default: localhost type: string + default: localhost port: description: The port where the server process is running. required: false - default: 5007 type: integer + default: 5007 exclude_zones: description: This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc. required: false type: [list, integer] zone_types: - description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below. + description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below. required: false type: map keys: @@ -59,6 +61,8 @@ zone_types: description: Safety {% endconfiguration %} +## {% linkable_title Full example %} + An extended configuration entry could look like this: ```yaml diff --git a/source/_components/binary_sensor.octoprint.markdown b/source/_components/binary_sensor.octoprint.markdown index 83bed7216f0..c4181593468 100644 --- a/source/_components/binary_sensor.octoprint.markdown +++ b/source/_components/binary_sensor.octoprint.markdown @@ -13,13 +13,13 @@ ha_release: 0.19 ha_iot_class: "Local Polling" --- -The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs. +The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.

You must have the [OctoPrint component](/components/octoprint/) configured to use this binary sensor. After configuring that component, binary sensors automatically appear.

-<<<<<<< HEAD -======= + +## {% linkable_title Configuration %} To set it up, add the following information to your `configuration.yaml` file: @@ -42,9 +42,8 @@ monitored_conditions: printing error: description: Error while printing. name: - description: - required: The name of the sensor. - default: OctoPrint + description: The name of the sensor. + required: false type: string + default: OctoPrint {% endconfiguration %} ->>>>>>> current diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index dbfe56427b6..99470e2be45 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -21,7 +21,7 @@ them may be recognized under the X10 protocol but most of them are recognized under the *Lighting4* protocol. The rfxtrx binary sensor component provides some special options for them, while other rfxtrx protocols should work too. -# Setting up your devices +## {% linkable_title Setting up your devices %} Once you have set up your [rfxtrx hub](/components/rfxtrx/), the easiest way to find your binary sensors is to add this to your `configuration.yaml`: @@ -67,8 +67,8 @@ devices: fire_event: description: Fires an event even if the state is the same as before. Can be used for automations. required: false - default: false type: boolean + default: false off_delay: description: For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'. required: false @@ -88,8 +88,8 @@ devices: automatic_add: description: To enable the automatic addition of new binary sensors. required: false - default: false type: boolean + default: false {% endconfiguration %}

@@ -131,7 +131,7 @@ binary_sensor: seconds: 5 ``` -## Options for PT-2262 devices under the Lighting4 protocol +### {% linkable_title Options for PT-2262 devices under the Lighting4 protocol %} When a data packet is transmitted by a PT-2262 device using the Lighting4 protocol, there is no way to automatically extract the device identifier and the @@ -201,7 +201,7 @@ This automatic guess should work most of the time but there is no guarantee on that. You should activate it only when you want to configure your new devices and leave it off otherwise. -## Known working devices +### {% linkable_title Known working devices %} The following devices are known to work with the rfxtrx binary sensor component. There are too many other to list. diff --git a/source/_components/binary_sensor.rpi_gpio.markdown b/source/_components/binary_sensor.rpi_gpio.markdown index 5b95daed1ca..8494c3af37c 100644 --- a/source/_components/binary_sensor.rpi_gpio.markdown +++ b/source/_components/binary_sensor.rpi_gpio.markdown @@ -28,13 +28,33 @@ binary_sensor: 12: PIR Bedroom ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **port: name** (*Required*): Port numbers (BCM mode pin numbers) and corresponding names. -- **pull_mode** (*Optional*): The internal pull to use (UP or DOWN). Default is UP. -- **bouncetime** (*Optional*): The time in milliseconds for port debouncing. Default is 50ms. -- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). +{% configuration %} +ports: + description: List of used ports. + required: true + type: map + keys: + "port: name": + description: The port numbers (BCM mode pin numbers) and corresponding names. + required: true + type: string +bouncetime: + description: The time in milliseconds for port debouncing. + required: false + type: integer + default: 50 +invert_logic: + description: If `true`, inverts the output logic to ACTIVE LOW. + required: false + type: boolean + default: "`false` (ACTIVE HIGH)" +pull_mode: + description: > + Type of internal pull resistor to use. + Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. + required: false + type: string + default: "`UP`" +{% endconfiguration %} For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. - diff --git a/source/_components/binary_sensor.rpi_pfio.markdown b/source/_components/binary_sensor.rpi_pfio.markdown index 29cda1530da..7dad33505d0 100644 --- a/source/_components/binary_sensor.rpi_pfio.markdown +++ b/source/_components/binary_sensor.rpi_pfio.markdown @@ -32,11 +32,29 @@ binary_sensor: settle_time: 50 ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **num** (*Required*): Port number. - - **name** (*Required*): Port name. - - **settle_time** (*Optional*): The time in milliseconds for port debouncing. Default is 2 0ms. - - **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). - +{% configuration %} +ports: + description: List of used ports. + required: true + type: map + keys: + num: + description: The port number. + required: true + type: map + keys: + name: + description: The port name. + required: true + type: string + settle_time: + description: The time in milliseconds for port debouncing. + required: false + type: integer + default: 20 + invert_logic: + description: If `true`, inverts the output logic to ACTIVE LOW. + required: false + type: boolean + default: "`false` (ACTIVE HIGH)" +{% endconfiguration %} diff --git a/source/_components/binary_sensor.skybell.markdown b/source/_components/binary_sensor.skybell.markdown index 5ca42b98c33..4f3d63d7c35 100644 --- a/source/_components/binary_sensor.skybell.markdown +++ b/source/_components/binary_sensor.skybell.markdown @@ -30,9 +30,9 @@ binary_sensor: {% configuration %} monitored_conditions: - type: list - required: true description: Conditions to display in the frontend. The following conditions can be monitored. + required: true + type: list keys: button: description: Returns whether the doorbell button was pressed. diff --git a/source/_components/binary_sensor.tcp.markdown b/source/_components/binary_sensor.tcp.markdown index e5651d954b6..21242113632 100644 --- a/source/_components/binary_sensor.tcp.markdown +++ b/source/_components/binary_sensor.tcp.markdown @@ -14,53 +14,57 @@ ha_release: 0.14 The TCP Binary Sensor is a type of [TCP Sensor](/components/sensor.tcp/) which is either "off" or "on". In order to use this sensor type, in addition to the configuration for the TCP Sensor, you must supply a `value_on` value to represent what is returned when the device is turned on. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml -binary_sensor: # Example configuration.yaml entry - platform: tcp - name: TCP Binary Sensor - host: IP_ADDRESS - port: PORT - payload: "r State\n" - value_on: 1 - timeout: 5 +binary_sensor: + - platform: tcp + name: TCP Binary Sensor + host: IP_ADDRESS + port: PORT + payload: "r State\n" + value_on: 1 + timeout: 5 ``` -Configuration options for the a TCP Sensor: - {% configuration %} name: - required: true - description: The name you'd like to give the sensor in Home Assistant. - type: string + description: The name you'd like to give the sensor in Home Assistant. + required: false + type: string + default: TCP Sensor host: - required: true - description: The hostname/IP address to connect to. - type: string + description: The hostname/IP address to connect to. + required: true + type: string port: - required: true - description: The port to connect to the host on. - type: integer + description: The port to connect to the host on. + required: true + type: integer payload: - required: true - description: What to send to the host in order to get the response we're interested in. - type: string + description: What to send to the host in order to get the response we're interested in. + required: true + type: string value_on: - required: true - description: The value returned when the device is "on". - type: string -timeout: - required: false - description: How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10. - type: integer + description: The value returned when the device is "on". + required: true + type: string value_template: - required: false - description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. By default it's assumed that the entire response is the value. - type: string + description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. + required: false + type: template + default: entire response is the value buffer_size: - required: false - description: The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024. - type: integer -{% endconfiguration %} \ No newline at end of file + description: The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. + required: false + type: integer + default: 1024 +timeout: + description: How long in seconds to wait for a response from the service before giving up and disconnecting. + required: false + type: integer + default: 10 +{% endconfiguration %} diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index 24b9f047567..4462349926f 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -18,6 +18,8 @@ The `template` platform supports sensors which break out the `state` and `state_attributes` from other entities. The state of a Template Binary Sensor can only be `on` or `off`. +## {% linkable_title Configuration %} + To enable Template Binary Sensors in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/binary_sensor.vera.markdown b/source/_components/binary_sensor.vera.markdown index d5e5d9fb14d..b0be093c688 100644 --- a/source/_components/binary_sensor.vera.markdown +++ b/source/_components/binary_sensor.vera.markdown @@ -14,5 +14,5 @@ ha_release: pre 0.7 --- The `vera` platform allows you to get data from your [Vera](http://getvera.com/) binary sensors from within Home Assistant. - + They will be automatically discovered if the vera component is loaded. diff --git a/source/_components/binary_sensor.verisure.markdown b/source/_components/binary_sensor.verisure.markdown index 1f9b9f0f4e3..370dff6e88e 100644 --- a/source/_components/binary_sensor.verisure.markdown +++ b/source/_components/binary_sensor.verisure.markdown @@ -16,4 +16,4 @@ Integrates Verisure binary sensors into Home Assistant. See the [main component] The following binary sensor types are supported: -Door & Window +- Door & Window diff --git a/source/_components/binary_sensor.vultr.markdown b/source/_components/binary_sensor.vultr.markdown index a78cb30dc37..bd71ac62b8a 100644 --- a/source/_components/binary_sensor.vultr.markdown +++ b/source/_components/binary_sensor.vultr.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" The `vultr` binary sensor platform allows you to monitor your [Vultr](https://www.vultr.com/) subscription to see if it is powered on or not. +## {% linkable_title Configuration %} + To use this binary sensor, you first have to set up your [Vultr hub](/components/vultr/).

@@ -42,6 +44,7 @@ name: type: string {% endconfiguration %} +## {% linkable_title Full example %} Full `configuration.yaml` (produces `binary_sensor.totally_awesome_server`): @@ -51,4 +54,3 @@ binary_sensor: name: totally_awesome_server subscription: 12345 ``` - diff --git a/source/_components/binary_sensor.wink.markdown b/source/_components/binary_sensor.wink.markdown index 1d23f5bf7c1..1633d206bc9 100644 --- a/source/_components/binary_sensor.wink.markdown +++ b/source/_components/binary_sensor.wink.markdown @@ -13,12 +13,10 @@ ha_release: 0.14 ha_iot_class: "Cloud Polling" --- - The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors. The requirement is that you have setup [Wink](/components/wink/). - ### {% linkable_title Supported Binary sensor devices %} - Smoke and CO detectors (No Wink hub required for Nest) @@ -36,4 +34,3 @@ The requirement is that you have setup [Wink](/components/wink/).

The above devices are confirmed to work, but others may work as well.

- diff --git a/source/_components/binary_sensor.wirelesstag.markdown b/source/_components/binary_sensor.wirelesstag.markdown index a98a129255b..f7b50106887 100644 --- a/source/_components/binary_sensor.wirelesstag.markdown +++ b/source/_components/binary_sensor.wirelesstag.markdown @@ -56,4 +56,3 @@ monitored_conditions: battery: description: On means tag battery is low, Off means normal. {% endconfiguration %} - diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index c589e08bcfd..3a9b3253922 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -82,6 +82,8 @@ If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then Otherwise the value is evaluated as `true` (check the YAML documentation for further details) and the sensor will not work.

+## {% linkable_title Automation example %} + Example usage for automation: ```yaml diff --git a/source/_components/binary_sensor.xiaomi_aqara.markdown b/source/_components/binary_sensor.xiaomi_aqara.markdown index 190d72b2c3c..688cbf1a15d 100644 --- a/source/_components/binary_sensor.xiaomi_aqara.markdown +++ b/source/_components/binary_sensor.xiaomi_aqara.markdown @@ -13,15 +13,13 @@ ha_release: "0.50" ha_iot_class: "Local Push" --- - The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) binary sensors. The requirement is that you have setup the [`xiaomi aqara` component](/components/xiaomi_aqara/). - ### {% linkable_title Type of sensors supported %} -| Name | ZigBee entity | Model no. | States | Event | Event key | Event values | +| Name | Zigbee entity | Model no. | States | Event | Event key | Event values | | ---- | ------------- | --------- | ------ | ----- | --------- | ------------ | | Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `motion` | | | | Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `motion` | | | diff --git a/source/_components/binary_sensor.zha.markdown b/source/_components/binary_sensor.zha.markdown index df5853d6700..94910f8892a 100644 --- a/source/_components/binary_sensor.zha.markdown +++ b/source/_components/binary_sensor.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Binary Sensor" -description: "Instructions on how to setup ZigBee Home Automation binary sensors within Home Assistant." +title: "Zigbee Home Automation Binary Sensor" +description: "Instructions on how to setup Zigbee Home Automation binary sensors within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,4 +12,4 @@ ha_category: Binary Sensor ha_iot_class: "Local Polling" --- -To get your ZigBee binary sensors working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee binary sensors working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/binary_sensor.zigbee.markdown b/source/_components/binary_sensor.zigbee.markdown index 60f8aac30e1..df7d273e209 100644 --- a/source/_components/binary_sensor.zigbee.markdown +++ b/source/_components/binary_sensor.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Binary Sensor" -description: "Instructions on how to set up ZigBee binary sensors within Home Assistant." +title: "Zigbee Binary Sensor" +description: "Instructions on how to set up Zigbee binary sensors within Home Assistant." date: 2016-01-28 12:38 sidebar: true comments: false @@ -13,7 +13,9 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [ZigBee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the ZigBee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. + +## {% linkable_title Configuration %} To enable a digital input pin as binary sensor in your installation, add the following lines to your `configuration.yaml`: @@ -35,7 +37,7 @@ pin: required: true type: integer address: - description: The long 64-bit address of the remote ZigBee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local Zigbee device's pins. required: false type: string on_state: diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 097e919cb0b..953c77c1375 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -129,4 +129,4 @@ homeassistant: ### {% linkable_title Other Services %} -In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. +In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively. diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index 064d426cbb8..221e893d27e 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -23,6 +23,8 @@ This component provides the following platforms: - Lock: Control the lock of your car. - Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars). + ## {% linkable_title Configuration %} + To enable this component in your installation, add the following to your `configuration.yaml` file: @@ -78,13 +80,13 @@ The vehicle can be locked and unlocked via the lock component that is created au The air condition of the vehicle can be activated with the service `bmw_connected_drive.activate_air_conditioning`. -What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). +What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage). The vehicle is identified via the parameter `vin`. ### {% linkable_title Sound the horn %} -The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`. +The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`. ### {% linkable_title Flash the lights %} @@ -92,10 +94,10 @@ The service `bmw_connected_drive.light_flash` flashes the lights of the vehicle. ### {% linkable_title Update the state %} -The service `bmw_connected_drive.update_state` fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles. +The service `bmw_connected_drive.update_state` fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles. This service does not require any attributes. ## {% linkable_title Disclaimer %} -This software is not affiliated with or endorsed by BMW Group. +This software is not affiliated with or endorsed by BMW Group. diff --git a/source/_components/browser.markdown b/source/_components/browser.markdown index 7edd741593f..82741ab6fe0 100644 --- a/source/_components/browser.markdown +++ b/source/_components/browser.markdown @@ -12,9 +12,10 @@ ha_category: Utility ha_qa_scale: internal --- - The `browser` component provides a service to open URLs in the default browser on the host machine. +## {% linkable_title Configuration %} + To load this component, add the following lines to your `configuration.yaml`: ```yaml @@ -22,7 +23,7 @@ To load this component, add the following lines to your `configuration.yaml`: browser: ``` -#### {% linkable_title Service `browser/browse_url` %} +#### {% linkable_title Service `browser/browse_url` %} | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_components/calendar.google.markdown b/source/_components/calendar.google.markdown index ffa9233da25..f47ee421ac3 100644 --- a/source/_components/calendar.google.markdown +++ b/source/_components/calendar.google.markdown @@ -177,7 +177,7 @@ Trigger as soon as an event starts: to: 'on' ``` -By using specific text in the event title, you can set conditions to initiate particular automation flows on designated events while other events will be ignored. +By using specific text in the event title, you can set conditions to initiate particular automation flows on designated events while other events will be ignored. For example, the actions following this condition will only be executed for events named 'vacation': diff --git a/source/_components/calendar.todoist.markdown b/source/_components/calendar.todoist.markdown index c416ddb50d7..36c6e844b78 100644 --- a/source/_components/calendar.todoist.markdown +++ b/source/_components/calendar.todoist.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling" ha_release: 0.54 --- - This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes. ### {% linkable_title Prerequisites %} @@ -28,18 +27,36 @@ To integrate Todoist in Home Assistant, add the following section to your `confi # Example configuration.yaml entry calendar: - platform: todoist - token: API_token_created_from_steps_above + token: YOUR_API_TOKEN ``` -Configuration variables: - -- **token** (*Required*): The API token used to authorize Home Assistant to access your projects. -- **custom_projects** (*Optional*): Details on any "custom" binary sensor projects you want to create. - - **name** (*Required*): The name of your custom project. Only required if you specify that you want to create a custom project. - - **due_date_days** (*Optional*): Only include tasks due within this many days. If you don't have any tasks with a due date set, this returns nothing. - - **labels** (*Optional*): Only include tasks with at least one of these labels (i.e., this works as an `or` statement).. - - **include_projects** (*Optional*): Only include tasks in these projects. Tasks in all other projects will be ignored. - +{% configuration %} +token: + description: The API token used to authorize Home Assistant to access your projects. Above you have more info about it. + required: true + type: string +custom_projects: + description: Details on any "custom" binary sensor projects you want to create. + required: false + type: list + keys: + name: + description: The name of your custom project. Only required if you specify that you want to create a custom project. + required: true + type: string + due_date_days: + description: Only include tasks due within this many days. If you don't have any tasks with a due date set, this returns nothing. + required: false + type: integer + include_projects: + description: Only include tasks in these projects. Tasks in all other projects will be ignored. + required: false + type: list + labels: + description: Only include tasks with at least one of these labels (i.e., this works as an `or` statement). + required: false + type: list +{% endconfiguration %} ### {% linkable_title Custom Projects %} Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example: @@ -48,7 +65,7 @@ Creating custom projects is super-easy and quite powerful. All you need to run t # Example configuration.yaml entry calendar: - platform: todoist - token: !secret todoist_token + token: YOUR_API_TOKEN custom_projects: - name: 'All Projects' - name: 'Due Today' diff --git a/source/_components/camera.amcrest.markdown b/source/_components/camera.amcrest.markdown index 73a6ca444f0..a4b5002bd7f 100644 --- a/source/_components/camera.amcrest.markdown +++ b/source/_components/camera.amcrest.markdown @@ -15,6 +15,8 @@ ha_release: 0.34 To get your [Amcrest](https://amcrest.com/) cameras working within Home Assistant, please follow the instructions for the general [Amcrest component](/components/amcrest). +## {% linkable_title Configuration %} + Once you have enabled the [Amcrest component](/components/amcrest), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.android_ip_webcam.markdown b/source/_components/camera.android_ip_webcam.markdown index 8aa3455faa8..0084fcebdb1 100644 --- a/source/_components/camera.android_ip_webcam.markdown +++ b/source/_components/camera.android_ip_webcam.markdown @@ -13,9 +13,10 @@ ha_release: "0.40" ha_iot_class: "Local Polling" --- - The `android_ip_webcam` component adds a camera by default if you choose not to use the component but still want to see the video feed then the [`mjpeg` camera](/components/camera.mjpeg/) platform can be used. +## {% linkable_title Configuration %} + To enable only the camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -24,4 +25,3 @@ camera: - platform: mjpeg mjpeg_url: http://IP_ADDRESS:8080/video ``` - diff --git a/source/_components/camera.arlo.markdown b/source/_components/camera.arlo.markdown index cd748d21b17..07b8fb3f726 100644 --- a/source/_components/camera.arlo.markdown +++ b/source/_components/camera.arlo.markdown @@ -17,6 +17,8 @@ To get your [Arlo](https://arlo.netgear.com/) cameras working within Home Assist This component is not yet able to live stream from your Arlo camera, but it will be able to playback the last video capture. +## {% linkable_title Configuration %} + Once you have enabled the [Arlo component](/components/arlo), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.bloomsky.markdown b/source/_components/camera.bloomsky.markdown index 6c600b20a84..aec143513a8 100644 --- a/source/_components/camera.bloomsky.markdown +++ b/source/_components/camera.bloomsky.markdown @@ -13,7 +13,6 @@ ha_release: 0.13 ha_iot_class: "Local Polling" --- - The `bloomsky` camera component allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](/components/sensor.bloomsky). ## {% linkable_title Configuration %} diff --git a/source/_components/camera.canary.markdown b/source/_components/camera.canary.markdown index 8e5f07f461f..6d46258424b 100644 --- a/source/_components/camera.canary.markdown +++ b/source/_components/camera.canary.markdown @@ -17,6 +17,8 @@ The `canary` camera platform allows you to watch the live stream of your [Canary To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/). Once you have [Canary component](/components/canary/) setup, your [Canary](https://canary.is) camera(s) should show up automatically. +## {% linkable_title Configuration %} + You can add the following to your `configuration.yaml` file to configure `canary` camera with optional settings: ```yaml @@ -25,8 +27,8 @@ camera: ``` {% configuration %} - ffmpeg_arguments: - description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). - required: false - type: string +ffmpeg_arguments: + description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). + required: false + type: string {% endconfiguration %} diff --git a/source/_components/camera.dispatcher.markdown b/source/_components/camera.dispatcher.markdown index b0f3c63b851..05ceb99e2ca 100644 --- a/source/_components/camera.dispatcher.markdown +++ b/source/_components/camera.dispatcher.markdown @@ -19,6 +19,8 @@ This platform is meant for developers only. The `dispatcher` camera platform allows developers to create virtual camera's. +## {% linkable_title Configuration %} + You would normally not add this camera to your configuration directly but have it be discovered by one of the components that uses it. ```yaml diff --git a/source/_components/camera.doorbird.markdown b/source/_components/camera.doorbird.markdown index ce23d946725..4c0734e2695 100644 --- a/source/_components/camera.doorbird.markdown +++ b/source/_components/camera.doorbird.markdown @@ -19,6 +19,8 @@ The `doorbird` implementation allows you to view the live video and previous ima You must have the [DoorBird component](/components/doorbird/) configured to use this camera.

+## {% linkable_title Configuration %} + To enable the camera, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.ffmpeg.markdown b/source/_components/camera.ffmpeg.markdown index e87ea211844..86f1c261f05 100644 --- a/source/_components/camera.ffmpeg.markdown +++ b/source/_components/camera.ffmpeg.markdown @@ -13,9 +13,10 @@ ha_release: 0.26 ha_iot_class: "Local Polling" --- - The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](http://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem. +## {% linkable_title Configuration %} + To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -44,5 +45,4 @@ extra_arguments: You can control the image quality with [`extra_arguments`](https://www.ffmpeg.org/ffmpeg-codecs.html#jpeg2000) `-q:v 2-32` or with lossless option `-pred 1`. - If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting). diff --git a/source/_components/camera.foscam.markdown b/source/_components/camera.foscam.markdown index 8215b0f2ffb..3a0cbb53fae 100644 --- a/source/_components/camera.foscam.markdown +++ b/source/_components/camera.foscam.markdown @@ -12,7 +12,6 @@ ha_category: Camera ha_iot_class: "Local Polling" --- - The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant. ## {% linkable_title Configuration %} diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index a5c9d503d68..49349dc4605 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -13,11 +13,12 @@ ha_release: pre 0.7 ha_iot_class: "depends" --- - The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly. Home Assistant will serve the images via its server, making it possible to view your IP cameras while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]`. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.local_file.markdown b/source/_components/camera.local_file.markdown index cb870409c10..c94de28a5b7 100644 --- a/source/_components/camera.local_file.markdown +++ b/source/_components/camera.local_file.markdown @@ -17,6 +17,8 @@ The `local_file` camera platform allows you to integrate an image file from disk The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.logi_circle.markdown b/source/_components/camera.logi_circle.markdown index beed202eafa..20a742ffaef 100644 --- a/source/_components/camera.logi_circle.markdown +++ b/source/_components/camera.logi_circle.markdown @@ -35,8 +35,8 @@ camera: scan_interval: description: How frequently to query for new camera stills, value are in seconds. required: false - default: 60 type: integer + default: 60 {% endconfiguration %} ### {% linkable_title Service `camera.logi_circle_livestream_record` %} diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown index 499481eb098..0231195e04c 100644 --- a/source/_components/camera.markdown +++ b/source/_components/camera.markdown @@ -9,10 +9,9 @@ sharing: true footer: true --- - The camera component allows you to use IP cameras with Home Assistant. With a little additional work you could use [USB cameras](/blog/2016/06/23/usb-webcams-and-home-assistant/) as well. -### {% linkable_title Service %} +### {% linkable_title Services %} Once loaded, the `camera` platform will expose services that can be called to perform various actions. @@ -82,4 +81,3 @@ A simple way to test if you have set up your `camera` platform correctly, is to "entity_id": "camera.living_room_camera" } ``` - diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown index f87595dfc6b..d4195ca7b54 100644 --- a/source/_components/camera.mjpeg.markdown +++ b/source/_components/camera.mjpeg.markdown @@ -16,6 +16,8 @@ ha_iot_class: "depends" The `mjpeg` camera platform allows you to integrate IP cameras which are capable to stream their video with MJPEG into Home Assistant. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/camera.mqtt.markdown b/source/_components/camera.mqtt.markdown index c7db3ae4ac2..177e89f8924 100644 --- a/source/_components/camera.mqtt.markdown +++ b/source/_components/camera.mqtt.markdown @@ -17,6 +17,8 @@ The `mqtt` camera platform allows you to integrate the content of an image file This can be used with an application or a service capable of sending images through MQTT, for example [Zanzito](https://play.google.com/store/apps/details?id=it.barbaro.zanzito). +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -27,18 +29,18 @@ camera: ``` {% configuration %} - topic: - description: MQTT topic to subscribe to. - required: true - type: string - name: - description: Name of the camera. - required: false - type: string - unique_id: - description: > - An ID that uniquely identifies this camera. If two cameras have the same unique ID - Home Assistant will raise an exception. - required: false - type: string +topic: + description: MQTT topic to subscribe to. + required: true + type: string +name: + description: Name of the camera. + required: false + type: string +unique_id: + description: > + An ID that uniquely identifies this camera. If two cameras + have the same unique ID Home Assistant will raise an exception. + required: false + type: string {% endconfiguration %} diff --git a/source/_components/camera.neato.markdown b/source/_components/camera.neato.markdown index 3b959c0bc38..4027e94fd24 100644 --- a/source/_components/camera.neato.markdown +++ b/source/_components/camera.neato.markdown @@ -13,7 +13,6 @@ ha_release: 0.42 ha_iot_class: "Cloud Polling" --- - The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/). To add `neato` camera to your installation, follow instructions in [Neato component](/components/neato/). diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index eb11c1a1a49..bc38d19196a 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -13,10 +13,10 @@ ha_release: 0.22 ha_iot_class: "Local Polling" --- -### {% linkable_title Basic Configuration %} - The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera. +### {% linkable_title Basic configuration %} + To enable the Netatmo camera, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your camera. ### {% linkable_title Advanced configuration %} diff --git a/source/_components/camera.onvif.markdown b/source/_components/camera.onvif.markdown index 6d34a37788c..3a695d30fe6 100644 --- a/source/_components/camera.onvif.markdown +++ b/source/_components/camera.onvif.markdown @@ -12,9 +12,10 @@ ha_category: Camera ha_release: 0.47 --- - The `onvif` camera platform allows you to use an ONVIF camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured. +## {% linkable_title Configuration %} + To enable your ONVIF camera in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -44,13 +45,13 @@ password: port: description: The port for the camera. required: false - default: 5000 type: integer + default: 5000 profile: description: Video profile that will be used to obtain the stream, more details below. required: false - default: 0 type: integer + default: 0 extra_arguments: description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg)." required: false diff --git a/source/_components/camera.proxy.markdown b/source/_components/camera.proxy.markdown index e8a38d4b23f..d1c92138edf 100644 --- a/source/_components/camera.proxy.markdown +++ b/source/_components/camera.proxy.markdown @@ -11,13 +11,14 @@ ha_category: Camera ha_release: 0.65 --- - The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output. The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate. The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections. +## {% linkable_title Configuration %} + To enable this camera in your installation, you must first have an existing working camera configured in Home Assistant. Next, add the following to your `configuration.yaml` file: ```yaml @@ -30,47 +31,46 @@ camera: ``` {% configuration %} - entity_id: - description: The ID of another Home Assistant camera to post-process. - required: true - type: string - name: - description: This parameter allows you to override the name of your camera. - required: false - type: string - max_image_width: - description: The maximum width of single images taken from the camera (aspect ratio will be maintained). - required: false - type: integer - max_stream_width: - description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained). - required: false - type: integer - image_quality: - description: The quality level used for resulting JPEG for snapshots. - required: false - type: integer - default: 75 - stream_quality: - description: The quality level used for resulting MJPEG streams. - required: false - type: integer - default: 75 - image_refresh_rate: - description: The minimum time in seconds between generating successive image snapshots. - required: false - type: float - force_resize: - description: Resize the image even if the resulting image would take up more bandwidth than the original. - required: false - type: boolean - cache_images: - description: Preserve the last image and re-send in the case the camera is not responding. - required: false - type: boolean +entity_id: + description: The ID of another Home Assistant camera to post-process. + required: true + type: string +name: + description: This parameter allows you to override the name of your camera. + required: false + type: string +max_image_width: + description: The maximum width of single images taken from the camera (aspect ratio will be maintained). + required: false + type: integer +max_stream_width: + description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained). + required: false + type: integer +image_quality: + description: The quality level used for resulting JPEG for snapshots. + required: false + type: integer + default: 75 +stream_quality: + description: The quality level used for resulting MJPEG streams. + required: false + type: integer + default: 75 +image_refresh_rate: + description: The minimum time in seconds between generating successive image snapshots. + required: false + type: float +force_resize: + description: Resize the image even if the resulting image would take up more bandwidth than the original. + required: false + type: boolean +cache_images: + description: Preserve the last image and re-send in the case the camera is not responding. + required: false + type: boolean {% endconfiguration %} - ## {% linkable_title Examples %} Example of using a Camera proxy along with a Foscam camera: diff --git a/source/_components/camera.push.markdown b/source/_components/camera.push.markdown index be639978032..9794c37fbc7 100644 --- a/source/_components/camera.push.markdown +++ b/source/_components/camera.push.markdown @@ -19,7 +19,7 @@ Optionally the Push Camera can **buffer** a given number of images, creating an Images are cleared on new events, and events are separated by a soft (configurable) **timeout**. -## Integration with motionEye +## {% linkable_title Integration with motionEye %} The `push` camera can as an example be used with [motionEye](https://github.com/ccrisan/motioneye/wiki) a web frontend for the motion daemon. motionEye is usually configured to save/record files ***only*** when motion is detected. It provides a hook to run a command whenever an image is saved, which can be used together with cURL to send the motion detected images to the `push` camera, as shown in this example: @@ -57,25 +57,25 @@ camera: name: description: The name you would like to give to the camera. required: false - default: Push Camera type: string + default: Push Camera buffer: description: Number of images to buffer per event. Be conservative, large buffers will starve your system memory. required: false - default: 1 type: string + default: 1 timeout: description: Amount of time after which the event is considered to have finished. required: false - default: 5 seconds type: time + default: 5 seconds token: description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77). - required: false + required: false type: string field: description: HTTP POST field containing the image file required: false - default: image type: string + default: image {% endconfiguration %} diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown index 98d03ff0e65..9236be6f4fb 100644 --- a/source/_components/camera.ring.markdown +++ b/source/_components/camera.ring.markdown @@ -33,8 +33,8 @@ ffmpeg_arguments: scan_interval: description: How frequently to query for new video in seconds. required: false - default: 90 type: integer + default: 90 {% endconfiguration %} **Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation. diff --git a/source/_components/camera.rpi_camera.markdown b/source/_components/camera.rpi_camera.markdown index 0cc4eaa01c0..f7148f19775 100644 --- a/source/_components/camera.rpi_camera.markdown +++ b/source/_components/camera.rpi_camera.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.17 --- - The `rpi_camera` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera. ## {% linkable_title Configuration %} @@ -30,49 +29,48 @@ camera: image_width: description: Set the image width. required: false - default: 640 type: integer + default: 640 name: description: Name of the camera. required: false - default: Raspberry Pi Camera type: string + default: Raspberry Pi Camera image_height: description: Set the image height. required: false - default: 480 type: integer + default: 480 image_quality: description: Set the image quality (from 0 to 100). required: false - default: 7 type: integer + default: 7 image_rotation: description: Set image rotation (0-359). required: false - default: 0 type: integer + default: 0 horizontal_flip: description: Set horizontal flip (0 to disable, 1 to enable). required: false - default: 0 type: integer + default: 0 vertical_flip: description: Set vertical flip (0 to disable, 1 to enable). required: false - default: 0 type: integer + default: 0 timelapse: description: Takes a picture every this many milliseconds (thousands of a second) - the default means one picture a second. required: false - default: 1000 type: integer + default: 1000 file_path: description: Save the picture in a custom file path. required: false - default: A temporary file is used. type: string + default: A temporary file is used. {% endconfiguration %} - -The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/). +The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/). diff --git a/source/_components/camera.synology.markdown b/source/_components/camera.synology.markdown index 78010327625..2e0e232a0cb 100644 --- a/source/_components/camera.synology.markdown +++ b/source/_components/camera.synology.markdown @@ -13,7 +13,6 @@ ha_release: 0.31 ha_iot_class: "Local Polling" --- -  The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant. ## {% linkable_title Configuration %} @@ -33,8 +32,8 @@ camera: name: description: A name for this Synology camera. required: false - default: Synology Camera type: string + default: Synology Camera url: description: The URL to your Synology, including port. required: true @@ -50,8 +49,8 @@ password: timeout: description: The timeout in seconds used when connecting to the Surveillance Station. required: false - default: 5 type: integer + default: 5 whitelist: description: A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added. required: false @@ -59,8 +58,8 @@ whitelist: verify_ssl: description: Verify SSL/TLS certificate for HTTPS request. required: false - default: true type: boolean + default: true {% endconfiguration %} ## {% linkable_title Full example %} diff --git a/source/_components/camera.usps.markdown b/source/_components/camera.usps.markdown index 5ed58ee5624..e589a349a57 100644 --- a/source/_components/camera.usps.markdown +++ b/source/_components/camera.usps.markdown @@ -13,13 +13,14 @@ ha_release: 0.52 ha_iot_class: "Cloud Polling" --- - The `usps` camera component allows you to view the mail piece images made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS sensors](/components/sensor.usps).

You must have the [USPS component](/components/usps/) configured to use this camera. The camera will be setup if the `usps` component is configured and the required configuration is set.

+## {% linkable_title Configuration %} + To customize the interval that mail images are rotated in the mail camera you can edit your `configuration.yaml` file with the following settings: ```yaml # Example configuration.yaml entry diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown index d83f1457e87..cd86a1214cf 100644 --- a/source/_components/camera.uvc.markdown +++ b/source/_components/camera.uvc.markdown @@ -56,4 +56,3 @@ password: type: string default: ubnt {% endconfiguration %} - diff --git a/source/_components/camera.verisure.markdown b/source/_components/camera.verisure.markdown index 35b4c25e4e7..e3980f71748 100644 --- a/source/_components/camera.verisure.markdown +++ b/source/_components/camera.verisure.markdown @@ -13,8 +13,6 @@ ha_release: 0.31 ha_iot_class: "Local Polling" --- - The `verisure` camera platform allows you to control your [Verisure](https://www.verisure.com/) cameras. The requirement is that you have setup your [Verisure hub](/components/verisure/). - diff --git a/source/_components/camera.xeoma.markdown b/source/_components/camera.xeoma.markdown index e54e24f3b37..afb89f1877d 100644 --- a/source/_components/camera.xeoma.markdown +++ b/source/_components/camera.xeoma.markdown @@ -15,6 +15,8 @@ ha_release: 0.62 The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server. +## {% linkable_title Configuration %} + To enable Xeoma camera feeds, add the following lines to your `configuration.yaml`: ```yaml @@ -40,8 +42,8 @@ password: new_version: description: Set to false if the Xeoma server version is 17.5 or earlier. required: false - default: true type: boolean + default: true cameras: description: List of customizations for individual Xeoma cameras. required: false @@ -54,16 +56,16 @@ cameras: name: description: The name to display in the frontend for this camera. required: false - default: The `image_name` for this camera. type: string + default: The `image_name` for this camera. hide: description: Don't show this camera in Home Assistant. required: false - default: false type: boolean + default: false {% endconfiguration %} -## {% linkable_title Full examples %} +## {% linkable_title Full example %} ```yaml # Example configuration.yaml entry diff --git a/source/_components/camera.xiaomi.markdown b/source/_components/camera.xiaomi.markdown index 05e213825de..0dc5777f35a 100644 --- a/source/_components/camera.xiaomi.markdown +++ b/source/_components/camera.xiaomi.markdown @@ -76,16 +76,15 @@ password: path: description: The path to the raw MP4 files. required: false - default: /media/mmcblk0p1/record type: string + default: /media/mmcblk0p1/record username: description: The user that can access the FTP server. required: false - default: root type: string + default: root ffmpeg_arguments: - description: > - Extra options to pass to `ffmpeg` + description: Extra options to pass to `ffmpeg`. required: false type: string {% endconfiguration %} diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index dada5b76b48..0fce50e8b96 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -81,13 +81,13 @@ password: path: description: The path to the raw MP4 files. required: false - default: /media/mmcblk0p1/record type: string + default: /media/mmcblk0p1/record username: description: The user that can access the FTP server. required: false - default: root type: string + default: root ffmpeg_arguments: description: Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). required: false diff --git a/source/_components/camera.zoneminder.markdown b/source/_components/camera.zoneminder.markdown index d1fc230ecc4..51a00ef3d17 100644 --- a/source/_components/camera.zoneminder.markdown +++ b/source/_components/camera.zoneminder.markdown @@ -13,13 +13,14 @@ ha_release: 0.39 ha_iot_class: "Local Polling" --- - The `zoneminder` camera platform lets you monitor the current stream of your [ZoneMinder](https://www.zoneminder.com) cameras.

You must have the [ZoneMinder component](/components/zoneminder/) configured to view the camera stream.

+## {% linkable_title Configuration %} + To set it up, add the following information to your `configuration.yaml` file: ```yaml diff --git a/source/_components/canary.markdown b/source/_components/canary.markdown index d9805b5edff..8f43c61d53b 100644 --- a/source/_components/canary.markdown +++ b/source/_components/canary.markdown @@ -29,19 +29,19 @@ canary: ``` {% configuration %} - username: - description: The username for accessing your Canary account. - required: true - type: string - password: - description: The password for accessing your Canary account. - required: true - type: string - timeout: - description: Timeout to wait for connections. - required: false - type: integer - default: 10 +username: + description: The username for accessing your Canary account. + required: true + type: string +password: + description: The password for accessing your Canary account. + required: true + type: string +timeout: + description: Timeout to wait for connections. + required: false + type: integer + default: 10 {% endconfiguration %} Once loaded, your front end will have the following components: diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown index 89d09a5981e..a6206bab1df 100644 --- a/source/_components/climate.generic_thermostat.markdown +++ b/source/_components/climate.generic_thermostat.markdown @@ -13,8 +13,7 @@ ha_release: pre 0.7 ha_iot_class: "Local Polling" --- - -The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities. +The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities. ```yaml # Example configuration.yaml entry @@ -25,27 +24,71 @@ climate: target_sensor: sensor.study_temperature ``` -Configuration variables: - -- **name** (*Required*): Name of thermostat -- **heater** (*Required*): `entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `True` -- **target_sensor** (*Required*): `entity_id` for a temperature sensor, target_sensor.state must be temperature. -- **min_temp** (*Optional*): Set minimum set point available (default: 7) -- **max_temp** (*Optional*): Set maximum set point available (default: 35) -- **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available. -- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device. -- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. -- **cold_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. -- **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5. -- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off). -- **initial_operation_mode** (*Optional*): Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. -- **away_temp** (*Optional*): Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated. +{% configuration %} +name: + description: Name of thermostat. + required: true + default: Generic Thermostat + type: string +heater: + description: "`entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `true`." + required: true + type: string +target_sensor: + description: "`entity_id` for a temperature sensor, target_sensor.state must be temperature." + required: true + type: string +min_temp: + description: Set minimum set point available. + required: false + default: 7 + type: float +max_temp: + description: Set maximum set point available. + required: false + default: 35 + type: float +target_temp: + description: Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available. + required: false + type: float +ac_mode: + description: Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device. + required: false + type: boolean +min_cycle_duration: + description: Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on. + required: false + type: [time, integer] +cold_tolerance: + description: Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5. + required: false + default: 0.3 + type: float +hot_tolerance: + description: Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5. + required: false + default: 0.3 + type: float +keep_alive: + description: Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off). + required: false + type: [time, integer] +initial_operation_mode: + description: Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. + required: false + type: string +away_temp: + description: Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated. + required: false + type: float +{% endconfiguration %} A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. -Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermostat` to avoid starting by setting Operation to 'off'. +Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermostat` to avoid starting by setting Operation to 'off'. -Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off. +Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off. ```yaml # Full example configuration.yaml entry diff --git a/source/_components/climate.proliphix.markdown b/source/_components/climate.proliphix.markdown index b089ef586d5..28748d520ca 100644 --- a/source/_components/climate.proliphix.markdown +++ b/source/_components/climate.proliphix.markdown @@ -30,12 +30,20 @@ climate: password: YOUR_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): Address of your thermostat, eg. 192.168.1.32. -- **username** (*Required*): Username for the thermostat. -- **password** (*Required*): Password for the thermostat. +{% configuration %} +host: + description: Address of your thermostat, e.g., 192.168.1.32. + required: true + type: string +username: + description: Username for the thermostat. + required: true + type: string +password: + description: Password for the thermostat. + required: true + type: string +{% endconfiguration %} The Proliphix NT Thermostat series are Ethernet connected thermostats. They have a local HTTP interface that is based on get/set of OID values. A complete collection of the API is available in this [API documentation](https://github.com/sdague/thermostat.rb/blob/master/docs/PDP_API_R1_11.pdf). - diff --git a/source/_components/cover.rflink.markdown b/source/_components/cover.rflink.markdown index 4ea68f16afe..768d1e20455 100644 --- a/source/_components/cover.rflink.markdown +++ b/source/_components/cover.rflink.markdown @@ -25,17 +25,18 @@ You have to add the Somfy RTS manually with the supplied RFlinkLoader (Windows o Press the Learn button on the original Somfy remote enter the following code within 3 seconds. Your blinds will go up and down shortly: -```` +```text 10;RTS;02FFFF;0412;3;PAIR; -```` +``` Your blinds will go up and down again. This means your Rflink is now paired with your RTS motor. To check this enter the following code again and see if there is a record. -```` +```text 10;RTSSHOW; -```` -```` +``` + +```text RTS Record: 0 Address: FFFFFF RC: FFFF RTS Record: 1 Address: FFFFFF RC: FFFF RTS Record: 2 Address: FFFFFF RC: FFFF @@ -52,7 +53,7 @@ RTS Record: 12 Address: FFFFFF RC: FFFF RTS Record: 13 Address: FFFFFF RC: FFFF RTS Record: 14 Address: FFFFFF RC: FFFF RTS Record: 15 Address: FFFFFF RC: FFFF -```` +``` After configuring the RFLink Somfy RTS you have to add the cover to the `configuration.yaml` file like any other RFlink device. @@ -73,25 +74,59 @@ cover: name: Sovrumsgardin ``` -Configuration variables: - -- **devices** (*Optional*): A list of devices with their name to use in the frontend. -- **device_defaults**: (*Optional*) - - **fire_event** (*Optional*): Set default `fire_event` for Rflink switch devices (see below). - - **signal_repetitions** (*Optional*): Set default `signal_repetitions` for Rflink switch devices (see below). - -Device configuration variables: - -- **name** (*Optional*): Name for the device, defaults to Rflink ID. -- **aliases** (*Optional*): Alternative Rflink ID's this device is known by. -- **fire_event** (*Optional*): Fire a `button_pressed` event if this device is turned on or off (default: False). -- **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1). -- **group** (*Optional*): Allow light to respond to group commands (ALLON/ALLOFF). (default: yes) -- **group_aliases** (*Optional*): `aliases` which only respond to group commands. -- **no_group_aliases** (*Optional*): `aliases` which do not respond to group commands. - +{% configuration %} +devices: + description: A list of devices with their name to use in the frontend. + required: false + type: list + keys: + name: + description: The name for the device. Defaults to value for Rflink ID. + required: false + type: string + aliases: + description: The alternative Rflink ID's this device is known by. + required: false + type: list + fire_event: + description: Fire a `button_pressed` event if this device is turned on or off. + required: false + default: False + type: boolean + signal_repetitions: + description: The number of times every Rflink command should repeat. + required: false + type: integer + group: + description: Allow light to respond to group commands (ALLON/ALLOFF). + required: false + default: True + type: boolean + group_aliases: + description: The `aliases` which only respond to group commands. + required: false + type: list + no_group_aliases: + description: The `aliases` which do not respond to group commands. + required: false + type: list +device_defaults: + description: The default values for a device. + required: false + type: list + keys: + fire_event: + description: The default `fire_event` for Rflink cover devices. + required: false + default: False + type: boolean + signal_repetitions: + description: The default `signal_repetitions` for Rflink cover devices. + required: false + default: 1 + type: integer +{% endconfiguration %} ### {% linkable_title Device support %} -See [device support](/components/rflink/#device-support) - +See [device support](/components/rflink/#device-support). diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index 37427a321d8..2026b7bc3b6 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -35,18 +35,47 @@ cover: state_pin: 11 ``` -Configuration variables: +{% configuration %} +relay_time: + description: The time that the relay will be on for in seconds. + required: false + default: 0.2 + type: float +invert_relay: + description: Invert the relay pin output so that it is active-high (True). + required: false + default: False + type: boolean +state_pull_mode: + description: The direction the State pin is pulling. It can be UP or DOWN. + required: false + default: UP + type: string +invert_state: + description: Invert the value of the State pin so that 0 means closed. + required: false + default: False + type: boolean +covers: + description: List of your doors. + required: true + type: list + keys: + relay_pin: + description: The pin of your Raspberry Pi where the relay is connected. + required: true + type: integer + state_pin: + description: The pin of your Raspberry Pi to retrieve the state. + required: true + type: integer + name: + description: The name to use in the frontend. + required: false + type: string +{% endconfiguration %} -- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is 0.2 seconds. -- **invert_relay** (*Optional*): Invert the relay pin output so that it is active-high. Default is False (active-low). -- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP. -- **invert_state** (*Optional*): Invert the value of the State pin so that 0 means closed. Default is False. -- **covers** array (*Required*): List of your doors. - - **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected. - - **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state. - - **name** (*Optional*): Name to use in the frontend. - -Full example: +## {% linkable_title Full example %} ```yaml # Example configuration.yaml entry diff --git a/source/_components/demo.markdown b/source/_components/demo.markdown index 7fc7ba7025a..1ea674c92c6 100644 --- a/source/_components/demo.markdown +++ b/source/_components/demo.markdown @@ -45,6 +45,9 @@ To integrate a demo platform in Home Assistant, add the following section to you - platform: demo ``` -Configuration variables: - -- **[component]** (*Required*): The name of the component as stated in the listing above the configuration example. +{% configuration %} +"[component]": + description: The name of the component as stated in the listing above the configuration example. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/device_tracker.gpslogger.markdown b/source/_components/device_tracker.gpslogger.markdown index 69d5e094682..bf98c0b62ed 100644 --- a/source/_components/device_tracker.gpslogger.markdown +++ b/source/_components/device_tracker.gpslogger.markdown @@ -15,7 +15,7 @@ The `gpslogger` device tracker platform allows you to detect presence using [GPS ## {% linkable_title Auth change release 0.77 and above %} -Since release 0.77, we now have long-lived access tokens. These are setup under your profile. +Since release 0.77, we now have long-lived access tokens. These are setup under your profile and configured in the GPSLogger application on your smartphone as explained below. ```yaml # Example configuration.yaml entry @@ -80,11 +80,11 @@ Add the above URL after you modified it with your settings into the **URL** fiel - Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network. - Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using. - For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters. -- **0.77+** If you are using Long-Lived access tokens, then add `Authentication: Bearer LLAT` to the HTTP Headers setting -- **<0.77** Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL. +- **0.77+** If you are using Long-Lived access tokens, then add `Authorization: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token). +- **<0.77** Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL. - You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`. -If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers** +If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**

diff --git a/source/_components/fan.zha.markdown b/source/_components/fan.zha.markdown index 536d9c78bd1..60d316e5926 100644 --- a/source/_components/fan.zha.markdown +++ b/source/_components/fan.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Fan" -description: "Instructions how to setup ZigBee Home Automation fans within Home Assistant." +title: "Zigbee Home Automation Fan" +description: "Instructions how to setup Zigbee Home Automation fans within Home Assistant." date: 2018-02-10 00:00 sidebar: true comments: false @@ -13,4 +13,4 @@ ha_iot_class: "Local Polling" ha_release: 0.66 --- -To get your ZigBee fans working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee fans working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 412906f799a..61ffe91ede9 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -35,7 +35,6 @@ If this is the first time setting up your Google Assistant integration, you can Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your existing configuration from release 0.79 or below, you need: 1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/), look for the `Advanced Options` in the bottom left of the sidebar. - - Under `Create an Action`, under the build section, modify `Add fulfillment URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, where `[YOUR HOME ASSISTANT URL:PORT]` is the domain / IP address and the port under which your Home Assistant instance is reachable. - Change `Linking type` to `OAuth` and `Authorization Code`. - In the `Client information` section: - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index dceb3156781..bdeb47998f6 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -14,6 +14,10 @@ logo: apple-homekit.png The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. However if you do encounter issues, checkout the [troubleshooting](#troubleshooting) section. +

+ If you want to control `HomeKit` only devices with Home Assistant, check out the [HomeKit controller](/components/homekit_controller/) component. +

+

It might be necessary to install an additional package: `$ sudo apt-get install libavahi-compat-libdnssd-dev` @@ -313,6 +317,9 @@ For `Docker` users: make sure to set `network_mode: host`. Other reasons could b #### {% linkable_title Pairing hangs - zeroconf error %} Paining eventually fails, you might see and an error message `NonUniqueNameException`. To resolve this, you need to replace a specific file. See the following git issues for more details: [home-assistant#14567](https://github.com/home-assistant/home-assistant/issues/14567) and [home-assistant#17181](https://github.com/home-assistant/home-assistant/issues/17181) +#### {% linkable_title Pairing hangs - only works with debug config %} +Pairing works fine when the filter is set to only include `demo.demo`, but fails with normal config. See [specific entity doesn't work](#specific-entity-doesnt-work) + #### {% linkable_title Duplicate AID found when attempting to add accessory %} Two of your entities share the same `entity_id`. Either resolve this or configure the [filter](#configure-filter) to exclude them. @@ -325,6 +332,18 @@ Make sure that you don't try to add more then 100 accessories, see [device limit #### {% linkable_title Some of my devices don't show up - Z-Wave / Discovery %} See [disable auto start](#disable-auto-start) +#### {% linkable_title My entity doesn't show up %} +Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`. + +#### {% linkable_title HomeKit doesn't work on second Home Assistant instance %} +To use the HomeKit component with to different Home Assistant instances on the same local network, you need to set a custom name for at least one of them. [config/name](#name) + +#### {% linkable_title Specific entity doesn't work %} +Although we try our best, some entities don't work with the HomeKit component yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit) + +#### {% linkable_title Accessories are all listed as not responding %} +See [specific entity doesn't work](#specific-entity-doesnt-work) + #### {% linkable_title Accessory not responding - after restart or update %} See [device limit](#device-limit) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 3c3b20ca888..c80fbf4c31c 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -62,7 +62,7 @@ cors_allowed_origins: required: false type: string, list use_x_forwarded_for: - description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting above for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored." + description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored." required: false type: boolean default: false diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown index 1f1507bf280..df42e785848 100644 --- a/source/_components/image_processing.markdown +++ b/source/_components/image_processing.markdown @@ -20,9 +20,9 @@ If you are running Home Assistant over SSL or from within a container, you will ## {% linkable_title ALPR %} -Alpr entities attribute have a vehicle counter `vehicles` and all found plates as `plates`. +ALPR entities have a vehicle counter attribute `vehicles` and all found plates are stored in the `plates` attribute. -This event is trigger after OpenALPR found a new license plate. +The `found_plate` event is triggered after OpenALPR has found a new license plate. ```yaml # Example configuration.yaml automation entry @@ -41,9 +41,9 @@ The following event attributes will be present (platform-dependent): `entity_id` ## {% linkable_title Face %} -Face entities attribute have a face counter `total_faces` and all face data as `faces`. +Face entities have a face counter attribute `total_faces` and all face data is stored in the `faces` attribute. -This event is trigger after Microsoft Face found a faces. +The `detect_face` event is triggered after a Face entity has found a face. ```yaml # Example configuration.yaml automation entry diff --git a/source/_components/insteon.markdown b/source/_components/insteon.markdown index d52e115b918..03e81cd3072 100644 --- a/source/_components/insteon.markdown +++ b/source/_components/insteon.markdown @@ -13,12 +13,8 @@ ha_iot_class: "Local Push" ha_version: 0.77 --- -This component adds "local push" support for INSTEON Modems allowing -linked INSTEON devices to be used within Home Assistant as binary sensors, -lights, fans, sensors and switches. Device support is provided by the -underlying [insteonplm] package. It is known to work with the [2413U] USB and -[2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been -tested to work with the [2242] and [2245] Hubs. +This component adds "local push" support for INSTEON Modems allowing linked INSTEON devices to be used within Home Assistant as binary sensors, lights, fans, sensors and switches. Device support is provided by the +underlying [insteonplm] package. It is known to work with the [2413U] USB and [2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been tested to work with the [2242] and [2245] Hubs. [insteonplm]: https://github.com/nugget/python-insteonplm [2413U]: https://www.insteon.com/powerlinc-modem-usb @@ -27,11 +23,9 @@ tested to work with the [2242] and [2245] Hubs. [2245]: https://www.insteon.com/insteon-hub/ [2242]: https://www.insteon.com/support-knowledgebase/2014/9/26/insteon-hub-owners-manual - ### {% linkable_title INSTEON Modem configuration %} -To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the -following configuration: +To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the following configuration: ```yaml # PLM configuration variables @@ -40,7 +34,7 @@ insteon: ``` To set up an INSTEON Hub model [2245], use the following configuration: - + ```yaml # Hub 2245 configuration variables insteon: @@ -81,92 +75,111 @@ insteon: x10_all_lights_on: HOUSECODE x10_all_lights_off: HOUSECODE ``` -Configuration variables: -- **port** (*Required for PLM setup*): The serial or USB port for your device, - e.g., `/dev/ttyUSB0` or `COM3` -- **host** (*Required for Hub setup*): The host name or IP address of the Hub. -- **ip_port** (*Optional for Hub setup*): The IP port number of the Hub. For - Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub - model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon - app to find the port number for your specific Hub. -- **username** (*Required for Hub version 2 setup*): The username to login in - to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup. - You can find your Hub username on the bottom of the Hub or you can use the - Insteon app. -- **password** (*Required for Hub version 2 setup*): The password to login in - to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup. - You can find your Hub password on the bottom of the Hub or you can use the - Insteon app. -- **hub_version** (*Required for Hub version 1 setup*): The Hub version number - where model [2242] is Hub version 1 and model [2245] is Hub version 2. - (Default is 2) -- **device_override** (*Optional*): Override the default device definition - - *ADDRESS* is found on the device itself in the form 1A.2B.3C or 1a2b3c - - *CATEGORY* is found in the back of the device's User Guide in the form of - 0x00 - 0xff - - *SUBCATEGORY* is found in the back of the device's User Guide in the form - of 0x00 - 0xff - - *FIRMWARE* and *PRODUCT_KEY* are more advanced options and will typically - not be used. -- **x10_devices** (*Optional*): Define X10 devices to control or respond to - - *HOUSECODE* is the X10 housecode values a - p - - *UNITCODE* is the X10 unit code values 1 - 16 - - *PLATFORM* is the Home Assistant Platform to associate the device with. - The following platforms are supported - - binary_sensor: Used for on/off devices or keypad buttons that are read-only. - - light: Used for dimmable X10 devices - - switch: Used for On/Off X10 devices - - *STEPS* is the number of dim/bright steps the device supports. Used for - dimmable X10 devices only. Default value is 22. -- **x10_all_units_off** (*Optional*): Creates a binary_sensor that responds - to the X10 standard command for All Units Off. -- **x10_all_lights_on** (*Optional*): Creates a binary_sensor that responds - to the X10 standard command for All Lights On -- **x10_all_lights_off** (*Optional*): Creates a binary_sensor that responds - to the X10 standard command for All Lights Off + +{% configuration %} +port: + description: The serial or USB port for your device, e.g., `/dev/ttyUSB0` or `COM3`. + required: Required for PLM setup + type: string +host: + description: The host name or IP address of the Hub. + required: Required for Hub setup + type: string +ip_port: + description: The IP port number of the Hub. For Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon app to find the port number for your specific Hub. + required: Optional for Hub setup + type: integer +username: + description: The username to login in to the local Hub. You can find your Hub username on the bottom of the Hub or you can use the Insteon app. + required: Required for Hub version 2 setup + type: string +password: + description: The password to login in to the local Hub. You can find your Hub password on the bottom of the Hub or you can use the Insteon app. + required: Required for Hub version 2 setup + type: string +hub_version: + description: The Hub version number where model [2242] is Hub version 1 and model [2245] is Hub version 2. + required: Required for Hub version 1 setup + default: 2 + type: integer +device_override: + description: Override the default device definition. + required: false + type: list + keys: + address: + description: is found on the device itself in the form 1A.2B.3C or 1a2b3c. + required: true + type: string + cat: + description: is found in the back of the device's User Guide in the form of 0x00 - 0xff. + required: false + type: integer + subcat: + description: is found in the back of the device's User Guide in the form of 0x00 - 0xff. + required: false + type: integer + firmware: + description: are more advanced options and will typically not be used. + required: false + type: string + product_key: + description: are more advanced options and will typically not be used. + required: false + type: integer +x10_devices: + description: Define X10 devices to control or respond to. + required: false + type: list + keys: + housecode: + description: is the X10 housecode values a - p + required: true + type: string + unitcode: + description: is the X10 unit code values 1 - 16 + required: true + type: integer + platform: + description: "is the Home Assistant Platform to associate the device with. The following platforms are supported: binary_sensor: Used for on/off devices or keypad buttons that are read-only. light: Used for dimmable X10 devices. switch: Used for On/Off X10 devices." + required: true + type: string + dim_steps: + description: is the number of dim/bright steps the device supports. Used for dimmable X10 devices only. + required: false + default: 22 + type: integer +x10_all_units_off: + description: Creates a binary_sensor that responds to the X10 standard command for All Units Off. + required: false + type: string +x10_all_lights_on: + description: Creates a binary_sensor that responds to the X10 standard command for All Lights On + required: false + type: string +x10_all_lights_off: + description: Creates a binary_sensor that responds to the X10 standard command for All Lights Off + required: false + type: string +{% endconfiguration %} ### {% linkable_title Autodiscovery %} -The first time autodiscovery runs, the duration may require up to 20 seconds -per device. Subsequent startups will occur much quicker using cached device -information. If a device is not recognized during autodiscovery, you can add -the device to the **device_override** configuration. +The first time autodiscovery runs, the duration may require up to 20 seconds per device. Subsequent startups will occur much quicker using cached device information. If a device is not recognized during autodiscovery, you can add the device to the **device_override** configuration. -In order for a device to be discovered, it must be linked to the INSTEON Modem -as either a responder or a controller. +In order for a device to be discovered, it must be linked to the INSTEON Modem as either a responder or a controller. ### {% linkable_title Linking Devices to the INSTEON Modem %} -In order for any two Insteon devices to talk with one another, they must be -linked. For an overview of device linking, please read the Insteon page on -[understanding linking]. The Insteon Modem module supports All-Linking through -[Development Tools] service calls. The following services are available: +In order for any two Insteon devices to talk with one another, they must be linked. For an overview of device linking, please read the Insteon page on [understanding linking]. The Insteon Modem module supports All-Linking through [Development Tools] service calls. The following services are available: -- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking -mode. The IM can be set as a controller or a responder. If the IM is a -controller, put the IM into linking mode then press the SET button on the -device. If the IM is a responder, press the SET button on the device then -put the IM into linking mode. -- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an -All-Link record from the All-Link Database of the IM and a device. Once the IM -is set to delete the link, press the SET button on the corresponding device -to complete the process. -- **insteon.load_all_link_database**: Load the All-Link Database for a -device. WARNING - Loading a device All-Link database may take a LONG time and -may need to be repeated to obtain all records. -- **insteon.print_all_link_database**: Print the All-Link Database for a -device. Requires that the All-Link Database is loaded first. -- **insteon.print_im_all_link_database**: Print the All-Link Database for -the INSTEON Modem (IM). +- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking mode. The IM can be set as a controller or a responder. If the IM is a controller, put the IM into linking mode then press the SET button on the device. If the IM is a responder, press the SET button on the device then put the IM into linking mode. +- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the SET button on the corresponding device to complete the process. +- **insteon.load_all_link_database**: Load the All-Link Database for a device. WARNING - Loading a device All-Link database may take a LONG time and may need to be repeated to obtain all records. +- **insteon.print_all_link_database**: Print the All-Link Database for a device. Requires that the All-Link Database is loaded first. +- **insteon.print_im_all_link_database**: Print the All-Link Database for the INSTEON Modem (IM). -If you are looking for more advanced options, you can use the -[insteonplm_interactive] command line tool that is distributed with the -[insteonplm] Python module. Please see the documentation on the [insteonplm] -GitHub site. Alternatively, you can download [HouseLinc] which runs on any -Windows PC, or you can use [Insteon Terminal] which is open source and runs -on most platforms. SmartHome no longer supports HouseLinc, but it still -works. Insteon Terminal is a very useful tool but please read the disclaimers -carefully, they are important. +If you are looking for more advanced options, you can use the [insteonplm_interactive] command line tool that is distributed with the [insteonplm] Python module. Please see the documentation on the [insteonplm] GitHub site. Alternatively, you can download [HouseLinc] which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important. [understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking [Development Tools]: https://www.home-assistant.io/docs/tools/dev-tools/ @@ -174,36 +187,24 @@ carefully, they are important. [Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal [insteonplm_interactive]: https://github.com/nugget/python-insteonplm#command-line-interface -### {% linkable_title Customization %} +### {% linkable_title Customization %} -The only configuration item that is necessary is the PLM port or Hub IP -address, username and password so that Home Assistant can connect to the -INSTEON Modem. This will expose all the supported INSTEON devices which exist -in the modem’s ALL-Link database. However, devices will only be shown by their -INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link -and unlink devices using the ‘Set’ buttons, they’ll be added and removed from -Home Assistant automatically. +The only configuration item that is necessary is the PLM port or Hub IP address, username and password so that Home Assistant can connect to the INSTEON Modem. This will expose all the supported INSTEON devices which exist in the modem’s ALL-Link database. However, devices will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link and unlink devices using the ‘Set’ buttons, they’ll be added and removed from Home Assistant automatically. -You can use the normal Home Assistant [device customization] section of your -configuration to assign friendly names and special icons to your devices. This -is especially useful for setting device_class on your binary_sensor INSTEON -devices. +You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This is especially useful for setting device_class on your binary_sensor INSTEON devices. [device customization]: /getting-started/customizing-devices/ -### {% linkable_title Device Overrides %} +### {% linkable_title Device Overrides %} -INSTEON devices are added to Home Assistant using the platform(s) that make the -most sense given the model and features of the hardware. The features of the -INSTEON devices are built into the Home Assistant platform. Changing the -platform is not recommended. There are two primary uses for the -**device_override** feature. -- Devices that do not respond during autodiscovery. This is common for battery - operated devices. -- Devices that have not been fully developed. This allows an unknown device to - be mapped to a device that operates similarly to another device. +INSTEON devices are added to Home Assistant using the platform(s) that make the most sense given the model and features of the hardware. The features of the INSTEON devices are built into the Home Assistant platform. Changing the platform is not recommended. -### {% linkable_title Example Configuration with Options%} +There are two primary uses for the **device_override** feature: + +- Devices that do not respond during autodiscovery. This is common for battery operated devices. +- Devices that have not been fully developed. This allows an unknown device to be mapped to a device that operates similarly to another device. + +### {% linkable_title Example Configuration with Options%} ```yaml # Full example of Insteon configuration with customizations and overrides @@ -221,15 +222,12 @@ insteon: device_override: - address: a1b2c3 # Hidden Door Sensor [2845-222] cat: 0x10 - subcat: 0x11 + subcat: 0x11 ``` ### {% linkable_title What NOT to do %} -Insteon Modem is a top-level component and device discovery will identify -the Home Assistant platform the device belongs in. As such, do not -declare Insteon devices in other platforms. For example, this configuration -will NOT work: +Insteon Modem is a top-level component and device discovery will identify the Home Assistant platform the device belongs in. As such, do not declare Insteon devices in other platforms. For example, this configuration will NOT work: ```yaml light: @@ -239,26 +237,18 @@ light: ### {% linkable_title Events and Mini-Remotes %} -Mini-Remote devices do not appear as Home Assistant entities. They generate -events. The following events are available: +Mini-Remote devices do not appear as Home Assistant entities, they generate events. The following events are available: - **insteon.button_on** - - **address**: (required) The Insteon device address in lower case without - dots (e.g., 1a2b3c) - - **button**: (Optional) The button id in lower case. For a 4-button remote - the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For - a one-button remote this field is not used. + - **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c) + - **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. - **insteon.button_of** - - **address**: (required) The Insteon device address in lower case without - dots (e.g., 1a2b3c) - - **button**: (Optional) The button id in lower case. For a 4-button remote - the values are a to d. For an 8 button remote the values are `a` to `g`. For - a one-button remote this field is not used. + - **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c) + - **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used. -This allows the mini-remotes to be configured as triggers for automations. Here -is an example of how to use these events for automations: +This allows the mini-remotes to be configured as triggers for automations. Here is an example of how to use these events for automations: -``` +```yaml automation: # 4 or 8 button remote with button c pressed trigger: @@ -292,17 +282,10 @@ automation: ### {% linkable_title Known Issues with the INSTEON Hub %} -The INSTEON Hub has three known issues that are inherent to the design of the -Hub: +The INSTEON Hub has three known issues that are inherent to the design of the Hub: -1. If you see multiple error messages in the log file stating the Hub -connection is closed, and reconnection has failed, this generally requires -the Hub to be restarted to reconnect. +1. If you see multiple error messages in the log file stating the Hub connection is closed, and reconnection has failed, this generally requires the Hub to be restarted to reconnect. -2. You cannot use both Home Assistant and the INSTEON app. If you do, the -changes made in the app will not appear in Home Assistant. Changes made in -Home Assistant will appear in the app after a period of time, however. +2. You cannot use both Home Assistant and the INSTEON app. If you do, the changes made in the app will not appear in Home Assistant. Changes made in Home Assistant will appear in the app after a period of time, however. -3. The Hub response times can be very slow. This is due to the Hub polling -devices frequently. Since only one INSTEON message can be broadcast at a time, -messages to and from Home Assistant can be delayed. +3. The Hub response times can be very slow. This is due to the Hub polling devices frequently. Since only one INSTEON message can be broadcast at a time, messages to and from Home Assistant can be delayed. diff --git a/source/_components/light.tradfri.markdown b/source/_components/light.tradfri.markdown index 82da9e0d331..e7b44cdfd2b 100644 --- a/source/_components/light.tradfri.markdown +++ b/source/_components/light.tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri lights" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Lights." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Lights." date: 2017-04-12 22.04 sidebar: true comments: false diff --git a/source/_components/light.yeelightsunflower.markdown b/source/_components/light.yeelightsunflower.markdown index 0583084626c..aee2c1d2852 100644 --- a/source/_components/light.yeelightsunflower.markdown +++ b/source/_components/light.yeelightsunflower.markdown @@ -28,15 +28,17 @@ light: host: 192.168.1.59 ``` -Configuration variables: - -- **host** (*Required*): IP address of your Yeelight Sunflower hub. +{% configuration %} +host: + description: IP address of your Yeelight Sunflower hub. + required: true + type: string +{% endconfiguration %}

-When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name. +When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name.

The Yeelight Sunflower hub supports SSDP discovery, but that has not been built into the platform. Let the developer know if that would be helpful to you.

- diff --git a/source/_components/light.zha.markdown b/source/_components/light.zha.markdown index 904c1e59de8..0285626c619 100644 --- a/source/_components/light.zha.markdown +++ b/source/_components/light.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Light" -description: "Instructions on how to setup ZigBee Home Automation lights within Home Assistant." +title: "Zigbee Home Automation Light" +description: "Instructions on how to setup Zigbee Home Automation lights within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,4 +12,4 @@ ha_category: Light ha_iot_class: "Local Polling" --- -To get your ZigBee lights working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee lights working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/light.zigbee.markdown b/source/_components/light.zigbee.markdown index d88f348cb44..9de952bd848 100644 --- a/source/_components/light.zigbee.markdown +++ b/source/_components/light.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: ZigBee Light -description: "Instructions on how to set up ZigBee lights within Home Assistant." +title: Zigbee Light +description: "Instructions on how to set up Zigbee lights within Home Assistant." date: 2016-01-28 12:38 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A Zigbee light in this context is a light connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a light is considered `on` when the Zigbee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. To configure a digital output pin as light, add the following to your `configuration.yaml` file: @@ -34,7 +34,7 @@ pin: required: true type: integer address: - description: The long 64-bit address of the remote ZigBee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins. required: false type: string on_state: diff --git a/source/_components/matrix.markdown b/source/_components/matrix.markdown index d965ea1a9f5..5d22a661c3e 100644 --- a/source/_components/matrix.markdown +++ b/source/_components/matrix.markdown @@ -27,8 +27,6 @@ matrix: name: my_command ``` -Configuration variables: - {% configuration %} username: description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g., '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes." diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown index abcfd873600..b2abdca1113 100644 --- a/source/_components/media_player.firetv.markdown +++ b/source/_components/media_player.firetv.markdown @@ -14,7 +14,7 @@ ha_iot_class: "Local Polling" --- -The `firetv` platform allows you to control a [Amazon Fire TV/stick](http://www.amazon.com/Amazon-DV83YW-Fire-TV/dp/B00U3FPN4U). +The `firetv` platform allows you to control a [Amazon Fire TV/stick](https://www.amazon.com/b/?node=8521791011). The python-firetv Python 2.x module with its helper script that exposes an HTTP server to fetch state and perform actions is used. diff --git a/source/_components/media_player.philips_js.markdown b/source/_components/media_player.philips_js.markdown index 78f87af83a6..75734debc67 100644 --- a/source/_components/media_player.philips_js.markdown +++ b/source/_components/media_player.philips_js.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.34 --- - The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html). To add your TV to your installation, add the following to your `configuration.yaml` file: @@ -25,24 +24,38 @@ media_player: host: 192.168.1.99 ``` -Configuration variables: - -- **host** (*Required*): IP address of TV. -- **name** (*Optional*): The name you would like to give to the Philips TV. -- **turn_on_action** (*Optional*): A script that will be executed to turn on the TV (can be used with wol). -- **api_version** (*Optional*): The JointSpace API version of your Philips TV, defaults to `1`. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`. +{% configuration %} +host: + description: IP address of TV. + required: true + default: 127.0.0.1 (localhost). + type: string +name: + description: The name you would like to give to the Philips TV. + required: false + default: Philips TV + type: string +turn_on_action: + description: A script that will be executed to turn on the TV (can be used with wol). + required: false + type: list +api_version: + description: The JointSpace API version of your Philips TV. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`. + required: false + default: 1 + type: integer +{% endconfiguration %}

When using api_version: 5 changing sources switches tv channels. Additionally this allows setting the volume level.

- ```yaml # Example configuration.yaml with turn_on_action media_player: - platform: philips_js host: 192.168.1.99 - turn_on_action: + turn_on_action: service: wake_on_lan.send_magic_packet data: mac: aa:bb:cc:dd:ee:ff diff --git a/source/_components/media_player.snapcast.markdown b/source/_components/media_player.snapcast.markdown index 94f7db9b94c..b889f5168ae 100644 --- a/source/_components/media_player.snapcast.markdown +++ b/source/_components/media_player.snapcast.markdown @@ -22,9 +22,17 @@ To add Snapcast to your installation, add the following to your `configuration.y # Example configuration.yaml entry media_player: - platform: snapcast - host: xxx.xxx.xxx.xxx + host: YOUR_IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): The IP of the device, eg. `192.168.0.10`. +{% configuration %} +host: + description: The IP address of the device, e.g., `192.168.0.10`. + required: true + type: string +port: + description: The port number. + required: false + default: 1705 + type: integer +{% endconfiguration %} diff --git a/source/_components/media_player.soundtouch.markdown b/source/_components/media_player.soundtouch.markdown index 463914f2366..c70eba92446 100644 --- a/source/_components/media_player.soundtouch.markdown +++ b/source/_components/media_player.soundtouch.markdown @@ -43,11 +43,22 @@ media_player: name: Soundtouch kitchen ``` -Configuration variables: - -- **host** (*Required*): The host name or address of the Soundtouch device. -- **name** (*Required*): The name of the device used in the frontend. -- **port** (*Optional*): The port number. Defaults to 8090. +{% configuration %} +host: + description: The host name or address of the Soundtouch device. + required: true + type: string +name: + description: The name of the device used in the frontend. + required: true + default: Bose Soundtouch + type: string +port: + description: The port number. + required: false + default: 8090 + type: integer +{% endconfiguration %} You can switch between one of your 6 pre-configured presets using ```media_player.play_media``` diff --git a/source/_components/media_player.squeezebox.markdown b/source/_components/media_player.squeezebox.markdown index 26a617832de..147b402f5ed 100644 --- a/source/_components/media_player.squeezebox.markdown +++ b/source/_components/media_player.squeezebox.markdown @@ -25,12 +25,25 @@ media_player: host: IP_ADDRESS ``` -Configuration variables: - -- **host** (*Required*): The host name or address of the Logitech Media Server, eg. 192.168.1.21. -- **port** (*Optional*): Web interface port to Logitech Media Server. Defaults to 9000. -- **username** (*Optional*): The username, if password protection is enabled. -- **password** (*Optional*): The password, if password protection is enabled. +{% configuration %} +host: + description: The host name or address of the Logitech Media Server, eg. 192.168.1.21. + required: true + type: string +port: + description: The web interface port to Logitech Media Server. + required: false + default: 9000 + type: integer +username: + description: The username, if password protection is enabled. + required: false + type: string +password: + description: The password, if password protection is enabled. + required: false + type: string +{% endconfiguration %}

This platform now uses the web interface of the Logitech Media Server to send commands. The default port of the web interface is 9000. It is the same port that you use to access the LMS through your web browser. Originally, this platform used the telnet interface, which defaults to 9090. If you previously specified the port in your configuration file, you will likely need to update it.

diff --git a/source/_components/media_player.volumio.markdown b/source/_components/media_player.volumio.markdown index 26053822e8a..71acd0a873f 100644 --- a/source/_components/media_player.volumio.markdown +++ b/source/_components/media_player.volumio.markdown @@ -26,8 +26,20 @@ media_player: port: 3000 ``` -Configuration variables: - -- **name** (*Optional*): Name of the device -- **host** (*Required*): IP address or hostname of the device -- **port** (*Required*): Port number of Volumio service +{% configuration %} +name: + description: The name of the device. + required: false + default: Volumio + type: string +host: + description: The IP address or hostname of the device. + required: true + default: localhost + type: string +port: + description: The Port number of Volumio service. + required: true + default: 3000 + type: integer +{% endconfiguration %} diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown index 8735db3992c..5bd5aa7481f 100644 --- a/source/_components/netatmo.markdown +++ b/source/_components/netatmo.markdown @@ -13,7 +13,6 @@ ha_release: "0.20" ha_iot_class: "Cloud Polling" --- - The `netatmo` component platform is the main component to integrate all Netatmo related platforms. To enable the Netatmo component, add the following lines to your `configuration.yaml`: @@ -27,8 +26,6 @@ netatmo: password: YOUR_PASSWORD ``` -Configuration variables: - {% configuration %} api_key: description: The `client id` from your Netatmo app. @@ -61,7 +58,7 @@ Click on 'Create an App' at the top of the page.

-You have to fill the form, but only two fields are required : Name and Description. It doesn't really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form. +You have to fill the form, but only two fields are required: Name and Description. It doesn't really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form.

@@ -72,4 +69,3 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo

- diff --git a/source/_components/notify.clicksend.markdown b/source/_components/notify.clicksend.markdown index 8d619617b42..ee70de003d1 100644 --- a/source/_components/notify.clicksend.markdown +++ b/source/_components/notify.clicksend.markdown @@ -62,7 +62,7 @@ sender: description: The name or number of the sender. required: false type: string - default: recipient + default: 'hass' {% endconfiguration %} To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_components/notify.discord.markdown b/source/_components/notify.discord.markdown index 5164e65a6c9..01fca89820b 100644 --- a/source/_components/notify.discord.markdown +++ b/source/_components/notify.discord.markdown @@ -14,7 +14,9 @@ ha_release: 0.37 The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows components to send messages to the user using Discord. -In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retrieve the **Client ID** and the (hidden) **Token** of your bot for later. +In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**). + +Retreive the **Client ID** from the information section and the (hidden) **Token** of your bot for later. When setting up the application you can use this [icon](/demo/favicon-192x192.png). diff --git a/source/_components/notify.hipchat.markdown b/source/_components/notify.hipchat.markdown index 877bcd8cd82..883fbcbf491 100644 --- a/source/_components/notify.hipchat.markdown +++ b/source/_components/notify.hipchat.markdown @@ -12,6 +12,11 @@ ha_category: Notifications ha_release: "0.52" --- +

+This component will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: announcement. + +Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch. +

The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/). @@ -24,19 +29,45 @@ To enable the HipChat notification in your installation, add the following to yo notify: - name: NOTIFIER_NAME platform: hipchat - token: ABCDEFGHJKLMNOPQRSTUVXYZ + token: YOUR_TOKEN room: 1234567 ``` -Configuration variables: - -- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. -- **token** (*Required*): The HipChat API token to use for sending HipChat notifications. -- **room** (*Required*): The default room to post to if no room is explicitly specified when sending the notification. -- **color** (*Optional*): Setting color will override the default color for the notification. By default not setting this will post to HipChat using the default color yellow. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'. -- **notify** (*Optional*): Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. By default this is 'false'. Valid options are 'true' and 'false'. -- **format** (*Optional*): Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'. -- **host** (*Optional*): Setting the host will override the default HipChat server host. Default is 'https://api.hipchat.com/'. +{% configuration %} +name: + description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. + required: false + default: notify + type: string +token: + description: The HipChat API token to use for sending HipChat notifications. + required: true + type: string +room: + description: The default room to post to if no room is explicitly specified when sending the notification. + required: true + type: integer +color: + description: Setting color will override the default color for the notification. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'. + required: false + default: yellow + type: string +notify: + description: Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. Valid options are 'true' and 'false'. + required: false + default: false + type: boolean +format: + description: Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'. + required: false + default: text + type: string +host: + description: Setting the host will override the default HipChat server host. + required: false + default: "https://api.hipchat.com/" + type: string +{% endconfiguration %} ### {% linkable_title HipChat service data %} @@ -50,4 +81,3 @@ The following attributes can be placed `data` for extended functionality. | `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml. To use notifications, please see the [getting started with automation page](/getting-started/automation/). - diff --git a/source/_components/notify.yessssms.markdown b/source/_components/notify.yessssms.markdown index 9f139ad18a2..f85cbc85462 100644 --- a/source/_components/notify.yessssms.markdown +++ b/source/_components/notify.yessssms.markdown @@ -36,11 +36,20 @@ notify: recipient: PHONE_NUMBER_TO_NOTIFY ``` -Configuration variables: - -- **username** (*Required*): This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website. -- **password** (*Required*): This is the password you use to login to Yesss.at. -- **recipient** (*Required*): This is the phone number you want to send the SMS notification to. +{% configuration %} +username: + description: This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website. + required: true + type: string +password: + description: This is the password you use to login to Yesss.at. + required: true + type: string +recipient: + description: This is the phone number you want to send the SMS notification to. + required: true + type: string +{% endconfiguration %}

Verify that your credentials work on [Yesss.at's website](https://yesss.at). Using the wrong credentials three times in a row will get you suspended for one hour. diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown index 05b3ce1fbec..599aaa4eea6 100644 --- a/source/_components/pilight.markdown +++ b/source/_components/pilight.markdown @@ -15,7 +15,7 @@ ha_iot_class: "Local Push" [Pilight](https://www.pilight.org/) is a modular and open source solution to communicate with 433 MHz devices and runs on various small form factor computers. A lot of common [protocols](https://manual.pilight.org/protocols/index.html) are already available. -This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication. +This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication. The received and supported RF codes are put on the event bus of Home Assistant and are therefore directly usable by other components (e.g., automation). Additionally a send service is provided to send RF codes. @@ -28,12 +28,27 @@ To integrate pilight into Home Assistant, add the following section to your `con pilight: ``` -Configuration variables: - -- **host** (*Optional*): The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32. -- **port** (*Optional*): The network port to connect to. The usual port is [5001](https://manual.pilight.org/development/api.html). -- **send_delay** (*Optional*): You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware. -- **whitelist** (*Optional*): You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true. +{% configuration %} +host: + description: The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32. + required: false + default: 127.0.0.1 + type: string +port: + description: "The network port to connect to, see also: (https://manual.pilight.org/development/api.html)." + required: false + default: 5001 + type: integer +send_delay: + description: You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware. + required: false + default: 0.0 + type: float +whitelist: + description: You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true. + required: false + type: string +{% endconfiguration %} In this example only received RF codes using a daycom or Intertechno protocol are put on the event bus and only when the device id is 42. For more possible settings please look at the receiver section of the pilight [API](https://manual.pilight.org/development/api.html). diff --git a/source/_components/proximity.markdown b/source/_components/proximity.markdown index 5d1ed90168c..36046ef9135 100644 --- a/source/_components/proximity.markdown +++ b/source/_components/proximity.markdown @@ -43,7 +43,7 @@ proximity: ignored_zones: - twork devices: - - device_tracker.nwaring_nickmobile + - device_tracker.car1 tolerance: 50 unit_of_measurement: mi ``` @@ -63,20 +63,20 @@ To add multiple proximity components, simply use a list in your `configuration.y proximity: home: ignored_zones: - - twork - - elschool + - work + - school devices: - - device_tracker.nwaring_nickmobile - - device_tracker.eleanorsiphone - - device_tracker.tsiphone + - device_tracker.car1 + - device_tracker.iphone1 + - device_tracker.iphone2 tolerance: 50 unit_of_measurement: mi home3: devices: - - device_tracker.tsiphone + - device_tracker.iphone1 tolerance: 50 work: devices: - - device_tracker.elanorsiphone + - device_tracker.iphone2 tolerance: 10 ``` diff --git a/source/_components/sensor.logi_circle.markdown b/source/_components/sensor.logi_circle.markdown index aa42c0218c8..80df3bc9ae4 100644 --- a/source/_components/sensor.logi_circle.markdown +++ b/source/_components/sensor.logi_circle.markdown @@ -29,15 +29,26 @@ sensor: - platform: logi_circle ``` -Configuration variables: - -- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled. - - **battery_level**: Return the battery level percentage from the camera. - - **last_activity_time**: Return the timestamp from the last time the Logi Circle camera detected any activity. - - **privacy_mode**: Return the privacy mode status from the camera. - - **signal_strength_category**: Return the WiFi signal level from the camera. - - **signal_strength_percentage**: Return the WiFi signal percentage from the camera. - - **speaker_volume**: Return the relative speaker volume from the camera (0-100%). - - **streaming_mode**: Return the streaming mode status from the camera. +{% configuration %} +monitored_conditions: + description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled. + required: false + type: list + keys: + battery_level: + description: Return the battery level percentage from the camera. + last_activity_time: + description: Return the timestamp from the last time the Logi Circle camera detected any activity. + privacy_mode: + description: Return the privacy mode status from the camera. + signal_strength_category: + description: Return the WiFi signal level from the camera. + signal_strength_percentage: + description: Return the WiFi signal percentage from the camera. + speaker_volume: + description: Return the relative speaker volume from the camera (0-100%). + streaming_mode: + description: Return the streaming mode status from the camera. +{% endconfiguration %} Currently it supports all 1st and 2nd generation cameras. Cameras without an internal battery will not expose a `battery_level` sensor. \ No newline at end of file diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index db6452c2c5e..9bf2c573072 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -13,7 +13,7 @@ ha_release: 0.29 ha_iot_class: "Local Polling" --- -The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time. +The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://www.huahuacaocao.com/product) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time. # Install Bluetooth Backend Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system: diff --git a/source/_components/sensor.mitemp_bt.markdown b/source/_components/sensor.mitemp_bt.markdown index bf54f976824..d7bdbccaffe 100644 --- a/source/_components/sensor.mitemp_bt.markdown +++ b/source/_components/sensor.mitemp_bt.markdown @@ -19,12 +19,12 @@ The `mitemp_bt` sensor platform allows one to monitor room temperature and humid Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system: -- On [Hass.io](/hassio/installation/): mitemp_bt will work out of the box. +- On [Hass.io](/hassio/installation/): `mitemp_bt` will work out of the box as long as the host supports Bluetooth (like the Raspberry Pi does). - On a [generic Docker installation](https://www.home-assistant.io/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host. - On other Linux systems: - Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one. -    - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated` -- Windows and MacOS are currently not supported by the btlewrap library. + - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth` or `bluez-deprecated`. +- Windows and MacOS are currently not supported by the `btlewrap` library. ## {% linkable_title Configuration %} @@ -114,6 +114,8 @@ adapter: Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperatures don't change that quickly. Reducing polling intervals will have a negative effect on the battery life. +## {% linkable_title Full example %} + A full configuration example could look like the one below: ```yaml diff --git a/source/_components/sensor.nederlandse_spoorwegen.markdown b/source/_components/sensor.nederlandse_spoorwegen.markdown index bbdee43f633..fca03b35dde 100644 --- a/source/_components/sensor.nederlandse_spoorwegen.markdown +++ b/source/_components/sensor.nederlandse_spoorwegen.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling" ha_release: "0.57" --- - This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands. You must create an application [here](https://www.ns.nl/ews-aanvraagformulier/) to obtain a `password`. @@ -36,15 +35,37 @@ sensor: via: Zl ``` -Configuration variables: - -- **email** (*Required*): The email address you used to request the API password. -- **password** (*Required*): The API password provided by the Nederlandse Spoorwegen. -- **routes** array (*Required*): List of traveling routes. - - **name** (*Required*): Name of the route. - - **from** (*Required*): The start station. - - **to** (*Required*): Direction of the traveling. - - **via** (*Optional*): Optional other station you wish to visit in between. +{% configuration %} +email: + description: The email address you used to request the API password. + required: true + type: string +password: + description: The API password provided by the Nederlandse Spoorwegen. + required: true + type: string +routes: + description: List of traveling routes. + required: false + type: list + keys: + name: + description: Name of the route. + required: true + type: string + frome: + description: The start station. + required: true + type: string + to: + description: Direction of the traveling. + required: true + type: string + via: + description: Optional other station you wish to visit in between. + required: false + type: string +{% endconfiguration %} The data are coming from [Nederlandse Spoorwegen](https://www.ns.nl/). diff --git a/source/_components/sensor.ohmconnect.markdown b/source/_components/sensor.ohmconnect.markdown index 7f564a76d3c..ed30d3f2664 100644 --- a/source/_components/sensor.ohmconnect.markdown +++ b/source/_components/sensor.ohmconnect.markdown @@ -13,22 +13,33 @@ ha_iot_class: "Cloud Polling" ha_release: 0.26 --- - The `ohmconnect` sensor will show you the current [OhmConnect](https://www.ohmconnect.com/) status for the given OhmConnect ID. -> OhmConnect monitors real-time conditions on the electricity grid. When dirty and unsustainable power plants turn on, our users receive a notification to save energy. By saving energy at that time, California does not have to turn on additional power plants and California's energy authorities pay you for that. +OhmConnect monitors real-time conditions on the electricity grid. When dirty and unsustainable power plants turn on, our users receive a notification to save energy. By saving energy at that time, California does not have to turn on additional power plants and California's energy authorities pay you for that. +## {% linkable_title Configuration %} -You can find your OhmConnect ID under "Open Source Projects" on the [settings page](https://login.ohmconnect.com/settings). It's the string after the last `/` in the URL, i.e. for the URL `https://login.ohmconnect.com/verify-ohm-hour/AbCd1e` your ID is `AbCd1e`. +You can find your OhmConnect ID under "Open Source Projects" on the [settings page](https://login.ohmconnect.com/settings). It's the string after the last `/` in the URL, e.g., for the URL `https://login.ohmconnect.com/verify-ohm-hour/AbCd1e` your ID is `AbCd1e`. + +## {% linkable_title Configuration %} + +To enable the OhMConnect sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: ohmconnect - id: AbCd1e + id: YOUR_OHMCONNECT_ID ``` -Configuration variables: - -- **id** (*Required*): Your OhmConnect ID which can be found on the settings page. -- **name** (*Optional*): A name to display on the sensor. The default is "OhmConnect Status". +{% configuration %} +id: + description: Your OhmConnect ID. + required: true + type: string +name: + description: A name to display on the sensor. + required: false + default: OhmConnect Status + type: string +{% endconfiguration %} diff --git a/source/_components/sensor.pilight.markdown b/source/_components/sensor.pilight.markdown index 78e5b61abf4..13ed0303ffa 100644 --- a/source/_components/sensor.pilight.markdown +++ b/source/_components/sensor.pilight.markdown @@ -13,7 +13,6 @@ ha_release: 0.31 ha_iot_class: depends --- - This `pilight` sensor platform for 433 MHz devices uses a value in the message payload as the sensor value. Unique identifiers (e.g., _uuid_) can be set to distinguish between multiple pilight devices. To use a pilight sensor the pilight Home Assistant hub has to be set up. ## {% linkable_title Configuration %} @@ -29,18 +28,30 @@ sensor: uuid: '0000-b8-27-eb-f447d3' ``` -Configuration variables: - -- **variable** (*Required*): The variable name in the data stream that defines the sensor value. -- **payload** (*Required*): Message payload identifiers. Only if all identifiers are matched the sensor value is set. -- **name** (*Optional*): Name of the sensor. -- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. +{% configuration %} +variable: + description: The variable name in the data stream that defines the sensor value. + required: true + type: string +payload: + description: Message payload identifiers. Only if all identifiers are matched the sensor value is set. + required: true + type: string +name: + description: Name of the sensor. + required: false + default: Pilight Sensor + type: string +unit_of_measurement: + description: Defines the units of measurement of the sensor, if any. + required: false + type: string +{% endconfiguration %} ## {% linkable_title Example: Weather station %} This section shows a real life example how to use values of a weather station. - ```yaml # Example configuration.yaml entry sensor: diff --git a/source/_components/sensor.pushbullet.markdown b/source/_components/sensor.pushbullet.markdown index bd8ee0eda5a..8d516949e9e 100644 --- a/source/_components/sensor.pushbullet.markdown +++ b/source/_components/sensor.pushbullet.markdown @@ -13,11 +13,16 @@ ha_release: 0.44 ha_iot_class: "Cloud Polling" --- -The `pushbullet` sensor platform reads messages from [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. -This sensor platform provides sensors that show the properties of the latest received Pushbullet notification mirror. +The `pushbullet` sensor platform reads messages from [Pushbullet](https://www.pushbullet.com/), a free service to send information between your phones, browsers, and friends. This sensor platform provides sensors that show the properties of the latest received Pushbullet notification mirror. + +## {% linkable_title Setup %} Notification Mirroring allows users to see their Android device's notifications on their computer. It must be first enabled in the app and is currently only available on the Android platform. For more information, please see [this announcement](https://blog.pushbullet.com/2013/11/12/real-time-notification-mirroring-from-android-to-your-computer/) on the Pushbullet Blog. +Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token. + +## {% linkable_title Configuration %} + To enable the Pushbullet sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -29,21 +34,37 @@ sensor: - body ``` -Configuration variables: +{% configuration %} +api_key: + description: Your Pushbullet API key. + required: true + type: string +monitored_conditions: + description: Properties of the push to monitor. + required: false + default: "`body` and `title`" + type: list + keys: + application_name: + description: The application sending the push. + body: + description: Body of the message. + notification_id: + description: ID of the notification. + notification_tag: + description: Tag (if the application sending supports it). + package_name: + description: Name of the sender's package. + receiver_email: + description: The email of the push's target. + sender_email: + description: The sender of the push. + source_device_iden: + description: ID of the sender's device. + title: + description: Title of the push. + type: + description: Type of push. +{% endconfiguration %} -- **api_key** (*Required*): Enter the API key for Pushbullet. Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token. - -- **monitored_conditions** array (*Optional*): Properties of the push to monitor. Defaults to `body` and `title`. - - **application_name**: The application sending the push. - - **body**: Body of the message. - - **notification_id**: ID of the notification. - - **notification_tag**: Tag (if the application sending supports it). - - **package_name**: Name of the sender's package. - - **receiver_email**: The email of the push's target. - - **sender_email**: The sender of the push. - - **source_device_iden**: ID of the sender's device. - - **title**: Title of the push. - - **type**: Type of push. - - All properties will be displayed as attributes. The properties array are just for logging the sensor readings for multiple properties. diff --git a/source/_components/sensor.pvoutput.markdown b/source/_components/sensor.pvoutput.markdown index a61f6614590..36e3f43ab6e 100644 --- a/source/_components/sensor.pvoutput.markdown +++ b/source/_components/sensor.pvoutput.markdown @@ -27,10 +27,21 @@ sensor: scan_interval: 120 ``` -Configuration variables: - -- **api_key** (*Required*): Your API key. A read-only key is fine. -- **system_id** (*Required*): The ID of your station. +{% configuration %} +api_key: + description: Your API key. A read-only key is fine. + required: true + type: string +system_id: + description: The ID of your station. + required: true + type: string +name: + description: Name of the sensor. + required: false + default: PVOutput + type: string +{% endconfiguration %}

It's recommended to set `scan_interval:` according to a value greater than 60 seconds. The service only allows 60 requests per hour but the sensor's default is 30 seconds. diff --git a/source/_components/sensor.scrape.markdown b/source/_components/sensor.scrape.markdown index b6da7d08d77..ccc6bebdf5f 100644 --- a/source/_components/sensor.scrape.markdown +++ b/source/_components/sensor.scrape.markdown @@ -26,17 +26,45 @@ sensor: select: ".current-version h1" ``` -Configuration variables: - -- **resource** (*Required*): The URL to the website that contains the value. -- **select** (*Required*): Defines the HTML tag to search for. Check Beautifulsoup's [CSS selectors](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors) for details. -- **attribute** (*optional*): Get value of an attribute on the selected tag. -- **name** (*Optional*): Name of the sensor. -- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. -- **authentication** (*Optional*): Type of the HTTP authentication. Either `basic` or `digest`. -- **username** (*Optional*): The username for accessing the website. -- **password** (*Optional*): The password for accessing the website. -- **headers** (*Optional*): Headers to use for the web request +{% configuration %} +resource: + description: The URL to the website that contains the value. + required: true + type: string +select: + description: "Defines the HTML tag to search for. Check Beautifulsoup's [CSS selectors](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors) for details." + required: true + type: string +attribute: + description: Get value of an attribute on the selected tag. + required: false + type: string +name: + description: Name of the sensor. + required: false + default: Web scrape + type: string +unit_of_measurement: + description: Defines the units of measurement of the sensor, if any. + required: false + type: string +authentication: + description: Type of the HTTP authentication. Either `basic` or `digest`. + required: false + type: string +username: + description: The username for accessing the website. + required: false + type: string +password: + description: The password for accessing the website. + required: false + type: string +headers: + description: Headers to use for the web request. + required: false + type: string +{% endconfiguration %} ## {% linkable_title Examples %} diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown index f3eb1665646..6f8fe3c2b5e 100644 --- a/source/_components/sensor.sma.markdown +++ b/source/_components/sensor.sma.markdown @@ -22,7 +22,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file ```yaml # Example configuration.yaml entry -sensor sma: +sensor: - platform: sma host: IP_ADDRESS_OF_DEVICE password: YOUR_SMA_PASSWORD @@ -38,11 +38,12 @@ Configuration variables: - **password** (*Required*): The password of the SMA WebConnect module. - **group** (*Optional*): The user group, which can be either `user` (the default) or `installer`. - **sensors** (*Required*): A dictionary of sensors that will be added. The value of the dictionary can include sensor names that will be shown as attributes. -- **custom** (*Optional*): A dictionary of custom sensor key values and units +- **custom** (*Optional*): A dictionary of custom sensor key values and units. Sensors configuration: The sensors can be any one of the following: + - current_power - current_consumption - total_power diff --git a/source/_components/sensor.snmp.markdown b/source/_components/sensor.snmp.markdown index 9c78766582b..2f2b4ba5f94 100644 --- a/source/_components/sensor.snmp.markdown +++ b/source/_components/sensor.snmp.markdown @@ -28,7 +28,7 @@ sensor: {% configuration %} host: description: The IP address of your host, eg. `192.168.1.32`. - required: true + required: false type: string default: 'localhost' baseoid: @@ -37,7 +37,7 @@ baseoid: type: string port: description: The SNMP port of your host. - required: Option + required: false type: string default: '161' community: diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown index 91827191509..a6aebf4e5b6 100644 --- a/source/_components/sensor.tradfri.markdown +++ b/source/_components/sensor.tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri Sensor" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Sensors." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Sensors." date: 2017-04-12 22.04 sidebar: true comments: false diff --git a/source/_components/sensor.uber.markdown b/source/_components/sensor.uber.markdown index 601de1fb879..cfec12282a1 100644 --- a/source/_components/sensor.uber.markdown +++ b/source/_components/sensor.uber.markdown @@ -16,7 +16,11 @@ ha_release: 0.16 The `uber` sensor will give you time and price estimates for all available [Uber](https://uber.com) products at the given location. The `ATTRIBUTES` are used to provide extra information about products, such as estimated trip duration, distance and vehicle capacity. By default, 2 sensors will be created for each product at the given `start` location, one for pickup time and one for current price. The sensor is powered by the official Uber [API](https://developer.uber.com/). -You must create an application [here](https://developer.uber.com/dashboard/create) to obtain a `server_token`. +## {% linkable_title Setup %} + +You must [create an application](https://developer.uber.com/dashboard/create) in the [Uber developer Dashboard](https://developer.uber.com) to obtain a `server_token`. + +## {% linkable_title Configuration %} To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -24,19 +28,39 @@ To enable this sensor, add the following lines to your `configuration.yaml` file # Example configuration.yaml entry sensor: - platform: uber - server_token: 'BeAPPTDsWZSHLf7fd9OWjZkIezweRw18Q8NltY27' + server_token: YOUR_UBER_SERVER_TOKEN ``` -Configuration variables: +{% configuration %} +server_token: + description: The Server API token. + required: true + type: string +start_latitude: + description: The starting latitude for a trip. + required: false + default: to the latitude in your `configuration.yaml` file. + type: float +start_longitude: + description: The starting longitude for a trip. + required: false + default: to the longitude in your `configuration.yaml` file. + type: float +end_latitude: + description: The ending latitude for a trip. While `end_latitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. + required: false + type: float +end_longitude: + description: The ending longitude for a trip. While `end_longitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. + required: false + type: float +product_ids: + description: A list of Uber product UUIDs. If provided, sensors will only be created for the given product IDs. Please note that product IDs are region and some times even more specific geographies based. The easiest way to find a UUID is to click on a sensor in the Home Assistant frontend and look for "Product ID" in the attributes. + required: false + type: list +{% endconfiguration %} -- **server_token** (*Required*): A server token obtained from [developer.uber.com](https://developer.uber.com) after [creating an app](https://developer.uber.com/dashboard/create). -- **start_latitude** (*Optional*): The starting latitude for a trip. Defaults to the latitude in your `configuration.yaml` file. -- **start_longitude** (*Optional*): The starting longitude for a trip. Defaults to the longitude in your `configuration.yaml` file. -- **end_latitude** (*Optional*): The ending latitude for a trip. While `end_latitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. -- **end_longitude** (*Optional*): The ending longitude for a trip. While `end_longitude` is optional, it is strongly recommended to provide an `end_latitude`/`end_longitude` when possible as you will get more accurate price and time estimates. -- **product_ids** (*Options*): A list of Uber product UUIDs. If provided, sensors will only be created for the given product IDs. Please note that product IDs are region and some times even more specific geographies based. The easiest way to find a UUID is to click on a sensor in the Home Assistant frontend and look for "Product ID" in the attributes. - -A full configuration entry could look like the sample below: +A full configuration entry could look like the sample below: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.zha.markdown b/source/_components/sensor.zha.markdown index 03c0687d278..993031476f5 100644 --- a/source/_components/sensor.zha.markdown +++ b/source/_components/sensor.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Sensor" -description: "Instructions on how to setup ZigBee Home Automation sensors within Home Assistant." +title: "Zigbee Home Automation Sensor" +description: "Instructions on how to setup Zigbee Home Automation sensors within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,5 +12,5 @@ ha_category: Sensor ha_iot_class: "Local Polling" --- -To get your ZigBee sensors working with Home Assistant, follow the instructions for the general [ZigBee Home Automation Component](/components/zha/). +To get your Zigbee sensors working with Home Assistant, follow the instructions for the general [Zigbee Home Automation Component](/components/zha/). diff --git a/source/_components/sensor.zigbee.markdown b/source/_components/sensor.zigbee.markdown index ad1aa6a0388..4eabd0b71d2 100644 --- a/source/_components/sensor.zigbee.markdown +++ b/source/_components/sensor.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: ZigBee Sensor -description: "Instructions on how to set up ZigBee sensors within Home Assistant." +title: Zigbee Sensor +description: "Instructions on how to set up Zigbee sensors within Home Assistant." date: 2016-01-28 10:08 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -There are two types of [ZigBee](http://www.zigbee.org/) sensor available to Home Assistant: +There are two types of [Zigbee](http://www.zigbee.org/) sensor available to Home Assistant: - [Analog input pin](#analog-input-pin) - [Temperature sensor](#temperature-sensor) (XBee Pro) @@ -24,7 +24,7 @@ To configure an analog input pin sensor, add the following to your `configuratio # Example configuration.yaml entry sensor: - platform: zigbee - name: My Analog ZigBee Input + name: My Analog Zigbee Input type: analog pin: 0 address: 0013A2004233D138 @@ -44,7 +44,7 @@ pin: required: false type: integer address: - description: The long 64-bit address of the remote ZigBee device whose pin you would like to sample. Do not include this variable if you want to sample the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose pin you would like to sample. Do not include this variable if you want to sample the local Zigbee device's pins. required: false type: string max_volts: @@ -58,7 +58,7 @@ max_volts: ### {% linkable_title Analog Input Pin %} -The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your ZigBee device will read is configurable using the `max_volts` configuration variable. +The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your Zigbee device will read is configurable using the `max_volts` configuration variable. To configure an analog input pin sensor, add the following to your `configuration.yaml` file: @@ -66,7 +66,7 @@ To configure an analog input pin sensor, add the following to your `configuratio ## Example configuration.yaml entry sensor: - platform: zigbee - name: My Analog ZigBee Input + name: My Analog Zigbee Input type: analog pin: 0 address: 0013A2004233D138 @@ -84,7 +84,7 @@ To configure a temperature sensor device, add the following to your `configurati # Example configuration.yaml entry sensor: - platform: zigbee - name: Living Room Temperature ZigBee + name: Living Room Temperature Zigbee type: temperature address: 0013A20050E752C5 ``` diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index cb9668f74c2..267173689a1 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -34,20 +34,63 @@ switch: - light.lamp ``` -Configuration variables: - -- **lights** (*Required*) array: List of light entities. -- **name** (*Optional*): The name to use when displaying this switch. -- **start_time** (*Optional*): The start time. Default to sunrise. -- **stop_time** (*Optional*): The stop time. Defaults to dusk. -- **start_colortemp** (*Optional*): The color temperature at the start. Defaults to `4000`. -- **sunset_colortemp** (*Optional*): The sun set color temperature. Defaults to `3000`. -- **stop_colortemp** (*Optional*): The color temperature at the end. Defaults to `1900`. -- **brightness** (*Optional*): The brightness of the lights. Calculated with `RGB_to_xy` by default. -- **disable_brightness_adjust** (*Optional*): If true, brightness will not be adjusted besides color temperature. Defaults to False. -- **mode** (*Optional*): Select how color temperature is passed to lights. Valid values are `xy`, `mired` and `rgb`. Defaults to `xy`. -- **transition** (*Optional*): Transition time for the light changes (high values may not be supported by all light models). Defaults to 30. -- **interval** (*Optional*): Frequency at which the lights should be updated. Defaults to 30. +{% configuration %} +lights: + description: array list of light entities. + required: true + type: list +name: + description: The name to use when displaying this switch. + required: false + default: Flux + type: string +start_time: + description: The start time. + required: false + type: time +stop_time: + description: The stop time. + required: false + type: time +start_colortemp: + description: The color temperature at the start. + required: false + default: 4000 + type: integer +sunset_colortemp: + description: The sun set color temperature. + required: false + default: 3000 + type: integer +stop_colortemp: + description: The color temperature at the end. + required: false + default: 1900 + type: integer +brightness: + description: The brightness of the lights. + required: false + type: integer +disable_brightness_adjust: + description: If true, brightness will not be adjusted besides color temperature. + required: false + type: boolean +mode: + description: Select how color temperature is passed to lights. Valid values are `xy`, `mired` and `rgb`. + required: false + default: xy + type: string +transition: + description: Transition time for the light changes (high values may not be supported by all light models). + required: false + default: 30 + type: integer +interval: + description: Frequency at which the lights should be updated. + required: false + default: 30 + type: integer +{% endconfiguration %} Full example: @@ -70,4 +113,3 @@ switch: transition: 30 interval: 60 ``` - diff --git a/source/_components/switch.gc100.markdown b/source/_components/switch.gc100.markdown index 59649d72d15..795fd596626 100644 --- a/source/_components/switch.gc100.markdown +++ b/source/_components/switch.gc100.markdown @@ -25,7 +25,9 @@ switch: - '4:2': Sprinkler ``` -Configuration variables: - -- **ports** (*Required*): A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address. - +{% configuration %} +ports: + description: "A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address." + required: true + type: list +{% endconfiguration %} diff --git a/source/_components/switch.pulseaudio_loopback.markdown b/source/_components/switch.pulseaudio_loopback.markdown index 6248f9910eb..9603337f58a 100644 --- a/source/_components/switch.pulseaudio_loopback.markdown +++ b/source/_components/switch.pulseaudio_loopback.markdown @@ -13,7 +13,6 @@ ha_release: 0.16 ha_iot_class: "Local Polling" --- - The goal behind this switch is to allow a very flexible whole home audio system based upon [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/). For example, for a system with a 7.1 surround sound card, and 3 instances of [MPD](https://www.musicpd.org/) running, it is possible to quickly route the output of any MPD instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is `on`, the loopback module is loaded. When the switch is `off`, the module is not loaded. @@ -30,17 +29,42 @@ switch: - platform: pulseaudio_loopback ``` -Configuration variables: - -- **sink_name** (*Required*): The name of the Pulseaudio sink that will receive the audio. -- **source_name** (*Required*): The name of the Pulseaudio source that will supply the audio. -- **name** (*Optional*): Name of the switch. -- **host** (*Optional*): The IP address or host name of the PulseAudio server. If not specified, 127.0.0.1 is used. -- **port** (*Optional*): The port that Pulseaudio is listening on. Defaults to 4712. -- **buffer_size** (*Optional*): How much data to load from Pulseaudio at once. Default is 1KB. -- **tcp_timeout** (*Optional*): How long to wait for a response from Pulseaudio before giving up. Default is 3 seconds. +{% configuration %} +sink_name: + description: The name of the Pulseaudio sink that will receive the audio. + required: true + type: string +source_name: + description: The name of the Pulseaudio source that will supply the audio. + required: true + type: string +name: + description: Name of the switch. + required: false + default: paloopback + type: string +host: + description: The IP address or host name of the PulseAudio server. + required: false + default: localhost + type: string +port: + description: The port that Pulseaudio is listening on. + required: false + default: 4712 + type: integer +buffer_size: + description: How much data to load from Pulseaudio at once. + required: false + default: 1024 + type: integer +tcp_timeout: + description: How long to wait for a response from Pulseaudio before giving up. + required: false + default: 3 + type: integer +{% endconfiguration %}

This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this component, `module-cli-protocol` must be loaded on the PulseAudio server.

- diff --git a/source/_components/switch.rpi_gpio.markdown b/source/_components/switch.rpi_gpio.markdown index f6d62a4935b..901734b1ee0 100644 --- a/source/_components/switch.rpi_gpio.markdown +++ b/source/_components/switch.rpi_gpio.markdown @@ -29,11 +29,22 @@ switch: 12: Light Desk ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **port: name** (*Required*): Port numbers and corresponding names (GPIO #). -- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). +{% configuration %} +ports: + description: Array of used ports. + required: true + type: list + keys: + port: + description: Port numbers and corresponding names (GPIO #). + required: true + type: [integer, string] +invert_logic: + description: If true, inverts the output logic to ACTIVE LOW. + required: false + default: false + type: boolean +{% endconfiguration %} For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. @@ -51,5 +62,3 @@ switch: ports: 17: Speaker Relay ``` - - diff --git a/source/_components/switch.rpi_pfio.markdown b/source/_components/switch.rpi_pfio.markdown index 57f4ba2a6dc..3efa04537f4 100644 --- a/source/_components/switch.rpi_pfio.markdown +++ b/source/_components/switch.rpi_pfio.markdown @@ -31,10 +31,24 @@ switch: name: Light Desk ``` -Configuration variables: - -- **ports** array (*Required*): Array of used ports. - - **num** (*Required*): Port number. - - **name** (*Required*): Port name. - - **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH). - +{% configuration %} +ports: + description: Array of used ports. + required: true + type: list + keys: + num: + description: Port number. + required: true + type: list + keys: + name: + description: Port name. + required: true + type: string + invert_logic: + description: If true, inverts the output logic to ACTIVE LOW. + required: false + default: false + type: boolean +{% endconfiguration %} diff --git a/source/_components/switch.rpi_rf.markdown b/source/_components/switch.rpi_rf.markdown index 43d2e5a30d5..0c7b52f53b1 100644 --- a/source/_components/switch.rpi_rf.markdown +++ b/source/_components/switch.rpi_rf.markdown @@ -43,13 +43,41 @@ switch: signal_repetitions: 15 ``` -Configuration variables: - -- **gpio** (*Required*): GPIO to which the data line of the TX module is connected. -- **switches:** (*Required*): The array that contains all switches. - - **[entry]** (*Required*): Name of the switch. Multiple entries are possible. - - **code_on** (*Required*): Decimal code(s) to switch the device on. To run multiple codes in a sequence, separate the individual codes with commas ','. - - **code_off** (*Required*): Decimal code(s) to switch the device off. To run multiple codes in a sequence, separate the individual codes with commas ','. - - **protocol** (*Optional*): RF Protocol (Default is `1`). - - **pulselength** (*Optional*): Pulselength (Default is the protocol default). - - **signal_repetitions** (*Optional*): Number of times to repeat transmission (default is 10, can increase to try to improve reliability). +{% configuration %} +gpio: + description: GPIO to which the data line of the TX module is connected. + required: true + type: integer +switches: + description: The array that contains all switches. + required: true + type: list + keys: + entry: + description: Name of the switch. Multiple entries are possible. + required: true + type: list + keys: + code_on: + description: Decimal code(s) to switch the device on. To run multiple codes in a sequence, separate the individual codes with commas ','. + required: true + type: list + code_off: + description: Decimal code(s) to switch the device off. To run multiple codes in a sequence, separate the individual codes with commas ','. + required: true + type: list + protocol: + description: RF Protocol. + required: false + default: 1 + type: integer + pulselength: + description: Pulselength + required: false + type: integer + signal_repetitions: + description: Number of times to repeat transmission + required: false + default: 10 + type: integer +{% endconfiguration %} diff --git a/source/_components/switch.tradfri.markdown b/source/_components/switch.tradfri.markdown index 411b8883ed1..95069570664 100644 --- a/source/_components/switch.tradfri.markdown +++ b/source/_components/switch.tradfri.markdown @@ -1,7 +1,7 @@ --- layout: page title: "IKEA Trådfri Switch" -description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Switches." +description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Switches." date: 2018-09-30 19.22 sidebar: true comments: false diff --git a/source/_components/switch.zha.markdown b/source/_components/switch.zha.markdown index c5c7eee2c5d..e23f6751ff3 100644 --- a/source/_components/switch.zha.markdown +++ b/source/_components/switch.zha.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Home Automation Switch" -description: "Instructions on how to setup ZigBee Home Automation switches within Home Assistant." +title: "Zigbee Home Automation Switch" +description: "Instructions on how to setup Zigbee Home Automation switches within Home Assistant." date: 2017-02-22 00:00 sidebar: true comments: false @@ -12,4 +12,4 @@ ha_category: Switch ha_iot_class: "Local Polling" --- -To get your ZigBee switches working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/). +To get your Zigbee switches working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/). diff --git a/source/_components/switch.zigbee.markdown b/source/_components/switch.zigbee.markdown index 15f2dd2386e..912b0e5bb30 100644 --- a/source/_components/switch.zigbee.markdown +++ b/source/_components/switch.zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee Switch" -description: "Instructions on how to set up ZigBee switches within Home Assistant." +title: "Zigbee Switch" +description: "Instructions on how to set up Zigbee switches within Home Assistant." date: 2016-01-28 11:52 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. +A Zigbee switch in this context is a device connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a switch is considered `on` when the Zigbee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`. To configure a digital output pin as switch, add the following to your `configuration.yaml` file: @@ -36,7 +36,7 @@ pin: required: true type: integer address: - description: The long 64-bit address of the remote ZigBee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local ZigBee device's pins. + description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins. required: false type: string on_state: diff --git a/source/_components/tado.markdown b/source/_components/tado.markdown index cfb7294289c..f78c99ae627 100644 --- a/source/_components/tado.markdown +++ b/source/_components/tado.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" The `tado` component platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website. It adds climate devices for every tado zone and sensors for some additional information of the zones. +## {% linkable_title Configuration %} + To use your tado thermostats in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -26,11 +28,11 @@ tado: {% configuration %} username: - description: Username for my.tado.com. + description: Your username for my.tado.com. required: true type: string password: - description: Password for my.tado.com. + description: Your password for my.tado.com. required: true type: string {% endconfiguration %} diff --git a/source/_components/tahoma.markdown b/source/_components/tahoma.markdown index 03734815e39..323d51bee5a 100644 --- a/source/_components/tahoma.markdown +++ b/source/_components/tahoma.markdown @@ -13,9 +13,10 @@ ha_release: 0.59 ha_iot_class: "Cloud Polling" --- - The `Tahoma` component platform is used as an interface to the [tahomalink.com](https://www.tahomalink.com) website. It adds covers, scenes and a sun sensor from the Tahoma platform. +## {% linkable_title Configuration %} + To use your Tahoma devices in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -28,15 +29,15 @@ tahoma: {% configuration %} username: - description: Username for tahomalink.com + description: Your username for tahomalink.com. required: true type: string password: - description: Password for tahomalink.com + description: Your password for tahomalink.com. required: true type: string exclude: - description: Excludes devices + description: List of devices to exclude. required: false type: list {% endconfiguration %} diff --git a/source/_components/telegram_bot.broadcast.markdown b/source/_components/telegram_bot.broadcast.markdown index 895e5b3cd72..4b820fac4a4 100644 --- a/source/_components/telegram_bot.broadcast.markdown +++ b/source/_components/telegram_bot.broadcast.markdown @@ -14,11 +14,12 @@ ha_release: 0.48 Telegram implementation to support **sending messages only**. Your Home Assistant instance does not have to be exposed to the Internet and there is no polling to receive messages sent to the bot. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry - telegram_bot: - platform: broadcast api_key: YOUR_API_KEY @@ -29,7 +30,7 @@ telegram_bot: {% configuration %} allowed_chat_ids: - description: A list of user in the `user_id` Telegram format enabled to interact to webhook + description: A list of users in the `user_id` Telegram format that are authorized to interact with the webhook. required: true type: list api_key: @@ -37,16 +38,16 @@ api_key: required: true type: string parse_mode: - description: "Default parser for messages if not explicit in message data: 'html' or 'markdown'." + description: Default parser for messages if not explicit in message data, either `html` or `markdown`. required: false - default: markdown type: string + default: "`markdown`" proxy_url: - description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`) + description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`). required: false type: string proxy_params: - description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.) + description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.). required: false type: string {% endconfiguration %} diff --git a/source/_components/telegram_bot.polling.markdown b/source/_components/telegram_bot.polling.markdown index 2befc8abb8f..4b9df18396a 100644 --- a/source/_components/telegram_bot.polling.markdown +++ b/source/_components/telegram_bot.polling.markdown @@ -16,11 +16,12 @@ Telegram chatbot polling implementation. One of two bot implementations supported by Telegram. Your Home Assistant does not have to be exposed to the internet. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry - telegram_bot: - platform: polling api_key: YOUR_API_KEY @@ -31,7 +32,7 @@ telegram_bot: {% configuration %} allowed_chat_ids: - description: A list of user in the `user_id` Telegram format enabled to interact to webhook + description: A list of users in the `user_id` Telegram format that are authorized to interact with the webhook. required: true type: list api_key: @@ -39,16 +40,16 @@ api_key: required: true type: string parse_mode: - description: "Default parser for messages if not explicit in message data: 'html' or 'markdown'." + description: Default parser for messages if not explicit in message data, either `html` or `markdown`. required: false - default: markdown type: string + default: "`markdown`" proxy_url: - description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`) + description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`). required: false type: string proxy_params: - description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.) + description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.). required: false type: string {% endconfiguration %} diff --git a/source/_components/telegram_bot.webhooks.markdown b/source/_components/telegram_bot.webhooks.markdown index 31b20f6b576..ffe92026d6f 100644 --- a/source/_components/telegram_bot.webhooks.markdown +++ b/source/_components/telegram_bot.webhooks.markdown @@ -18,6 +18,8 @@ Using Telegrams `setWebhook` method your bot's webhook URL should be set to `htt This is one of two bot implementations supported by Telegram. Described by Telegram as the preferred implementation but requires your Home Assistant instance to be exposed to the internet. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -43,33 +45,35 @@ api_key: description: The API token of your bot. required: true type: string -trusted_networks: - description: Telegram server access ACL as list. - required: false - default: 149.154.167.197-233 - type: string parse_mode: - description: "Default parser for messages if not explicit in message data: 'html' or 'markdown'." + description: Default parser for messages if not explicit in message data, either `html` or `markdown`. required: false default: markdown type: string proxy_url: - description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`) + description: Proxy url if working behind one (`socks5://proxy_ip:proxy_port`). required: false type: string proxy_params: - description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.) + description: Proxy configuration parameters, as dict, if working behind a proxy (`username`, `password`, etc.). required: false type: string url: description: Allow to overwrite the `base_url` from the [`http`](/components/http/) component for different configurations (`https://:`). required: false type: string +trusted_networks: + description: Telegram server access ACL as list. + required: false + type: string + default: 149.154.167.197-233 {% endconfiguration %} To get your `chat_id` and `api_key` follow the instructions [here](/components/notify.telegram). As well as authorizing the chat, if you have added your bot to a group you will also need to authorize any user that will be interacting with the webhook. When an unauthorized user tries to interact with the webhook Home Assistant will raise an error ("Incoming message is not allowed"), you can easily obtain the users id by looking in the "from" section of this error message. -Full configuration sample: +## {% linkable_title Full configuration example %} + +The configuration sample below shows how an entry can look like: ```yaml # Example configuration.yaml entry diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown index 1b441341db4..4af2502e318 100644 --- a/source/_components/tellduslive.markdown +++ b/source/_components/tellduslive.markdown @@ -21,6 +21,8 @@ If you are upgrading from 0.58 or older, you need to remove all Telldus configur Home Assistant will automatically discover the presence of a Tellstick Net or Tellstick ZNet on your local network if the [discovery]({{site_root}}/components/discovery/) component is enabled. When discovery and the key exchange with Telldus Live have been completed, you will be presented with an option to integrate with the cloud or local API for direct communication with your hardware in your LAN. Local API supports only one device at this stage. Local API is only supported with the Znet Lite products, the older hardware (such as Tellstick Net) does not support local API. +## {% linkable_title Configuration %} + To manually integrate your Telldus Live with Home Assistant, e.g., if your device is on another network or in another location, add the following section to your `configuration.yaml` file: ```yaml @@ -34,10 +36,10 @@ host: required: false type: string update_interval: - description: Interval (in seconds) for polling the Telldus Live server (or the local server). + description: Interval (in seconds) for polling the Telldus Live server (or the local server). Minimal value can't be less then 300. required: false - default: 60 type: integer + default: 60 {% endconfiguration %} The component will offer configuration through the Home Assistant user interface where it will let you associate it with your Telldus Live account. diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown index 232fd9e1525..36bdec9e609 100644 --- a/source/_components/tellstick.markdown +++ b/source/_components/tellstick.markdown @@ -11,7 +11,6 @@ logo: telldus_tellstick.png ha_category: Hub --- - The `tellstick` component integrates [TellStick](http://www.telldus.se/products/tellstick) devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 MHz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf). ## {% linkable_title Configuration %} @@ -23,6 +22,8 @@ To get started, add the devices to your `configuration.yaml` file. tellstick: ``` +For Hass.io users there is a [TellStick add-on](/addons/tellstick/) available. + ```yaml # Example configuration.yaml entry for Hass.io with the TellStick add-on tellstick: @@ -35,6 +36,7 @@ signal_repetitions: description: Because the TellStick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly. required: false type: integer + default: 1 host: description: If you run TellStick on another server or with the Hass.io add-on. required: inclusive diff --git a/source/_components/tesla.markdown b/source/_components/tesla.markdown index c004585e369..5c09dd4f6bf 100644 --- a/source/_components/tesla.markdown +++ b/source/_components/tesla.markdown @@ -13,7 +13,6 @@ ha_release: 0.53 ha_iot_class: "Cloud Polling" --- - The `Tesla` component offers integration with the [Tesla](https://auth.tesla.com/login) cloud service and provides presence detection as well as sensors such as charger state and temperature. This component provides the following platforms: @@ -24,6 +23,8 @@ This component provides the following platforms: - Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system. - Switch - Charger and max range switch. Allow you to start/stop charging and set max range charging. + ## {% linkable_title Configuration %} + To use Tesla in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -45,6 +46,6 @@ password: scan_interval: description: API polling interval. Minimal value can't be less then 300. required: false - default: 300 type: integer + default: 300 {% endconfiguration %} diff --git a/source/_components/thethingsnetwork.markdown b/source/_components/thethingsnetwork.markdown index 328022f6cc8..f7cc6574a3f 100644 --- a/source/_components/thethingsnetwork.markdown +++ b/source/_components/thethingsnetwork.markdown @@ -23,7 +23,7 @@ The Things network support various integrations to make the data available: | [Storage](https://www.thethingsnetwork.org/docs/applications/storage/) | [`thethingsnetwork`](/components/sensor.thethingsnetwork/) | | [HTTP](https://www.thethingsnetwork.org/docs/applications/http/) | | -### {% linkable_title Setup %} +## {% linkable_title Setup %} Visit the [The Things Network Console](https://console.thethingsnetwork.org/) website, log in with your The Things Network credentials, choose your application from **Applications**. @@ -41,6 +41,8 @@ You need an access key to be able to read the data from your application. Access keys

+## {% linkable_title Configuration %} + To enable this component, add the following lines to your `configuration.yaml`: ```yaml @@ -51,13 +53,12 @@ thethingsnetwork: ``` {% configuration %} - app_id: - description: The Application ID. - required: true - type: string - access_key: - description: The access key. - required: true - type: string +app_id: + description: The Application ID. + required: true + type: string +access_key: + description: The access key. + required: true + type: string {% endconfiguration %} - diff --git a/source/_components/thingspeak.markdown b/source/_components/thingspeak.markdown index b18969ca64e..6bcabe6fe9e 100644 --- a/source/_components/thingspeak.markdown +++ b/source/_components/thingspeak.markdown @@ -15,6 +15,8 @@ ha_release: 0.32 The `thingspeak` components makes Home Assistant communicate with the [ThingSpeak API](https://thingspeak.com/). For now, it records exactly one entity at once, which is great for testing purposes. For long-time storage you should rely on the [InfluxDB component](/components/influxdb/). +## {% linkable_title Configuration %} + You will have to create a [new channel](https://thingspeak.com/channels/new) on ThingSpeak and grab your Write API Key from the "API Keys" tab of the channel you want to use. To setup the ThingSpeak component in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/tibber.markdown b/source/_components/tibber.markdown index d201d5e7f34..e824ddcb5bf 100644 --- a/source/_components/tibber.markdown +++ b/source/_components/tibber.markdown @@ -14,7 +14,6 @@ ha_qa_scale: silver ha_iot_class: "Cloud Polling" --- - The `tibber` component provides a sensor with the current electricity price if you are a [Tibber](https://tibber.com/) customer. If you have a Tibber Pulse it will also show the electricity consumption in real time. @@ -34,8 +33,8 @@ tibber: ``` {% configuration %} - access_token: - description: Your Tibber API token. - required: true - type: string +access_token: + description: Your Tibber API token. + required: true + type: string {% endconfiguration %} diff --git a/source/_components/timer.markdown b/source/_components/timer.markdown index dad6227958e..946e20cd8d9 100644 --- a/source/_components/timer.markdown +++ b/source/_components/timer.markdown @@ -21,6 +21,8 @@ When a timer finishes or gets canceled the corresponding events are fired. This With the current implementation timers don't persist over restarts. After a restart they will be idle again, together with their initial configuration.

+## {% linkable_title Configuration %} + To add a timer to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -30,12 +32,26 @@ timer: duration: '00:01:00' ``` -Configuration variables: - -- **[alias]** (*Required*): Alias for the timer. Multiple entries are allowed. - - **name** (*Optional*): Friendly name of the timer. - - **duration** (*Optional*): Initial duration in seconds or `00:00:00` when Home Assistant starts. Defaults to 0. - - **icon** (*Optional*): Set a custom icon for the state card. +{% configuration %} +"[alias]": + description: Alias for the timer. Multiple entries are allowed. + required: true + type: map + keys: + name: + description: Friendly name of the timer. + required: false + type: string + duration: + description: Initial duration in seconds or `00:00:00` when Home Assistant starts. + required: false + type: [integer, time] + default: 0 + icon: + description: Set a custom icon for the state card. + required: false + type: icon +{% endconfiguration %} Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your timer and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`. @@ -82,7 +98,6 @@ Manually finish a running timer earlier than scheduled. If no `entity_id` is giv | ---------------------- | -------- | ----------- | | `entity_id` | yes | Name of the entity to take action, e.g., `timer.timer0`. | - ### {% linkable_title Use the service %} Select service developer tool icon **Services** from the **Developer Tools**. Choose **timer** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**. @@ -95,7 +110,7 @@ Select serv
 
 ## {% linkable_title Examples %}
 
-Set a timer called `test` to a duration of 30 seconds. 
+Set a timer called `test` to a duration of 30 seconds.
 
 ```yaml
 # Example configuration.yaml entry
@@ -110,8 +125,8 @@ timer:
 # Example automations.yaml entry
 - alias: Timerswitch
   id:

- Hass.io containers are based on Alpine Linux. PhanthomJS is not available for Alpine Linux. Therefore it is currently not possible to use this component on Hass.io. + Hass.io containers are based on Alpine Linux. PhanthomJS is not available for Alpine Linux. Therefore it is currently not possible to use this component on Hass.io.

-### PhantomJS +### {% linkable_title PhantomJS %} Install the latest version of [PhantomJS]( http://phantomjs.org/download.html). Ensure the executable is on your `PATH`. `phantomjs --version` should work and report the correct version. This is the default option and requires no further configuration. @@ -38,18 +38,17 @@ Install the latest version of [PhantomJS]( http://phantomjs.org/download.html). If you use the PhantomJS option, specify `driver: phantomjs` in your `usps` configuration. - -### Chrome +### {% linkable_title Chrome %} Install Chrome 59 or greater (preferably the most recent). Install the latest [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads). Ensure both executables are on your `PATH`. `google-chrome --version` and `chromedriver --version` should work and report the correct version. OS-specific instructions: - [Ubuntu 16](https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5) (Selenium server portion *not* necessary) -- [RHEL/Centos 7](https://stackoverflow.com/a/46686621) +- [RHEL/Centos 7](https://stackoverflow.com/a/46686621) If you use the Chrome option, specify `driver: chrome` in your `usps` configuration. -## Configuration +## {% linkable_title Configuration %} To enable this component, add the following lines to your `configuration.yaml`: @@ -62,12 +61,26 @@ usps: You will see two new sensors, one for packages and one for mail and a camera to rotate through images of incoming mail for the current day. -Configuration options for the USPS component: - -- **username** (*Required*): The username to access the MyUSPS service. -- **password** (*Required*): The password for the given username. -- **driver** (*Required*): Specify if you're using `phantomjs` or `chrome`. -- **name** (*Optional*): Prefix for sensor names (defaults to "USPS") +{% configuration %} +username: + description: The username to access the MyUSPS service. + required: true + type: string +password: + description: The password for the given username. + required: true + type: string +driver: + description: Specify if you're using `phantomjs` or `chrome`. + required: false + type: string + default: phantomjs +name: + description: The prefix for sensor names. + required: false + type: string + default: usps +{% endconfiguration %}

The USPS sensor logs into the MyUSPS website to scrape package data. It does not use an API. diff --git a/source/_components/vacuum.dyson.markdown b/source/_components/vacuum.dyson.markdown index b482899130c..50a09628d7c 100644 --- a/source/_components/vacuum.dyson.markdown +++ b/source/_components/vacuum.dyson.markdown @@ -15,7 +15,9 @@ ha_release: 0.51 The `dyson` vacuum platform allows you to control your Dyson 360 Eye robot vacuum. -You have first to setup the [Dyson component](/components/dyson/) +## {% linkable_title Configuration %} + +You have to set up the [Dyson component](/components/dyson/) first. ### {% linkable_title Component services %} diff --git a/source/_components/vacuum.ecovacs.markdown b/source/_components/vacuum.ecovacs.markdown index 144bc7afcd7..85ce3230aca 100644 --- a/source/_components/vacuum.ecovacs.markdown +++ b/source/_components/vacuum.ecovacs.markdown @@ -15,7 +15,9 @@ ha_release: 0.77 The `ecovacs` vacuum platform allows you to monitor and control your Ecovacs Deebot vacuums. -You have first to setup the [Ecovacs component](/components/ecovacs/) +## {% linkable_title Configuration %} + +You have to set up the [Ecovacs component](/components/ecovacs/) first. ### {% linkable_title Component Lifespans %} diff --git a/source/_components/vacuum.markdown b/source/_components/vacuum.markdown index a72a22e7ca5..f0b3bb760b5 100644 --- a/source/_components/vacuum.markdown +++ b/source/_components/vacuum.markdown @@ -11,6 +11,8 @@ footer: true The `vacuum` component enables the ability to control home cleaning robots within Home Assistant. +## {% linkable_title Configuration %} + To use this component in your installation, add a `vacuum` platform to your `configuration.yaml` file, like the [Xiaomi](/components/vacuum.xiaomi_miio/). ```yaml diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown index 1777c7cd890..04fb17d504e 100644 --- a/source/_components/vacuum.mqtt.markdown +++ b/source/_components/vacuum.mqtt.markdown @@ -14,6 +14,8 @@ ha_release: 0.54 The `mqtt` vacuum component allows you to control your MQTT-enabled vacuum. +## {% linkable_title Configuration %} + To add your MQTT vacuum to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -229,6 +231,6 @@ MQTT payload: } ``` -### {% linkable_title Retrofitting a non-wifi Roomba with an ESP8266 %} - -- [This repo](https://github.com/johnboiles/esp-roomba-mqtt) has MQTT client firmware for retrofitting your old Roomba. +### {% linkable_title Retrofitting a non-wifi vacuums %} +- Retrofitting your old Roomba with an ESP8266. [This repo](https://github.com/johnboiles/esp-roomba-mqtt) provides MQTT client firmware. +- In you own a non-wifi Neato, you can refer to [this repo](https://github.com/jeroenterheerdt/neato-serial) that uses a Raspberry Pi to retrofit an old Neato. diff --git a/source/_components/vacuum.neato.markdown b/source/_components/vacuum.neato.markdown index 49381f5952b..9ed678cfb61 100644 --- a/source/_components/vacuum.neato.markdown +++ b/source/_components/vacuum.neato.markdown @@ -21,6 +21,8 @@ The status will contain attributes on the robots last clean session. If you notice the robot stops responding to commands check the state to see if the robot is "unavailable". If you see "unavailable" first try to restart the vacuum and wait about 5 minutes to see if it is no longer "unavailable". If you are still having issues check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant.

+## {% linkable_title Configuration %} + To add `neato` vacuum to your installation, please follow instructions in [Neato component](/components/neato/). Currently supported services are: diff --git a/source/_components/vacuum.roomba.markdown b/source/_components/vacuum.roomba.markdown index 2186f1666aa..d7a242c9ce7 100644 --- a/source/_components/vacuum.roomba.markdown +++ b/source/_components/vacuum.roomba.markdown @@ -18,6 +18,8 @@ The `roomba` component allows you to control your [iRobot Roomba](http://www.iro This platform has only been tested with an iRobot Roomba 980 but should work find with any Wi-Fi enabled Roomba like the 690, 890 or the 960.

+## {% linkable_title Configuration %} + To add your Roomba vacuum to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -31,7 +33,7 @@ vacuum: {% configuration %} host: - description: Hostname or IP address of the Roomba. + description: The hostname or IP address of the Roomba. required: true type: string username: @@ -45,18 +47,18 @@ password: name: description: The name of the vacuum. required: false - default: Roomba type: string + default: Roomba certificate: description: Path to your certificate store. required: false - default: /etc/ssl/certs/ca-certificates.crt type: string + default: /etc/ssl/certs/ca-certificates.crt continuous: description: Whether to operate in continuous mode. required: false - default: true type: boolean + default: true {% endconfiguration %}

diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 41952960fb7..500e176081c 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -26,11 +26,11 @@ Currently supported services are: - `set_fan_speed` - remote control of your robot. +## {% linkable_title Configuration %} + Please follow [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to retrieve the API token used in `configuration.yaml`. -## {% linkable_title Configuration %} - To add a vacuum to your installation, add the following to `configuration.yaml`: ```yaml @@ -41,18 +41,19 @@ vacuum: ``` {% configuration %} - host: - description: The IP address of your robot. - required: true - type: string - token: - description: The API token of your robot. - required: true - type: string - name: - description: The name of your robot. - required: false - type: string +host: + description: The IP address of your robot. + required: true + type: string +token: + description: The API token of your robot. + required: true + type: string +name: + description: The name of your robot. + required: false + type: string + default: Xiaomi Vacuum cleaner {% endconfiguration %} ## {% linkable_title Platform Services %} @@ -133,8 +134,8 @@ The following table shows the units of measurement for each attribute: ## {% linkable_title Retrieving the Access Token %}

-As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Android Mi-Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.0](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-0-release/) is confirmed as working for the following Android methods. - +As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Android Mi Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) is confirmed as working for the following Android methods. Using older version than 5.0.30 is not recommended as it might lack support for some newer devices like the Roborock S50. + The iPhone app still stores the token in the sqlite db as of v4.7.18 (July 17, 2018). This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Mi Robot 2 (Roborock) Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained @@ -185,6 +186,7 @@ To fetch the token follow these instructions depending on your mobile phone plat 5. Click "Extract Token" 6. On the phone, you must confirm the backup. DO NOT enter any password and press the button to make the backup. 7. Once you have confirmed the backup the token extraction will begin, it should appear in the MiToolKit shortly. +8. If you don't get a token, close MiToolKit completely, delete the folder MiToolkit\apps\com.xiaomi.smarthome and relaunch MiToolKit to force recreate a new backup (sometimes the files would not be overwritten before deleting the old ones) #### {% linkable_title Linux and Android (not rooted) %} diff --git a/source/_components/velux.markdown b/source/_components/velux.markdown index 171b0f5c422..2a6731b25e3 100644 --- a/source/_components/velux.markdown +++ b/source/_components/velux.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Polling" [Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200. +## {% linkable_title Configuration %} + A `velux` section must be present in the `configuration.yaml` file and contain the following options as required: ```yaml diff --git a/source/_components/vera.markdown b/source/_components/vera.markdown index df3f6e31c62..94de436693d 100644 --- a/source/_components/vera.markdown +++ b/source/_components/vera.markdown @@ -16,6 +16,8 @@ The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave d Switches, Lights (inc Dimmers), Locks, Sensors, Binary sensors, and Scenes are supported - and will be automatically added when HA connects to your Vera controller. +## {% linkable_title Configuration %} + To use Vera devices in your installation, add the following to your configuration.yaml file using the IP and port number of your Vera controller: ```yaml @@ -34,7 +36,7 @@ vera_controller_url: It is recommended to assign a static IP address to your Vera Controller. This ensures that it won't change IP addresses, so you won't have to change the `vera_controller_url` if it reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Vera, check the label on the bottom.

-### {% linkable_title Configure devices %} +### {% linkable_title Configure devices %} By default your switches will be added to Home Assistant as switches, however, if some of them are light switches, you can tell Home Assistant this using the optional `lights` parameter as shown below. @@ -51,6 +53,6 @@ vera: lights: [15, 17, 19, 21, 22, 24, 26, 43, 64, 70, 87] ``` -### {% linkable_title Using Z-Wave devices in automation %} +### {% linkable_title Using Z-Wave devices in automation %} If you want to use a Z-Wave device from the Vera controller in Home Assistant automation, you'll need the entity id. In the Home Assistant UI you'll find all entities listed under the service developer tool icon icon of the Developer Tools section. Look for entities that contain 'Vera Device Id' in their attributes, and you'll find the entity id on the left. diff --git a/source/_components/verisure.markdown b/source/_components/verisure.markdown index 49dd80958e1..5e14d2236d2 100644 --- a/source/_components/verisure.markdown +++ b/source/_components/verisure.markdown @@ -24,6 +24,8 @@ We support: * [Locks](/components/lock.verisure/) * [Door & Window](/components/binary_sensor.verisure/) + ## {% linkable_title Configuration %} + To integrate Verisure with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -43,45 +45,45 @@ password: required: true type: string alarm: - description: Set to true to show alarm, false to disable. + description: Set to `true` to show alarm, `false` to disable. required: false - default: true type: boolean + default: true hygrometers: - description: Set to true to show hygrometers, false to disable. + description: Set to `true` to show hygrometers, `false` to disable. required: false - default: true type: boolean + default: true smartplugs: - description: Set to true to show smartplugs, false to disable. + description: Set to `true` to show smartplugs, `false` to disable. required: false - default: true type: boolean + default: true locks: - description: Set to true to show locks, false to disable. + description: Set to `true` to show locks, `false` to disable. required: false - default: true type: boolean + default: true thermometers: - description: Set to true to show thermometers, false to disable. + description: Set to `true` to show thermometers, `false` to disable. required: false - default: true type: boolean + default: true mouse: - description: Set to true to show mouse detectors, false to disable. + description: Set to `true` to show mouse detectors, `false` to disable. required: false - default: true type: boolean + default: true door_window: - description: Set to true to show mouse detectors, false to disable. + description: Set to `true` to show mouse detectors, `false` to disable. required: false - default: true type: boolean + default: true code_digits: description: Number of digits in PIN code. required: false - default: 4 type: integer + default: 4 giid: description: The GIID of your installation (If you have more then one alarm system). To find the GIID for your systems run 'python verisure.py EMAIL PASSWORD installations'. required: false diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index d4028a46e4b..3ed8aa1e092 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -13,7 +13,6 @@ ha_release: 0.39 ha_iot_class: "Cloud Polling" --- - The `volvooncall` component offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. ## {% linkable_title Configuration %} @@ -90,6 +89,6 @@ resources: scandinavian_miles: description: If set to true, Scandinavian miles ("mil") are used for distances and fuel range. required: false - defaults: false type: boolean + default: false {% endconfiguration %} diff --git a/source/_components/vultr.markdown b/source/_components/vultr.markdown index c9d149b63ed..f5313ff065e 100644 --- a/source/_components/vultr.markdown +++ b/source/_components/vultr.markdown @@ -14,9 +14,10 @@ logo: vultr.png ha_iot_class: "Cloud Polling" --- - The `vultr` component allows you to access information about and interact with your [Vultr](https://www.vultr.com) subscriptions (Virtual Private Servers) from Home Assistant. +## {% linkable_title Configuration %} + Obtain your API key from your [Vultr Account](https://my.vultr.com/settings/#settingsapi).

@@ -37,4 +38,3 @@ api_key: required: true type: string {% endconfiguration %} - diff --git a/source/_components/wake_on_lan.markdown b/source/_components/wake_on_lan.markdown index 87603ad2338..da7e5831afb 100644 --- a/source/_components/wake_on_lan.markdown +++ b/source/_components/wake_on_lan.markdown @@ -37,7 +37,6 @@ Send a _magic packet_ to wake up a device with 'Wake-On-LAN' capabilities. | `mac` | no | MAC address of the device to wake up. | | `broadcast_address` | yes | Optional broadcast IP where to send the magic packet. | - Sample service data: ```json @@ -45,4 +44,3 @@ Sample service data: "mac":"00:40:13:ed:f1:32" } ``` - diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown index 15a88eb8565..bc45420f464 100644 --- a/source/_components/waterfurnace.markdown +++ b/source/_components/waterfurnace.markdown @@ -53,10 +53,8 @@ unit: type: string {% endconfiguration %} - #### {% linkable_title Limitations %} The WebSocket interface used by this module requires active polling, otherwise the server side shuts down the connection. By default, this polling is happening every 10 seconds. All sensors are updated during every polling cycle. While this is communicating with a thermostat, geothermal systems operate most efficiently when setbacks are not used, and the home is kept at a constant temperature. It remains useful to collect the data from the system to understand its performance, but a full climate interface won't be implemented. - diff --git a/source/_components/watson_iot.markdown b/source/_components/watson_iot.markdown index b5c30202d49..0014d5e24da 100644 --- a/source/_components/watson_iot.markdown +++ b/source/_components/watson_iot.markdown @@ -83,7 +83,6 @@ include: type: list {% endconfiguration %} - ## {% linkable_title Examples %} ### {% linkable_title Full configuration %} diff --git a/source/_components/weather.bom.markdown b/source/_components/weather.bom.markdown index fe26c58337a..025dcd50dd1 100644 --- a/source/_components/weather.bom.markdown +++ b/source/_components/weather.bom.markdown @@ -33,8 +33,8 @@ name: station: description: "The station ID string. See the [`sensor.bom` docs](/components/sensor.bom/) for details on how to find the ID of a station." required: optional - default: The closest station type: string + default: The closest station {% endconfiguration %}

diff --git a/source/_components/weather.buienradar.markdown b/source/_components/weather.buienradar.markdown index 8ec59346cc8..505c84bae90 100644 --- a/source/_components/weather.buienradar.markdown +++ b/source/_components/weather.buienradar.markdown @@ -41,12 +41,14 @@ longitude: required: false type: float forecast: - description: "'True' to add a temperature forecast, 'False' to suppress it." + description: "`true` to add a temperature forecast, `false` to suppress it." required: false - default: true type: boolean + default: true {% endconfiguration %} +### {% linkable_title Full configuration %} + A full configuration example: ```yaml diff --git a/source/_components/weather.ipma.markdown b/source/_components/weather.ipma.markdown index 02141227ead..68f4cf67a88 100644 --- a/source/_components/weather.ipma.markdown +++ b/source/_components/weather.ipma.markdown @@ -22,23 +22,23 @@ To add the IPMA weather platform to your installation, add the following to your ```yaml # Example configuration.yaml entry weather: - - platform: ipma + - platform: ipma ``` {% configuration %} name: description: The name you would like to give to the weather station. - required: false - default: The name of the used station + required: false type: string + default: The name of the used station latitude: description: Latitude of the location for which you want weather information. - required: false - default: Home Assistant global latitude configuration + required: false type: string + default: Home Assistant global latitude configuration longitude: description: Longitude of the location for which you want weather information. - required: false - default: Home Assistant global longitude configuration + required: false type: string + default: Home Assistant global longitude configuration {% endconfiguration %} diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index e558c1a29bc..fa199a2d666 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. +The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. Home Assistant currently supports free web services and such which require a registration. Please check the sidebar for a full list of supported `weather` platforms. @@ -32,4 +32,3 @@ The `weather` platform only knows the below listed conditions. The reason for th - 'windy' - 'windy-variant' - 'exceptional': - diff --git a/source/_components/weather.met.markdown b/source/_components/weather.met.markdown index 1c31f4a0357..3cdd8145b8c 100644 --- a/source/_components/weather.met.markdown +++ b/source/_components/weather.met.markdown @@ -24,7 +24,6 @@ weather: - platform: met ``` - {% configuration %} latitude: description: Manually specify latitude. By default the value will be taken from the Home Assistant configuration. diff --git a/source/_components/weather.metoffice.markdown b/source/_components/weather.metoffice.markdown index 1d38510de48..37d41463dbd 100644 --- a/source/_components/weather.metoffice.markdown +++ b/source/_components/weather.metoffice.markdown @@ -34,8 +34,8 @@ api_key: name: description: Additional name for the weather component in Home Assistant. required: false - default: Met Office type: string + default: Met Office latitude: description: "Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`." required: inclusive @@ -50,4 +50,3 @@ longitude: This platform is an alternative to the [`metoffice`](/components/sensor.metoffice/) sensor. The weather platform is easier to configure but less customizable.

- diff --git a/source/_components/weather.openweathermap.markdown b/source/_components/weather.openweathermap.markdown index f0d9d1f93bb..1d83077ef80 100644 --- a/source/_components/weather.openweathermap.markdown +++ b/source/_components/weather.openweathermap.markdown @@ -30,29 +30,29 @@ weather: {% configuration %} api_key: - required: true description: Your API key for [OpenWeatherMap](http://openweathermap.org/). + required: true type: string name: - required: false description: Name to use in the frontend. + required: false + type: string default: OpenWeatherMap - type: string mode: - required: false description: "Can specify `hourly` or `daily`. Select `hourly` for a three-hour forecast or `daily` for daily forecast." - default: "`hourly`" + required: false type: string + default: "`hourly`" latitude: - required: false description: Latitude of the location to display the weather. - default: "The latitude in your `configuration.yaml` file." - type: float -longitude: required: false - description: Longitude of the location to display the weather. - default: "The longitude in your `configuration.yaml` file." type: float + default: "The latitude in your `configuration.yaml` file." +longitude: + description: Longitude of the location to display the weather. + required: false + type: float + default: "The longitude in your `configuration.yaml` file." {% endconfiguration %}

diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 055f9daa0ec..7f9744a3938 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -12,7 +12,6 @@ ha_category: Weather ha_release: 0.47 --- - The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as a source for current meteorological data. This component will show you the condition and temperatures for max. 10 days.

@@ -39,8 +38,8 @@ woeid: name: description: The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. required: false - default: yweather type: string + default: yweather {% endconfiguration %}

diff --git a/source/_components/weather.zamg.markdown b/source/_components/weather.zamg.markdown index dd62ceec3dc..486f6d7fded 100644 --- a/source/_components/weather.zamg.markdown +++ b/source/_components/weather.zamg.markdown @@ -29,23 +29,23 @@ weather: {% configuration %} station_id: - required: false description: The ID number for a supported ZAMG station. + required: false type: string name: - required: false description: A name for the weather platform. + required: false type: string latitude: - required: false description: "Latitude coordinate to monitor weather of (required if **longitude** is specified)." - default: "Defaults to coordinates defined in your `configuration.yaml` file." - type: float -longitude: required: false - description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." - default: "Defaults to coordinates defined in your `configuration.yaml` file." type: float + default: "Defaults to coordinates defined in your `configuration.yaml` file." +longitude: + description: "Longitude coordinate to monitor weather of (required if **latitude** is specified)." + required: false + type: float + default: "Defaults to coordinates defined in your `configuration.yaml` file." {% endconfiguration %}

diff --git a/source/_components/weblink.markdown b/source/_components/weblink.markdown index e145d62e1be..4e05396cdf1 100644 --- a/source/_components/weblink.markdown +++ b/source/_components/weblink.markdown @@ -15,6 +15,8 @@ ha_qa_scale: internal The `weblink` component allows you to display links in the Home Assistant frontend. +## {% linkable_title Configuration %} + To use this component in your installation, add something like the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/websocket_api.markdown b/source/_components/websocket_api.markdown index 4457f2feeac..ca35aeb0678 100644 --- a/source/_components/websocket_api.markdown +++ b/source/_components/websocket_api.markdown @@ -18,6 +18,8 @@ The `websocket_api` component set up a WebSocket API and allows one to interact It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.

+## {% linkable_title Configuration %} + ```yaml # Example configuration.yaml entry websocket_api: diff --git a/source/_components/wemo.markdown b/source/_components/wemo.markdown index af752d9e99a..71f734402ab 100644 --- a/source/_components/wemo.markdown +++ b/source/_components/wemo.markdown @@ -15,6 +15,8 @@ ha_release: pre 0.7 The `wemo` component is the main component to integrate various [Belkin WeMo](http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant. +## {% linkable_title Configuration %} + Supported devices will be automatically discovered if the discovery component is enabled. Loading the `wemo` component will scan the local network for WeMo devices, even if you are not using the discovery component ```yaml diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index ade545e1374..b26f93bf50c 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -78,8 +78,8 @@ client_secret: local_control: description: If set to `true` state changes for lights, locks and switches will be issued to the local hub. required: false - default: false type: boolean + default: false {% endconfiguration %} Local control: diff --git a/source/_components/wirelesstag.markdown b/source/_components/wirelesstag.markdown index d4e229d4a16..bd92d2ee6ce 100644 --- a/source/_components/wirelesstag.markdown +++ b/source/_components/wirelesstag.markdown @@ -15,6 +15,8 @@ ha_release: 0.68 The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](http://wirelesstag.net) sensors tags in Home Assistant. +## {% linkable_title Configuration %} + To enable tags set up with your [wirelesstag.net](http://wirelesstag.net) account, add the following to your `configuration.yaml` file: ```yaml @@ -25,14 +27,14 @@ wirelesstag: ``` {% configuration %} - username: - description: Username for your [wirelesstag.net](http://wirelesstag.net) account. - required: true - type: string - password: - description: Password for your [wirelesstag.net](http://wirelesstag.net) account. - required: true - type: string +username: + description: Username for your wirelesstag.net account. + required: true + type: string +password: + description: Password for your wirelesstag.net account. + required: true + type: string {% endconfiguration %} Finish your configuration by visiting the [WirelessTag binary sensor](/components/binary_sensor.wirelesstag/), [WirelessTag sensor](/components/sensor.wirelesstag/), or [WirelessTag switch](/components/switch.wirelesstag/) documentation. @@ -44,4 +46,4 @@ Finish your configuration by visiting the [WirelessTag binary sensor](/component

Tags Manager supports local push notifications for `http` schema only. So if your hass uses `https`, local push notifications are disabled and data is received via cloud polling. -

\ No newline at end of file +

diff --git a/source/_components/xiaomi_aqara.markdown b/source/_components/xiaomi_aqara.markdown index 5c6fa1016ba..c01577030b0 100644 --- a/source/_components/xiaomi_aqara.markdown +++ b/source/_components/xiaomi_aqara.markdown @@ -92,38 +92,38 @@ xiaomi_aqara: ``` {% configuration %} - gateways: - description: A list of gateways to set up. - required: true - type: map - keys: - mac: - description: The MAC address of your gateway. *Optional if only using one gateway.* - required: false - type: string - key: - description: The key of your gateway. *Optional if only using sensors and/or binary sensors.* - required: false - type: string - host: - description: The host/IP address of the gateway. If this parameter is used the multicast discovery of the gateway is skipped. - required: false - type: string - disable: - description: Disable the gateway. This is only useful if you don't want to integrate a specific gateway. - required: false - type: boolean - default: false - discovery_retry: - description: Number of times that Home Assistant should try to reconnect to the gateway. - required: false - type: integer - default: 3 - interface: - description: Which network interface to use. - required: false - type: string - default: any +gateways: + description: A list of gateways to set up. + required: true + type: map + keys: + mac: + description: The MAC address of your gateway. *Optional if only using one gateway.* + required: false + type: string + key: + description: The key of your gateway. *Optional if only using sensors and/or binary sensors.* + required: false + type: string + host: + description: The host/IP address of the gateway. If this parameter is used the multicast discovery of the gateway is skipped. + required: false + type: string + disable: + description: Disable the gateway. This is only useful if you don't want to integrate a specific gateway. + required: false + type: boolean + default: false +discovery_retry: + description: Number of times that Home Assistant should try to reconnect to the gateway. + required: false + type: integer + default: 3 +interface: + description: Which network interface to use. + required: false + type: string + default: any {% endconfiguration %} ### {% linkable_title Services %} @@ -274,4 +274,3 @@ That means that Home Assistant is not getting any response from your Xiaomi gate - If you are using Home Assistant in [Docker](/docs/installation/docker/), make sure to use `--net=host`. - If you receive an `{"error":"Invalid key"}` in your log while trying to control the gateway light, you should generate the key again using an Android Phone or alternatively an emulator such as [bluestacks](https://www.bluestacks.com). In some instances there is an issue with keys being generated using the iOS application. - If the required library "PyXiaomiGateway" cannot be installed you will need to install some missing system dependencies `python3-dev`, `libssl-dev`, `libffi-dev` manually (e.g., `$ sudo apt-get install python3-dev libssl-dev libffi-dev`). - diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index 1056bef232c..fe317fce810 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -34,13 +34,13 @@ host: path: description: Path to your Zabbix install. required: false - default: "`/zabbix/`" type: string + default: "`/zabbix/`" ssl: description: Set to `True` if your Zabbix installation is using SSL. required: false - default: false type: boolean + default: false username: description: Your Zabbix username. required: false diff --git a/source/_components/zeroconf.markdown b/source/_components/zeroconf.markdown index d1459fdd1b1..d2e8908adea 100644 --- a/source/_components/zeroconf.markdown +++ b/source/_components/zeroconf.markdown @@ -14,6 +14,8 @@ ha_release: 0.18 The `zeroconf` component exposes your Home Assistant to the local network using [Zeroconf](https://en.wikipedia.org/wiki/Zero-configuration_networking). Zeroconf is also sometimes known as Bonjour, Rendezvous, and Avahi. +## {% linkable_title Configuration %} + To integrate this into Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -21,7 +23,7 @@ To integrate this into Home Assistant, add the following section to your `config zeroconf: ``` -The registration will include meta-data about the Home Assistant instance, including a base URL that can be used to access Home Assistant, the currently running Home Assistant version, and whether an API password is needed to access the instance. The examples below show two ways to retrieve the details for testing. +The registration will include meta-data about the Home Assistant instance, including a base URL that can be used to access Home Assistant, the currently running Home Assistant version, and whether an API password is needed to access the instance. The examples below show two ways to retrieve the details for testing. ```bash $ avahi-browse -alr @@ -39,6 +41,6 @@ Browsing domain 'local' on -1.-1 ... Browsing for services of type '_home-assistant._tcp' in domain 'local' on 4.0 ... Found service 'Home' of type '_home-assistant._tcp' in domain 'local' on 4.0. Service data for service 'Home' of type '_home-assistant._tcp' in domain 'local' on 4.0: - Host Home._home-assistant._tcp.local (192.168.0.70), port 8123, TXT data: + Host Home._home-assistant._tcp.local (192.168.0.70), port 8123, TXT data: ['requires_api_password=true', 'base_url=http://192.168.0.70:8123', 'version=0.41.0'] ``` diff --git a/source/_components/zha.markdown b/source/_components/zha.markdown index 477b89178c7..2bc206d73d5 100644 --- a/source/_components/zha.markdown +++ b/source/_components/zha.markdown @@ -13,8 +13,8 @@ ha_release: 0.44 ha_iot_class: "Local Polling" --- -[ZigBee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/) -integration for Home Assistant allows you to connect many off-the-shelf ZigBee devices to Home Assistant, using a compatible ZigBee radio. +[Zigbee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/) +integration for Home Assistant allows you to connect many off-the-shelf Zigbee devices to Home Assistant, using a compatible Zigbee radio. There is currently support for the following device types within Home Assistant: @@ -24,12 +24,14 @@ There is currently support for the following device types within Home Assistant: - [Switch](../switch.zha) - [Fan](../fan.zha) -Known working ZigBee radios: +Known working Zigbee radios: - Nortek/GoControl Z-Wave & Zigbee USB Adapter - Model HUSBZB-1 - XBee Series 2C -- [Elelabs ZigBee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) -- [Elelabs ZigBee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) +- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) +- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) + +## {% linkable_title Configuration %} To configure the component, a `zha` section must be present in the `configuration.yaml`, and the path to the serial device for the radio and path to the database which will persist your network data is required. @@ -45,8 +47,8 @@ zha: radio_type: description: One of `ezsp` or `xbee`. required: false - default: ezsp type: string + default: ezsp usb_path: description: Path to the serial device for the radio. required: true @@ -54,8 +56,8 @@ usb_path: baudrate: description: Baud rate of the serial device. required: false - default: 57600 type: integer + default: 57600 database_path: description: _Full_ path to the database which will keep persistent network data. required: true diff --git a/source/_components/zigbee.markdown b/source/_components/zigbee.markdown index e2b3b2429bd..d43c7051ff1 100644 --- a/source/_components/zigbee.markdown +++ b/source/_components/zigbee.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "ZigBee" -description: "Instructions on how to integrate a ZigBee network with Home Assistant." +title: "Zigbee" +description: "Instructions on how to integrate a Zigbee network with Home Assistant." date: 2016-01-27 17:10 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_release: 0.12 ha_iot_class: "Local Polling" --- -[ZigBee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local ZigBee device to be connected to a serial port. Through this it will send and receive commands to and from other devices on the ZigBee mesh network. +[Zigbee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local Zigbee device to be connected to a serial port. Through this it will send and receive commands to and from other devices on the Zigbee mesh network. There is currently support for the following device types within Home Assistant: @@ -22,7 +22,9 @@ There is currently support for the following device types within Home Assistant: - [Light](../light.zigbee) (digital output pins) - [Switch](../switch.zigbee) (digital output pins) -The local ZigBee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed. +## {% linkable_title Configuration %} + +The local Zigbee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed. A `zigbee` section must be present in the `configuration.yaml` file and contain the following options as required: @@ -33,15 +35,15 @@ zigbee: {% configuration %} device: - description: The serial port to which the local ZigBee device is connected. + description: The serial port to which the local Zigbee device is connected. required: false - default: "/dev/ttyUSB0" type: string + default: "`/dev/ttyUSB0`" baud: - description: The baud rate at which to communicate with the local ZigBee device. + description: The baud rate at which to communicate with the local Zigbee device. required: false - default: 9600 type: integer + default: 9600 {% endconfiguration %} To find the possible serial port names of your device, run: @@ -51,7 +53,7 @@ $ ls /dev/ttyUSB* ```

-The port may also appear as /dev/ttyACM* if you're communicating with the ZigBee device through an Arduino. +The port may also appear as /dev/ttyACM* if you're communicating with the Zigbee device through an Arduino.

### {% linkable_title Example %} diff --git a/source/_components/zone.markdown b/source/_components/zone.markdown index 1e5125b71c1..caeb22e761a 100644 --- a/source/_components/zone.markdown +++ b/source/_components/zone.markdown @@ -53,8 +53,8 @@ longitude: radius: description: The radius of the zone in meters. required: false - default: 100 type: integer + default: 100 icon: description: The icon to show instead of name. required: false @@ -62,8 +62,8 @@ icon: passive: description: To only use the zone for automation and hide it from the frontend and not use the zone for device tracker name. required: false - default: false type: boolean + default: false {% endconfiguration %} To find the latitude/longitude of a certain place you can use [Google Maps](https://www.google.com/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google) diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index 68101f805eb..614a5ce022b 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The ZoneMinder component sets up the integration with your [ZoneMinder](https://www.zoneminder.com) instance so that [cameras](/components/camera.zoneminder/), [sensors](/components/sensor.zoneminder/), and [switches](/components/switch.zoneminder) can use it. +## {% linkable_title Configuration %} + ```yaml # Example configuration.yaml entry zoneminder: @@ -30,23 +32,23 @@ host: path: description: Path to your ZoneMinder install. required: false - default: "`/zm/`" type: string + default: "`/zm/`" path_zms: description: Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. required: false - default: "`/zm/cgi-bin/nph-zms`" type: string + default: "`/zm/cgi-bin/nph-zms`" ssl: description: Set to `true` if your ZoneMinder installation is using SSL. required: false - default: false type: boolean + default: false verify_ssl: description: Verify the certification of the endpoint. required: false - default: true type: boolean + default: true username: description: Your ZoneMinder username. required: false diff --git a/source/_components/zwave.markdown b/source/_components/zwave.markdown index 9dd4811b3e4..33c11eeccd3 100644 --- a/source/_components/zwave.markdown +++ b/source/_components/zwave.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Push" The [Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component. +## {% linkable_title Configuration %} + If you have setup the requirements, then add the following entry `configuration.yaml` file: ```yaml diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown index 5cb76f6b4f2..0be17c08a0e 100644 --- a/source/_docs/configuration/packages.markdown +++ b/source/_docs/configuration/packages.markdown @@ -10,7 +10,7 @@ footer: true redirect_from: /topics/packages/ --- -Packages in Home Assistant provides a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). +Packages in Home Assistant provide a way to bundle different component's configuration together. We already learned about the two configuration styles (specifying platforms entries together or individually) on the [adding devices](/docs/configuration/devices/) page. Both of these configuration methods require you to create the component key in the main `configuration.yaml` file. With packages we have a way to include different components, or different configuration parts using any of the `!include` directives introduced in [splitting the configuration](/docs/configuration/splitting_configuration). Packages are configured under the core `homeassistant/packages` in the configuration and take the format of a package name (no spaces, all lower case) followed by a dictionary with the package config. For example, package `pack_1` would be created as: diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index cf526c7b502..82114cae475 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -57,10 +57,17 @@ Creating a `.gitignore` file in your repository will tell Git which files NOT to Here is an example that will ignore everything but your YAML configuration. ```bash -# Example .gitignore file for your config dir +# Example .gitignore file for your config dir. Lines with ! will not be ignored. * !*.yaml !.gitignore +*.conf +*.txt +*.log +.storage +.cloud +.google.token +ip_bans.yaml secrets.yaml known_devices.yaml ``` diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 7b248911b78..e4c0a8125b3 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -185,7 +185,7 @@ $ docker-compose restart ### {% linkable_title Exposing Devices %} -In order to use Z-Wave, ZigBee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: +In order to use Z-Wave, Zigbee or other components that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: ```bash $ docker run -d --name="home-assistant" -v /path/to/your/config:/config \ diff --git a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown index 22851a07e7d..80282ba464f 100644 --- a/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown +++ b/source/_posts/2016-01-29-insteon-lifx-twitter-and-zigbee.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "0.12: Insteon, LIFX, Twitter and ZigBee" +title: "0.12: Insteon, LIFX, Twitter and Zigbee" description: "Home Assistant 0.12 brings improved organizational tools and makes writing automation in Python easier." date: 2016-01-30 00:22:00 -0800 date_formatted: "January 30, 2016" diff --git a/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown b/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown index d633146e602..fa7746489e4 100644 --- a/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown +++ b/source/_posts/2017-03-11-repurpose-any-android-phone-as-ip-camera.markdown @@ -147,7 +147,7 @@ Hot fix release to fix dependency issues. More detailed information about the is - Cleanup component track_point_in_utc_time usage ([@pvizeli]) - Discovery fix ([@balloob]) - Test against 3.6-dev ([@balloob]) -- Bugfix ZigBee / Move from eventbus to dispatcher ([@pvizeli]) +- Bugfix Zigbee / Move from eventbus to dispatcher ([@pvizeli]) - Bump netdisco to 0.9.1 ([@balloob]) - sensor.dovado: compute state in update ([@molobrakos]) - Fix mysensors callback race ([@MartinHjelmare]) diff --git a/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown b/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown index d44d60a79f2..55b663abb84 100644 --- a/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown +++ b/source/_posts/2017-04-17-ikea-tradfri-internet-of-things-done-right.markdown @@ -57,7 +57,7 @@ Because it’s based on Zigbee, you don’t have to just buy IKEA devices the re Note that there are reports that the other way around, pairing an IKEA light to the Philips Hue hub is currently not possible. IKEA is working on it according to [a post by Philips Hue support][hue-support]:
- The non-interoperability between the newly launched IKEA smart lighting products and the Philips Hue bridge has been analyzed. One of the issues found is that the IKEA bulbs report their ProfileID as corresponding to the ZigBee Home Automation (ZHA) profile rather than the ZigBee Light Link (ZLL) profile. As the IKEA bulbs do not behave fully compliant with the ZLL standard, they are rejected by the Hue bridge. IKEA is aware of this and informed us their intent is to have the IKEA smart lighting bulbs to work with the Philips Hue bridge. + The non-interoperability between the newly launched IKEA smart lighting products and the Philips Hue bridge has been analyzed. One of the issues found is that the IKEA bulbs report their ProfileID as corresponding to the Zigbee Home Automation (ZHA) profile rather than the Zigbee Light Link (ZLL) profile. As the IKEA bulbs do not behave fully compliant with the ZLL standard, they are rejected by the Hue bridge. IKEA is aware of this and informed us their intent is to have the IKEA smart lighting bulbs to work with the Philips Hue bridge.
## {% linkable_title Affordable %} diff --git a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown index 4e87ac92fd4..c39ab07ef8b 100644 --- a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown +++ b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "Home Assistant 0.44: ZigBee, OpenCV and DLib" +title: "Home Assistant 0.44: Zigbee, OpenCV and DLib" description: "Speak natively with Zigbee network, detect faces with OpenCV: 0.44 is here." date: 2017-05-06 01:04:05 +0000 date_formatted: "May 6, 2017" @@ -13,7 +13,7 @@ og_image: /images/blog/2017-05-0.44/components.png -This release brings some great new integrations. The biggest one is the [native ZigBee integration][zha docs] by [Russell Cloran][@rcloran]. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile) +This release brings some great new integrations. The biggest one is the [native Zigbee integration][zha docs] by [Russell Cloran][@rcloran]. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile) Another great new addition is [OpenCV][opencv docs] by [Teagan Glenn][@teagan42]. So now you'll be able to unlock all the cool stuff from OpenCV right in Home Assistant. And if OpenCV is not your style, you can try out the new [DLib integration][image_processing.dlib_face_identify docs] added by [Pascal Vizeli][@pvizeli] in this release. diff --git a/source/docs/index.markdown b/source/docs/index.markdown index cbc6b8e364c..5daf1ae6832 100644 --- a/source/docs/index.markdown +++ b/source/docs/index.markdown @@ -9,7 +9,7 @@ sharing: true footer: true --- -The documentation covers from beginner to advanced topic around the installation, the setup, the configuration, and the usage of Home Assistant. +The documentation covers beginner to advanced topics around the installation, setup, configuration, and usage of Home Assistant.