From 7c09ce2162f3570bd9a66068e8fcec34398cf9c3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 7 Feb 2016 11:48:44 +0100 Subject: [PATCH] Add ubiquiti docs --- source/_components/camera.uvc.markdown | 33 ++++++++++++++++++ source/_components/sensor.mfi.markdown | 35 ++++++++++++++++++++ source/_components/switch.mfi.markdown | 35 ++++++++++++++++++++ source/images/supported_brands/ubiquiti.png | Bin 0 -> 16067 bytes 4 files changed, 103 insertions(+) create mode 100644 source/_components/camera.uvc.markdown create mode 100644 source/_components/sensor.mfi.markdown create mode 100644 source/_components/switch.mfi.markdown create mode 100644 source/images/supported_brands/ubiquiti.png diff --git a/source/_components/camera.uvc.markdown b/source/_components/camera.uvc.markdown new file mode 100644 index 00000000000..9e76fa421f0 --- /dev/null +++ b/source/_components/camera.uvc.markdown @@ -0,0 +1,33 @@ +--- +layout: component +title: "UniFi Video Camera" +description: "Instructions how to integrate UVC cameras within Home Assistant." +date: 2016-02-07 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: ubiquiti.png +ha_category: Camera +--- + + +The `uvc` component allows you to integrate [UniFi Video Camera (UVC)](https://www.ubnt.com/unifi-video/unifi-video-camera/) into Home Assistant. + +To enable a UVC camera in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +camera: + platform: uvc + nvr: IP_ADDRESS + port: PORT + key: APIKEY +``` + +Configuration variables: + +- **nvr** *Optional*: The IP or hostname of the NVR (Network Video Recorder) server. +- **port** *Optional*: The port number to use for accessing the NVR. +- **key** *Required*: The API key available from the NVR web interface. + diff --git a/source/_components/sensor.mfi.markdown b/source/_components/sensor.mfi.markdown new file mode 100644 index 00000000000..7eeaf2517c3 --- /dev/null +++ b/source/_components/sensor.mfi.markdown @@ -0,0 +1,35 @@ +--- +layout: component +title: "mFi Sensor" +description: "Instructions how to integrate mFi sensors within Home Assistant." +date: 2016-02-07 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: ubiquiti.png +ha_category: Sensor +--- + + +The `mfi` sensor platform to allow you to monitor [mFi mPort interface and sensors](https://www.ubnt.com/mfi/mport/). + +To add this platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: mfi + host: IP_ADDRESS + port: PORT + username: USERNAME + password: PASSWORD +``` + +Configuration variables: + +- **host** (*Required*): The IP address or hostname of your mFi controller. +- **port** (*Optional*): The port of your mFi controller. Defaults to 6443. +- **username** (*Required*): The mFi admin username. +- **password** (*Required*): The mFi admin user's password. + diff --git a/source/_components/switch.mfi.markdown b/source/_components/switch.mfi.markdown new file mode 100644 index 00000000000..a67385b7cba --- /dev/null +++ b/source/_components/switch.mfi.markdown @@ -0,0 +1,35 @@ +--- +layout: component +title: "mFi Switch" +description: "Instructions how to integrate mFi switches within Home Assistant." +date: 2016-02-07 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: ubiquiti.png +ha_category: Switch +--- + + +The `mfi` switch platform to allow you to control [mFi Controllable Power Outlets](https://www.ubnt.com/mfi/mpower/). + +To add this platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + platform: mfi + host: IP_ADDRESS + port: PORT + username: USERNAME + password: PASSWORD +``` + +Configuration variables: + +- **host** (*Required*): The IP address or hostname of your mFi controller. +- **port** (*Optional*): The port of your mFi controller. Defaults to 6443. +- **username** (*Required*): The mFi admin username. +- **password** (*Required*): The mFi admin user's password. + diff --git a/source/images/supported_brands/ubiquiti.png b/source/images/supported_brands/ubiquiti.png new file mode 100644 index 0000000000000000000000000000000000000000..363b4a617ae1eaca070e9f3d96b1094f7f4bfc13 GIT binary patch literal 16067 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 yOdQ