diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 74452288bf9..5db79363d7c 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -6,6 +6,8 @@ $primary-color: #049cdb; position: relative; .site-title { + display: flex; + align-items: center; font-weight: normal; } } @@ -221,10 +223,14 @@ dt:hover a.title-link { } .ha-title { + display: inline-flex; + height: 100%; white-space: nowrap; img { - width: 40px; + border-radius: 3px; + width: 36px; + margin-right: 10px; } a > * { @@ -529,7 +535,7 @@ code { font-size: 0.8em; color: #1990b8; word-spacing: normal; - word-break: normal; + word-break: break-word; word-wrap: normal; -moz-tab-size: 4; @@ -550,4 +556,4 @@ code { border: 1px solid #ddd; border-radius: 0.4em; padding: .1em .4em -} \ No newline at end of file +} diff --git a/sass/oscailte/base/_navigation.scss b/sass/oscailte/base/_navigation.scss index 720884c5b62..acbda0859ae 100644 --- a/sass/oscailte/base/_navigation.scss +++ b/sass/oscailte/base/_navigation.scss @@ -101,24 +101,24 @@ header .grid { border-top: 1px solid $navigation-color; border-bottom: 4px solid $navigation-color; } - + .menu, .menu li, .menu li a{ height: auto; } - + .menu li a{ padding: 15px 15px !important; } - + .menu li a:hover, .menu li a:focus{ background: $grayLighter; box-shadow: inset 5px 0px $navigation-color; padding: 15px 15px 15px 25px; } - + .toggle { position: absolute; - top: 17px; + top: 15px; right: 10px; } @@ -137,11 +137,11 @@ header .grid { color: $white; white-space: nowrap; } - + .toggle:hover::after{ background: darken($navigation-color, 7%); } - + #toggle:checked + .toggle::after{ content: attr(data-close); } diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown index 78905c35dd4..ddd4f9e844e 100644 --- a/source/_addons/tellstick.markdown +++ b/source/_addons/tellstick.markdown @@ -6,7 +6,7 @@ description: "Telldus TellStick service enabler and tools." Setting up the [Tellstick](http://telldus.com) service and tools contained in the [telldus-core](http://developer.telldus.com/) package and adding configuration to enable Tellstick and Tellstick Duo to work on your Hass.io. To use this add-on, you first install it from the list of Built-in add-ons in Hass.io. -After installation you are presented with a default and example configuration, to alter this you must follow both the JSON format and also be aligned with the [valid parameters for Tellstick configuration file (tellstick.conf)](https://developer.telldus.com/wiki/TellStick_conf). +After installation you are presented with a default and example configuration, to alter this you must follow both the JSON format and also be aligned with the [valid parameters for Tellstick configuration file (tellstick.conf)](http://developer.telldus.com/wiki/TellStick_conf). After any changes have been made to the configuration, you need to restart the add-on for the changes to take effect. @@ -86,7 +86,7 @@ code: type: string {% endconfiguration %} -For more information about the configuration including protocols, see the [telldus documentation](https://developer.telldus.com/wiki/TellStick_conf). +For more information about the configuration including protocols, see the [telldus documentation](http://developer.telldus.com/wiki/TellStick_conf). ## Service calls diff --git a/source/_cookbook/automation_sun.markdown b/source/_cookbook/automation_sun.markdown index fafc28a8a64..e83bec979e7 100644 --- a/source/_cookbook/automation_sun.markdown +++ b/source/_cookbook/automation_sun.markdown @@ -73,7 +73,7 @@ Solar elevation automations can cope with offsets from sunset / sunrise as the s trigger: platform: numeric_state entity_id: sun.sun - value_template: '{% raw %}{{ state.attributes.elevation }}{% endraw %}' + value_template: "{% raw %}{{ state_attr('sun.sun', 'elevation') }}{% endraw %}" below: 3.5 action: service: scene.turn_on @@ -83,7 +83,7 @@ Solar elevation automations can cope with offsets from sunset / sunrise as the s trigger: platform: numeric_state entity_id: sun.sun - value_template: '{% raw %}{{ state.attributes.elevation }}{% endraw %}' + value_template: "{% raw %}{{ state_attr('sun.sun', 'elevation') }}{% endraw %}" below: 1.5 action: service: scene.turn_on @@ -93,7 +93,7 @@ Solar elevation automations can cope with offsets from sunset / sunrise as the s trigger: platform: numeric_state entity_id: sun.sun - value_template: '{% raw %}{{ state.attributes.elevation }}{% endraw %}' + value_template: "{% raw %}{{ state_attr('sun.sun', 'elevation') }}{% endraw %}" below: -2.5 action: service: switch.turn_off diff --git a/source/_cookbook/google_maps_card.markdown b/source/_cookbook/google_maps_card.markdown index 26f57c20731..70790a604ae 100644 --- a/source/_cookbook/google_maps_card.markdown +++ b/source/_cookbook/google_maps_card.markdown @@ -24,4 +24,4 @@ camera: Screenshot showing Google Maps integration in Home Assistant front end.

