diff --git a/components/alarm_control_panel.egardia/index.html b/components/alarm_control_panel.egardia/index.html
index 8581e0d8a2..906e93dd54 100644
--- a/components/alarm_control_panel.egardia/index.html
+++ b/components/alarm_control_panel.egardia/index.html
@@ -101,7 +101,7 @@ You can change this, however, using the following procedure. This is a more adva
Log in into your alarm system’s control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
Once logged in, go to System Settings, Report and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. Also, update the port number 85 or to anything you like. The provided software that you will set up in the next steps runs on port 85 by default. Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia’s / Woonveilig services. Maybe, that is just what you want. Make sure to save your settings by selecting ‘OK’.
-
On your Home Assistant machine run $ sudo python3 egardiaserver.py. Refer to the python-egardia repository for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, armhome) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).
+
On your Home Assistant machine run $ sudo python3 egardiaserver.py. Refer to the python-egardia repository for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, home) by all means possible (all users, remotes, web login, app) as well as trigger the alarm in all ways possible to get 100% coverage. Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).
Once you have the codes, update your configuration.yaml:
# Example configuration.yaml entryalarm_control_panel:
@@ -114,14 +114,14 @@ You can change this, however, using the following procedure. This is a more adva
report_server_codes:arm:XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXXdisarm:XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX
- armhome:XXXXXXXXXXXXXXXX
+ home:XXXXXXXXXXXXXXXXtriggered:XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXXignore:XXXXXXXXXXXXXXXX
-
Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, armhome, triggered) even when system checks occur.
+
Note that for triggered, arm and disarm multiple codes can be entered since each sensor triggers with a different code and each user of the system has its own arm and disarm codes. Also note that your system will do regular system checks which will be reported as well. Since Home Assistant provides no way of handling them properly, you can enter those codes as ignore (again, multiple codes can be used here). The egardia component will ignore these codes and continue returning the old status if it receives any of the codes that are listed as ignore. This is useful for example when you have armed your alarm at night: normally a system check will occur at least once during the night and if that code is not specified anywhere Home Assistant will set the status of the alarm to its default, which is unarmed. This is in fact wrong. Listing the code as ignore changes this behavior and Home Assistant will continue to show the status the alarm is in (disarm, arm, home, triggered) even when system checks occur.
Start the egardiaserver.py script on boot of your Home Assistant machine, for example by using systemctl by systemd. To use this method, create a shell script named egardiaserver.sh that contains something like the following:
This component is designed to be used with the “webhook” integration in api.ai. When a conversation ends with a user, api.ai sends an action and parameters to the webhook.
-
api.ai requires a public endpoint (HTTPS recommended), so your Home Assistant should be exposed to the Internet. api.ai will return fallback answers if your server does not answer, or takes too long (more than 5 seconds).
-
api.ai could be integrated with many popular messaging, virtual assistant and IoT platforms, eg.: Google Assistant (Google Actions), Skype, Messenger. See here the complete list.
-
Using Api.ai will be easy to create conversations like:
-
-
User: What is the temperature at home?
-
Bot: The temperature is 34 degrees
-
-
-
User: Turn on the light
-
Bot: In which room?
-
User: In the kitchen
-
Bot: Turning on kitchen light
-
-
To use this integration, you should define a conversation (intent) in Api.ai, configure Home Assistant with the speech to return and, optionally, the action to execute.
Select name, language (if you are planning to use it with Google Actions check here supported languages) and time zone
-
Click “Save”
-
Go to “Fulfillment” (in the left menu)
-
Enable Webhook and set your Home Assistant URL with the Api.ai endpoint. Eg.: https://myhome.duckdns.org/api/apiai?api_password=HA_PASSWORD
-
Click “Save”
-
Create a new intent
-
Below “User says” write one phrase that you, the user, will tell Api.ai. Eg.: Which is the temperature at home?
-
In “Action” set some key (this will be the bind with Home Assistant configuration), eg.: GetTemperature
-
In “Response” set “Cannot connect to Home Assistant or it is taking to long” (fall back response)
-
At the end of the page, click on “Fulfillment” and check “Use webhook”
-
Click “Save”
-
On the top right, where is written “Try it now…”, write, or say, the phrase you have previously defined and hit enter
-
Api.ai has send a request to your Home Assistant server
-
-
Take a look to “Integrations”, in the left menu, to configure third parties.
-
Configuring Home Assistant
-
When activated, the Alexa component will have Home Assistant’s native intent support handle the incoming intents. If you want to run actions based on intents, use the intent_script component.
-
Examples
-
Download this zip and load it in your Api.ai agent (Settings -> Export and Import) for examples intents to use with this configuration:
-
# Example configuration.yaml entry
-apiai:
-
-intent_script:
- Temperature:
- speech:
- text:The temperature at home is {{ states('sensor.home_temp') }} degrees
- LocateIntent:
- speech:
- text:>
- {%- for state in states.device_tracker -%}
- {%- if state.name.lower() == User.lower() -%}
- {{ state.name }} is at {{ state.state }}
- {%- elif loop.last -%}
- I am sorry, I do not know where {{ User }} is.
- {%- endif -%}
- {%- else -%}
- Sorry, I don't have any trackers registered.
- {%- endfor -%}
- WhereAreWeIntent:
- speech:
- text:>
- {%- if is_state('device_tracker.adri', 'home') and
- is_state('device_tracker.bea', 'home') -%}
- You are both home, you silly
- {%- else -%}
- Bea is at {{ states("device_tracker.bea") }}
- and Adri is at {{ states("device_tracker.adri") }}
- {% endif %}
- TurnLights:
- speech:
- text:Turning {{ Room }} lights {{ OnOff }}
- action:
- -service:notify.pushbullet
- data_template:
- message:Someone asked via apiai to turn {{ Room }} lights {{ OnOff }}
- -service_template:>
- {%- if OnOff == "on" -%}
- switch.turn_on
- {%- else -%}
- switch.turn_off
- {%- endif -%}
- data_template:
- entity_id:"switch.light_{{Room|replace('','_')}}"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Redirecting…
+
+
+
Redirecting…
+ Click here if you are not redirected.
+
diff --git a/components/apple_tv/index.html b/components/apple_tv/index.html
index 024c37dd44..5a057e6ce9 100644
--- a/components/apple_tv/index.html
+++ b/components/apple_tv/index.html
@@ -291,6 +291,9 @@ Turning the device on/off in the user interface will not turn the physi
Axis Communications devices are surveillance cameras and other security-related network connected hardware. Sensor API works with firmware 5.50 and newer.
Home Assistant will automatically discover their presence on your network.
diff --git a/components/binary_sensor.arest/index.html b/components/binary_sensor.arest/index.html
index 17c57e0c12..d4156b5f56 100644
--- a/components/binary_sensor.arest/index.html
+++ b/components/binary_sensor.arest/index.html
@@ -325,6 +325,9 @@ This sensor is not suitable for fast state changes because there is a high possi
The bayesian binary sensor platform observes the state from multiple sensors and uses Bayes’ rule 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.
+
The bayesian binary sensor platform observes the state from multiple sensors and uses Bayes’ rule 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.
To enable the Bayesian sensor, add the following lines to your configuration.yaml:
diff --git a/components/binary_sensor.blink/index.html b/components/binary_sensor.blink/index.html
index c8f12e9413..3e8ac1dea7 100644
--- a/components/binary_sensor.blink/index.html
+++ b/components/binary_sensor.blink/index.html
@@ -296,6 +296,9 @@ To get your Blink binary sensors working with Home Assistant, follow the instruc
diff --git a/components/binary_sensor.ffmpeg_motion/index.html b/components/binary_sensor.ffmpeg_motion/index.html
index b2013764f7..4e47e50177 100644
--- a/components/binary_sensor.ffmpeg_motion/index.html
+++ b/components/binary_sensor.ffmpeg_motion/index.html
@@ -315,6 +315,9 @@ If the ffmpeg process is broken, the sens
diff --git a/components/binary_sensor.ffmpeg_noise/index.html b/components/binary_sensor.ffmpeg_noise/index.html
index 31697db053..c3dd69dd51 100644
--- a/components/binary_sensor.ffmpeg_noise/index.html
+++ b/components/binary_sensor.ffmpeg_noise/index.html
@@ -306,6 +306,9 @@ If the ffmpeg process is broken, the sens
diff --git a/components/binary_sensor.http/index.html b/components/binary_sensor.http/index.html
index 200937bf1e..a04356b258 100644
--- a/components/binary_sensor.http/index.html
+++ b/components/binary_sensor.http/index.html
@@ -343,6 +343,9 @@ You should choose a unique device name (DEVICE_NAME) to avoid clashes with other
diff --git a/components/binary_sensor.mystrom/index.html b/components/binary_sensor.mystrom/index.html
index 69a117e113..58374461b8 100644
--- a/components/binary_sensor.mystrom/index.html
+++ b/components/binary_sensor.mystrom/index.html
@@ -340,6 +340,9 @@ The firmware version 2.26 doesn’t support TLS/SSL. This means that you are onl
diff --git a/components/binary_sensor.nest/index.html b/components/binary_sensor.nest/index.html
index 2bba466c33..b359c73dd5 100644
--- a/components/binary_sensor.nest/index.html
+++ b/components/binary_sensor.nest/index.html
@@ -342,6 +342,9 @@ You must have the Nest component configured to u
diff --git a/components/binary_sensor.octoprint/index.html b/components/binary_sensor.octoprint/index.html
index 9db4fcf96a..d236ed26a7 100644
--- a/components/binary_sensor.octoprint/index.html
+++ b/components/binary_sensor.octoprint/index.html
@@ -315,6 +315,9 @@ You must have the OctoPrint component confi
diff --git a/components/binary_sensor.ping/index.html b/components/binary_sensor.ping/index.html
index f8012596a3..cbfc63363c 100644
--- a/components/binary_sensor.ping/index.html
+++ b/components/binary_sensor.ping/index.html
@@ -311,6 +311,9 @@ When run on Windows systems, the round trip time attributes are rounded to the n
The random binary sensor platform is creating random states (True, 1, on or False, 0, off). This can be useful if you want to test automation rules. It generates a new state every time it is polled.
+
To enable the random binary sensor, add the following lines to your configuration.yaml:
+
# Example configuration.yaml entry
+binary_sensor:
+ -platform:random
+
+
+
+
Configuration Variables
+
+
name
+
+
(string)(Optional)Name to use in the frontend.
+
+
+
+
See the entity component options to control how often the main component polls the random binary sensor. The default is 30 seconds.
off_delay (Optional): For sensors that only sends ‘On’ state updates, this variable sets a delay after which the sensor state will be updated back to ‘Off’.
+
+This component and the rfxtrx switch can steal each other’s devices when setting the automatic_add configuration parameter to true. Set automatic_add only when you have some devices to add to your installation, otherwise leave it to False.
+
Binary sensors have only two states - “on” and “off”. Many door or window opening sensors will send a signal each time the door/window is open or closed. However, depending on their hardware or on their purpose, some sensors are only able to signal their “on” state:
Most motion sensors send a signal each time they detect motion. They stay “on” for a few seconds and go back to sleep, ready to signal other motion events. Usually, they do not send a signal when they go back to sleep.
@@ -171,8 +174,8 @@ to configure your new devices and leave it off otherwise.
Door / window sensors:
-
Kerui D026 door / window sensor: can trigger on “open” and “close”. Has a temper switch.
-
Nexa LMST-606 Magnetic contact switch.
+
Kerui D026 door / window sensor: can trigger on “open” and “close”. Has a tamper switch.
+
Nexa LMST-606.
@@ -398,6 +401,9 @@ to configure your new devices and leave it off otherwise.
# Example configuration.yaml entrybinary_sensor:-platform:ring
- monitored_conditions:
- -ding
- -motion
Configuration variables:
-
monitored_conditions array (Required): Conditions to display in the frontend. The following conditions can be monitored.
+
monitored_conditions array (Optional): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled.
ding: Return a boolean value when the doorbell button was pressed.
motion: Return a boolean value when a movement was detected by the Ring doorbell.
-
Currently only doorbells are supported by this sensor.
+
Currently it supports doorbell, external chimes and stickup cameras.
diff --git a/components/camera.blink/index.html b/components/camera.blink/index.html
index b0d7906359..ffece700a8 100644
--- a/components/camera.blink/index.html
+++ b/components/camera.blink/index.html
@@ -176,6 +176,9 @@ To get your Blink cameras working with Home Assistant, follow the instructions f
diff --git a/components/camera.foscam/index.html b/components/camera.foscam/index.html
index 0c0e4dcb10..878bd3f6e5 100644
--- a/components/camera.foscam/index.html
+++ b/components/camera.foscam/index.html
@@ -179,6 +179,9 @@ There seems to be some issues within Foscam with lengthy passwords and passwords
diff --git a/components/camera.local_file/index.html b/components/camera.local_file/index.html
index 709782b95b..4f5306dba8 100644
--- a/components/camera.local_file/index.html
+++ b/components/camera.local_file/index.html
@@ -176,6 +176,9 @@ The given file_path must be an existing f
diff --git a/components/camera.mjpeg/index.html b/components/camera.mjpeg/index.html
index 6397e34d72..869e390eff 100644
--- a/components/camera.mjpeg/index.html
+++ b/components/camera.mjpeg/index.html
@@ -188,6 +188,9 @@ There is a Nest component configured to u
To get your Ring.com cameras working within Home Assistant, please follow the instructions for the general Ring component.
+
Once you have enabled the Ring component, add the following to your configuration.yaml file:
+
# Example configuration.yaml entry
+camera:
+ -platform:ring
+
+
+
Configuration variables:
+
+
ffmpeg_arguments: (Optional): Extra options to pass to ffmpeg, e.g., image quality or video filter options.
+
scan_interval: (Optional): How frequently to query for new video. Defaults to 90 seconds.
+
+
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 documentation.
+
Currently it supports doorbell and stickup cameras.
+
Saving locally the videos captured by your Ring Door Bell
+
You can save locally the latest video captured by your Ring Door Bell by enabling the downloader and the python_scripts components.
+
+
Add to the configuration.yaml the downloader and python_scripts. Visit the component page for further details.
Create a file ring_downloader.py in the folder <config>/python_scripts and give it this content:
+
+
# obtain ring doorbell camera object
+# replace the camera.front_door by your camera entity
+ring_cam=hass.states.get('camera.front_door')
+
+subdir_name='ring_{}'.format(ring_cam.attributes.get('friendly_name'))
+
+# get video URL
+data={
+ 'url':ring_cam.attributes.get('video_url'),
+ 'subdir':subdir_name,
+}
+
+# call downloader component to save the video
+hass.services.call('downloader','download_file',data)
+
+
+
+
Start Home Assistant
+
Call the server python_script/ring_downloader
+
+
You should be able to see a video file saved under <config>/<downloader_dir>/ring_<camera_name>/.
+
You can also automate the process by integrating it with the (automation)[/components/automation) component.
diff --git a/components/camera.synology/index.html b/components/camera.synology/index.html
index 8319d929a2..4899bb9e6a 100644
--- a/components/camera.synology/index.html
+++ b/components/camera.synology/index.html
@@ -193,6 +193,9 @@ Most users will need to set verify_ssl to
diff --git a/components/camera.usps/index.html b/components/camera.usps/index.html
index ac2ae66969..56d21fd485 100644
--- a/components/camera.usps/index.html
+++ b/components/camera.usps/index.html
@@ -182,6 +182,9 @@ You must have the USPS component configured to u
The yi camera platform allows you to utilize Yi Home Cameras within Home
-Assistant. Specifically, this platform supports the line of Yi Home Cameras
-that are based on the Hi3518e Chipset; these include:
+
The yi camera platform allows you to utilize Yi Home Cameras within Home Assistant. Specifically, this platform supports the line of Yi Home Cameras that are based on the Hi3518e Chipset. This includes:
Yi Home 17CN
Yi 1080p Home
Yi Dome
Yi 1080p Dome
-
To successfully implement this platform, the Home Assistant host should be
-capable of multiple simultaneous reads; for every concurrent Home Assistant
-user, a connection will be made to the camera every 10 seconds.
-This should normally not be a problem.
+
To successfully implement this platform, the Home Assistant host should be capable of multiple simultaneous reads. For every concurrent Home Assistant user, a connection will be made to the camera every 10 seconds. This should normally not be a problem.
Preparing the Device
Installing Alternative Firmware
-
In order to integrate the camera with Home Assitant, it is necessary to install
-a custom firmware on the device. Instructions for doing so can be found via the
-yi-hack-v3 GitHub project.
-
Once installed, please ensure that you have enabled FTP and Telnet on your
-device.
+
In order to integrate the camera with Home Assitant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found via the yi-hack-v3 GitHub project.
+
Once installed, please ensure that you have enabled FTP and Telnet on your device.
-Some alternative Yi firmwares enable an experimental RTSP server, which will
-allow you to connect to your camera via other Home Assistant camera platforms.
-However, this RTSP server disables the ability to use the supremely-useful Yi
-Home app. In order to maintain both Home Assistant compatibility and the native
-app, this platform retrieves videos via FTP.
+Some alternative Yi firmwares enable an experimental RTSP server, which will allow you to connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Yi Home app. In order to maintain both Home Assistant compatibility and the native app, this platform retrieves videos via FTP.
Changing the FTP Password
Once the custom firmware is installed, a password must be added to the FTP
@@ -112,33 +100,32 @@ server. To do so:
Log out of Telnet.
Configuring the Platform
-
To enable the platform, add the following lines to your
-configuration.yaml file:
+
To enable the platform, add the following lines to yourconfiguration.yaml file:
host (Required): the IP address or hostname of the camera
-
password (Required): the password to the FTP server on the camera (from above)
-
username (Optional): the user that can access the FTP server (default: root)
-
name (Optional): a human-friendly name for the camera
-
ffmpeg_arguments (Optional): extra options to pass to ffmpeg (e.g. image quality or video filter options)
+
name (Required): A human-friendly name for the camera.
+
host (Required): The IP address or hostname of the camera.
+
password (Required): The password to the FTP server on the camera (from above).
+
path (Optional): The path to the raw MP4 files. Defaults to /tmp/sd/record.
+
username (Optional): The user that can access the FTP server. Ddefaults to root.
+
ffmpeg_arguments (Optional): Extra options to pass to ffmpeg (e.g. image quality or video filter options).
Image quality
-
Any option supported by the ffmpeg client can be utilized via the
-ffmpeg_arguments configuration parameter.
-
One particularly useful adjustment deals with video size. Since Yi videos are
-fairly large (especially on the 1080p cameras), the following configuration will
-bring them down to a manageable size:
+
Any option supported by ffmpeg camera can be utilized via the ffmpeg_arguments configuration parameter.
+
One particularly useful adjustment deals with video size. Since Yi videos are fairly large (especially on the 1080p cameras), the following configuration will bring them down to a manageable size:
diff --git a/components/camera.zoneminder/index.html b/components/camera.zoneminder/index.html
index 03b5fe0230..de94f8eb41 100644
--- a/components/camera.zoneminder/index.html
+++ b/components/camera.zoneminder/index.html
@@ -183,6 +183,9 @@ You must have the ZoneMinder component con
The camera component allows you to use IP cameras with Home Assistant. With a little additional work you could use USB cameras as well.
+
Service
+
Once loaded, the camera platform will expose services that can be called to perform various actions.
+
Available services: enable_motion_detection, disable_motion_detection, and snapshot.
+
Service enable_motion_detection
+
Enable the motion detection in a camera.
+
+
+
+
Service data attribute
+
Optional
+
Description
+
+
+
+
+
entity_id
+
no
+
Name(s) of entities to enable motion detection, e.g., camera.living_room_camera.
+
+
+
+
Service disable_motion_detection
+
Disable the motion detection in a camera.
+
+
+
+
Service data attribute
+
Optional
+
Description
+
+
+
+
+
entity_id
+
no
+
Name(s) of entities to disable motion detection, e.g., camera.living_room_camera.
+
+
+
+
Service snapshot
+
Take a snapshot from a camera.
+
+
+
+
Service data attribute
+
Optional
+
Description
+
+
+
+
+
entity_id
+
no
+
Name(s) of entities to create a snopshot from, e.g., camera.living_room_camera.
+
+
+
filename
+
no
+
Template of a file name. Variable is entity_id, e.g., /tmp/snapshot_{{ entity_id }}.
+
+
+
+
Test if it works
+
A simple way to test if you have set up your camera platform correctly, is to use Services from the Developer Tools. Choose your service from the dropdown menu Service, enter something like the sample below into the Service Data field, and hit CALL SERVICE.