From d479ce02df646d9acf09a1317f90b6d92e78694b Mon Sep 17 00:00:00 2001 From: Richard Patel Date: Tue, 23 Oct 2018 19:16:09 +0200 Subject: [PATCH] Create sensor.rtorrent.markdown (#6780) * Create sensor.rtorrent.markdown * Add unofficial rtorrent logo rtorrent doesn't have an official logo, but this one is the most widely used. * Add logo and remove additional empty lines * Set ha_release to 0.80 * Updated description and configuration tags * Put descriptions first in configuration section * Update sensor.rtorrent.markdown --- source/_components/sensor.rtorrent.markdown | 57 ++++++++++++++++++++ source/images/supported_brands/rtorrent.png | Bin 0 -> 18655 bytes 2 files changed, 57 insertions(+) create mode 100644 source/_components/sensor.rtorrent.markdown create mode 100644 source/images/supported_brands/rtorrent.png diff --git a/source/_components/sensor.rtorrent.markdown b/source/_components/sensor.rtorrent.markdown new file mode 100644 index 00000000000..03dc91fe300 --- /dev/null +++ b/source/_components/sensor.rtorrent.markdown @@ -0,0 +1,57 @@ +--- +layout: page +title: "rtorrent Sensor" +description: "Instructions on how to integrate rtorrent sensors within Home Assistant." +date: 2018-10-14 05:40 +sidebar: true +comments: false +sharing: true +footer: true +logo: rtorrent.png +ha_category: Downloading +ha_release: 0.81 +ha_iot_class: "Local Polling" +--- + +The `rtorrent` platform allows you to monitor your downloads with [rtorrent](https://rakshasa.github.io/rtorrent/) from within Home Assistant and setup automations based on the information. + +To enable this sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: rtorrent + url: 'http://:@:/RPC2' + monitored_variables: + - 'current_status' + - 'download_speed' + - 'upload_speed' +``` + +This sensor requires the rtorrent XMLRPC API exposed on an HTTP interface. +Note that for security reasons, simply using the SCGI interface (default `localhost:5000`) of rtorrent won't work. +The [official reference](https://github.com/rakshasa/rtorrent/wiki/RPC-Setup-XMLRPC) describes how to set up that HTTP interface. + +Alternatively, the [arch-rtorrentvpn](https://github.com/binhex/arch-rtorrentvpn) container can be used with `url` set to `http://admin:rutorrent@127.0.0.1:9080/RPC2`. + +{% configuration %} +url: + description: The URL to the HTTP endpoint of the rtorrent XMLRPC API. + required: true + type: string +name: + description: The name to use when displaying this rtorrent instance. + required: false + type: string +monitored_variables: + description: Conditions to be monitored. + required: true + type: list + keys: + current_status: + description: The status of your rtorrent daemon. + download_speed: + description: The current download speed. + upload_speed: + description: The current upload speed. +{% endconfiguration %} diff --git a/source/images/supported_brands/rtorrent.png b/source/images/supported_brands/rtorrent.png new file mode 100644 index 0000000000000000000000000000000000000000..f8887b07f66609db0a36dcb1342e26f82c050a9d GIT binary patch literal 18655 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 literal 0 HcmV?d00001