-[generic camera platform]: /integrations/generic +[generic camera platform]: /integrations/generic_ip_camera diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index 23a55f8d7a4..3dc854c8f4f 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -5,7 +5,7 @@ description: "Instructions on how to use the automation editor." In Home Assistant 0.45 we introduced the first version of our automation editor. If you just created a new configuration with Home Assistant, then you're all set! Go to the UI and enjoy. -From the UI choose **Configuration** which is located in the sidebar, then click on **Automation** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/integrations/sensor.random/). +From the UI choose **Configuration** which is located in the sidebar, then click on **Automation** to go to the automation editor. Press the **+** sign in the lower right corner to get started. This example is based on the manual steps described in the [Getting started section](/getting-started/automation/) for a [`random` sensor](/integrations/random/). Choose a meaningful name for your automation rules. diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index e8d3f1c0ede..5974a419d58 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -8,7 +8,7 @@ redirect_from: /getting-started/customizing-devices/ You can use the UI to change the `entity_id` and friendly name of supported entities. To do this: -1. Select the entity, either from the frontend or by clicking next to the entity in the dev-states menu +1. Select the entity, either from the frontend or by clicking next to the entity in the Developer Tools "States" tab. 2. Click on the cog in the right corner of the entity's dialog 3. Enter the new name or the new entity ID (remember not to change the domain of the entity - the part before the `.`) 4. Select *Save* @@ -137,7 +137,7 @@ homeassistant: ### Reloading customize -Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the service developer tool icon service developer tools, select the service `homeassistant.reload_core_config` and click "CALL SERVICE". +Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Core" button under Configuration > Server Control.
New customize information will be applied the next time the state of the entity gets updated. diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 3da28e5b4cf..47c20e0daa8 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -12,7 +12,7 @@ This is an advanced feature of Home Assistant. You'll need a basic understanding Templating is a powerful feature that allows you to control information going into and out of the system. It is used for: - Formatting outgoing messages in, for example, the [notify](/integrations/notify/) platforms and [alexa](/integrations/alexa/) component. -- Process incoming data from sources that provide raw data, like [MQTT](/integrations/mqtt/), [`rest` sensor](/integrations/sensor.rest/) or the [`command_line` sensor](/integrations/sensor.command_line/). +- Process incoming data from sources that provide raw data, like [MQTT](/integrations/mqtt/), [`rest` sensor](/integrations/rest/) or the [`command_line` sensor](/integrations/sensor.command_line/). - [Automation Templating](/docs/automation/templating/). ## Building templates @@ -393,7 +393,7 @@ If your template uses an `entity_id` that begins with a number (example: `states ### Templates without entities using `now()` -Note that templates that depend on time (`now()`) and do not use any entities will not be updated as it only happens on entity state changes. For more information and examples refer to [`template` sensor documentation](/integrations/sensor.template/#working-without-entities) +Note that templates that depend on time (`now()`) and do not use any entities will not be updated as it only happens on entity state changes. For more information and examples refer to [`template` sensor documentation](/integrations/template/#working-without-entities) ### Priority of operators diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown index 8fb0a37ae91..6127764a2b9 100644 --- a/source/_docs/configuration/yaml.markdown +++ b/source/_docs/configuration/yaml.markdown @@ -7,7 +7,7 @@ redirect_from: /getting-started/yaml/ Home Assistant uses the [YAML](http://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations. For each integration that you want to use in Home Assistant, you add code in your `configuration.yaml` file to specify its settings. -The following example entry specifies that you want to use the [notify component](/integrations/notify) with the [pushbullet platform](/integrations/notify.pushbullet). +The following example entry specifies that you want to use the [notify component](/integrations/notify) with the [pushbullet platform](/integrations/pushbullet). ```yaml @@ -62,7 +62,7 @@ sensor: state_topic: sensor2/topic ``` -### Using Environment Variables +## Using Environment Variables You can include values from your system's environment variables with `!env_var`. @@ -71,7 +71,7 @@ http: api_password: !env_var PASSWORD ``` -#### Default Value +### Default Value If an environment variable is not set, you can fallback to a default value. diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index fbfe20cdbe1..debd51fb9f2 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -4,7 +4,7 @@ description: "Instructions on how to setup MQTT Discovery within Home Assistant. logo: mqtt.png --- -The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/integrations/binary_sensor.http/) and the [HTTP sensor](/integrations/sensor.http/). To prevent multiple identical entries if a device reconnects a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier and the remaining device configuration without the device type. +The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/integrations/http/#binary-sensor) and the [HTTP sensor](/integrations/http/#sensor). To prevent multiple identical entries if a device reconnects a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier and the remaining device configuration without the device type. Supported by MQTT discovery: diff --git a/source/_docs/scripts/service-calls.markdown b/source/_docs/scripts/service-calls.markdown index 240c1d2a903..38d65358f10 100644 --- a/source/_docs/scripts/service-calls.markdown +++ b/source/_docs/scripts/service-calls.markdown @@ -11,7 +11,7 @@ The configuration options to call a config are the same between all integrations Examples on this page will be given as part of an automation integration configuration but different approaches can be used for other integrations too.
-Use the service developer tool in the frontend to discover available services. +Use the "Services" tab under Developer Tools to discover available services.
### The basics @@ -97,6 +97,6 @@ There are four `homeassistant` services that aren't tied to any single domain, t * `homeassistant.update_entity` - Request the update of an entity, rather than waiting for the next scheduled update, for example [google travel time] sensor, a [template sensor], or a [light] [templating]: /topics/templating/ -[google travel time]: /integrations/sensor.google_travel_time/ -[template sensor]: /integrations/sensor.template/ +[google travel time]: /integrations/google_travel_time/ +[template sensor]: /integrations/template/ [light]: /integrations/light/ diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index a48faf7253d..1aca318163f 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -10,7 +10,7 @@ {%- assign file_parts = page.url | split: '/' | last | split: '.' -%} {%- assign imp_name = file_parts | first -%} - {%- assign imp_url = imp_name | prepend: '/integrations/' | append: '/' -%} + {%- assign imp_url = imp_name | prepend: '/components/' | append: '/' -%}
diff --git a/source/_includes/site/header.html b/source/_includes/site/header.html index 63708e5eb9d..7dfba15d6f6 100644 --- a/source/_includes/site/header.html +++ b/source/_includes/site/header.html @@ -2,11 +2,11 @@
- +
- +
-
\ No newline at end of file +
diff --git a/source/_includes/site/sidebar.html b/source/_includes/site/sidebar.html index be7ad0ea6ad..4edbe4468d7 100644 --- a/source/_includes/site/sidebar.html +++ b/source/_includes/site/sidebar.html @@ -1,6 +1,6 @@
{% assign url_parts = page.url | split: '/' %} - {% if url_parts[1] == 'components' %} + {% if url_parts[1] == 'integrations' %} {% include asides/component_navigation.html %} {% elsif url_parts[1] == 'cookbook' %} {% include asides/cookbook_navigation.html %} diff --git a/source/_integrations/alexa.flash_briefings.markdown b/source/_integrations/alexa.flash_briefings.markdown index 4936816173f..eb4bacd926b 100644 --- a/source/_integrations/alexa.flash_briefings.markdown +++ b/source/_integrations/alexa.flash_briefings.markdown @@ -72,7 +72,7 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf - To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Settings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing". [amazon-dev-console]: https://developer.amazon.com -[flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing +[flash-briefing-api]: https://developer.amazon.com/docs/flashbriefing/understand-the-flash-briefing-skill-api.html [flash-briefing-api-docs]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/flash-briefing-skill-api-feed-reference [large-icon]: /images/integrations/alexa/alexa-512x512.png [small-icon]: /images/integrations/alexa/alexa-108x108.png diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown index b4cd920e056..bf4770c9171 100644 --- a/source/_integrations/aquostv.markdown +++ b/source/_integrations/aquostv.markdown @@ -74,4 +74,4 @@ Currently known supported models: - LC-60SQ15U - LC-50US40 (no volume control, not fully tested) -If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_components/aquostv.markdown). +If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/aquostv.markdown). diff --git a/source/_integrations/avea.markdown b/source/_integrations/avea.markdown index 89f62e5a73f..44588bdcbcd 100644 --- a/source/_integrations/avea.markdown +++ b/source/_integrations/avea.markdown @@ -8,7 +8,7 @@ ha_release: 0.97 ha_iot_class: Local Polling --- -[Elgato Avea](http://web.archive.org/web/20170930210431/https://www.elgato.com/avea) is a Bluetooth light bulb that is no longer supported by the manufacturer. The `avea` integration allows you to control all your Avea bulbs with Home Assistant. +[Elgato Avea](https://www.elgato.com/en/news/elgato-avea-transform-your-home) is a Bluetooth light bulb that is no longer supported by the manufacturer. The `avea` integration allows you to control all your Avea bulbs with Home Assistant. ### Configuration diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown index dbc52d9f104..98194bb63b9 100644 --- a/source/_integrations/climate.mqtt.markdown +++ b/source/_integrations/climate.mqtt.markdown @@ -94,6 +94,16 @@ power_command_topic: description: The MQTT topic to publish commands to change the power state. This is useful if your device has a separate power toggle in addition to mode. required: false type: string +action_topic: + description: >- + The MQTT topic to subscribe for changes of the current action. If this is set, the climate graph uses the value received as data source. + Valid values: `off`, `heating`, `cooling`, `drying`, `idle`, `fan`. + required: false + type: string +action_template: + description: A template to render the value received on the `action_topic` with. + required: false + type: template mode_command_topic: description: The MQTT topic to publish commands to change the HVAC operation mode. required: false diff --git a/source/_integrations/counter.markdown b/source/_integrations/counter.markdown index d7a8538a8f1..7255b0bfc64 100644 --- a/source/_integrations/counter.markdown +++ b/source/_integrations/counter.markdown @@ -112,7 +112,7 @@ With this service the properties of the counter can be changed while running. ### Use the service -Select service developer tool icon **Services** from the **Developer Tools**. Choose **counter** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**. +Select the **Services** tab from within **Developer Tools**. Choose **counter** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**. ```json { diff --git a/source/_integrations/crimereports.markdown b/source/_integrations/crimereports.markdown index 1cdd1d8c3d4..54fe180d362 100644 --- a/source/_integrations/crimereports.markdown +++ b/source/_integrations/crimereports.markdown @@ -100,4 +100,4 @@ These incident types are available: ### Events -The `crimealerts` sensor fires a `crimealerts_incident` event when a new incident is detected, including the type, description, time, location, and coordinates of the incident. +The `crimereports` sensor fires a `crimereports_incident` event when a new incident is detected, including the type, description, time, location, and coordinates of the incident. diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown index 358121064fb..33ac85f3cf3 100644 --- a/source/_integrations/deconz.markdown +++ b/source/_integrations/deconz.markdown @@ -118,6 +118,27 @@ Where for example on a Philips Hue Dimmer, 2001 would be holding the dim up butt For the IKEA Tradfri remote the first digit equals, 1 for the middle button, 2 for up, 3 for down, 4 for left, and 5 for right (e.g., "event: 1002" for middle button short release). +### Device triggers + +To simplify using remote control devices in automations deCONZ integration exposes them as device triggers. This will expose all possible variations of button presses and rotations. Note that this is a manually curated list and will not initially be as complete as what deCONZ supports. + +Currently supported devices as device triggers: + +- Hue Dimmer Remote +- Hue Tap +- Trådfri On/Off Switch +- Trådfri Open/Close Remote +- Trådfri Remote Control +- Trådfri Wireless Dimmer +- Aqara Double Wall Switch +- Aqara Mini Switch +- Aqara Round Switch +- Aqara Square Switch + +#### Requesting support for new device trigger + +Requesting support for additional devices requires the device model (can be acquired from debug logs) together with a mapping of action and button event, e.g., Hue dimmer remote model "RWL021", Short press turn on 1000. + ## Examples ### YAML diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown index 0147f95b8e6..0bc62f8a076 100644 --- a/source/_integrations/esphome.markdown +++ b/source/_integrations/esphome.markdown @@ -9,7 +9,7 @@ ha_release: 0.85 ha_iot_class: Local Push --- -This integration allows you to connect your [ESPHome](https://esphome.io) devices directly into Home Assistant with the [native ESPHome API](https://esphome.io/integrations/api.html). +This integration allows you to connect your [ESPHome](https://esphome.io) devices directly into Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html). ## Setup the integration via the integrations screen diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown index 15c4db67811..f487ddce307 100644 --- a/source/_integrations/google_assistant.markdown +++ b/source/_integrations/google_assistant.markdown @@ -35,16 +35,16 @@ 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. +1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/). Select the `Develop` tab at the top of the page. Then select `Account linking` from the left side menu. - Change `Linking type` to `OAuth` and `Authorization Code`. - - In the `Client information` section: + - In the `OAuth Client information` section: - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important. - Input any string you like into `Client Secret`, Home Assistant doesn't need this field. - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). - In the `Configure your client` section: - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. + - Click `Save` at the top right corner, then click `Test` (also at the top right corner) to generate a new draft version of the Test App. 2. Change your `configuration.yaml` file: - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed. 3. Restart Home Assistant, open the `Google Home` app on your mobile phone then go to `Account > Settings > Assistant > Home Control`, press the `3 dot icon in the top right > Manage accounts > [test] your app name > Unlink account` Then relink your account by selecting `[test] your app name` again. @@ -81,7 +81,7 @@ You need to create an API Key with the [Google Cloud API Console](https://consol Screenshot: Account linking 3. Under `Build your Action` click `Add Action(s)`. 1. Under `Fulfillment` fill in this URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`. -4. Back on the overview page. Click `Simulator` under `TEST`. It will create a new draft version Test App. You don't have to actually test, but you need to generate this draft version Test App. +4. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. 5. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below. 6. Open the Google Home app and go into `Account > Settings > Assistant > Home Control`. 7. Click the `+` sign, and near the bottom, you should have `[test] your app name` listed under 'Add new.' Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices. diff --git a/source/_integrations/htu21d.markdown b/source/_integrations/htu21d.markdown index 8d177dd51e8..2037c37b652 100644 --- a/source/_integrations/htu21d.markdown +++ b/source/_integrations/htu21d.markdown @@ -8,7 +8,7 @@ ha_release: 0.48 ha_iot_class: Local Push --- -The `htu21d` sensor platform allows you to read the temperature and humidity from a [HTU21D sensor](http://www.datasheetspdf.com/PDF/HTU21D/779951/1) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). +The `htu21d` sensor platform allows you to read the temperature and humidity from a [HTU21D sensor](https://cdn-shop.adafruit.com/datasheets/1899_HTU21D.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). Tested devices: diff --git a/source/_integrations/lifx_cloud.markdown b/source/_integrations/lifx_cloud.markdown index ecaac20a6a7..97d8b109e14 100644 --- a/source/_integrations/lifx_cloud.markdown +++ b/source/_integrations/lifx_cloud.markdown @@ -16,6 +16,13 @@ scene: token: YOUR_LIFX_TOKEN ``` +You can then activate each scene with its name from the smartphone app: + +```yaml + - service: scene.turn_on + entity_id: scene.goodnight +``` + {% configuration %} token: description: The API token for your LIFX Cloud account. @@ -32,7 +39,7 @@ timeout: You create your API token on the LIFX website: 1. Sign in to the [LIFX Cloud](https://cloud.lifx.com/) -2. Click on your e-mail address and select _Settings_ +2. Click on your e-mail address and select _Personal Access Tokens_ 3. Now click _Generate New Token_ 4. Enter a meaningful label, such as 'Home Assistant' 5. Click _Generate_ diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index adb9dcd16eb..80541db58bb 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -18,10 +18,10 @@ This integration only supports the [Caseta](http://www.casetawireless.com) line The currently supported Caseta devices are: -- Wall and plug-in dimmers as Home Assistant -- Wall switches as Home Assistant -- Scenes as Home Assistant -- Lutron shades as Home Assistant +- Wall and plug-in dimmers as [lights](#light) +- Wall switches as [switches](#switch) +- Scenes as [scenes](#scene) +- Lutron shades as [covers](#cover) When configured, the `lutron_caseta` integration will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g., a dimmer called 'Lamp' in a room called 'Bedroom' becomes `light.bedroom_lamp` in Home Assistant. diff --git a/source/_integrations/mailbox.markdown b/source/_integrations/mailbox.markdown index 5d8669c7e8b..9ce6fdbaa37 100644 --- a/source/_integrations/mailbox.markdown +++ b/source/_integrations/mailbox.markdown @@ -6,6 +6,6 @@ ha_release: 0.51 Mailboxes provide a list of messages with short information about each. Mailbox messages appear on a separate panel in the frontend. -Home Assistant currently supports only the [Asterisk Voicemail](/component/mailbox.asterisk_mbox) mailbox. +Home Assistant currently supports only the [Asterisk Voicemail](/integrations/asterisk_mbox/) mailbox. Each mailbox also provides an entity to indicate the number of messages available on the main page. diff --git a/source/_integrations/miflora.markdown b/source/_integrations/miflora.markdown index cac50d04200..7bb32eeb2ff 100644 --- a/source/_integrations/miflora.markdown +++ b/source/_integrations/miflora.markdown @@ -8,7 +8,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](http://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. +The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://gadget-freakz.com/product/xiaomi-mi-flora-plant-sensor/) 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. There are "Chinese" and "International" versions available and there is a [report](https://community.home-assistant.io/t/miflora-showing-data-unknown/19550/8) that only the "International" works. diff --git a/source/_integrations/netgear_lte.markdown b/source/_integrations/netgear_lte.markdown index ebc8b01ff33..65351a5ef47 100644 --- a/source/_integrations/netgear_lte.markdown +++ b/source/_integrations/netgear_lte.markdown @@ -21,6 +21,13 @@ There is currently support for the following device types within Home Assistant: The integration supports sending notifications with SMS, reporting incoming SMS with events and reporting the modem and connection state in a number of sensors and binary sensors. +
+ +Splitting of long SMS messages is not supported so notifications can contain a maximum of 70 characters. Simple messages using the reduced GSM-7 alphabet can contain up to 160 characters. Most emojis are not supported. + +
+ + ## Configuration To enable the integration, add the following lines to your `configuration.yaml` file: diff --git a/source/_integrations/panasonic_bluray.markdown b/source/_integrations/panasonic_bluray.markdown index 7fc6af0fbed..c6d230710ba 100644 --- a/source/_integrations/panasonic_bluray.markdown +++ b/source/_integrations/panasonic_bluray.markdown @@ -19,7 +19,7 @@ Currently known supported models: - DMP-BDT500 - DMP-BBT01 -If your model is not on the list, then give it a try, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_components/panasonic_bluray.markdown). +If your model is not on the list, then give it a try, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/panasonic_bluray.markdown). Example configuration: diff --git a/source/_integrations/panasonic_viera.markdown b/source/_integrations/panasonic_viera.markdown index c6366f4487d..2144900f314 100644 --- a/source/_integrations/panasonic_viera.markdown +++ b/source/_integrations/panasonic_viera.markdown @@ -28,7 +28,7 @@ Currently known supported models: - TX-42AS650 - TX55ASW654 -If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_components/panasonic_viera.markdown). +If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/panasonic_viera.markdown). Some Panasonic Viera TVs allow Home Assistant to turn them on, if you specify the MAC address with `mac:`. diff --git a/source/_integrations/rflink.markdown b/source/_integrations/rflink.markdown index e90871d1501..de5e8f0bfb4 100644 --- a/source/_integrations/rflink.markdown +++ b/source/_integrations/rflink.markdown @@ -7,7 +7,7 @@ ha_category: ha_release: 0.38 --- -The `rflink` integration supports devices that use [RFLink gateway firmware](http://www.nemcon.nl/blog2/), for example, the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink Gateway is an Arduino Mega firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver). +The `rflink` integration supports devices that use [RFLink gateway firmware](http://www.rflink.nl/blog2/download), for example, the [Nodo RFLink Gateway](https://www.nodo-shop.nl/nl/21-rflink-gateway). RFLink Gateway is an Arduino Mega firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver). The 433 MHz spectrum is used by many manufacturers mostly using their own protocol/standard and includes devices like: light switches, blinds, weather stations, alarms and various other sensors. diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 461822ad269..68f6385a70d 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -116,7 +116,7 @@ Currently tested but not working models: None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these. If your model is not on the list then give it a test, if everything works correctly then add it to the list on -[GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/samsungtv.markdown). +[GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_integrations/samsungtv.markdown). The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these first 4 characters before adding to the list. diff --git a/source/_integrations/sonos.markdown b/source/_integrations/sonos.markdown index c97f77b482a..3eede48379c 100644 --- a/source/_integrations/sonos.markdown +++ b/source/_integrations/sonos.markdown @@ -6,16 +6,16 @@ ha_category: - Media Player featured: true ha_release: 0.7.3 -ha_iot_class: Local Polling +ha_iot_class: Local Push --- -The `sonos` integration allows you to control your [Sonos](https://www.sonos.com) HiFi wireless speakers and audio integrations from Home Assistant. By default it supports auto-discovery provided by Home Assistant, and you don't need to add anything to your `configuration.yaml`. +The `sonos` integration allows you to control your [Sonos](https://www.sonos.com) wireless speakers from Home Assistant. It also works with IKEA Symfonisk speakers. -If you don't have the discovery integration enabled, you can configure the Sonos integration by going to the integrations page inside the config panel. +You can configure the Sonos integration by going to the integrations page inside the config panel. ## Services -Sonos makes various services available to allow configuring groups. They are currently registered under the media player component. +The Sonos integration makes various custom services available. ### Service `sonos.snapshot` @@ -123,9 +123,21 @@ Force start playing the queue, allows switching from another stream (such as rad ## Advanced use -For advanced uses, there are some manual configuration options available. +For advanced uses, there are some manual configuration options available. These are usually only needed if you have a complex network setup where Home Assistant and Sonos are not on the same subnet. -If you have multiple network devices, you can provide the IP address of the device that should be used for Sonos auto-discovery. +You can disable auto-discovery by specifying the Sonos IP addresses: + +```yaml +# Example configuration.yaml entry with manually specified Sonos IP addresses +sonos: + media_player: + hosts: + - 192.0.2.25 + - 192.0.2.26 + - 192.0.2.27 +``` + +If your Home Assistant server has multiple IP addresses, you can provide the IP address that should be used for Sonos auto-discovery. This is rarely needed since all addresses should be tried by default. ```yaml # Example configuration.yaml entry using Sonos discovery on a specific interface @@ -134,23 +146,10 @@ sonos: interface_addr: 192.0.2.1 ``` -You can also specify one or more hosts to connect to if they cannot be found with Sonos auto-discovery. - +The Sonos speakers will attempt to connect back to Home Assistant to deliver change events (using TCP port 1400). You can change the IP address that Home Assistant advertises to Sonos speakers. This can help in NAT scenarios such as when _not_ using the Docker option `--net=host`: ```yaml -# Example configuration.yaml entry with manually specified addresses +# Example configuration.yaml entry modifying the advertised host address sonos: media_player: - hosts: 192.0.2.25 -``` - -or, for multiple hosts: - -```yaml -# Example configuration.yaml entry with manually specified addresses -sonos: - media_player: - hosts: - - 192.0.2.25 - - 192.0.2.26 - - 192.0.2.27 + advertise_addr: 192.0.2.1 ``` diff --git a/source/_integrations/stride.markdown b/source/_integrations/stride.markdown index b2fd7ae142e..ef8a6e48397 100644 --- a/source/_integrations/stride.markdown +++ b/source/_integrations/stride.markdown @@ -7,6 +7,12 @@ ha_category: ha_release: 0.66 --- +
+ +Slack has taken over Hipchat and Stride and will, therefore, discontinue these platforms. Stride will be discontinued after February 15th, 2019. For more information [read the announcement](https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership). + +
+ The `stride` platform allows you to send notifications from Home Assistant to [Stride](https://stride.com/). You need to obtain a [Stride API token](https://developer.atlassian.com/cloud/stride/security/authentication/#using-room-tokens) to be able to send notifications. When creating the token, you'll see a section labeled "Use this conversation URL to post messages" - it will look something like "https://api.atlassian.com/site/55872e9f-047e-a619-b32c-19d37fbc6038/conversation/26c98c26-0ffd-a11e-3a55-1b397cb71fe0/message". The first set of numbers and letters (`55872e9f-047e-a619-b32c-19d37fbc6038`) is the Cloud ID, and the second set (`26c98c26-0ffd-a11e-3a55-1b397cb71fe0`) is the Room ID. diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown index db064ddac7c..067bfafb791 100644 --- a/source/_integrations/transmission.markdown +++ b/source/_integrations/transmission.markdown @@ -113,7 +113,7 @@ Example of configuration of an automation with completed torrents: ### Service `add_torrent` -Adds a new torrent to download. It can either be a URL (http, https or ftp), magnet link or a local file (make sure that the path is white listed). +Adds a new torrent to download. It can either be a URL (http, https or ftp), magnet link or a local file (make sure that the path is [white listed](/docs/configuration/basic/#whitelist_external_dirs)). | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index 10b6fdd2752..33db375cb3d 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -215,3 +215,7 @@ entities: url: https://www.home-assistant.io/ icon: mdi:home-assistant ``` + +
+Please be aware that the entity types divider and weblink aren't yet support by the UI editor and a warning about `Expected a value of type...` is shown. You can ignore the warning and save your edits to verify. +
diff --git a/source/_posts/2016-04-04-your-hub-should-be-local-and-open.markdown b/source/_posts/2016-04-04-your-hub-should-be-local-and-open.markdown index 9b5832fd789..7a22a5179fa 100644 --- a/source/_posts/2016-04-04-your-hub-should-be-local-and-open.markdown +++ b/source/_posts/2016-04-04-your-hub-should-be-local-and-open.markdown @@ -8,7 +8,7 @@ author_twitter: balloob categories: Internet-of-Things --- -Today the news spread that Google will be [shutting down the Revolv hubs][medium-revolv]. And shutting down here doesn't mean they stop selling or supporting them - no, they are sending an update to each hub to turn your perfectly fine home automation hub into a useless piece of plastic. The fact that this seemed like a good idea by Google astonishes me. If anything, they should have gone the same route as [ninjasphere]: open it all up and let people decide on the fate of their _own_ hub. +Today the news spread that Google will be [shutting down the Revolv hubs][medium-revolv]. And shutting down here doesn't mean they stop selling or supporting them - no, they are sending an update to each hub to turn your perfectly fine home automation hub into a useless piece of plastic. The fact that this seemed like a good idea by Google astonishes me. If anything, they should have gone the same route as ninjasphere: open it all up and let people decide on the fate of their _own_ hub. I've said it [before][perfect-cloud] but I'll repeat it again: @@ -21,6 +21,5 @@ Your hub should not be affected when your internet breaks down or the company th Unless you can afford losing a product here and there, be cautious when buying IoT products that depend on the cloud from companies that are not well established. The chances are high that they go bankrupt or get acquired and closed. This however is easier said than done as [Gartner] predicts that by 2017, 50 percent of IoT solutions will originate in startups that are less than three years old. [medium-revolv]: https://medium.com/@arlogilbert/the-time-that-tony-fadell-sold-me-a-container-of-hummus-cb0941c762c1#.rmppks86a -[ninjasphere]: https://discuss.ninjablocks.com/t/ninja-blocks-whats-been-happening-whats-happening-next/3608 [perfect-cloud]: /blog/2016/01/19/perfect-home-automation/#your-system-should-run-at-home-not-in-the-cloud [Gartner]: http://www.gartner.com/newsroom/id/2869521 diff --git a/source/_posts/2017-01-18-numbers.markdown b/source/_posts/2017-01-18-numbers.markdown index bee211aa2f0..7285ce591fd 100644 --- a/source/_posts/2017-01-18-numbers.markdown +++ b/source/_posts/2017-01-18-numbers.markdown @@ -12,7 +12,7 @@ It's week 3 of 2017 and great things did already happen. This is just a little r - In the [OSS Metrics leaderboard](https://ossmetrics.com/leaderboard) we are on place 30. Within three months we moved from our starting place which was 66 in September 2016 up to the current one. - We were listed on [Github Trending](https://github.com/trending/python). Also, was [@balloob](https://github.com/balloob) mentioned as trending developer. -- [@balloob](https://github.com/balloob)'s talk at the OpenIoT Summit 2016 was rated as one of the [Top 5 videos](http://technewsdir.com/top-5-videos-from-embedded-linux-conference-and-openiot-summit-2016) of the conference. +- [@balloob](https://github.com/balloob)'s talk at the OpenIoT Summit 2016 was rated as one of the [Top 5 videos](https://www.linuxfoundation.org/blog/2017/01/top-5-videos-from-embedded-linux-conference-and-openiot-summit-2016/) of the conference. - We now ship over [500](/integrations/#all) components and platforms. - We processed over 3500 Pull requests on the [main repository](https://github.com/home-assistant/home-assistant) so far. diff --git a/source/_redirects b/source/_redirects index 26e991e1d0e..5bb2f65fa2f 100644 --- a/source/_redirects +++ b/source/_redirects @@ -1097,6 +1097,7 @@ /components/xiaomi /integrations/xiaomi_aqara # Renaming components to integrations +/components /integrations /components/abode /integrations/abode /components/acer_projector /integrations/acer_projector /components/actiontec /integrations/actiontec diff --git a/source/images/home-assistant-logo.svg b/source/images/home-assistant-logo.svg new file mode 100644 index 00000000000..9e25b23da52 --- /dev/null +++ b/source/images/home-assistant-logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/source/images/components/alexa/account_linking.png b/source/images/integrations/alexa/account_linking.png similarity index 100% rename from source/images/components/alexa/account_linking.png rename to source/images/integrations/alexa/account_linking.png diff --git a/source/images/components/alexa/alexa-108x108.png b/source/images/integrations/alexa/alexa-108x108.png similarity index 100% rename from source/images/components/alexa/alexa-108x108.png rename to source/images/integrations/alexa/alexa-108x108.png diff --git a/source/images/components/alexa/alexa-512x512.png b/source/images/integrations/alexa/alexa-512x512.png similarity index 100% rename from source/images/components/alexa/alexa-512x512.png rename to source/images/integrations/alexa/alexa-512x512.png diff --git a/source/images/components/alexa/create_a_new_skill.png b/source/images/integrations/alexa/create_a_new_skill.png similarity index 100% rename from source/images/components/alexa/create_a_new_skill.png rename to source/images/integrations/alexa/create_a_new_skill.png diff --git a/source/images/components/alexa/create_iam_role_attach_permission.png b/source/images/integrations/alexa/create_iam_role_attach_permission.png similarity index 100% rename from source/images/components/alexa/create_iam_role_attach_permission.png rename to source/images/integrations/alexa/create_iam_role_attach_permission.png diff --git a/source/images/components/alexa/lambda_function_env_var.png b/source/images/integrations/alexa/lambda_function_env_var.png similarity index 100% rename from source/images/components/alexa/lambda_function_env_var.png rename to source/images/integrations/alexa/lambda_function_env_var.png diff --git a/source/images/components/alexa/scene_slot.png b/source/images/integrations/alexa/scene_slot.png similarity index 100% rename from source/images/components/alexa/scene_slot.png rename to source/images/integrations/alexa/scene_slot.png diff --git a/source/images/components/alexa/scene_slot_synonyms.png b/source/images/integrations/alexa/scene_slot_synonyms.png similarity index 100% rename from source/images/components/alexa/scene_slot_synonyms.png rename to source/images/integrations/alexa/scene_slot_synonyms.png diff --git a/source/images/components/alexa/script_slot.png b/source/images/integrations/alexa/script_slot.png similarity index 100% rename from source/images/components/alexa/script_slot.png rename to source/images/integrations/alexa/script_slot.png diff --git a/source/images/components/apple_tv/auth_pin.jpg b/source/images/integrations/apple_tv/auth_pin.jpg similarity index 100% rename from source/images/components/apple_tv/auth_pin.jpg rename to source/images/integrations/apple_tv/auth_pin.jpg diff --git a/source/images/components/apple_tv/auth_start.jpg b/source/images/integrations/apple_tv/auth_start.jpg similarity index 100% rename from source/images/components/apple_tv/auth_start.jpg rename to source/images/integrations/apple_tv/auth_start.jpg diff --git a/source/images/components/apple_tv/authenticate.png b/source/images/integrations/apple_tv/authenticate.png similarity index 100% rename from source/images/components/apple_tv/authenticate.png rename to source/images/integrations/apple_tv/authenticate.png diff --git a/source/images/components/apple_tv/credentials.png b/source/images/integrations/apple_tv/credentials.png similarity index 100% rename from source/images/components/apple_tv/credentials.png rename to source/images/integrations/apple_tv/credentials.png diff --git a/source/images/components/apple_tv/scan_result.jpg b/source/images/integrations/apple_tv/scan_result.jpg similarity index 100% rename from source/images/components/apple_tv/scan_result.jpg rename to source/images/integrations/apple_tv/scan_result.jpg diff --git a/source/images/components/apple_tv/scan_start.jpg b/source/images/integrations/apple_tv/scan_start.jpg similarity index 100% rename from source/images/components/apple_tv/scan_start.jpg rename to source/images/integrations/apple_tv/scan_start.jpg diff --git a/source/images/components/automation/logbook.png b/source/images/integrations/automation/logbook.png similarity index 100% rename from source/images/components/automation/logbook.png rename to source/images/integrations/automation/logbook.png diff --git a/source/images/components/calendar/todoist-108x108.png b/source/images/integrations/calendar/todoist-108x108.png similarity index 100% rename from source/images/components/calendar/todoist-108x108.png rename to source/images/integrations/calendar/todoist-108x108.png diff --git a/source/images/components/calendar/todoist-512x512.png b/source/images/integrations/calendar/todoist-512x512.png similarity index 100% rename from source/images/components/calendar/todoist-512x512.png rename to source/images/integrations/calendar/todoist-512x512.png diff --git a/source/images/components/camera/generic-google-maps.png b/source/images/integrations/camera/generic-google-maps.png similarity index 100% rename from source/images/components/camera/generic-google-maps.png rename to source/images/integrations/camera/generic-google-maps.png diff --git a/source/images/components/camera/preload-stream.png b/source/images/integrations/camera/preload-stream.png similarity index 100% rename from source/images/components/camera/preload-stream.png rename to source/images/integrations/camera/preload-stream.png diff --git a/source/images/components/cisco_webex_teams/rich_formatting.png b/source/images/integrations/cisco_webex_teams/rich_formatting.png similarity index 100% rename from source/images/components/cisco_webex_teams/rich_formatting.png rename to source/images/integrations/cisco_webex_teams/rich_formatting.png diff --git a/source/images/components/flock/flock-webhook.png b/source/images/integrations/flock/flock-webhook.png similarity index 100% rename from source/images/components/flock/flock-webhook.png rename to source/images/integrations/flock/flock-webhook.png diff --git a/source/images/components/flock/new-webhook.png b/source/images/integrations/flock/new-webhook.png similarity index 100% rename from source/images/components/flock/new-webhook.png rename to source/images/integrations/flock/new-webhook.png diff --git a/source/images/components/free_mobile/token.png b/source/images/integrations/free_mobile/token.png similarity index 100% rename from source/images/components/free_mobile/token.png rename to source/images/integrations/free_mobile/token.png diff --git a/source/images/components/garadget/cover_garadget_details.png b/source/images/integrations/garadget/cover_garadget_details.png similarity index 100% rename from source/images/components/garadget/cover_garadget_details.png rename to source/images/integrations/garadget/cover_garadget_details.png diff --git a/source/images/components/google_assistant/accountlinking.png b/source/images/integrations/google_assistant/accountlinking.png similarity index 100% rename from source/images/components/google_assistant/accountlinking.png rename to source/images/integrations/google_assistant/accountlinking.png diff --git a/source/images/components/gpslogger/custom-url.png b/source/images/integrations/gpslogger/custom-url.png similarity index 100% rename from source/images/components/gpslogger/custom-url.png rename to source/images/integrations/gpslogger/custom-url.png diff --git a/source/images/components/gpslogger/logging-details.png b/source/images/integrations/gpslogger/logging-details.png similarity index 100% rename from source/images/components/gpslogger/logging-details.png rename to source/images/integrations/gpslogger/logging-details.png diff --git a/source/images/components/gpslogger/performance.png b/source/images/integrations/gpslogger/performance.png similarity index 100% rename from source/images/components/gpslogger/performance.png rename to source/images/integrations/gpslogger/performance.png diff --git a/source/images/components/gpslogger/settings.png b/source/images/integrations/gpslogger/settings.png similarity index 100% rename from source/images/components/gpslogger/settings.png rename to source/images/integrations/gpslogger/settings.png diff --git a/source/images/components/haveibeenpwned/sensor.png b/source/images/integrations/haveibeenpwned/sensor.png similarity index 100% rename from source/images/components/haveibeenpwned/sensor.png rename to source/images/integrations/haveibeenpwned/sensor.png diff --git a/source/images/components/ifttt/IFTTT_manything_trigger.png b/source/images/integrations/ifttt/IFTTT_manything_trigger.png similarity index 100% rename from source/images/components/ifttt/IFTTT_manything_trigger.png rename to source/images/integrations/ifttt/IFTTT_manything_trigger.png diff --git a/source/images/components/ifttt/finding_key.png b/source/images/integrations/ifttt/finding_key.png similarity index 100% rename from source/images/components/ifttt/finding_key.png rename to source/images/integrations/ifttt/finding_key.png diff --git a/source/images/components/ifttt/setup_service.png b/source/images/integrations/ifttt/setup_service.png similarity index 100% rename from source/images/components/ifttt/setup_service.png rename to source/images/integrations/ifttt/setup_service.png diff --git a/source/images/components/ifttt/setup_trigger.png b/source/images/integrations/ifttt/setup_trigger.png similarity index 100% rename from source/images/components/ifttt/setup_trigger.png rename to source/images/integrations/ifttt/setup_trigger.png diff --git a/source/images/components/ifttt/testing_service.png b/source/images/integrations/ifttt/testing_service.png similarity index 100% rename from source/images/components/ifttt/testing_service.png rename to source/images/integrations/ifttt/testing_service.png diff --git a/source/images/components/light/group.png b/source/images/integrations/light/group.png similarity index 100% rename from source/images/components/light/group.png rename to source/images/integrations/light/group.png diff --git a/source/images/components/mystrom/switch-advanced.png b/source/images/integrations/mystrom/switch-advanced.png similarity index 100% rename from source/images/components/mystrom/switch-advanced.png rename to source/images/integrations/mystrom/switch-advanced.png diff --git a/source/images/components/netdata/details.png b/source/images/integrations/netdata/details.png similarity index 100% rename from source/images/components/netdata/details.png rename to source/images/integrations/netdata/details.png diff --git a/source/images/components/opengarage/cover_opengarage_details.jpg b/source/images/integrations/opengarage/cover_opengarage_details.jpg similarity index 100% rename from source/images/components/opengarage/cover_opengarage_details.jpg rename to source/images/integrations/opengarage/cover_opengarage_details.jpg diff --git a/source/images/components/pyload/pyload_speed.png b/source/images/integrations/pyload/pyload_speed.png similarity index 100% rename from source/images/components/pyload/pyload_speed.png rename to source/images/integrations/pyload/pyload_speed.png diff --git a/source/images/components/rfxtrx/sensor.png b/source/images/integrations/rfxtrx/sensor.png similarity index 100% rename from source/images/components/rfxtrx/sensor.png rename to source/images/integrations/rfxtrx/sensor.png diff --git a/source/images/components/rfxtrx/switch.png b/source/images/integrations/rfxtrx/switch.png similarity index 100% rename from source/images/components/rfxtrx/switch.png rename to source/images/integrations/rfxtrx/switch.png diff --git a/source/images/components/thethingsnetwork/access_key.png b/source/images/integrations/thethingsnetwork/access_key.png similarity index 100% rename from source/images/components/thethingsnetwork/access_key.png rename to source/images/integrations/thethingsnetwork/access_key.png diff --git a/source/images/components/thethingsnetwork/add_integration.png b/source/images/integrations/thethingsnetwork/add_integration.png similarity index 100% rename from source/images/components/thethingsnetwork/add_integration.png rename to source/images/integrations/thethingsnetwork/add_integration.png diff --git a/source/images/components/thethingsnetwork/applications.png b/source/images/integrations/thethingsnetwork/applications.png similarity index 100% rename from source/images/components/thethingsnetwork/applications.png rename to source/images/integrations/thethingsnetwork/applications.png diff --git a/source/images/components/thethingsnetwork/choose_integration.png b/source/images/integrations/thethingsnetwork/choose_integration.png similarity index 100% rename from source/images/components/thethingsnetwork/choose_integration.png rename to source/images/integrations/thethingsnetwork/choose_integration.png diff --git a/source/images/components/thethingsnetwork/confirm_integration.png b/source/images/integrations/thethingsnetwork/confirm_integration.png similarity index 100% rename from source/images/components/thethingsnetwork/confirm_integration.png rename to source/images/integrations/thethingsnetwork/confirm_integration.png diff --git a/source/images/components/thethingsnetwork/devices.png b/source/images/integrations/thethingsnetwork/devices.png similarity index 100% rename from source/images/components/thethingsnetwork/devices.png rename to source/images/integrations/thethingsnetwork/devices.png diff --git a/source/images/components/thethingsnetwork/storage_integration.png b/source/images/integrations/thethingsnetwork/storage_integration.png similarity index 100% rename from source/images/components/thethingsnetwork/storage_integration.png rename to source/images/integrations/thethingsnetwork/storage_integration.png diff --git a/source/images/components/transmission/transmission.png b/source/images/integrations/transmission/transmission.png similarity index 100% rename from source/images/components/transmission/transmission.png rename to source/images/integrations/transmission/transmission.png diff --git a/source/images/components/transmission/transmission_perf.png b/source/images/integrations/transmission/transmission_perf.png similarity index 100% rename from source/images/components/transmission/transmission_perf.png rename to source/images/integrations/transmission/transmission_perf.png diff --git a/source/images/components/zestimate/zestimateexample.png b/source/images/integrations/zestimate/zestimateexample.png similarity index 100% rename from source/images/components/zestimate/zestimateexample.png rename to source/images/integrations/zestimate/zestimateexample.png