diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index a981cd420fc..e041b33ae3c 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -6,6 +6,9 @@ ENV DEBIAN_FRONTEND=noninteractive # Use Bash as the default shell ENV SHELL=/bin/bash +# Set an environment variable to be able to detect we are in dev container +ENV DEVCONTAINER=true + # Locale env vars ENV \ LANG=en_US.UTF-8 \ diff --git a/.gitignore b/.gitignore index 6ea9502ede3..28eb6d32a30 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ source/.jekyll-metadata !.vscode/extensions.json !.vscode/tasks.json *.suo +tags* diff --git a/.vscode/cSpell.json b/.vscode/cSpell.json index 42c5d088e2f..1951a92694f 100644 --- a/.vscode/cSpell.json +++ b/.vscode/cSpell.json @@ -12,6 +12,7 @@ "Denon", "endconfiguration", "endraw", + "Etekcity", "fitbit", "Flexit", "geizhals", diff --git a/Rakefile b/Rakefile index 20aba5bf915..860f95e79c4 100644 --- a/Rakefile +++ b/Rakefile @@ -89,6 +89,7 @@ end desc "preview the site in a web browser" task :preview, :listen do |t, args| listen_addr = args[:listen] || '127.0.0.1' + listen_addr = '0.0.0.0' unless ENV['DEVCONTAINER'].nil? raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) puts "Starting to watch source with Jekyll and Compass. Starting Rack on port #{server_port}" system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css") diff --git a/_config.yml b/_config.yml index d5ce920282a..22f707391b6 100644 --- a/_config.yml +++ b/_config.yml @@ -99,8 +99,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 96 -current_patch_version: 0 -date_released: 2019-07-17 +current_patch_version: 5 +date_released: 2019-07-25 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/plugins/configuration.rb b/plugins/configuration.rb index 993e4ba4e6d..5a5b94b7bfa 100644 --- a/plugins/configuration.rb +++ b/plugins/configuration.rb @@ -7,6 +7,11 @@ module Jekyll 'icon' => '/docs/configuration/customizing-devices/#icon', } + TYPES = [ + 'action', 'boolean', 'string', 'integer', 'float', 'time', 'template', + 'device_class', 'icon', 'map', 'list', 'date', 'datetime' + ] + def initialize(tag_name, text, tokens) super @component, @platform = text.strip.split('.', 2) @@ -32,7 +37,7 @@ module Jekyll type.strip! if TYPE_LINKS.include? type.downcase url = TYPE_LINKS[type.downcase] % {component: component} - "[%s](%s)" % [type, url] + "%s" % [url, type] else type end @@ -48,7 +53,7 @@ module Jekyll end end - def render_config_vars(vars:, component:, platform:, classes: nil) + def render_config_vars(vars:, component:, platform:, converter:, classes: nil, parent_type: nil) result = Array.new result << "
" @@ -57,20 +62,56 @@ module Jekyll markup << "
#{key}
" markup << "
" markup << "

" + if attr.key? 'type' + + # Check if the type (or list of types) are valid + if attr['type'].kind_of? Array + attr['type'].each do |type| + raise ArgumentError, "Configuration type '#{type}' for key '#{key}' is not a valid type in the documentation."\ + " See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \ + TYPES.include? type + end + else + raise ArgumentError, "Configuration type '#{attr['type']}' for key '#{key}' is not a valid type in the documentation."\ + " See: https://developers.home-assistant.io/docs/en/documentation_create_page.html#configuration" unless \ + TYPES.include? attr['type'] + end + markup << "(" markup << "#{type_link(attr['type'], component: component)})" + else + # Type is missing, which is required (unless we are in a list or template) + raise ArgumentError, "Configuration key '#{key}' is missing a type definition" \ + unless ['list', 'template'].include? parent_type end + + if attr.key? 'required' + # Check if required is a valid value + raise ArgumentError, "Configuration key '#{key}' required field must be specified as: "\ + "true, false, inclusive or exclusive."\ + unless [true, false, 'inclusive', 'exclusive'].include? attr['required'] + markup << "(#{required_value(attr['required'])})" end + if attr.key? 'description' - markup << "#{attr['description']}" + markup << "#{converter.convert(attr['description'].to_s)}" + else + # Description is missing + raise ArgumentError, "Configuration key '#{key}' is missing a description." end markup << "

" - if attr.key? 'default' - markup << "

Default value: #{attr['default']}

" + + if attr.key? 'default' and not attr['default'].to_s.empty? + markup << "

\nDefault value: #{converter.convert(attr['default'].to_s)}

" + elsif attr['type'].to_s.include? 'boolean' + # Is the type is a boolean, a default key is required + raise ArgumentError, "Configuration key '#{key}' is a boolean type and"\ + " therefore, requires a default." end + markup << "
" # Check for nested configuration variables @@ -78,7 +119,8 @@ module Jekyll markup << "
" markup << render_config_vars( vars: attr['keys'], component: component, - platform: platform, classes: 'nested') + platform: platform, converter: converter, + classes: 'nested', parent_type: attr['type']) markup << "
" end @@ -100,12 +142,20 @@ module Jekyll component = Liquid::Template.parse(@component).render context platform = Liquid::Template.parse(@platform).render context + site = context.registers[:site] + converter = site.find_converter_instance(::Jekyll::Converters::Markdown) + vars = SafeYAML.load(contents) <<~MARKUP

Configuration Variables

- #{render_config_vars(vars: vars, component: component, platform: platform)} + #{render_config_vars( + vars: vars, + component: component, + platform: platform, + converter: converter + )}
MARKUP end diff --git a/source/_addons/duckdns.markdown b/source/_addons/duckdns.markdown index c6e929ffaf1..2f38bf80bd2 100644 --- a/source/_addons/duckdns.markdown +++ b/source/_addons/duckdns.markdown @@ -23,12 +23,13 @@ featured: true lets_encrypt: description: Let's Encrypt is a free, automated, and open certificate authority. required: true - type: list + type: map keys: accept_terms: description: If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain. required: true type: boolean + default: false token: description: Your Duck DNS API key, from your DuckDNS account page. required: true diff --git a/source/_addons/homematic.markdown b/source/_addons/homematic.markdown index 38c7de7a16d..a49432b7b8b 100644 --- a/source/_addons/homematic.markdown +++ b/source/_addons/homematic.markdown @@ -44,6 +44,7 @@ rf_enable: description: Enable or disable BidCoS-RF. required: true type: boolean + default: false rf: description: RF devices. required: true @@ -61,6 +62,7 @@ wired_enable: description: Enable or disable BidCoS-Wired. required: true type: boolean + default: false wired: description: Wired devices. required: true @@ -82,6 +84,7 @@ hmip_enable: description: Enable or disable hmip. required: true type: boolean + default: false hmip: description: HMIP devices. required: true diff --git a/source/_addons/mosquitto.markdown b/source/_addons/mosquitto.markdown index 98fae3a8f14..e56242f703c 100644 --- a/source/_addons/mosquitto.markdown +++ b/source/_addons/mosquitto.markdown @@ -41,6 +41,7 @@ customize: description: If you enable it, it reads additional configuration files (`*.conf`) from `/share/mosquitto`. required: false type: [boolean, string] + default: false {% endconfiguration %} ### Home Assistant user management diff --git a/source/_addons/snips.markdown b/source/_addons/snips.markdown index 035b27e3944..cf74fa5e6db 100644 --- a/source/_addons/snips.markdown +++ b/source/_addons/snips.markdown @@ -57,6 +57,7 @@ language: custom_tts: description: Whether to use a TTS provider from Home Assistant for a variety of voices. type: boolean + default: false tts_platform: description: Which TTS platform to use. type: string diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown index 3942739af85..dcc28085cd2 100644 --- a/source/_addons/tellstick.markdown +++ b/source/_addons/tellstick.markdown @@ -79,6 +79,7 @@ fade: description: Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems). required: false type: boolean + default: false code: description: A number series based on ones and zeroes often used for dip-switch based devices. required: false diff --git a/source/_components/alexa.smart_home.markdown b/source/_components/alexa.smart_home.markdown index 67ae364ab49..f3618932853 100644 --- a/source/_components/alexa.smart_home.markdown +++ b/source/_components/alexa.smart_home.markdown @@ -97,7 +97,7 @@ Next you need create a Lambda function. - Under `Configuration` tab, expand `Designer`, then click `Alexa Smart Home` in the left part of the panel to add a Alexa Smart Home trigger to your Lambda function. - Scroll down little bit, you need input the `Skill ID` from the skill you created in previous step. (tips: you may need switch back to Alexa Developer Console to copy the `Skill ID`. - Click your Lambda Function icon in the middle of the diagram, scroll down you will see a `Function code` window. -- Clear the example code, copy the Python script from: +- Clear the example code, copy the Python script from: (modified code to support Alexa's proactive mode, see details below) - Scroll down a little bit, you will find `Environment variables`, you need add 4 environment variables: * BASE_URL *(required)*: your Home Assistant instance's Internet accessible URL with port if need * NOT_VERIFY_SSL *(optional)*: you can set it to *True* to ignore the SSL issue, if you don't have a valid SSL certificate or you are using self-signed certificate. @@ -168,7 +168,7 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom * `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token * `Client ID`: - https://pitangui.amazon.com/ if you are in US - - https://layla.amazon.com/ if you are in EU (not verified yet) + - https://layla.amazon.com/ if you are in EU - https://alexa.amazon.co.jp/ if you are in JP and AU (not verified yet) The trailing slash is important here. @@ -216,12 +216,11 @@ alexa: display_categories: LIGHT ``` -The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode. Please note the following if you want to enable proactive mode: +The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode (i.e. "Send Alexa Events" enabled). Please note the following if you want to enable proactive mode: - There are different endpoint URLs, depending on the region of your skill. Please check the available endpoints at - The `client_id` and `client_secret` are not the ones used by the skill that have been set up using "Login with Amazon" (in the [Alexa Developer Console][amazon-dev-console]: Build > Account Linking), but rather from the "Alexa Skill Messaging" (in the Alexa Developer Console: Build > Permissions > Alexa Skill Messaging). To get them, you need to enable the "Send Alexa Events" permission. -- If the "Send Alexa Events" permission was not enabled previously, you need to unlink and relink the skill using the Alexa App, or else Home Assistant will show the following error: "Token invalid and no refresh token available." - +- If the "Send Alexa Events" permission was not enabled previously, you need to unlink and relink the skill using the Alexa App, or else Home Assistant will show the following error: "Token invalid and no refresh token available. Also, you need to restart your Home Assistant after each disabling/enabling the skill in Alexa." ### Alexa web-based app diff --git a/source/_components/ambient_station.markdown b/source/_components/ambient_station.markdown index 4529897565d..4be61d78c31 100644 --- a/source/_components/ambient_station.markdown +++ b/source/_components/ambient_station.markdown @@ -40,189 +40,4 @@ app_key: description: The Application key to access the service. required: true type: string -monitored_conditions: - description: Weather conditions to track. - required: false - type: list - keys: - 24hourrainin: - description: 24h rain accumulation - baromabsin: - description: Absolute atmospheric pressure - baromrelin: - description: Relative atmospheric pressure - battout: - description: Weather station battery health - batt1: - description: Sensor 1 battery health - batt2: - description: Sensor 2 battery health - batt3: - description: Sensor 3 battery health - batt4: - description: Sensor 4 battery health - batt5: - description: Sensor 5 battery health - batt6: - description: Sensor 6 battery health - batt7: - description: Sensor 7 battery health - batt8: - description: Sensor 8 battery health - batt9: - description: Sensor 9 battery health - batt10: - description: Sensor 10 battery health - co2: - description: CO2 level - dailyrainin: - description: Daily rain accumulation - dewPoint: - description: Dewpoint temperature - eventrainin: - description: Event Rain accumulation - feelsLike: - description: Feels Like temperature - hourlyrainin: - description: Hourly rain accumulation - humidity: - description: Outdoor humidity - humidity1: - description: Sensor 1 humidity - humidity2: - description: Sensor 2 humidity - humidity3: - description: Sensor 3 humidity - humidity4: - description: Sensor 4 humidity - humidity5: - description: Sensor 5 humidity - humidity6: - description: Sensor 6 humidity - humidity7: - description: Sensor 7 humidity - humidity8: - description: Sensor 8 humidity - humidity9: - description: Sensor 9 humidity - humidity10: - description: Sensor 10 humidity - humidityin: - description: Indoor humidity - lastRain: - description: Datetime of last rain event - maxdailygust: - description: Max daily wind gust - monthlyrainin: - description: Monthly rain accumulation - relay1: - description: Sensor 1 relay status - relay2: - description: Sensor 2 relay status - relay3: - description: Sensor 3 relay status - relay4: - description: Sensor 4 relay status - relay5: - description: Sensor 5 relay status - relay6: - description: Sensor 6 relay status - relay7: - description: Sensor 7 relay status - relay8: - description: Sensor 8 relay status - relay9: - description: Sensor 9 relay status - relay10: - description: Sensor 10 relay status - soilhum1: - description: Sensor 1 soil humidity - soilhum2: - description: Sensor 2 soil humidity - soilhum3: - description: Sensor 3 soil humidity - soilhum4: - description: Sensor 4 soil humidity - soilhum5: - description: Sensor 5 soil humidity - soilhum6: - description: Sensor 6 soil humidity - soilhum7: - description: Sensor 7 soil humidity - soilhum8: - description: Sensor 8 soil humidity - soilhum9: - description: Sensor 9 soil humidity - soilhum10: - description: Sensor 10 soil humidity - soiltemp1f: - description: Sensor 1 soil temperature - soiltemp2f: - description: Sensor 2 soil temperature - soiltemp3f: - description: Sensor 3 soil temperature - soiltemp4f: - description: Sensor 4 soil temperature - soiltemp5f: - description: Sensor 5 soil temperature - soiltemp6f: - description: Sensor 6 soil temperature - soiltemp7f: - description: Sensor 7 soil temperature - soiltemp8f: - description: Sensor 8 soil temperature - soiltemp9f: - description: Sensor 9 soil temperature - soiltemp10f: - description: Sensor 10 soil temperature - solarradiation: - description: Solar radiation - temp1f: - description: Sensor 1 temperature - temp2f: - description: Sensor 2 temperature - temp3f: - description: Sensor 3 temperature - temp4f: - description: Sensor 4 temperature - temp5f: - description: Sensor 5 temperature - temp6f: - description: Sensor 6 temperature - temp7f: - description: Sensor 7 temperature - temp8f: - description: Sensor 8 temperature - temp9f: - description: Sensor 9 temperature - temp10f: - description: Sensor 10 temperature - tempf: - description: Outdoor temperature - tempinf: - description: Indoor temperature - totalrainin: - description: Lifetime rain accumulation (since last reset) - uv: - description: UV index - weeklyrainin: - description: Weekly rain accumulation - winddir: - description: Wind direction - winddir_avg10m: - description: Wind direction, 10m moving average - winddir_avg2m: - description: Wind direction, 2m moving average - windgustdir: - description: Wind gust direction - windgustmph: - description: Wind gust - windspdmph_avg10m: - description: Wind speed, 10m moving average - windspdmph_avg2m: - description: Wind speed, 2m moving average - windspeedmph: - description: Windspeed - yearlyrainin: - description: Yearly rain accumulation {% endconfiguration %} diff --git a/source/_components/androidtv.markdown b/source/_components/androidtv.markdown index 84fa928582a..660860063a5 100644 --- a/source/_components/androidtv.markdown +++ b/source/_components/androidtv.markdown @@ -232,6 +232,6 @@ Available key commands include: - `BACK` - `MENU` -The full list of key commands can be found [here](https://github.com/JeffLIrion/python-androidtv/blob/e1c07176efc9216cdcff8245c920224c0234ea56/androidtv/constants.py#L115-L155). +The full list of key commands can be found [here](https://github.com/JeffLIrion/python-androidtv/blob/bf1058a2f746535921b3f5247801469c4567e51a/androidtv/constants.py#L143-L186). You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level, this information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package. diff --git a/source/_components/apache_kafka.markdown b/source/_components/apache_kafka.markdown new file mode 100644 index 00000000000..7169c51bd3e --- /dev/null +++ b/source/_components/apache_kafka.markdown @@ -0,0 +1,60 @@ +--- +title: "Apache Kafka" +description: "Send data and events to Apache Kafka." +logo: apache_kafka.png +ha_category: + - History +ha_release: 0.97 +--- + +The `apache_kafka` integration sends all state changes to a +[Apache Kafka](https://kafka.apache.org/) topic. + +Apache Kafka is a real-time data pipeline that can read and write streams of data. It +stores its data safely in a distributed, replicated, fault-tolerant cluster. + +To use the `apache_kafka` integration in your installation, add the following to your +`configuration.yaml` file: + +```yaml +apache_kafka: + ip_address: localhost + port: 9092 + topic: home_assistant_1 +``` + +{% configuration %} +host: + description: The IP address or hostname of an Apache Kafka cluster. + required: true + type: string +port: + description: The port to use. + required: true + type: integer +topic: + description: The Kafka topic to send data to. + required: true + type: string +filter: + description: Filters for entities to be included/excluded. + required: false + type: map + keys: + include_domains: + description: Domains to be included. + required: false + type: list + include_entities: + description: Entities to be included. + required: false + type: list + exclude_domains: + description: Domains to be excluded. + required: false + type: list + exclude_entities: + description: Entities to be excluded. + required: false + type: list +{% endconfiguration %} diff --git a/source/_components/aprs.markdown b/source/_components/aprs.markdown index 8dc6cf88e8d..6e6e1993ab2 100644 --- a/source/_components/aprs.markdown +++ b/source/_components/aprs.markdown @@ -17,7 +17,7 @@ To enable APRS tracking in Home Assistant, add the following section to `configu # Example configuration.yaml entry device_tracker: - platform: aprs - username: FO0BAR + username: FO0BAR # or FO0BAR-1 to FO0BAR-15 callsigns: - 'XX0FOO*' - 'YY0BAR-1' @@ -25,7 +25,7 @@ device_tracker: {% configuration %} username: - description: Your callsign. This is used to connect to the host. + description: "Your callsign (or callsign-SSID combination). This is used to connect to the host. Note: Do not use the same callsign or callsign-SSID combination as a device you intend to track: the APRS-IS network will not route the packets to Home Assistant. This is a known limitation of APRS packet routing." required: true type: string password: diff --git a/source/_components/aquostv.markdown b/source/_components/aquostv.markdown index 179ed0a8ed3..df895237204 100644 --- a/source/_components/aquostv.markdown +++ b/source/_components/aquostv.markdown @@ -75,4 +75,4 @@ Currently known supported models: - LC-60EQ10U - LC-60SQ15U -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/media_player.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/_components/aquostv.markdown). diff --git a/source/_components/arcam_fmj.markdown b/source/_components/arcam_fmj.markdown index bd47be6b678..4071981ddad 100644 --- a/source/_components/arcam_fmj.markdown +++ b/source/_components/arcam_fmj.markdown @@ -1,12 +1,6 @@ --- -layout: page title: "Arcam FMJ Receivers" description: "Instructions on how to integrate Arcam FMJ Receivers into Home Assistant." -date: 2019-04-28 13:59 +0200 -sidebar: true -comments: false -sharing: true -footer: true logo: arcam.svg ha_category: Media Player ha_release: 0.96 @@ -17,7 +11,7 @@ The `arcam_fmj` integration allows you to control [Arcam FMJ Receveivers](https: Supported devices: -- AVR 380 +- AVR 380 - AVR 450 - AVR 750 - Likely other AVRs @@ -49,15 +43,18 @@ zone: type: map keys: ZONE_INDEX: - name: - description: Name of zone - required: false - type: string - default: Arcam FMJ - ZONE_INDEX - turn_on: - description: Service to use when turning on device when no connection is established - required: false - type: action + description: Zone index number. + type: map + keys: + name: + description: Name of zone + required: false + type: string + default: Arcam FMJ - ZONE_INDEX + turn_on: + description: Service to use when turning on device when no connection is established + required: false + type: action {% endconfiguration %} ```yaml diff --git a/source/_components/aurora_abb_powerone.markdown b/source/_components/aurora_abb_powerone.markdown index ac40f5dab11..2ae6e0370b6 100644 --- a/source/_components/aurora_abb_powerone.markdown +++ b/source/_components/aurora_abb_powerone.markdown @@ -1,12 +1,6 @@ --- -layout: page title: "Aurora ABB Powerone PV Inverter Sensor" description: "Instructions on how to integrate an Aurora ABB Powerone solar inverter within Home Assistant." -date: 2019-06-27 23:30 -sidebar: true -comments: false -sharing: true -footer: true logo: powerone.png ha_category: - Sensor diff --git a/source/_components/avea.markdown b/source/_components/avea.markdown new file mode 100644 index 00000000000..89f62e5a73f --- /dev/null +++ b/source/_components/avea.markdown @@ -0,0 +1,21 @@ +--- +title: "Elgato Avea" +description: "Instructions on how to integrate Elgato Avea with Home Assistant." +logo: avea.png +ha_category: + - Light +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. + +### Configuration + +To enable Avea, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: avea +``` diff --git a/source/_components/bbox.markdown b/source/_components/bbox.markdown index 48e36e05bd8..336f31c4f19 100644 --- a/source/_components/bbox.markdown +++ b/source/_components/bbox.markdown @@ -13,7 +13,7 @@ redirect_from: - /components/device_tracker.bbox/ --- -The `bbox` platform uses the [Bbox Modem Router](https://fr.wikipedia.org/wiki/Bbox/) from the French Internet provider Bouygues Telecom. Sensors are mainly bandwidth measures. +The `bbox` platform uses the [Bbox Modem Router](https://www.bouyguestelecom.fr/offres-internet/bbox-fit) from the French Internet provider Bouygues Telecom. Sensors are mainly bandwidth measures. There is currently support for the following device types within Home Assistant: @@ -26,7 +26,7 @@ Due to third party limitation, the sensors will only be available if Home Assist ## Presence Detection -The `bbox` platform offers presence detection by looking at connected devices to a [Bbox](https://fr.wikipedia.org/wiki/Bbox) based router from [Bouygues](https://www.bouyguestelecom.fr/), which is one of the main Internet provider in France. +The `bbox` platform offers presence detection by looking at connected devices to a [Bbox](https://www.bouyguestelecom.fr/offres-internet/bbox-fit) based router from [Bouygues](https://www.bouyguestelecom.fr/), which is one of the main Internet provider in France. Bbox is a generic name for different hardware routers. The platform has been tested with the following devices: @@ -90,4 +90,4 @@ monitored_variables: description: Instant measure of the current used bandwidth for download. current_up_bandwidth: description: Instant measure of the current used bandwidth for upload. -{% endconfiguration %} \ No newline at end of file +{% endconfiguration %} diff --git a/source/_components/bh1750.markdown b/source/_components/bh1750.markdown index a4e62649851..3d407b30fea 100644 --- a/source/_components/bh1750.markdown +++ b/source/_components/bh1750.markdown @@ -10,7 +10,7 @@ redirect_from: - /components/sensor.bh1750/ --- -The `bh1750` sensor platform allows you to read the ambient light level in Lux from a [BH1750FVI sensor](http://cpre.kmutnb.ac.th/esl/learning/bh1750-light-sensor/bh1750fvi-e_datasheet.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the resolution modes of the sensor described in its datasheet. +The `bh1750` sensor platform allows you to read the ambient light level in Lux from a [BH1750FVI sensor](https://www.mouser.com/ds/2/348/bh1750fvi-e-186247.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the resolution modes of the sensor described in its datasheet. Tested devices: diff --git a/source/_components/binary_sensor.rfxtrx.markdown b/source/_components/binary_sensor.rfxtrx.markdown index 0cdb7344617..d8b463b0bd5 100644 --- a/source/_components/binary_sensor.rfxtrx.markdown +++ b/source/_components/binary_sensor.rfxtrx.markdown @@ -90,7 +90,7 @@ automatic_add:
-This integration and the [rfxtrx switch](/components/switch/rfxtrx/) can steal each other's devices when setting the `automatic_add` configuration parameter to `true`. +This integration and the [rfxtrx switch](/components/switch.rfxtrx/) 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`.
diff --git a/source/_components/binary_sensor.template.markdown b/source/_components/binary_sensor.template.markdown index d57dd513cdf..3eff2ecfb53 100644 --- a/source/_components/binary_sensor.template.markdown +++ b/source/_components/binary_sensor.template.markdown @@ -85,7 +85,7 @@ Template Binary Sensor may get an `unknown` state during startup. This results in error messages in your log file until that platform has completed loading. If you use `is_state()` function in your template, you can avoid this situation. For example, you would replace -{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} +{% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 9227f6b2f23..a53b546b95e 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -220,7 +220,7 @@ Again, this example assumes your camera's name (in the blink app) is `My Camera` to: 'on' action: service: blink.save_video - data: + data_template: name: "My Camera" filename: "/tmp/videos/blink_video_{{ now().strftime('%Y%m%d_%H%M%S') }}.mp4" diff --git a/source/_components/camera.mqtt.markdown b/source/_components/camera.mqtt.markdown index 68a06eb5659..76d52029349 100644 --- a/source/_components/camera.mqtt.markdown +++ b/source/_components/camera.mqtt.markdown @@ -10,7 +10,7 @@ ha_iot_class: Configurable The `mqtt` camera platform allows you to integrate the content of an image file sent through MQTT into Home Assistant as a camera. Every time a message under the `topic` in the configuration is received, the image displayed in Home Assistant will also be updated. -This can be used with an application or a service capable of sending images through MQTT, for example [Zanzito](https://play.google.com/store/apps/details?id=it.barbaro.zanzito). +This can be used with an application or a service capable of sending images through MQTT. ## Configuration diff --git a/source/_components/cast.markdown b/source/_components/cast.markdown index 21f939240e1..59ac474f86e 100644 --- a/source/_components/cast.markdown +++ b/source/_components/cast.markdown @@ -11,7 +11,7 @@ redirect_from: /components/media_player.cast/ --- Google Cast devices like Android TVs and Chromecasts will be automatically -discovered if you enable [the discovery integration(/components/discovery/). If +discovered if you enable [the discovery integration](/components/discovery/). If you don't have the discovery integration enabled, you can enable the Cast integration by going to the Integrations page inside the config panel. diff --git a/source/_components/climate.markdown b/source/_components/climate.markdown index 8431c9f216f..07687206975 100644 --- a/source/_components/climate.markdown +++ b/source/_components/climate.markdown @@ -80,7 +80,7 @@ Set target temperature of climate device | `temperature` | no | New target temperature for hvac | `target_temp_high` | yes | New target high temperature for hvac | `target_temp_low` | yes | New target low temperature for hvac -| `operation_mode` | yes | Operation mode to set temperature to. This defaults to current_operation mode if not set, or set incorrectly. +| `hvac_mode` | yes | HVAC mode to set temperature to. This defaults to current HVAC mode if not set, or set incorrectly. #### Automation example @@ -94,7 +94,7 @@ automation: data: entity_id: climate.kitchen temperature: 24 - operation_mode: Heat + hvac_mode: heat ``` ### Service `climate.set_humidity` @@ -163,7 +163,7 @@ automation: - service: climate.set_hvac_mode data: entity_id: climate.kitchen - operation_mode: heat + hvac_mode: heat ``` ### Service `climate.set_swing_mode` diff --git a/source/_components/climate.mqtt.markdown b/source/_components/climate.mqtt.markdown index dca79228e42..4da6ff8fc70 100644 --- a/source/_components/climate.mqtt.markdown +++ b/source/_components/climate.mqtt.markdown @@ -107,7 +107,7 @@ mode_state_template: required: false type: template modes: - description: A list of supported modes. + description: A list of supported modes. Needs to be a subset of the default values. required: false default: ['auto', 'off', 'cool', 'heat', 'dry', 'fan_only'] type: list @@ -139,6 +139,11 @@ temperature_high_state_topic: description: The MQTT topic to subscribe for changes in the target high temperature. If this is not set, the target high temperature works in optimistic mode (see below). required: false type: string +precision: + description: The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`. + required: false + type: float + default: 0.1 for Celsius and 1.0 for Fahrenheit. fan_mode_command_topic: description: The MQTT topic to publish commands to change the fan mode. required: false @@ -200,6 +205,7 @@ hold_state_template: hold_modes: description: A list of available hold modes. required: false + type: list aux_command_topic: description: The MQTT topic to publish commands to switch auxiliary heat. required: false @@ -281,7 +287,7 @@ climate: name: Study modes: - "off" - - "on" + - "heat" - "auto" mode_command_topic: "study/ac/mode/set" mode_state_topic: "study/ac/mode/state" @@ -317,4 +323,5 @@ climate: temperature_command_topic: "study/ac/temperature/set" fan_mode_command_topic: "study/ac/fan/set" swing_mode_command_topic: "study/ac/swing/set" + precision: 1.0 ``` diff --git a/source/_components/command_line.markdown b/source/_components/command_line.markdown index 9761296bdaf..c22e5a513d1 100644 --- a/source/_components/command_line.markdown +++ b/source/_components/command_line.markdown @@ -47,12 +47,12 @@ payload_on: description: The payload that represents enabled state. required: false type: string - default: ON + default: 'ON' payload_off: description: The payload that represents disabled state. required: false type: string - default: OFF + default: 'OFF' value_template: description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. required: false diff --git a/source/_components/config.markdown b/source/_components/config.markdown index 90615cb5576..95d346783ff 100644 --- a/source/_components/config.markdown +++ b/source/_components/config.markdown @@ -3,7 +3,7 @@ title: "Config" description: "Instructions on how to setup the configuration panel for Home Assistant." logo: home-assistant.png ha_category: - - Front end + - Front End ha_release: 0.39 ha_qa_scale: internal --- diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown index 5d47ba55b8c..d15d6a5f674 100644 --- a/source/_components/cover.mqtt.markdown +++ b/source/_components/cover.mqtt.markdown @@ -13,9 +13,9 @@ The `mqtt` cover platform allows you to control an MQTT cover (such as blinds, a ## Configuration The device state (`open` or `closed`) will be updated only after a new message is published on `state_topic` matching `state_open` or `state_closed`. If these messages are published with the `retain` flag set, the cover will receive an instant state update after subscription and Home Assistant will display the correct state on startup. Otherwise, the initial state displayed in Home Assistant will be `unknown`. -`state_topic` can only manage `state_open` and `state_closed`. No percentage positons etc. +`state_topic` can only manage `state_open` and `state_closed`. No percentage positions etc. -For this purpose is `position_topic` which can set state of the cover and positon. +For this purpose is `position_topic` which can set state of the cover and position. Default setting are 0 means the device is `closed` and all other intermediate positions means the device is `open`. `position_topic` is managed by `position_open` and `position_closed` You can set it up in opossite way as well. diff --git a/source/_components/cppm.markdown b/source/_components/cppm.markdown index 0414c51f099..d30b472ec27 100644 --- a/source/_components/cppm.markdown +++ b/source/_components/cppm.markdown @@ -16,7 +16,7 @@ Supported platforms (tested):
-You must first create an API client [here](https://clearpass.server.com/guest/api_clients.php). +You must first create an API client [here](https://www.arubanetworks.com/techdocs/ClearPass/6.6/Guest/Content/AdministrationTasks1/CreateEditAPIclient.htm).
diff --git a/source/_components/cups.markdown b/source/_components/cups.markdown index e65d00fd32d..dd3455e5e14 100644 --- a/source/_components/cups.markdown +++ b/source/_components/cups.markdown @@ -15,7 +15,7 @@ The `cups` sensor platform is using the open source printing system [CUPS](https ## Setup -You will need to install the `python3-dev` or `python3-devel` pacakge and the development files for CUPS (`libcups2-dev` or`cups-devel`) on your system manually (e.g., `sudo apt-get install python3-dev libcups2-dev` or `sudo dnf -y install python3-devel cups-devel`) along with a compiler (`gcc`). This integration doesn't work out-of-the-box in a container-based setup. +You will need to install the `python3-dev` or `python3-devel` package and the development files for CUPS (`libcups2-dev` or`cups-devel`) on your system manually (e.g., `sudo apt-get install python3-dev libcups2-dev` or `sudo dnf -y install python3-devel cups-devel`) along with a compiler (`gcc`). This integration doesn't work out-of-the-box in a container-based setup. To set up the sensor the "Queue Name" of the printer is needed. The fastest way to get it, is to visit the CUPS web interface at "http://[IP ADDRESS PRINT SERVER]:631" and go to "Printers". @@ -57,3 +57,23 @@ is_cups_server: type: boolean default: true {% endconfiguration %} + +## {% linkable_title Examples %} + +Default configuration for an IPP printer: + +```yaml +# Example configuration.yaml entry for an IPP printer +sensor: + - platform: cups + host: PRINTER_IP + is_cups_server: false + printers: + - ipp/print +``` + +
+ +You will need to install the `python3-dev` or `python3-devel` and the development files for CUPS (`libcups2-dev` or`cups-devel`) package on your system manually (eg. `sudo apt-get install python3-dev libcups2-dev` or `sudo dnf -y install python3-devel cups-devel`) along with a compiler (`gcc`). + +
diff --git a/source/_components/daikin.markdown b/source/_components/daikin.markdown index eb93f8840dc..e6443de7c78 100644 --- a/source/_components/daikin.markdown +++ b/source/_components/daikin.markdown @@ -57,15 +57,28 @@ The `daikin` climate platform integrates Daikin air conditioning systems into Ho - [**set_hvac_mode**](/components/climate/#service-climateset_hvac_mode) (off, heat, cool, auto, or fan only) - [**target temperature**](https://www.home-assistant.io/components/climate#service-climateset_temperature) +- [**turn on/off**](https://www.home-assistant.io/components/climate#service-climateturn_on) - [**fan mode**](https://www.home-assistant.io/components/climate#service-climateset_fan_mode) (speed) - [**swing mode**](https://www.home-assistant.io/components/climate#service-climateset_swing_mode) -- [**set_preset_mode**](https://www.home-assistant.io/components/climate#service-climateset_away_mode) (away, home) +- [**set_preset_mode**](https://www.home-assistant.io/components/climate#service-climateset_preset_mode) (away, none) Current inside temperature is displayed.
- + Some models do not support setting of **fan speed** or **swing mode**. + +
+ +
+ +Preset mode **away** translates to Daikin's "Holiday Mode":
+
+_"Holiday mode" is used when you want to turn off your units when you leave you home for a longer time._
+
+_When "Holiday mode" is enabled, the following action take place:_ + - _All connected units are turned OFF._ + - _All schedule timers are disabled._
diff --git a/source/_components/danfoss_air.markdown b/source/_components/danfoss_air.markdown index e944546d3db..8e3458f0d80 100644 --- a/source/_components/danfoss_air.markdown +++ b/source/_components/danfoss_air.markdown @@ -52,7 +52,7 @@ The following sensors are supported. - **Supply temperature:** Air temperature of the air supplied to the house. - **Extract temperature:** Air temperature of the air extracted from the house. - **Exhaust temperature:** Exhausted air temperature. -- **Remaining filter lifetime:** Reamining filter lifetime measured in percent. +- **Remaining filter lifetime:** Remaining filter lifetime measured in percent. ## Switch diff --git a/source/_components/darksky.markdown b/source/_components/darksky.markdown index 759306b4407..c7ae5bca389 100644 --- a/source/_components/darksky.markdown +++ b/source/_components/darksky.markdown @@ -143,6 +143,8 @@ monitored_conditions: description: The approximate distance to the nearest storm in miles. nearest_storm_bearing: description: The approximate direction of the nearest storm in degrees, with true north at 0° and progressing clockwise. + alerts: + description: Current severe weather advisories. units: description: Specify the unit system. Valid options are `auto`, `us`, `si`, `ca` and `uk2`. `auto` will let Dark Sky decide the unit system based on location. required: false diff --git a/source/_components/ddwrt.markdown b/source/_components/ddwrt.markdown index 291a84d867e..720d8ec511c 100644 --- a/source/_components/ddwrt.markdown +++ b/source/_components/ddwrt.markdown @@ -9,7 +9,7 @@ redirect_from: - /components/device_tracker.ddwrt/ --- -This platform offers presence detection by looking at connected devices to a [DD-WRT](http://www.dd-wrt.com/site/index) based router. +This platform offers presence detection by looking at connected devices to a [DD-WRT](https://dd-wrt.com/) based router. To use a DD-WRT router in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/delijn.markdown b/source/_components/delijn.markdown new file mode 100644 index 00000000000..bb4ae3c759c --- /dev/null +++ b/source/_components/delijn.markdown @@ -0,0 +1,73 @@ +--- +title: "De Lijn" +description: "Instructions on how to integrate De Lijn (Flemish public transport company) departure times into Home Assistant." +ha_release: 0.97 +ha_category: + - Transport + - Sensor +ha_iot_class: Cloud Polling +logo: delijn.svg +--- + +The `delijn` sensor will give you the departure time of the next bus, tram or subway at a specific stop of the De Lijn public transport network in Flanders (Belgium). + +## Setup + +Create a developer account at [De Lijn Open Data portal](https://data.delijn.be/) to get a free API subscription key. +For valid stop IDs check for the 6 digits at the physical stops or visit the [stops page](https://www.delijn.be/en/haltes/) of the De Lijn website. + +## Configuration + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: delijn + api_key: 'API_SUBSCRIPTION_KEY' + next_departure: + - stop_id: 'STOP_ID' +``` + +{% configuration %} +api_key: + description: "API Subscription key needed to access De Lijn API's." + required: true + type: string +next_departure: + description: One or multiple departure sensors. + required: true + type: list + keys: + stop_id: + description: "ID of the stop, e.g. `200552`." + required: true + type: string + number_of_departures: + description: "Specify the maximum number of departures/passages at a stop to retrieve" + required: false + default: 5 + type: integer +{% endconfiguration %} + +## Examples + +### Full configuration + +The example below shows a full configuration with two sensors, only the abcdefg needs to be replaced with an actual API subscription key. The first stop_id will return the default next 5 passages, the second stop_id has been forced to return the next 20 passages. + +```yaml +# Example configuration.yaml entry +sensor: + # De Lijn public transport + - platform: delijn + api_key: 'abcdefg' + next_departure: + - stop_id: '200018' + - stop_id: '201169' + number_of_departures: 20 +``` + +## Custom Lovelace card + +Works best with the following custom Lovelace card: diff --git a/source/_components/discord.markdown b/source/_components/discord.markdown index 16f0ea7f283..316a813675e 100644 --- a/source/_components/discord.markdown +++ b/source/_components/discord.markdown @@ -13,7 +13,7 @@ The [Discord service](https://discordapp.com/) is a platform for the notify comp In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**). -Retreive the **Client ID** from the information section and the (hidden) **Token** of your bot for later. +Retrieve the **Client ID** from the information section and the (hidden) **Token** of your bot for later. When setting up the application you can use this [icon](/images/favicon-192x192-full.png). @@ -66,21 +66,15 @@ Right click channel name and copy the channel ID (**Copy ID**). This channel ID has to be used as the target when calling the notification service. Multiple channel IDs can be specified, across multiple servers. -#### Example service payload +#### Example service call -```json -{ - "message": "A message from Home Assistant", - "target": [ - "1234567890", - "0987654321" - ], - "data": { - "images": [ - "/tmp/garage_cam.jpg" - ] - } -} +```yaml +- service: notify.discord + data: + message: "A message from Home Assistant" + target: ["1234567890", "0987654321"] + data: + images: "/tmp/garage_cam" ``` ### Notes diff --git a/source/_components/ebusd.markdown b/source/_components/ebusd.markdown index 533b24dd48c..7e430da574c 100644 --- a/source/_components/ebusd.markdown +++ b/source/_components/ebusd.markdown @@ -107,7 +107,7 @@ monitored_conditions: Zone1OperativeMode: description: Heating circuit operative mode (on/off/day/night). ContinuosHeating: - description: Continuos heating. + description: Continuous heating. PowerEnergyConsumptionLastMonth: description: Power energy consumption from last month. PowerEnergyConsumptionThisMonth: diff --git a/source/_components/ecoal_boiler.markdown b/source/_components/ecoal_boiler.markdown index d49d8bf973f..617be151a62 100644 --- a/source/_components/ecoal_boiler.markdown +++ b/source/_components/ecoal_boiler.markdown @@ -2,7 +2,7 @@ title: "eCoal water boiler controller" description: "Instructions on how to integrate eSterownik.pl eCoal.pl controller into Home Assistant." ha_category: - - Water heater + - Water Heater ha_release: 0.87 ha_iot_class: Local Polling redirect_from: diff --git a/source/_components/ecobee.markdown b/source/_components/ecobee.markdown index 3fe50fb3ce6..004ac5f2633 100644 --- a/source/_components/ecobee.markdown +++ b/source/_components/ecobee.markdown @@ -142,7 +142,7 @@ auto, and off. ## Services -The following extra services are provided by the Ecobee Thermostat: `resume_program`. +Besides the standard services provided by the Home Assistant [Climate](https://www.home-assistant.io/components/climate/) integration, the following extra service is provided by the Ecobee Thermostat: `resume_program`. ### Service `resume_program` diff --git a/source/_components/econet.markdown b/source/_components/econet.markdown index 6120e7eba60..a83bce25e5a 100644 --- a/source/_components/econet.markdown +++ b/source/_components/econet.markdown @@ -3,7 +3,7 @@ title: "EcoNet water heater" description: "Instructions on how to integrate Rheem EcoNet water heaters into Home Assistant." logo: econet.png ha_category: - - Water heater + - Water Heater ha_release: 0.61 ha_iot_class: Cloud Polling redirect_from: diff --git a/source/_components/elkm1.markdown b/source/_components/elkm1.markdown index 063db11650f..4ddde4a4b89 100644 --- a/source/_components/elkm1.markdown +++ b/source/_components/elkm1.markdown @@ -36,18 +36,21 @@ There is currently support for the following device types within Home Assistant: ## Configuration -To integrate Elk-M1 controller with Home Assistant, add the following +To integrate one or more Elk-M1 controllers with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry elkm1: - host: elk://IP_ADDRESS + - host: elk://IP_ADDRESS_1 + ... + - host: elk://IP_ADDRESS_2 + prefix: gh # for guest house controller ``` {% configuration %} host: - description: Connection string to Elk of the form `://
[:port]`. `` is `elk` for non-secure connection, `elks` for secure connection, and `serial` for serial port connection. `
` is IP address or domain or for `serial` the serial port that the Elk is connected to. Optional `` is the port to connect to on the Elk, defaulting to 2101 for `elk` and 2601 for `elks`. For `serial` method, _address_ is the path to the tty _/dev/ttyS1_ for example and `[:baud]` is the baud rate to connect with. + description: Connection string to Elk of the form `://
[:port]`. `` is `elk` for non-secure connection, `elks` for secure connection, and `serial` for serial port connection. `
` is IP address or domain or for `serial` the serial port that the Elk is connected to. Optional `` is the port to connect to on the Elk, defaulting to 2101 for `elk` and 2601 for `elks`. For `serial` method, _address_ is the path to the tty _/dev/ttyS1_ for example and `[:baud]` is the baud rate to connect with. You may have multiple host sections for connecting multiple controllers. required: true type: string username: @@ -58,6 +61,10 @@ password: description: Password to login to Elk. Only required if using `elks` connection method. required: false type: string +prefix: + description: The prefix to use, if any, for all the devices created for this controller. At most one host can omit the prefix, all others must have a unique prefix within the home assistant instance. + require: false + type: string temperature_unit: description: The temperature unit that the Elk panel uses. Valid values are `C` and `F`. required: false @@ -75,12 +82,12 @@ area: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -96,12 +103,12 @@ counter: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -117,12 +124,12 @@ keypad: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -138,12 +145,12 @@ output: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -159,12 +166,12 @@ setting: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -180,12 +187,12 @@ task: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -201,12 +208,12 @@ thermostat: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -222,12 +229,12 @@ plc: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. @@ -243,12 +250,12 @@ zone: required: false default: true include: - description: List to include in the form of either `` or `-` where `` is a postive integer or a X10 housecode. See configuration below for examples of ranges. + description: List to include in the form of either `` or `-` where `` is a positive integer or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: All included. exclude: - description: List to exclude in the form of either `` or `-` where `` is a number or a X10 housecode. See configuration below for examples of ranges. + description: List to exclude in the form of either `` or `-` where `` is a number or an X10 housecode. See configuration below for examples of ranges. type: list required: false default: None excluded. diff --git a/source/_components/entur_public_transport.markdown b/source/_components/entur_public_transport.markdown index 34d78de21cf..7e449d40d68 100644 --- a/source/_components/entur_public_transport.markdown +++ b/source/_components/entur_public_transport.markdown @@ -129,4 +129,4 @@ The stop id is the content after `id=` parameter in the url. Copy paste this int **Q:** Where do I find a line id to add to the whitelisting? -**A:** The sensor will show the line id, and is the recommended way to find it, while we wait for 'Nasjonalt Stoppestedregister' to become public. It is also possible to see the line ids by using the developer tool in the browser while looking at the trafic in [Entur's travel planer](https://en-tur.no). +**A:** The sensor will show the line id, and is the recommended way to find it, while we wait for 'Nasjonalt Stoppestedregister' to become public. It is also possible to see the line ids by using the developer tool in the browser while looking at the traffic in [Entur's travel planer](https://en-tur.no). diff --git a/source/_components/environment_canada.markdown b/source/_components/environment_canada.markdown index 3c229dd4594..8b07398d502 100644 --- a/source/_components/environment_canada.markdown +++ b/source/_components/environment_canada.markdown @@ -18,6 +18,13 @@ The following device types and data are supported: - [Sensor](#sensor) - Current conditions and alerts - [Camera](#camera) - Radar imagery +

+ + On Raspbian or Hassbian, you may need to manually install additional prerequisites with the following command: + `sudo apt-get install libatlas-base-dev libopenjp2-7` + +

+ ## Location Selection Each platform automatically determines which weather station's data to use. However, as station coordinates provided by Environment Canada are somewhat imprecise, in some cases you may need to override the automatic selection to use the desired station. @@ -40,10 +47,10 @@ weather: - platform: environment_canada ``` -- The sensor checks for new data every 10 minutes, and the source data is typically updated hourly within 10 minutes after the hour. +- The platform checks for new data every 10 minutes, and the source data is typically updated hourly within 10 minutes after the hour. - If no name is given, the weather entity will be named `weather.`. - The platform automatically determines which weather station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either: - - A specific station code based on [this CSV file](http://dd.weatheroffice.ec.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or + - A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](http://dd.weatheroffice.ec.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or - A specific latitude/longitude {% configuration %} @@ -60,7 +67,7 @@ station: required: false type: string name: - description: Name to be used for the weather entity. + description: Name to be used for the entity ID, e.g. `weather.`. required: false type: string forecast: @@ -82,11 +89,35 @@ sensor: - platform: environment_canada ``` -- By default, a sensor entity is created for each monitored condition and each category of alert. Each sensor entity will be given the `device_id` of `sensor.`. -- The sensor checks for new data every 10 minutes, and the source data is typically updated hourly within 10 minutes after the hour. +- A sensor will be created for each of the following conditions, with a default name like `sensor.temperature`: + - `temperature` - The current temperature, in ºC. + - `dewpoint` - The current dewpoint, in ºC. + - `wind_chill` - The current wind chill, in ºC. + - `humidex` - The current humidex, in ºC. + - `pressure` - The current air pressure, in kPa. + - `tendency` - The current air pressure tendency, e.g. "Rising". + - `humidity` - The current humidity, in %. + - `visibility` - The current visibility, in km. + - `condition` - A brief text statement of the current weather conditions, e.g. "Sunny". + - `wind_speed` - The current sustained wind speed, in km/h. + - `wind_gust` - The current wind gust, in km/h. + - `wind_dir` - The current cardinal wind direction, e.g. "SSW". + - `wind_bearing` - The current wind direction in degrees. + - `high_temp` - The next forecast high temperature, in ºC. + - `low_temp` - The next forecast low temperature, in ºC. + - `uv_index` - The next forecast UV index. + - `pop` - The next forecast probability of precipitation, in %. + - `text_summary` - A textual description of the next forecast period, e.g. "Tonight. Mainly cloudy. Low -12." + - `precip_yesterday` - The total amount of precipitation that fell the previous day. + - `warnings` - Current warning alerts. + - `watches` - Current watch alerts. + - `advisories` - Current advisory alerts. + - `statements` - Current special weather statements. + - `endings` - Alerts that have recently ended. - The platform automatically determines which weather station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either: - - A specific station code based on [this CSV file](http://dd.weatheroffice.ec.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or + - A specific station code of the form `AB/s0000123` based on those listed in [this CSV file](http://dd.weatheroffice.ec.gc.ca/citypage_weather/docs/site_list_towns_en.csv), or - A specific latitude/longitude +- In the case of multiple alerts in the same category, the titles and details of each are concatenated together with a pipe (`|`) separator. {% configuration %} latitude: @@ -101,58 +132,32 @@ station: description: The station code of a specific weather station to use. If provided, this station will be used and any latitude/longitude coordinates provided will be ignored. Station codes must be in the form of `AB/s0000123`, where `AB`is a provincial abbreviation and `s0000123` is a numeric station code. required: false type: string -name: - description: Name to be used for the sensor entities. +language: + description: Language to use for entity display names and textual data (English or French). required: false type: string -monitored_conditions: - description: The conditions to monitor. A sensor will be created for each condition. - required: true - type: list - default: All keys - keys: - temperature: - description: The current temperature, in ºC. - dewpoint: - description: The current dewpoint, in ºC. - wind_chill: - description: The current wind chill, in ºC. - humidex: - description: The current humidex, in ºC. - pressure: - description: The current air pressure, in kPa. - tendency: - description: The current air pressure tendency, e.g. "Rising" or "Falling". - humidity: - description: The current humidity, in %. - visibility: - description: The current visibility, in km. - condition: - description: A brief text statement of the current weather conditions, e.g. "Sunny". - wind_speed: - description: The current sustained wind speed, in km/h. - wind_gust: - description: The current wind gust, in km/h. - wind_dir: - description: The current cardinal wind direction, e.g. "SSW". - high_temp: - description: The next forecast high temperature, in ºC. - low_temp: - description: The next forecast low temperature, in ºC. - pop: - description: The next forecast probability of precipitation, in %. - warnings: - description: Current warning alerts. - watches: - description: Current watch alerts. - advisories: - description: Current advisory alerts. - statements: - description: Current special weather statements. - endings: - description: Alerts that have recently ended. + default: english +scan_interval: + description: The time between updates in seconds. + required: false + type: integer + default: 600 {% endconfiguration %} +###Alert TTS Script + +If you would like to have alerts announced via a text-to-speech service, you can use a script similar to the following: + +{% raw %} +```yaml +weather_alert_tts: + sequence: + - service: tts.amazon_polly_say + data_template: + message: "{{ states('sensor.warnings') }} in effect. {{ state_attr('sensor.warnings', 'alert detail') }}" +``` +{% endraw %} + ## Camera The `environment_canada` camera platform displays Environment Canada meteorological [radar imagery](https://weather.gc.ca/radar/index_e.html). @@ -165,6 +170,11 @@ camera: - platform: environment_canada ``` +

+ On Raspbian or Hassbian, you may need to manually install additional prerequisites with the following command: + `sudo apt-get install libatlas-base-dev libopenjp2-7` +

+ - If no name is given, the camera entity will be named `camera._radar`. - The platform automatically determines which radar station to use based on the system's latitude/longitude settings. For greater precision, it is also possible to specify either: - A specific station ID from [this table](https://en.wikipedia.org/wiki/Canadian_weather_radar_network#List_of_radars) (remove the leading `C`, e.g. `XFT` or `ASBV`), or @@ -184,7 +194,7 @@ station: required: false type: string name: - description: Name to be used for the camera entity. + description: Name to be used for the entity ID, e.g. `camera.`. required: false type: string loop: diff --git a/source/_components/fleetgo.markdown b/source/_components/fleetgo.markdown new file mode 100644 index 00000000000..b7c87e09aa4 --- /dev/null +++ b/source/_components/fleetgo.markdown @@ -0,0 +1,85 @@ +--- +title: "FleetGO" +description: "Instructions on how to use a FleetGO as a device tracker." +logo: fleetgo.png +ha_category: + - Car +ha_iot_class: Cloud Polling +ha_release: 0.76 +redirect_from: + - /components/device_tracker.ritassist/ + - /components/ritassist +--- + +The `fleetgo` device tracker platform allows you to integrate your vehicles equipped with [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map. + +## Setup + +To use this component, you need an **API key** and **API secret**, which can be requested by contacting [info@fleetgo.com](mailto:info@fleetgo.com?subject=API%20Key). + +## Configuration + +To use this device tracker in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: fleetgo + client_id: YOUR_CLIENT_ID + client_secret: YOUR_CLIENT_SECRET + username: YOUR_FLEETGO_USERNAME + password: YOUR_FLEETGO_PASSWORD + include: + - LICENSE_PLATE +``` + +{% configuration %} +client_id: + description: The client ID used to connect to the FleetGO API. + required: true + type: string +client_secret: + description: The client secret used to connect to the FleetGO API. + required: true + type: string +username: + description: Your FleetGO username. + required: true + type: string +password: + description: Your FleetGO password. + required: true + type: string +include: + description: A list of license plates to include, if this is not specified, all vehicles will be added. + required: false + type: list +{% endconfiguration %} + +See the [device tracker integration page](/components/device_tracker/) for instructions on how to configure the people to be tracked. + +## Available attributes + +| Attribute | Description | +| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| latitude | The latitude of your vehicle | +| longitude | The longitude of your vehicle | +| altitude | Altitude of your vehicle | +| id | Identifier used to identify your vehicle | +| make | The make of the vehicle | +| model | Model of your vehicle | +| license_plate | License plate number | +| active | If the engine is currently active or not | +| odo | The odometer in kilometers | +| speed | The current speed of your vehicle, in KM/h | +| last_seen | The date and time when your vehicle last communicated with the API | +| fuel_level | Fuel level of the vehicle [1] | +| malfunction_light | Are any malfunction lights burning [1] | +| coolant_temperature | Temperature of the coolant [1] | +| power_voltage | Power voltage measured by the hardware [1] | +| distance_from_home | How far is your vehicle located from your Home Assistant Home location | +| current_max_speed | The maximum speed on the road the device is currently on (if available) | +| current_address | Object with address information the device is currently on. This resolves to the closest address to the coordinates of the device. | + + +[1] Only available on certain cars and hardware revisions. diff --git a/source/_components/fortigate.markdown b/source/_components/fortigate.markdown new file mode 100644 index 00000000000..3d063e675d4 --- /dev/null +++ b/source/_components/fortigate.markdown @@ -0,0 +1,75 @@ +--- +title: "Fortigate" +description: "Instructions on how to integrate FortiGate Firewalls into Home Assistant." +logo: fortinet.jpg +ha_category: + - Presence Detection +ha_release: 0.97 +ha_iot_class: Local Polling +--- + +This is a FortiGate presence sensor based on device detection of the FortiGate API + +## FortiGate set up + +Configure the FortiGate with a USERNAME API user and assign its minimum rights profile: + +```text +config system accprofile + edit "homeassistant_profile" + set authgrp read + next +end + +config system api-user + edit "USERNAME" + set api-key API_KEY + set accprofile "homeassistant_profile" + set vdom "root" + config trusthost + edit 1 + set ipv4-trusthost + next + end + next +end +``` + +## Configuration + +Add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +fortigate: + host: HOST_IP + username: YPUR_USERNAME + api_key: YOUR_API_KEY +``` + +{% configuration %} +host: + description: The IP address of the FortiGate device. + required: true + type: string +username: + description: The username of the user that will connect to the FortiGate device. + required: true + type: string +api_key: + description: The API key associated with the user. + required: true + type: string +devices: + description: The MAC addresses of the devices to monitor. + required: false + type: string +{% endconfiguration %} + +## Errors + +If the rights of the profile are not sufficient, you will get the following error: + +```txt +ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved +``` diff --git a/source/_components/fortios.markdown b/source/_components/fortios.markdown new file mode 100644 index 00000000000..e74f7c3a6cc --- /dev/null +++ b/source/_components/fortios.markdown @@ -0,0 +1,42 @@ +--- +title: "Device Tracker FortiOS" +description: "Instructions on how to use Fortinet FortiOS to track devices in Home Assistant." +logo: fortinet.png +ha_category: + - Presence Detection +ha_release: 0.97 +ha_iot_class: Local Polling +--- + +This integration enables Home Assistant to do device tracking of devices with a MAC address connected to a FortiGate from [Fortinet](https://www.fortinet.com). + +The integration relies on the [fortiosapi](https://pypi.org/project/fortiosapi/). +The integration has been tested both on FortiGate appliance and FortiGate VM running SW FortiOS v. 6.0.x and 6.2.0. + +All devices with a MAC address identified by FortiGate would be tracked, this covers both Ethernet and WiFi devices, including devices detected by LLDP. + +The integration is based on the Home Assistant `device_tracker` platform. + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: fortios + host: YOUR_HOST + token: YOUR_API_USER_KEY +``` + +{% configuration %} +host: + description: Hostname or IP address of the FortiGate. + required: true + type: string +token: + description: "See [Fortinet Developer Network](https://fndn.fortinet.com) for how to create an API token. Remember this integration only needs read access to a FortiGate, so configure the API user to only to have limited and read-only access." + required: true + type: string +verify_ssl: + description: If the SSL certificate should be verified. In most home cases users do not have a verified certificate. + required: false + type: boolean + default: false +{% endconfiguration %} diff --git a/source/_components/freebox.markdown b/source/_components/freebox.markdown index 04327b4e502..df7c6bc8611 100644 --- a/source/_components/freebox.markdown +++ b/source/_components/freebox.markdown @@ -45,9 +45,9 @@ port: type: string {% endconfiguration %} -You can find out your Freebox host and port by opening -[this address](http://mafreebox.freebox.fr/api_version) in your browser. The +You can find out your Freebox host and port by opening the address mafreebox.freebox.fr/api_version in your browser. The returned json should contain an api_domain (`host`) and a https_port (`port`). +Please consult the [api documentation](https://dev.freebox.fr/sdk/os/) for more information. ### Initial setup @@ -60,7 +60,7 @@ authorize it by pressing the right arrow on the facade of the Freebox when prompted to do so. To make the WiFi switch working you will have to add "Modification des réglages de la Freebox -" permission to Home Assitant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications". +" permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications". ### Supported routers diff --git a/source/_components/fronius.markdown b/source/_components/fronius.markdown new file mode 100644 index 00000000000..fb23ba7b51c --- /dev/null +++ b/source/_components/fronius.markdown @@ -0,0 +1,98 @@ +--- +title: "Fronius" +description: "Instructions on how to connect your Fronius Inverter to Home Assistant." +ha_category: + - Energy + - Sensor +logo: fronius.png +ha_iot_class: Local Polling +ha_release: 0.96 +--- + +The `fronius` sensor will poll a [Fronius](http://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors (or attributes of sensors) in Home Assistant. + +## Configuration + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +sensor: + - platform: fronius + resource: FRONIUS_URL + monitored_conditions: + - sensor_type: inverter +``` + +{% configuration %} +resource: + description: "The IP address of the Fronius device" + required: true + type: string +monitored_conditions: + description: "Conditions to display in the frontend" + required: true + type: list + keys: + type: + description: "The kind of device, can be one of \"inverter\", \"storage\", \"meter\", or \"power_flow\"" + required: true + type: string + scope: + description: "The device type for storage and inverter, can be either \"device\" or \"system\"" + required: false + type: string + default: "device" + device: + description: "The id of the device to poll" + required: false + default: "\"1\" for inverters and \"0\" for other devices such as storages in compliance with Fronius Specs" +{% endconfiguration %} + +## Examples + +When including more of the components that one Fronius device offers, +a list of sensors that are to be integrated can be given like below. + +```yaml +sensor: + - platform: fronius + resource: FRONIUS_IP_ADDRESS + monitored_conditions: + - sensor_type: inverter + device: 1 + - sensor_type: meter + scope: system + - sensor_type: meter + device: 3 + - sensor_type: storage + device: 0 + - sensor_type: power_flow +``` + +## Sensors configuration + +To extract more detailed values from the state of each integrated sensor and to circumvent undefined values, +it is recommended to use template sensors as an interface: + +{% raw %} +```yaml +- platform: template + sensors: + electricity_inverter1_power_netto: + unit_of_measurement: 'W' + value_template: >- + {% if states.sensor.fronius_1921684247_inverter_1.attributes.power_ac is defined -%} + {{ states_attr('sensor.fronius_1921684247_inverter_1', 'power_ac') | float | round(2) }} + {%- else -%} + 0 + {%- endif %} + electricity_autonomy: + unit_of_measurement: '%' + value_template: >- + {% if states.sensor.fronius_1921684247_power_flow.attributes.relative_autonomy is defined -%} + {{ states_attr('sensor.fronius_1921684247_power_flow', 'relative_autonomy') | float | round(2) }} + {%- else -%} + 0 + {%- endif %} +``` +{% endraw %} diff --git a/source/_components/frontier_silicon.markdown b/source/_components/frontier_silicon.markdown index d71ce1e1d33..e44058fe4c7 100644 --- a/source/_components/frontier_silicon.markdown +++ b/source/_components/frontier_silicon.markdown @@ -100,8 +100,8 @@ The Frontier Silicon API does not provide a multi-user environment. There is alw [Medion Radios]: http://internetradio.medion.com/ [IR110]: https://www.hama.com/00054823/hama-ir110-internet-radio-internet-radio-multi-room-app-control [DIR3110]: https://www.hama.com/00054824/hama-digitalradio-dir3110-internetradio-dab+-fm-multiroom-app-steuerung -[MD 87466]: https://www.medion.com/de/shop/internet-dab-radios-medion-kuechen-internetradio-medion-p83302-md-87466-50051273a1.html -[SIRD 14 C2]: https://www.lidl.de/de/silvercrest-stereo-internetradio-sird-14-c2/p233545 +[MD 87466]: https://www.medion.com/gb/service/start/_product.php?msn=50051273&gid=14 +[SIRD 14 C2]: https://www.silvercrest-multiroom.de/fileadmin/user_upload/pdf/handbucher/Bedienungsanleitungen/IR/279398_SIRD_14_C2_ML4_V1.1_GB_CZ_SK_DE.pdf [fsapi]: https://github.com/zhelev/python-fsapi [UNDOK]: http://www.frontier-silicon.com/undok [flammy]: https://github.com/flammy/fsapi/ diff --git a/source/_components/generic_thermostat.markdown b/source/_components/generic_thermostat.markdown index 348c8911ae2..ce18077f285 100644 --- a/source/_components/generic_thermostat.markdown +++ b/source/_components/generic_thermostat.markdown @@ -73,7 +73,7 @@ keep_alive: required: false type: [time, integer] initial_hvac_mode: - description: Set the initial HVAC mode. Valid values are `heat`, `cool` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. + description: Set the initial HVAC mode. Valid values are `off`, `heat` or `cool`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state. required: false type: string away_temp: diff --git a/source/_components/geniushub.markdown b/source/_components/geniushub.markdown index cc5aeb34de8..703ca7f966a 100644 --- a/source/_components/geniushub.markdown +++ b/source/_components/geniushub.markdown @@ -4,9 +4,9 @@ description: "Instructions on how to integrate Genius Hub with Home Assistant." logo: geniushub.png ha_category: - Climate - - Water heater + - Water Heater - Sensor - - Binary sensor + - Binary Sensor ha_release: 0.92 ha_iot_class: Local Polling --- diff --git a/source/_components/geo_location.markdown b/source/_components/geo_location.markdown index b115262e62b..a4ef666e619 100644 --- a/source/_components/geo_location.markdown +++ b/source/_components/geo_location.markdown @@ -15,11 +15,12 @@ The [Geolocation trigger](/docs/automation/trigger/#geolocation-trigger) can be | Platform | Source | |---------------------------------------------------|-------------------------------| -| GeoJSON Events | `geo_json_events` | -| IGN Sismología | `ign_sismologia` | -| NSW Rural Fire Service Incidents | `nsw_rural_fire_service_feed` | -| Queensland Bushfire Alert | `qld_bushfire` | -| U.S. Geological Survey Earthquake Hazards Program | `usgs_earthquakes_feed` | +| GeoJSON Events | `geo_json_events` | +| IGN Sismología | `ign_sismologia` | +| NSW Rural Fire Service Incidents | `nsw_rural_fire_service_feed` | +| Queensland Bushfire Alert | `qld_bushfire` | +| U.S. Geological Survey Earthquake Hazards Program | `usgs_earthquakes_feed` | +| The World Wide Lightning Location Network | `wwlln` | Conditions can be used to further filter entities, for example by inspecting their state attributes. diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index ab4f6bdaec0..4dc35bc5a0b 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -29,7 +29,7 @@ To use Google Assistant, your Home Assistant configuration has to be [externally ## Migrate to release 0.80 and above
-If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [maual setup instructions](#first-time-setup) below. +If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [manual setup instructions](#first-time-setup) below.
@@ -248,7 +248,7 @@ The request_sync service may fail with a 404 if the project_id of the Homegraph 4. Generate a new API key. 5. Again, create a new project in the [Actions on Google console](https://console.actions.google.com/). Described above. But at the step 'Build under the Actions SDK box' choose your newly created project. By this, they share the same `project_id`. -Syncing may also fail after a period of time, likely around 30 days, due to the fact that your Actions on Google app is techincally in testing mode and has never been published. Eventually, it seems that the test expires. Control of devices will continue to work but syncing may not. If you say "Ok Google, sync my devices" and get the response "Unable to sync Home Assistant", this can usually be resolved by going back to your test app in the [Actions on Google console](https://console.actions.google.com/) and clicking `Simulator` under `TEST`. Regenerate the draft version Test App and try asking Google to sync your devices again. +Syncing may also fail after a period of time, likely around 30 days, due to the fact that your Actions on Google app is technically in testing mode and has never been published. Eventually, it seems that the test expires. Control of devices will continue to work but syncing may not. If you say "Ok Google, sync my devices" and get the response "Unable to sync Home Assistant", this can usually be resolved by going back to your test app in the [Actions on Google console](https://console.actions.google.com/) and clicking `Simulator` under `TEST`. Regenerate the draft version Test App and try asking Google to sync your devices again. ### Troubleshooting with NGINX diff --git a/source/_components/google_maps.markdown b/source/_components/google_maps.markdown index e0dfa1f4b7f..b6a7dc4d694 100644 --- a/source/_components/google_maps.markdown +++ b/source/_components/google_maps.markdown @@ -14,9 +14,12 @@ The `google_maps` platform allows you to detect presence using the unofficial AP ## Configuration -You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing). +You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). -This platform will create a file named `.google_maps_location_sharing.cookies` extended with the slugified username where it caches your login session. +1. You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing). +2. You must use `mapscookiegettercli` to get a cookie file which can be used with this device tracker. See more information [here](#maps-cookie-getter) +3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account. + - For example: if your email was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`.
@@ -32,7 +35,6 @@ To integrate Google Maps Location Sharing in Home Assistant, add the following s device_tracker: - platform: google_maps username: YOUR_USERNAME - password: YOUR_PASSWORD ``` {% configuration %} @@ -48,4 +50,25 @@ max_gps_accuracy: description: Sometimes Google Maps can report GPS locations with a very low accuracy (few kilometers). That can trigger false zoning. Using this parameter, you can filter these false GPS reports. The number has to be in meters. For example, if you put 200 only GPS reports with an accuracy under 200 will be taken into account - Defaults to 100km if not specified. required: false type: float +scan_interval: + description: The frequency (in seconds) to check for location updates. + required: false + default: 60 + type: integer {% endconfiguration %} + +### Maps Cookie Getter + +You must run the [`mapscookiegetter`](https://mapscookiegettercli.readthedocs.io/en/latest/) tool to get the cookie file from a computer with a Web Browser. To install, your computer must have Python 3 and PIP installed: + +```shell +pip3 install mapscookiegettercli +``` + +Then run the command: + +```shell +maps-cookie-getter +``` + +This will open up a browser window for you to log-in to the NEW Google Account (the one you are sharing the location with, not your normal account). After logging in, the program will save the pickled cookie file `location_sharing.cookies` in the same directory as you ran the command from. Copy this to your Home Assistant configuration directory and rename as described above. diff --git a/source/_components/gtt.markdown b/source/_components/gtt.markdown index 15a922a1074..1c2ddd72976 100644 --- a/source/_components/gtt.markdown +++ b/source/_components/gtt.markdown @@ -28,7 +28,7 @@ stop: required: true type: string bus_name: - description: The name of the choosen bus. + description: The name of the chosen bus. required: false type: string {% endconfiguration %} diff --git a/source/_components/heatmiser.markdown b/source/_components/heatmiser.markdown index d63a58764fc..57514e613bb 100644 --- a/source/_components/heatmiser.markdown +++ b/source/_components/heatmiser.markdown @@ -10,7 +10,7 @@ redirect_from: - /components/climate.heatmiser/ --- -The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](https://www.heatmisershop.co.uk/thermostats) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP. +The `heatmiser` climate platform let you control [Heatmiser DT/DT-E/PRT/PRT-E](https://www.heatmisershop.co.uk/room-thermostats/) thermostats from Heatmiser. The module itself is currently setup to work over a RS232 -> RS485 converter, therefore it connects over IP. Further work would be required to get this setup to connect over Wifi, but the HeatmiserV3 python module being used is a full implementation of the V3 protocol. diff --git a/source/_components/heos.markdown b/source/_components/heos.markdown index 2b27acccfbd..d49f308d4d5 100644 --- a/source/_components/heos.markdown +++ b/source/_components/heos.markdown @@ -41,7 +41,7 @@ A connection to a single device enables control for all devices on the network. ### Service `heos.sign_in` -Use the sign-in service to sign the connected controller into a HEOS account so that it can retreive and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload: +Use the sign-in service to sign the connected controller into a HEOS account so that it can retrieve and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload: ```json { @@ -142,7 +142,7 @@ You can play a URL through a HEOS media player using the `media_player.play_medi ### Debugging -The HEOS integration will log additional information about commands, events, and other messages when the log level is set to `debug`. Add the the relevent line below to the `configuration.yaml` to enable debug logging: +The HEOS integration will log additional information about commands, events, and other messages when the log level is set to `debug`. Add the the relevant line below to the `configuration.yaml` to enable debug logging: ```yaml logger: @@ -157,4 +157,4 @@ logger: If the HEOS controller is not signed in to a HEOS account, HEOS favorites will not be populated in the media player source selection and the service `media_player.play_media` for `favorite` and `playlist` will fail. Additionally, the following warning will be logged at startup: > IP_ADDRESS is not logged in to a HEOS account and will be unable to retrieve HEOS favorites: Use the 'heos.sign_in' service to sign-in to a HEOS account -To resolve this issue, use the `heos.sign_out` service to sign the controller into an account as documented above. This only needs to be performed once, as the controller will remain signed in while the account credentails are valid. +To resolve this issue, use the `heos.sign_out` service to sign the controller into an account as documented above. This only needs to be performed once, as the controller will remain signed in while the account credentials are valid. diff --git a/source/_components/hive.markdown b/source/_components/hive.markdown index ac475fd8bd1..f1532ff16f5 100644 --- a/source/_components/hive.markdown +++ b/source/_components/hive.markdown @@ -25,11 +25,12 @@ This integration uses the unofficial API used in the official Hive website [http There is currently support for the following device types within Home Assistant: -- [Binary Sensor](#binary-sensor) -- [Climate](#climate) -- [Light](#light) -- [Sensor](#sensor) -- [Switch](#switch) +- [Binary Sensor](#Binary-Sensor) +- [Climate](#Climate) +- [Light](#Light) +- [Sensor](#Sensor) +- [Switch](#Switch) +- [Water Heater](#Water-Heater) To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file: @@ -102,3 +103,11 @@ The `hive` switch platform integrates your Hive plugs into Home Assistant, enabl The platform supports the following Hive products: - Hive Active Plug + +## Water Heater + +The `hive` water heater platform integrates your Hive hot water into Home Assistant, enabling control of setting the **mode**. + +The platform supports the following Hive products: + +- Hot Water Control diff --git a/source/_components/hlk_sw16.markdown b/source/_components/hlk_sw16.markdown index fbeb7109a12..571562e0074 100644 --- a/source/_components/hlk_sw16.markdown +++ b/source/_components/hlk_sw16.markdown @@ -76,7 +76,7 @@ deviceid: type: map keys: relayid: - description: The array that contains the HLK-SW16 relays, each must be a number between 0 and 9 or letter between a and f which each corresponds to a labled relay switch on the HLK-SW16. + description: The array that contains the HLK-SW16 relays, each must be a number between 0 and 9 or letter between a and f which each corresponds to a labeled relay switch on the HLK-SW16. required: false type: map keys: diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index 4717a5c62a6..64ef560e215 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -114,11 +114,11 @@ homekit: type: map keys: name: - description: Name of the entity to show in HomeKit. HomeKit will cache the name on the first run so a device must be removed and then re-added for any change to take effect. + description: Name of the entity to show in HomeKit. HomeKit will cache the name on the first run so the accessory must be [reset](#resetting-accessories) for any change to take effect. required: false type: string linked_battery_sensor: - description: The `entity_id` of a `sensor` entity to use as the battery of the accessory. HomeKit will cache an accessory's feature set on the first run so a device must be removed and then re-added for any change to take effect. + description: The `entity_id` of a `sensor` entity to use as the battery of the accessory. HomeKit will cache an accessory's feature set on the first run so a device must be [reset](#resetting-accessories) for any change to take effect. required: false type: string low_battery_threshold: @@ -141,7 +141,7 @@ homekit: required: true type: string type: - description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `faucet`, `outlet`, `shower`, `sprinkler`, `switch` and `valve`. HomeKit will cache the type on the first run so a device must be removed and then re-added for any change to take effect. + description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `faucet`, `outlet`, `shower`, `sprinkler`, `switch` and `valve`. HomeKit will cache the type on the first run so a device must be [reset](#resetting-accessories) for any change to take effect. required: false type: string default: '`switch`' @@ -460,12 +460,20 @@ To fix this, you need to unpair the `Home Assistant Bridge`, delete the `.homeki #### The linked battery sensor isn't recognized -Try removing the entity from HomeKit and then adding it again. If you are adding this config option to an existing entity in HomeKit, any changes you make to this entity's config options won't appear until the accessory is removed from HomeKit and then re-added. +Try removing the entity from HomeKit and then adding it again. If you are adding this config option to an existing entity in HomeKit, any changes you make to this entity's config options won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories). #### My media player is not showing up as a television accessory -Media Player entities with `device_class: tv` will show up as Television accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added. +Media Player entities with `device_class: tv` will show up as Television accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added. See [resetting accessories](#resetting-accessories). #### Can't control volume of your TV media player? The volume and play/pause controls will show up on the Remote app or Control Center. If your TV supports volume control through Home Assistant, you will be able to control the volume using the side volume buttons on the device while having the remote selected on screen. + +#### Resetting accessories + +On Home Assistant `0.97.x` or later, you may use the service `homekit.reset_accessory` with one or more entity_ids to reset accessories whose configuration may have changed. This can be useful when changing a media_player's device class to `tv`, linking a battery, or whenever HomeAssistant add supports for new HomeKit features to existing entities. + +On earlier versions of Home Assistant, you can reset accessories by removing the entity from HomeKit (via [filter](#configure-filter)) and then re-adding the accessory. + +With either strategy, the accessory will behave as if it's the first time the accessory has been set up, so you will need to restore the name, group, room, scene, and/or automation settings. diff --git a/source/_components/homekit_controller.markdown b/source/_components/homekit_controller.markdown index c595c781d09..2df614d999e 100644 --- a/source/_components/homekit_controller.markdown +++ b/source/_components/homekit_controller.markdown @@ -24,7 +24,7 @@ redirect_from: - /components/sensor.homekit_controller/ --- -[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This integration should not be confused with the [HomeKit](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit. +[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This integration should not be confused with the [HomeKit](/components/homekit/) integration, which allows you to control Home Assistant devices via HomeKit. There is currently support for the following device types within Home Assistant: @@ -34,9 +34,9 @@ There is currently support for the following device types within Home Assistant: - Light (HomeKit lights) - Lock (HomeKit lock) - Switch (HomeKit switches) -- Binary Sensor (HomeKit motion sensors) +- Binary Sensor (HomeKit motion sensors and contact sensors) - Sensor (HomeKit humidity, temperature, and light level sensors) The integration will be automatically configured if the [`discovery`](/components/discovery/) integration is enabled. -For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN. Note that HomeKit accessories can only be paired to one device at once. If your device is currently paired with Siri, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri with the [`HomeKit`](/components/homekit/) component. +For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN. Note that HomeKit accessories can only be paired to one device at once. If your device is currently paired with Siri, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri with the [`HomeKit`](/components/homekit/) integration. diff --git a/source/_components/homematicip_cloud.markdown b/source/_components/homematicip_cloud.markdown index 6d817784386..8d16d1f54b5 100644 --- a/source/_components/homematicip_cloud.markdown +++ b/source/_components/homematicip_cloud.markdown @@ -86,6 +86,7 @@ authtoken: * homematicip_cloud.binary_sensor * Window and door contact (*HmIP-SWDO, -I*) + * Contact Interface flush-mount – 1 channel (*HmIP-FCI1*) * Window Rotary Handle Sensor (*HmIP-SRH*) * Smoke sensor and alarm (*HmIP-SWSD*) * Motion Detector with Brightness Sensor - indoor (*HmIP-SMI*) @@ -110,8 +111,10 @@ authtoken: * Temperature and humidity Sensor with display (*HmIP-STHD*) * homematicip_cloud.cover - * Shutter actuator brand-mount (*HmIP-BROLL*) - * Shutter actuator flush-mount (*HmIP-FROLL*) + * Shutter actuator for brand-mount (*HmIP-BROLL*) + * Shutter actuator for flush-mount (*HmIP-FROLL*) + * Blind Actuator for brand switches (*HmIP-BBL*) + * Blind Actuator for flush-mount (*HmIP-FBL*) * homematicip_cloud.light * Switch actuator and meter for brand switches (*HmIP-BSM*) @@ -138,13 +141,83 @@ authtoken: * Switch Actuator and Meter – flush-mount (*HmIP-FSM, -FSM16*) * Open Collector Module Receiver - 8x (*HmIP-MOD-OC8*) * Multi IO Box - 2x (*HmIP-MIOB*) + * Switch Circuit Board - 1x channels (*HmIP-PCBS*) + * Switch Circuit Board - 2x channels (*HmIP-PCBS2*) + * Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*) * homematicip_cloud.weather * Weather Sensor – basic (*HmIP-SWO-B*) * Weather Sensor – plus (*HmIP-SWO-PL*) * Weather Sensor – pro (*HmIP-SWO-PR*) -Additional info: +## Services + +- `homematicip_cloud.activate_eco_mode_with_duration`: Activate eco mode with duration. +- `homematicip_cloud.activate_eco_mode_with_period`: Activate eco mode with period. +- `homematicip_cloud.activate_vacation`: Activates the vacation mode until the given time. +- `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately. +- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately. + +### Service Examples + +`accesspoint_id` (SGTIN) is optional for all services and only relevant if you have multiple Homematic IP Accesspoints connected to HA. If empty, service will be called for all configured Homematic IP Access Points. +The `accesspoint_id` (SGTIN) can be found on top of the integration page, or on the back of your Homematic IP Accesspoint. + +Activate eco mode with duration. + +```yaml +... +action: + service: homematicip_cloud.activate_eco_mode_with_duration + data: + duration: 60 + accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx +``` + +Activate eco mode with period. + +```yaml +... +action: + service: homematicip_cloud.activate_eco_mode_with_period + data: + endtime: 2019-09-17 18:00 + accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx +``` + +Activates the vacation mode until the given time. + +```yaml +... +action: + service: homematicip_cloud.activate_vacation + data: + endtime: 2019-09-17 18:00 + temperature: 18.5 + accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx +``` + +Deactivates the eco mode immediately. + +```yaml +... +action: + service: homematicip_cloud.deactivate_eco_mode + data: + accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx +``` + +Deactivates the vacation mode immediately. + +```yaml +... +action: + service: homematicip_cloud.deactivate_vacation_mode + data: + accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx +``` + +## Additional info Push button devices are only available with a battery sensor. This is due to a limitation of the vendor API (eq3). It's not possible to detect a key press event on these devices at the moment. diff --git a/source/_components/honeywell.markdown b/source/_components/honeywell.markdown index fa2b3e13c1c..5e4463aad00 100644 --- a/source/_components/honeywell.markdown +++ b/source/_components/honeywell.markdown @@ -17,9 +17,11 @@ It does not support the home security functionality of TCC. It uses the [somecomfort](https://github.com/kk7ds/somecomfort) client library.
+ There is some potential confusion over this integration because it was previously implemented as a combination of two _distinct_ climate systems, one being US-based, the other EU-based. These two regions are _not_ interchangeable, and the `eu` region is now deprecated. Ongoing support for such systems is available via the [evohome](/components/evohome/) integration. +
### US-based Systems diff --git a/source/_components/huawei_lte.markdown b/source/_components/huawei_lte.markdown index b8b05e1dea3..09d4dff41f9 100644 --- a/source/_components/huawei_lte.markdown +++ b/source/_components/huawei_lte.markdown @@ -122,8 +122,8 @@ sensor: monitored_conditions: - device_information.SoftwareVersion - device_signal.rssi - - traffic_statistics.CurrentDownloadRate - - traffic_statistics.TotalConnectTime + - monitoring_traffic_statistics.CurrentDownloadRate + - monitoring_traffic_statistics.TotalConnectTime ``` {% configuration %} @@ -152,14 +152,14 @@ monitored_conditions: device_signal.sinr: description: The signal SINR value. default: default - traffic_statistics.CurrentDownloadRate: + monitoring_traffic_statistics.CurrentDownloadRate: description: Current download rate, bytes/sec. - traffic_statistics.CurrentUploadRate: + monitoring_traffic_statistics.CurrentUploadRate: description: Current upload rate, bytes/sec. - traffic_statistics.TotalUpload: + monitoring_traffic_statistics.TotalUpload: description: Total bytes uploaded since last reset. - traffic_statistics.TotalDownload: + monitoring_traffic_statistics.TotalDownload: description: Total bytes downloaded since last reset. - traffic_statistics.TotalConnectTime: + monitoring_traffic_statistics.TotalConnectTime: description: Total time connected since last reset. {% endconfiguration %} diff --git a/source/_components/hydrawise.markdown b/source/_components/hydrawise.markdown index ff00aee162c..07abf835472 100644 --- a/source/_components/hydrawise.markdown +++ b/source/_components/hydrawise.markdown @@ -45,7 +45,7 @@ scan_interval: default: 30 {% endconfiguration %} -To get your API access token log into your [Hydrawise account](https://app.hydrawise.com/config/account) and in the 'My Account Details' section under Account Settings click 'Generate API Key'. Enter that key in your configuration file as the `API_KEY`. +To get your API access token log into your [Hydrawise account](https://app.hydrawise.com/config/login) and in the 'My Account Details' section under Account Settings click 'Generate API Key'. Enter that key in your configuration file as the `API_KEY`. ## Binary Sensor @@ -141,4 +141,4 @@ switch: switch: - platform: hydrawise monitored_conditions: manual_watering -``` \ No newline at end of file +``` diff --git a/source/_components/ifttt.markdown b/source/_components/ifttt.markdown index 3a0a2eb4be5..36d15bcdfad 100644 --- a/source/_components/ifttt.markdown +++ b/source/_components/ifttt.markdown @@ -81,7 +81,7 @@ ifttt: ### Testing your trigger -You can use the **Developer tools** to test your [Webhooks](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant frontend, open the sidebar, click on the first icon in the developer tools. This should get you to the **Call Service** screen. Fill in the following values: +You can use **Developer Tools** to test your [Webhooks](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant sidebar, click on Developer Tools, and then the **Services** tab. Fill in the following values: Field | Value ----- | ----- diff --git a/source/_components/incomfort.markdown b/source/_components/incomfort.markdown index eea63d85b9d..57748c30438 100644 --- a/source/_components/incomfort.markdown +++ b/source/_components/incomfort.markdown @@ -3,10 +3,10 @@ title: "Intergas InComfort" description: "Instructions on how to integrate an Intergas Lan2RF gateway with Home Assistant." logo: incomfort.png ha_category: - - Water heater + - Water Heater - Climate - Sensor - - Binary sensor + - Binary Sensor ha_release: 0.93 ha_iot_class: Local Polling --- diff --git a/source/_components/input_datetime.markdown b/source/_components/input_datetime.markdown index 7332b6205c2..e04b2f692f5 100644 --- a/source/_components/input_datetime.markdown +++ b/source/_components/input_datetime.markdown @@ -21,13 +21,16 @@ add the following lines to your `configuration.yaml`: input_datetime: both_date_and_time: name: Input with both date and time - has_ has_time: true + has_date: true + has_time: true only_date: name: Input with only date - has_ has_time: false + has_date: true + has_time: false only_time: name: Input with only time - has_ has_time: true + has_date: false + has_time: true ``` {% configuration %} @@ -50,6 +53,10 @@ input_datetime: required: false type: boolean default: false + icon: + description: Icon to display in the frontend. + required: false + type: icon initial: description: Set the initial value of this input, depending on `has_time` and `has_date`. required: false @@ -68,6 +75,7 @@ automations and templates. | `has_date` | `true` if this entity has a date. | `year`
`month`
`day` | The year, month and day of the date.
(only available if `has_| `hour`
`minute`
`second` | The hour, minute and second of the time.
(only available if `has_time: true`) | `timestamp` | A timestamp representing the time held in the input.
If `has_ + ### Restore State This integration will automatically restore the state it had prior to Home diff --git a/source/_components/kodi.markdown b/source/_components/kodi.markdown index 9301bf6aa49..57142d81195 100644 --- a/source/_components/kodi.markdown +++ b/source/_components/kodi.markdown @@ -299,8 +299,6 @@ script: method: VideoLibrary.Scan ``` -For a more complex usage of the `kodi_call_method` service, with event triggering of Kodi API results, you can have a look at this [example](/cookbook/automation_kodi_dynamic_input_select/) - ## Notifications The `kodi` notifications platform allows you to send messages to your [Kodi](https://kodi.tv/) multimedia system from Home Assistant. diff --git a/source/_components/kwb.markdown b/source/_components/kwb.markdown index 9443bb92505..ebee98cdf92 100644 --- a/source/_components/kwb.markdown +++ b/source/_components/kwb.markdown @@ -10,7 +10,7 @@ redirect_from: - /components/sensor.kwb/ --- -The `kwb` integration integrates the sensors of KWB Easyfire pellet central heating units with the Comfort3 controller () into Home Assistant. +The `kwb` integration integrates the sensors of KWB Easyfire pellet central heating units with the Comfort3 controller (https://www.kwb.net/produkte/) into Home Assistant. Direct connection via serial (RS485) or via telnet terminal server is supported. The serial cable has to be attached to the control unit port 25 (which is normally used for detached control terminals). diff --git a/source/_components/lcn.markdown b/source/_components/lcn.markdown index 8153567d862..146ae5852a0 100644 --- a/source/_components/lcn.markdown +++ b/source/_components/lcn.markdown @@ -21,7 +21,7 @@ redirect_from: The `lcn` integration for Home Assistant allows you to connect to [LCN](http://www.lcn.eu) hardware devices. -The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and a LCN hardware coupler. Alternatively a LCN-PKE coupler can be used which offers two PCHK licenses. +The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler. Alternatively, an LCN-PKE coupler can be used which offers two PCHK licenses. With this setup sending and receiving commands to and from LCN modules is possible. There is currently support for the following device types within Home Assistant: @@ -36,8 +36,8 @@ There is currently support for the following device types within Home Assistant:
- Please note: Besides the implemented platforms the `lcn` integration offers a variety of [service calls](#services). - These service calls cover functionalities of the LCN system which cannot be represented by the platform implementations. + Please note: Besides the implemented platforms, the `lcn` integration offers a variety of [service calls](#services). + These service calls cover functionalities of the LCN system, which cannot be represented by the platform implementations. They are ideal to be used in automation scripts or for the `template` platforms.
@@ -45,7 +45,7 @@ There is currently support for the following device types within Home Assistant: ## Configuration To use your LCN system in your installation, add the following lines to your `configuration.yaml` file. -You have to specify at least one ip/port with login credentials for a PCHK host. +You have to specify at least one IP/port with login credentials for a PCHK host. Consider to store your credentials in a [secrets.yaml](/docs/configuration/secrets). ```yaml @@ -97,7 +97,7 @@ lcn: address: myhome.s0.m7 source: var3 unit_of_measurement: °C - + switches: - name: Sprinkler switch address: myhome.s0.m7 @@ -127,7 +127,7 @@ connections: required: true type: string name: - description: Optional connection identifier. If omited, the connections will be named consecutively as _pchk_, _pchk1_, _pchk2_, ... + description: Optional connection identifier. If omitted, the connections will be named consecutively as _pchk_, _pchk1_, _pchk2_, ... required: false default: pchk type: string @@ -219,6 +219,10 @@ covers: description: "Motor port ([MOTOR_PORT](#ports))." required: true type: string + reverse_time: + description: "Reverse time ([REVERSE_TIME](#variables-and-units), see also [Cover](#cover))." + required: false + type: string lights: description: List of your lights. @@ -329,7 +333,7 @@ Modules can be arranged in _segments_. Segments can be addressed by their numeri LCN Modules within the _same_ segment can be grouped by their group id (5..254) or 3 (= target all groups.) -The LCN integration allows the connection to more than one hardware coupler. In this case it has to be specified which hardware coupler should be used for addressing the specified module. +The LCN integration allows the connection to more than one hardware coupler. In this case, it has to be specified which hardware coupler should be used for addressing the specified module. Whenever the address of a module or a group has to be specified, it can be addressed using one of the following syntaxes: @@ -363,12 +367,12 @@ The platforms and service calls use several predefined constants as parameters. | -------- | ------ | | OUTPUT_PORT | `output1`, `output2`, `output3`, `output4` | | RELAY_PORT | `relay1`, `relay2`, `relay3`, `relay4`, `relay5`, `relay6`, `relay7`, `relay8` | -| MOTOR_PORT | `motor1`, `motor2`, `motor3`, `motor4` | +| MOTOR_PORT | `motor1`, `motor2`, `motor3`, `motor4`, `outputs` | | LED_PORT | `led1`, `led2`, `led3`, `led4`, `led5`, `led6`, `led7`, `led8`, `led9`, `led10`, `led11`, `led12` | | LOGICOP_PORT | `logicop1`, `logicop2`, `logicop3`, `logicop4` | | BINSENSOR_PORT | `binsensor1`, `binsensor2`, `binsensor3`, `binsensor4`, `binsensor5`, `binsensor6`, `binsensor7`, `binsensor8` | -The [MOTOR_PORT](#ports) values specify which hardware relay configuration will be used: +The [MOTOR_PORT](#ports) values specify which hardware relay or outputs configuration will be used: | Motor | Relay on/off | Relay up/down | | :------: | :----------: | :-----------: | @@ -377,6 +381,11 @@ The [MOTOR_PORT](#ports) values specify which hardware relay configuration will | `motor3` | `relay5` | `relay6` | | `motor4` | `relay7` | `relay8` | +| Motor | Output up | Output down | +| :-------: | :-------: | :---------: | +| `outputs` | `output1` | `output2` | + + ### Variables and Units | Constant | Values | @@ -388,6 +397,7 @@ The [MOTOR_PORT](#ports) values specify which hardware relay configuration will | VAR_UNIT | `native`, `°C`, `°K`, `°F`, `lux_t`, `lux_i`, `m/s`, `%`, `ppm`, `volt`, `ampere`, `degree` | | TIME_UNIT | `seconds`, `minutes`, `hours`, `days` | | RELVARREF | `current`, `prog` | +| REVERSE_TIME | `rt70`, `rt600`, `rt1200` | ### States: @@ -417,19 +427,30 @@ The binary sensor can be used in automation scripts or in conjunction with `temp ### Climate The `lcn` climate platform allows the control of the [LCN](http://www.lcn.eu) climate regulators. -This platform depends on the correct configuration of the module's regulators which has to be done in the LCN-PRO programming software. -You need to specify at least the variable for the current temperature and a setpoint variable for the target temperature. -If the control is set lockable, the regulator can be turned on/off. +This platform depends on the correct configuration of the module's regulators, which has to be done in the LCN-PRO programming software. +You need to specify at least the variable for the current temperature and a setpoint variable for the target temperature. +If the control is set lockable, the regulator can be turned on/off.
-If you intend to leave the regulation to home assistant, you should consider using the [Generic Thermostat](climate.generic_thermostat) in conjuction with [LCN Sensor](#sensor) and [LCN Switch](#switch). +If you intend to leave the regulation to Home Assistant, you should consider using the [Generic Thermostat](/components/generic_thermostat/) in conjunction with [LCN Sensor](#sensor) and [LCN Switch](#switch).
### Cover -The `lcn` cover platform allows the control of [LCN](http://www.lcn.eu) relays which have been configured as motor controllers. +The `lcn` cover platform allows the control of [LCN](http://www.lcn.eu) relays and output ports which have been configured as motor controllers. + +Only for the module with firmware earlier than 190C:
+The configuration allows the optional definition of reverse time. This is the time which is waited during the switching of the motor currents. +The reverse time should only be defined when using the [MOTOR_PORT](#ports) value `OUTPUTS`. For all other configuration, the reverse time has to be defined in the LCN Pro software. +For the reverse time, you may choose one of the following constants: `RT70` (70ms), `RT600` (600ms), `RT1200` (1,2s). + +

+If you are using the module's output ports for motor control, ensure that you have configured the output ports as motor controllers in the LCN Pro software! +Otherwise, the output ports are not mutually interlocked and you run the risk of destroying the motor. +

+ ### Light @@ -457,7 +478,7 @@ The sensor can be used in automation scripts or in conjunction with `template` p
Ensure that the LCN module is configured properly to provide the requested value. - Otherwise the module might show unexpected behavior or return error messages. + Otherwise, the module might show unexpected behavior or return error messages.
### Switch @@ -470,7 +491,7 @@ The `lcn` switch platform allows the control of the following [LCN](http://www.l ## Services In order to directly interact with the LCN system, and invoke commands which are not covered by the implemented platforms, the following service calls can be used. -Refer to the (Services Calls)[/docs/scripts/service-calls] page for examples on how to use them. +Refer to the (Services Calls)[/docs/scripts/service-calls] page for examples on how to use them. ### Service `output_abs` @@ -479,16 +500,16 @@ Set absolute brightness of output port in percent. | Service data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------- | ------ | | `address` | No | [LCN address](#lcn-addresses) | -| `output` | No | Output port of module | [OUTPUT_PORT](#ports) | -| `brightness` | Yes | Absolute brightness in percent | 0..100 | -| `transition` | Yes | Transition (ramp) time in seconds | 0..486 | +| `output` | No | Output port of module | [OUTPUT_PORT](#ports) | +| `brightness` | Yes | Absolute brightness in percent | 0..100 | +| `transition` | Yes | Transition (ramp) time in seconds | 0..486 | Example: ```yaml service: output_abs data: - addres: myhome.0.7 + address: myhome.0.7 output: output1 brightness: 100 transition: 0 @@ -501,9 +522,9 @@ Set relative brightness of output port in percent. | Service data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------- | ------ | | `address` | No | [LCN address](#lcn-addresses) | -| `output` | No | Output port of module | [OUTPUT_PORT](#ports) | -| `brightness` | Yes | Relative brightness in percent | -100..100 | -| `transition` | Yes | Transition (ramp) time in seconds | 0..486 | +| `output` | No | Output port of module | [OUTPUT_PORT](#ports) | +| `brightness` | Yes | Relative brightness in percent | -100..100 | +| `transition` | Yes | Transition (ramp) time in seconds | 0..486 | Example: @@ -522,8 +543,8 @@ Toggle output port. | Service data attribute | Optional | Description | Values | | ---------------------- | -------- | ----------- | ------ | | `address` | No | [LCN address](#lcn-addresses) | -| `output` | No | Output port of module | [OUTPUT_PORT](#ports) | -| `transition` | Yes | Transition (ramp) time in seconds | 0..486 | +| `output` | No | Output port of module | [OUTPUT_PORT](#ports) | +| `transition` | Yes | Transition (ramp) time in seconds | 0..486 | Example: @@ -682,7 +703,7 @@ data: Send keys (which executes bound commands). The keys attribute is a string with one or more key identifiers. Example: `a1a5d8` If `state` is not defined, it is assumed to be `hit`. -The command allow the sending of keys immediately or deferred. For a deferred sendig the attributes `time` and `time_unit` have to be specified. For deferred sending the only key state allowed is `hit`. +The command allows the sending of keys immediately or deferred. For a deferred sending the attributes `time` and `time_unit` have to be specified. For deferred sending, the only key state allowed is `hit`. If `time_unit` is not defined, it is assumed to be `seconds`. | Service data attribute | Optional | Description | Values | @@ -717,9 +738,9 @@ data: ### Service `lock_keys` Locks keys. -If table is not defined, it is assumend to be table `a`. +If the table is not defined, it is assumed to be table `a`. The key lock states are defined as a string with eight characters. Each character represents the state change of a key lock (1=on, 0=off, t=toggle, -=nochange). -The command allows the locking of keys for a specified time period. For a time period the attributes `time` and `time_unit` have to be specified. For a time period only table `a` is allowed. +The command allows the locking of keys for a specified time period. For a time period, the attributes `time` and `time_unit` have to be specified. For a time period, only table `a` is allowed. If `time_unit` is not defined, it is assumed to be `seconds`. | Service data attribute | Optional | Description | Values | diff --git a/source/_components/life360.markdown b/source/_components/life360.markdown index 43ee24c7def..1da8d6524ad 100644 --- a/source/_components/life360.markdown +++ b/source/_components/life360.markdown @@ -3,6 +3,7 @@ title: "Life360" description: "Instructions how to use Life360 to track devices in Home Assistant." logo: life360.png ha_release: 0.95 +ha_config_flow: true ha_category: - Presence Detection ha_iot_class: Cloud Polling diff --git a/source/_components/light.knx.markdown b/source/_components/light.knx.markdown index 1b23b88ebbc..04372579312 100644 --- a/source/_components/light.knx.markdown +++ b/source/_components/light.knx.markdown @@ -66,12 +66,7 @@ color_temperature_state_address: required: false type: string color_temperature_mode: - description: Color temperature group address data type. - keys: - absolute: - description: color temperature in Kelvin. *color_temperature_address -> DPT 7.600* - relative: - description: color temperature in percent cold white (0% warmest; 100% coldest). *color_temperature_address -> DPT 5.001* + description: Color temperature group address data type. `absolute` color temperature in Kelvin. *color_temperature_address -> DPT 7.600*. `relative` color temperature in percent cold white (0% warmest; 100% coldest). *color_temperature_address -> DPT 5.001* required: false type: string default: absolute diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index 8dbd5badb50..a99761c1447 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -109,7 +109,7 @@ effect_value_template: effect_list: description: The list of effects the light supports. required: false - type: string list + type: [string, list] hs_command_topic: description: "The MQTT topic to publish commands to change the light's color state in HS format (Hue Saturation). Range for Hue: 0° .. 360°, Range of Saturation: 0..100. @@ -421,7 +421,7 @@ effect: effect_list: description: The list of effects the light supports. required: false - type: string list + type: [string, list] flash_time_long: description: The duration, in seconds, of a “long” flash. required: false @@ -691,7 +691,7 @@ unique_id: effect_list: description: List of possible effects. required: false - type: string list + type: [string, list] command_topic: description: The MQTT topic to publish commands to change the light’s state. required: true @@ -771,6 +771,7 @@ json_attributes_topic: json_attributes_template: description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation." required: false + type: template device: description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.' required: false diff --git a/source/_components/logbook.markdown b/source/_components/logbook.markdown index f442871f462..92679be5101 100644 --- a/source/_components/logbook.markdown +++ b/source/_components/logbook.markdown @@ -11,7 +11,7 @@ ha_release: 0.7 The logbook integration provides a different perspective on the history of your house by showing all the changes that happened to your house in reverse -chronological order. [See the demo for a live example](/demo/). It depends on +chronological order. It depends on the `recorder` integration for storing the data. This means that if the [`recorder`](/components/recorder/) integration is set up to use e.g., MySQL or PostgreSQL as data store, the `logbook` integration does not use the default diff --git a/source/_components/logger.markdown b/source/_components/logger.markdown index 7149deb1e70..91c90ab03d4 100644 --- a/source/_components/logger.markdown +++ b/source/_components/logger.markdown @@ -57,9 +57,9 @@ logger: {% configuration %} default: - description: Default log level. + description: Default log level. See [log_level](#log-levels). required: false - type: '[log_level](#log-levels)' + type: string default: debug logs: description: List of integrations and their log level. @@ -67,8 +67,8 @@ logger: type: map keys: '<component_namespace>': - description: Logger namespace of the component. - type: '[log_level](#log-levels)' + description: Logger namespace of the component. See [log_level](#log-levels). + type: string {% endconfiguration %} ### Log Levels diff --git a/source/_components/lutron.markdown b/source/_components/lutron.markdown index ca2278d0783..f905a6c2b8e 100644 --- a/source/_components/lutron.markdown +++ b/source/_components/lutron.markdown @@ -70,7 +70,7 @@ For single-action buttons (scene selection, etc.), `action` will be `single`, an ## Scene -This integration uses keypad programming to identify scenes. Currently, it only works with SeeTouch keypads. +This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, and seeTouch RF tabletop keypads. The Lutron scene platform allows you to control scenes programmed into your SeeTouch keypads. After setup, scenes will appear in Home Assistant using the area, keypad and button name. diff --git a/source/_components/magicseaweed.markdown b/source/_components/magicseaweed.markdown index 7433ed97d0b..2e86e36bd23 100644 --- a/source/_components/magicseaweed.markdown +++ b/source/_components/magicseaweed.markdown @@ -78,17 +78,10 @@ monitored_conditions: max_breaking_swell: description: The maximum wave height as the state with a detailed list of forecast attributes. units: - description: Specify the unit system. + description: Specify the unit system. Either `uk`, `eu` or `us`. required: false default: Default to `uk` or `us` based on the temperature preference in Home Assistant. type: string - keys: - uk: - description: Use UK units. - eu: - description: Use EU units. - us: - description: Use US units. {% endconfiguration %} Details about the API are available in the [Magicseaweed documentation](https://magicseaweed.com/developer/forecast-api). diff --git a/source/_components/manual.markdown b/source/_components/manual.markdown index 2d926f22f47..fc33d00a268 100644 --- a/source/_components/manual.markdown +++ b/source/_components/manual.markdown @@ -65,6 +65,7 @@ disarm_after_trigger: description: If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state. required: false type: boolean + default: false armed_custom_bypass/armed_home/armed_away/armed_night/disarmed/triggered: description: State specific settings required: false @@ -213,59 +214,57 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend {% raw %} ```yaml - alias: 'Send notification when alarm is Disarmed' - initial_state: 'on' trigger: - platform: state entity_id: alarm_control_panel.home_alarm to: 'disarmed' action: - service: notify.notify - data: - message: "ALARM! The alarm is Disarmed at {{ states('sensor.date__time') }}" + data_template: + message: "ALARM! The alarm is Disarmed at {{ states('sensor.date_time') }}" ``` {% endraw %} {% raw %} ```yaml - alias: 'Send notification when alarm is in pending status' - initial_state: 'on' trigger: - platform: state entity_id: alarm_control_panel.home_alarm to: 'pending' action: - service: notify.notify - data: - message: "ALARM! The alarm is in pending status at {{ states('sensor.date__time') }}" + data_template: + message: "ALARM! The alarm is in pending status at {{ states('sensor.date_time') }}" ``` {% endraw %} {% raw %} ```yaml - alias: 'Send notification when alarm is Armed in Away mode' - initial_state: 'on' trigger: - platform: state entity_id: alarm_control_panel.home_alarm to: 'armed_away' action: - service: notify.notify - data: - message: "ALARM! The alarm is armed in Away mode {{ states('sensor.date__time') }}" + data_template: + message: "ALARM! The alarm is armed in Away mode {{ states('sensor.date_time') }}" ``` {% endraw %} {% raw %} ```yaml - alias: 'Send notification when alarm is Armed in Home mode' - initial_state: 'on' trigger: - platform: state entity_id: alarm_control_panel.home_alarm to: 'armed_home' action: - service: notify.notify - data: - message: "ALARM! The alarm is armed in Home mode {{ states('sensor.date__time') }}" + data_template: + # Using multi-line notation allows for easier quoting + message: > + ALARM! The alarm is armed in Home mode {{ states('sensor.date_time') }} ``` {% endraw %} diff --git a/source/_components/manual_mqtt.markdown b/source/_components/manual_mqtt.markdown index eb4adeb9cfa..2d82aafa8a8 100644 --- a/source/_components/manual_mqtt.markdown +++ b/source/_components/manual_mqtt.markdown @@ -88,6 +88,7 @@ disarm_after_trigger: description: If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state. required: false type: boolean + default: false armed_home/armed_away/armed_night/disarmed/triggered: description: State specific settings required: false diff --git a/source/_components/met.markdown b/source/_components/met.markdown index 0c9dcc745a2..b7feec48b85 100644 --- a/source/_components/met.markdown +++ b/source/_components/met.markdown @@ -21,23 +21,24 @@ The `met` platform uses the [Met.no](https://met.no/) web service as a source fo To add Met.no to your installation, go to Configuration >> Integrations in the UI and enable the Met.no integration. By default the values will be taken from the Home Assistant configuration. {% configuration %} -name: - description: Manually specify Name. +name: + description: Manually specify Name. required: true + type: string default: Provided by Home Assistant configuration latitude: - description: Manually specify latitude. + description: Manually specify latitude. required: true - type: number + type: float default: Provided by Home Assistant configuration longitude: - description: Manually specify longitude. + description: Manually specify longitude. required: true - type: number + type: float default: Provided by Home Assistant configuration altitude: description: Manually specify altitude. required: false - type: number + type: integer default: Provided by Home Assistant configuration {% endconfiguration %} diff --git a/source/_components/mhz19.markdown b/source/_components/mhz19.markdown index 849a21bde1d..32afb526793 100644 --- a/source/_components/mhz19.markdown +++ b/source/_components/mhz19.markdown @@ -60,4 +60,4 @@ Then (after a reboot): you can setup the sensor using: ## Calibration -The MH-Z19B version of the sensor has Automatic Baseline Calibration enabled by default, which will calibrate the 400PPM level to the lowest measured PPM in the last 24h cycle. Currently the integration does not allow turning this functionaly off. +The MH-Z19B version of the sensor has Automatic Baseline Calibration enabled by default, which will calibrate the 400PPM level to the lowest measured PPM in the last 24h cycle. Currently the integration does not allow turning this functionality off. diff --git a/source/_components/miflora.markdown b/source/_components/miflora.markdown index 6c78e650d89..f7e519135eb 100644 --- a/source/_components/miflora.markdown +++ b/source/_components/miflora.markdown @@ -91,6 +91,7 @@ force_update: description: Sends update events even if the value hasn't changed. required: false type: boolean + default: false median: description: "Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine." required: false @@ -118,7 +119,8 @@ sensor: - platform: miflora mac: 'xx:xx:xx:xx:xx:xx' name: Flower 1 - force_up median: 3 + force_update: true + median: 3 monitored_conditions: - moisture - light diff --git a/source/_components/mikrotik.markdown b/source/_components/mikrotik.markdown index 49199b8c8b2..1ab056dc995 100644 --- a/source/_components/mikrotik.markdown +++ b/source/_components/mikrotik.markdown @@ -53,6 +53,12 @@ password: description: The password of the given user account on the MikroTik device. required: true type: string +login_method: + description: The login method to use on the MikroTik device. The `plain` method is used by default, if you have an older RouterOS Version than 6.43, use `token` as the login method. + required: false + type: string + options: plain, token + default: plain port: description: RouterOS API port. required: false @@ -69,6 +75,15 @@ method: type: string {% endconfiguration %} +
+ + As of version 6.43 of RouterOS Mikrotik introduced a new login method (plain) in addition to the old login method (token). With Version 6.45.1 the old token login method got deprecated. + In order to support both login mechanisms, the new config option `login_method` has been introduced. If this option is not set, the component will try to login with the plain method first and the token method if that fails. + That can cause log entries on the router like `login failure for user homeassistant from 192.168.23.10 via api` but doesn't keep the component from working. + To get rid of these entries, set the `login_method` to `plain` for Routers with OS versions > 6.43 or `token` for routers with OS versions < 6.43. + +
+ ## Use a certificate To use SSL to connect to the API (via `api-ssl` instead of `api` service) further configuration is required at RouterOS side. You have to upload or generate a certificate and configure `api-ssl` service to use it. Here is an example of a self-signed certificate: diff --git a/source/_components/mvglive.markdown b/source/_components/mvglive.markdown index 8b1d94d075e..ddf7697aad2 100644 --- a/source/_components/mvglive.markdown +++ b/source/_components/mvglive.markdown @@ -44,7 +44,7 @@ lines: products: description: One or more modes of transport. required: false - default: all 4 modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn'] + default: all 5 modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'Nachteule'] type: list timeoffset: description: Do not display departures leaving sooner than this number of minutes. Useful if you are a couple of minutes away from the stop. diff --git a/source/_components/mystrom.markdown b/source/_components/mystrom.markdown index 984a127ae32..e6a642c0857 100644 --- a/source/_components/mystrom.markdown +++ b/source/_components/mystrom.markdown @@ -18,9 +18,12 @@ The `mystrom` light platform allows you to control your [myStrom](https://mystro There is currently support for the following device types within Home Assistant: -- [Binary Sensor](#binary-sensor) - [Light](#light) +- [Binary Sensor](#binary-sensor) + - [Setup of myStrom Buttons](#setup-of-mystrom-buttons) - [Switch](#switch) + - [Setup](#setup) + - [Get the current power consumption](#get-the-current-power-consumption) ## Light @@ -159,7 +162,7 @@ The `mystrom` switch platform allows you to control the state of your [myStrom]( Make sure that you have enabled the REST API under **Advanced** in the web frontend of the switch.

- +

To use your myStrom switch in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/n26.markdown b/source/_components/n26.markdown index 264cf0c8d3c..4842c2529c2 100644 --- a/source/_components/n26.markdown +++ b/source/_components/n26.markdown @@ -25,6 +25,17 @@ n26: password: YOUR_PASSWORD ``` +It is possible to add more than one account: + +```yaml +# Example configuration.yaml entry +n26: + - username: YOUR_EMAIL1 + password: YOUR_PASSWORD1 + - username: YOUR_EMAIL2 + password: YOUR_PASSWORD2 +``` + {% configuration %} username: description: The account username. diff --git a/source/_components/neato.markdown b/source/_components/neato.markdown index 51a18b1c63f..e7e5505f2bc 100644 --- a/source/_components/neato.markdown +++ b/source/_components/neato.markdown @@ -33,6 +33,11 @@ password: description: Password for the Neato account. required: true type: string +vendor: + description: Support for additional vendors. Set to `vorwerk` for Vorwerk robots. + required: false + type: string + default: neato {% endconfiguration %}
diff --git a/source/_components/netatmo.markdown b/source/_components/netatmo.markdown index fa9aefdcd81..f5406df2294 100644 --- a/source/_components/netatmo.markdown +++ b/source/_components/netatmo.markdown @@ -60,7 +60,7 @@ password: required: true type: string discovery: - description: Whether to discover Netatmo devices. Set it to False, if you want to choose which Netatmo device you want to add. + description: Whether to discover Netatmo devices automatically. Set it to False, if you want to choose which Netatmo device you want to add. Do not use discovery and manual configuration at the same time. required: false type: boolean default: true diff --git a/source/_components/netdata.markdown b/source/_components/netdata.markdown index 0deca3fb283..85f178f2300 100644 --- a/source/_components/netdata.markdown +++ b/source/_components/netdata.markdown @@ -92,7 +92,7 @@ port: name: description: Name of the monitored Netdata instance. required: false - type: number + type: string default: Netdata resources: description: List of details to monitor. diff --git a/source/_components/netgear_lte.markdown b/source/_components/netgear_lte.markdown index 0c1f7e61bdd..5905d2950b8 100644 --- a/source/_components/netgear_lte.markdown +++ b/source/_components/netgear_lte.markdown @@ -171,6 +171,7 @@ This service can set modem configuration options (otherwise available in the mod The following automation example processes incoming SMS messages with the [Conversation](/components/conversation/) integration and then deletes the message from the inbox. +{% raw %} ```yaml automation: - alias: SMS conversation @@ -186,3 +187,4 @@ automation: host: '{{ trigger.event.data.host }}' sms_id: '{{ trigger.event.data.sms_id }}' ``` +{% endraw %} diff --git a/source/_components/nilu.markdown b/source/_components/nilu.markdown index 17bd10436c6..c4e0d76d894 100644 --- a/source/_components/nilu.markdown +++ b/source/_components/nilu.markdown @@ -23,34 +23,34 @@ air_quality: ``` {% configuration %} - latitude: - description: Manually specify latitude. By default, the value will be taken from the Home Assistant configuration. - required: false - type: number - default: Provided by Home Assistant configuration. - longitude: - description: Manually specify longitude. By default, the value will be taken from the Home Assistant configuration. - required: false - type: number - default: Provided by Home Assistant configuration. - name: - description: Name of the sensor to use in the frontend. - required: false - default: NILU - type: string - area: - description: Name of an area to get sensor stations from. See available areas below. - required: exclusive - type: string - stations: - description: Name of a specific station to get measurements from. - required: exclusive - type: string - show_on_map: - description: Option to show the position of the sensor station on the map. - required: false - default: false - type: boolean +latitude: + description: Manually specify latitude. By default, the value will be taken from the Home Assistant configuration. + required: false + type: float + default: Provided by Home Assistant configuration. +longitude: + description: Manually specify longitude. By default, the value will be taken from the Home Assistant configuration. + required: false + type: float + default: Provided by Home Assistant configuration. +name: + description: Name of the sensor to use in the frontend. + required: false + default: NILU + type: string +area: + description: Name of an area to get sensor stations from. See available areas below. + required: exclusive + type: string +stations: + description: Name of a specific station to get measurements from. + required: exclusive + type: string +show_on_map: + description: Option to show the position of the sensor station on the map. + required: false + default: false + type: boolean {% endconfiguration %} ## Health risk index explainations @@ -59,7 +59,7 @@ Under the attributes from a NILU station, there will be a `nilu pollution index` ### Low -Low or no health risk linked to measured air pollution. Outdoor activites are recommended. +Low or no health risk linked to measured air pollution. Outdoor activities are recommended. ### Moderate diff --git a/source/_components/nissan_leaf.markdown b/source/_components/nissan_leaf.markdown index b6c0fd82cbd..534fb8d5c00 100644 --- a/source/_components/nissan_leaf.markdown +++ b/source/_components/nissan_leaf.markdown @@ -44,9 +44,10 @@ region: required: true type: string nissan_connect: - description: If your car has the updated head unit (NissanConnect rather than Carwings) then the location can be aquired and exposed via a device tracker. If you have Carwings then this should be set to false. The easiest way to identify NissanConnect is if the T&C buttons are orange and blue, for CarWings they're both blue, or just look for anything saying "CarWings" in Settings area of the infotainment system. + description: If your car has the updated head unit (NissanConnect rather than Carwings) then the location can be acquired and exposed via a device tracker. If you have Carwings then this should be set to false. The easiest way to identify NissanConnect is if the T&C buttons are orange and blue, for CarWings they're both blue, or just look for anything saying "CarWings" in Settings area of the infotainment system. required: false type: boolean + default: true update_interval: description: The interval between updates if the climate control is off and the car is not charging. Set in any time unit (e.g. minutes, hours, days!). required: false diff --git a/source/_components/no_ip.markdown b/source/_components/no_ip.markdown index b7011daa526..61a4f50d6e3 100644 --- a/source/_components/no_ip.markdown +++ b/source/_components/no_ip.markdown @@ -37,6 +37,6 @@ no_ip: timeout: description: Timeout (in seconds) for the API calls. required: false - type: number + type: integer default: 10 {% endconfiguration %} diff --git a/source/_components/noaa_tides.markdown b/source/_components/noaa_tides.markdown index dd04e3cb897..380b57748d1 100644 --- a/source/_components/noaa_tides.markdown +++ b/source/_components/noaa_tides.markdown @@ -49,13 +49,8 @@ time_zone: lst_ldt: description: Local Standard/Local Daylight Time. The time local to the requested station. unit_system: - description: Specify the unit system. + description: Specify the unit system. Use `metric` (Celsius, meters, cm/s) or `english` (fahrenheit, feet, knots) units. required: false default: Defaults to `metric` or `imperial` based on the Home Assistant configuration. type: string - keys: - metric: - description: Metric (Celsius, meters, cm/s) units. - english: - description: English (fahrenheit, feet, knots) units. {% endconfiguration %} diff --git a/source/_components/norway_air.markdown b/source/_components/norway_air.markdown index a957d14bb11..babf6ddca85 100644 --- a/source/_components/norway_air.markdown +++ b/source/_components/norway_air.markdown @@ -31,11 +31,11 @@ forecast: latitude: description: Manually specify latitude. required: false - type: number + type: float default: Provided by Home Assistant configuration longitude: description: Manually specify longitude. required: false - type: number + type: float default: Provided by Home Assistant configuration {% endconfiguration %} diff --git a/source/_components/notify.markdown b/source/_components/notify.markdown index 5dbb6d04ab7..f9c43ccf489 100644 --- a/source/_components/notify.markdown +++ b/source/_components/notify.markdown @@ -10,7 +10,7 @@ ha_release: 0.7 The `notify` integration makes it possible to send notifications to a wide variety of platforms. Please check the sidebar for a full list of platforms that are supported. -If you want to send notifications to the Home Assistant Web Interface you may use the [Persistent Notification Component](/components/persistent_notification/). +If you want to send notifications to the Home Assistant web interface, you may use the [Persistent Notification integration](/components/persistent_notification/). ## Service @@ -19,11 +19,11 @@ Once loaded, the `notify` platform will expose a service that can be called to s | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `message` | no | Body of the notification. -| `title` | yes | Title of the notification. Default is `Home Assistant`. -| `target` | yes | Some platforms will allow specifying a recipient that will receive the notification. See your platform page if it is supported. +| `title` | yes | Title of the notification. +| `target` | yes | Some platforms allow specifying a recipient that will receive the notification. See your platform page if it is supported. | `data` | yes | On platforms who have extended functionality. See your platform page if it is supported. -The notification integration supports specifying [templates](/topics/templating/) with `data_template`. This will allow you to use the current state of Home Assistant in your notifications. +The notify integration supports specifying [templates](/topics/templating/) with `data_template`. This will allow you to use the current state of Home Assistant in your notifications. In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject. @@ -37,7 +37,7 @@ action: ### Test if it works -A simple way to test if you have set up your notify platform correctly, is to use service developer tool icon **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**. +A simple way to test if you have set up your notify platform correctly, is to open **Developer Tools** from the sidebar and then select the **Services** tab. Choose your service from the **Service** dropdown menu, enter the sample below into the **Service Data** field, and press the **CALL SERVICE** button. ```json { diff --git a/source/_components/notion.markdown b/source/_components/notion.markdown index e9dcc8ca8d1..20c601549d2 100644 --- a/source/_components/notion.markdown +++ b/source/_components/notion.markdown @@ -1,10 +1,6 @@ --- -layout: page title: "Notion" description: "How to integrate Notion kits within Home Assistant." -date: 2019-06-19 20:52 -sidebar: true -comments: false logo: notion.png ha_category: - Hub diff --git a/source/_components/nuki.markdown b/source/_components/nuki.markdown index 1c900edfec6..b0bbda7dc71 100644 --- a/source/_components/nuki.markdown +++ b/source/_components/nuki.markdown @@ -41,7 +41,7 @@ token: ## Services -### Service `nuki_unlatch` +### Service `open` This will unlatch the door, ie. open it (provided this works with your type of door). @@ -49,7 +49,7 @@ This will unlatch the door, ie. open it (provided this works with your type of d | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks. -### Service `nuki_lock_n_go` +### Service `lock_n_go` This will first unlock, wait a few seconds (20 by default) then re-lock. The wait period can be customized through the app. See the [Nuki Website](https://nuki.io/en/support/smart-lock/sl-features/locking-with-the-smart-lock/) for more details about this feature. @@ -58,3 +58,11 @@ See the [Nuki Website](https://nuki.io/en/support/smart-lock/sl-features/locking | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks. | `unlatch` | yes | Boolean - Whether to unlatch the door when first opening it. + +### Service `check_connection` + +This will force the communication between the bridge and the lock, updating the available attribute. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks. diff --git a/source/_components/nx584.markdown b/source/_components/nx584.markdown index b6d7cf24f79..cca64ed6062 100644 --- a/source/_components/nx584.markdown +++ b/source/_components/nx584.markdown @@ -76,7 +76,7 @@ exclude_zones: zone_types: description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below. required: false - type: map + type: list keys: opening: description: Opening diff --git a/source/_components/octoprint.markdown b/source/_components/octoprint.markdown index 3b038cd52af..19d9cf5f2d0 100644 --- a/source/_components/octoprint.markdown +++ b/source/_components/octoprint.markdown @@ -35,82 +35,78 @@ octoprint: ``` {% configuration %} -octoprint: - type: list +host: + description: IP address or hostname of Octoprint host. required: true + type: string +api_key: + description: The retrieved API key. + required: true + type: string +name: + description: The name for this printer, must be unique if multiple printers are defined. + required: false + type: string + default: OctoPrint +port: + description: The port of the Octoprint server. + required: false + type: integer + default: 80 +path: + description: The URL path of the Octoprint instance. + required: false + type: string + default: / +ssl: + description: Enable or disable SSL/TLS. + required: false + type: boolean + default: false +bed: + description: If the printer has a heated bed. + required: false + type: boolean + default: false +number_of_tools: + description: Number of temperature adjustable tools, e.g., nozzle. + required: false + type: integer + default: 0 +sensors: + description: Configuration for the sensors. + required: false + type: map keys: - host: - description: IP address or hostname of Octoprint host. - required: true - type: string - api_key: - description: The retrieved API key. - required: true - type: string - name: - description: The name for this printer, must be unique if multiple printers are defined. - required: false - type: string - default: OctoPrint - port: - description: The port of the Octoprint server. - required: false - type: integer - default: 80 - path: - description: The URL path of the Octoprint instance. - required: false - type: string - default: / - ssl: - description: Enable or disable SSL/TLS. - required: false - type: boolean - default: false - bed: - description: If the printer has a heated bed. - required: false - type: boolean - default: false - number_of_tools: - description: Number of temperature adjustable tools, e.g., nozzle. - required: false - type: integer - default: 0 - sensors: - description: Configuration for the sensors. - required: false - type: map + monitored_conditions: + description: The sensors to activate. + type: list + default: all (`Current State`, `Temperatures`, `Job Percentage`, `Time Elapsed`, `Time Remaining`) keys: - monitored_conditions: - description: The sensors to activate. - type: list - default: all (`Current State`, `Temperatures`, `Job Percentage`, `Time Elapsed`, `Time Remaining`) - keys: - "Current State": - description: Text of current state. - "Temperatures": - description: Temperatures of all available tools, e.g., `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device. - "Job Percentage": - description: Percentage of the job. - "Time Elapsed": - description: Time elapsed on current print job, in seconds. - "Time Remaining": - description: Time remaining on current print job, in seconds. - binary_sensors: - description: Configuration for the binary sensors. - required: false - type: map + "Current State": + description: Text of current state. + "Temperatures": + description: Temperatures of all available tools, e.g., `print`, `head`, `print bed`, etc. These will be displayed as `tool0`, `tool1`, or `toolN` please refer to your OctoPrint frontend to associate the tool number with an actual device. + "Job Percentage": + description: Percentage of the job. + "Time Elapsed": + description: Time elapsed on current print job, in seconds. + "Time Remaining": + description: Time remaining on current print job, in seconds. +binary_sensors: + description: Configuration for the binary sensors. + required: false + type: map + keys: + monitored_conditions: + description: The sensors to activate. + type: list + default: all (`Printing`, `Printing Error`) keys: - monitored_conditions: - description: The sensors to activate. - type: list - default: all (`Printing`, `Printing Error`) - keys: - "Printing": - description: State of the printer. - "Printing Error": - description: Error while printing. + "Printing": + description: State of the printer. + "Printing Error": + description: Error while printing. {% endconfiguration %}
diff --git a/source/_components/onkyo.markdown b/source/_components/onkyo.markdown index 6b51a0095ba..9f067c37cf6 100644 --- a/source/_components/onkyo.markdown +++ b/source/_components/onkyo.markdown @@ -41,7 +41,7 @@ name: max_volume: description: Maximum volume. Defaults to 80. required: false - type: number + type: integer sources: description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified. required: false diff --git a/source/_components/openhome.markdown b/source/_components/openhome.markdown index d6c2183e6ab..0c47aceb67c 100644 --- a/source/_components/openhome.markdown +++ b/source/_components/openhome.markdown @@ -11,7 +11,7 @@ redirect_from: --- -The `openhome` platform allows you to connect an [Openhome Compliant Renderer](https://www.openhome.org) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/components/discovery/), their device names are taken from the name of the room configured on the device. +The `openhome` platform allows you to connect an [Openhome Compliant Renderer](http://openhome.org/) to Home Assistant such as a [Linn Products Ltd](https://www.linn.co.uk) HiFi streamer. It will allow you to control media playback, volume, source and see the current playing item. Openhome devices should be discovered by using the [the discovery component](/components/discovery/), their device names are taken from the name of the room configured on the device. ```yaml # Example configuration.yaml entry diff --git a/source/_components/opentherm_gw.markdown b/source/_components/opentherm_gw.markdown index e46691fa85c..f410e61d6d9 100644 --- a/source/_components/opentherm_gw.markdown +++ b/source/_components/opentherm_gw.markdown @@ -513,10 +513,6 @@ Possible LED modes and their meaning are listed here: * M. Boiler requires maintenance. * P. Raised power mode active on thermostat interface. -
-The OpenTherm protocol is based on polling. The thermostat sends requests to the boiler at specific intervals. As a result, it may take some time for changes to propagate between Home Assistant and the thermostat. -
- # Example A full configuration example with two configured OpenTherm Gateways - one connected via USB, the other over the network - looks like the one below. diff --git a/source/_components/openwrt.markdown b/source/_components/openwrt.markdown index d23133df208..cb7890ae88d 100644 --- a/source/_components/openwrt.markdown +++ b/source/_components/openwrt.markdown @@ -34,7 +34,7 @@ There are _multiple_ ways of integrating an OpenWRT router for presence detectio ### Event-based device tracker -This can be achieved by running a simple shell script on the OpenWRT router which calls the appropriate Home Assistant service. An OpenWRT package which does this is listed above. As this method directly calls the [service API](/developers/rest_api.markdown#post-apiservicesltdomainltservice), no special configuration is necessary on the Home Assistant side, except for ensuring the device_tracker API is running, which is achieved by adding the following to your `configuration.yaml` file: +This can be achieved by running a simple shell script on the OpenWRT router which calls the appropriate Home Assistant service. An OpenWRT package which does this is listed above. As this method directly calls the [service API](https://developers.home-assistant.io/docs/en/external_api_rest.html#post-api-services-lt-domain-lt-service), no special configuration is necessary on the Home Assistant side, except for ensuring the device_tracker API is running, which is achieved by adding the following to your `configuration.yaml` file: ```yaml device_tracker: diff --git a/source/_components/orangepi_gpio.markdown b/source/_components/orangepi_gpio.markdown index c1c61481a61..0bc5b813028 100644 --- a/source/_components/orangepi_gpio.markdown +++ b/source/_components/orangepi_gpio.markdown @@ -64,7 +64,7 @@ As this platform supports different types of GPIO pinouts for difference Orange | `neocore2` | Supports the NanoPi Neocore 2 | ## Additional steps -This integration uses the `SYSFS` filesystem to get control of the GPIOs. Therefore an operatings system with `CONFIG_GPIO_SYSFS` is required. As far as I know, most out-of-the-box distributions still enable this by default. +This integration uses the `SYSFS` filesystem to get control of the GPIOs. Therefore an operating system with `CONFIG_GPIO_SYSFS` is required. As far as I know, most out-of-the-box distributions still enable this by default. As of Linux 4.8 sysfs-gpio is marked as obsolete. However as of today, the alternative GPIO character device is not widely used. Therefore we will use this until the new character device is more widely supported. diff --git a/source/_components/owntracks.markdown b/source/_components/owntracks.markdown index 1191dd8fa91..2f8add4cfac 100644 --- a/source/_components/owntracks.markdown +++ b/source/_components/owntracks.markdown @@ -86,6 +86,7 @@ events_only: description: Home Assistant will ignore all location updates and rely solely on geofence enter/leave events. required: false type: boolean + default: false region_mapping: description: "Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`." required: false diff --git a/source/_components/panasonic_bluray.markdown b/source/_components/panasonic_bluray.markdown index 145c6e4443d..d813c8f0186 100644 --- a/source/_components/panasonic_bluray.markdown +++ b/source/_components/panasonic_bluray.markdown @@ -21,7 +21,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.github.io/blob/current/source/_components/media_player.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/_components/panasonic_bluray.markdown). Example configuration: diff --git a/source/_components/panasonic_viera.markdown b/source/_components/panasonic_viera.markdown index b725f530f79..01cfb0474eb 100644 --- a/source/_components/panasonic_viera.markdown +++ b/source/_components/panasonic_viera.markdown @@ -29,7 +29,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.github.io/blob/next/source/_components/media_player.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/_components/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/_components/panel_custom.markdown b/source/_components/panel_custom.markdown index 965543511e6..fd2aa8176d1 100644 --- a/source/_components/panel_custom.markdown +++ b/source/_components/panel_custom.markdown @@ -3,7 +3,7 @@ title: "Panel Custom" description: "Instructions on how to add customized panels to the frontend of Home Assistant." logo: home-assistant.png ha_category: - - Front end + - Front End ha_release: 0.26 ha_qa_scale: internal --- @@ -64,6 +64,7 @@ require_admin: description: If admin access is required to see this panel. required: false type: boolean + default: false embed_iframe: description: Set to `true` to embed panel in iframe. This is necessary if the panel is using the React framework or if it contains conflicting web components. required: false @@ -75,7 +76,7 @@ trust_external_script: default: false type: boolean webcomponent_path: - description: The HTML path to your component. If omitted will default to `/panels/.html` This is exclusive to `js_url` and `module_url`. - required: exclusive *DEPRECATED* + description: "*DEPRECATED* The HTML path to your component. If omitted will default to `/panels/.html` This is exclusive to `js_url` and `module_url`." + required: exclusive type: string {% endconfiguration %} diff --git a/source/_components/panel_iframe.markdown b/source/_components/panel_iframe.markdown index db2c96ebb89..cea10eab2be 100644 --- a/source/_components/panel_iframe.markdown +++ b/source/_components/panel_iframe.markdown @@ -3,7 +3,7 @@ title: "Panel iFrame" description: "Instructions on how to add iFrames in the frontend of Home Assistant." logo: home-assistant.png ha_category: - - Front end + - Front End ha_release: 0.25 ha_qa_scale: internal --- @@ -33,36 +33,37 @@ panel_iframe: {% configuration %} - panel_iframe: - description: Enables the panel_iframe component. Only allowed once. - required: true - type: map - keys: - panel_name: - description: Name of the panel. Only allowed once. - required: true - type: map - keys: - title: - description: Friendly title for the panel. Will be used in the sidebar. - required: true - type: string - url: - description: The absolute URL or relative URL with an absolute path to open. - required: true - type: string - icon: - description: Icon for entry. - required: false - type: icon - require_admin: - description: If admin access is required to see this iframe. - required: false - type: boolean +panel_iframe: + description: Enables the panel_iframe component. Only allowed once. + required: true + type: map + keys: + panel_name: + description: Name of the panel. Only allowed once. + required: true + type: map + keys: + title: + description: Friendly title for the panel. Will be used in the sidebar. + required: true + type: string + url: + description: The absolute URL or relative URL with an absolute path to open. + required: true + type: string + icon: + description: Icon for entry. + required: false + type: icon + require_admin: + description: If admin access is required to see this iframe. + required: false + type: boolean + default: false {% endconfiguration %}
-Do **not** create one that are named `lovelace` it will overwrite lovelace causing it to never load. +Do **not** create one that is named `lovelace` it will overwrite lovelace causing it to never load.
diff --git a/source/_components/pencom.markdown b/source/_components/pencom.markdown index 623f3c33d4a..dfdf13e0b8e 100644 --- a/source/_components/pencom.markdown +++ b/source/_components/pencom.markdown @@ -41,11 +41,11 @@ host: port: description: The port of the ethernet to serial adapter. required: true - type: integer (positive integer between 1-65535) + type: integer boards: description: Number of boards daisy-chained together (default is 1). required: false - type: int between 1 and 8 + type: integer relays: description: List of relays. required: true @@ -62,5 +62,5 @@ relays: board: description: The board number (defaults to 1). required: false - type: int between 1 and 8 + type: integer {% endconfiguration %} diff --git a/source/_components/persistent_notification.markdown b/source/_components/persistent_notification.markdown index 7556eccadd1..4be8e781ae7 100644 --- a/source/_components/persistent_notification.markdown +++ b/source/_components/persistent_notification.markdown @@ -8,7 +8,7 @@ ha_release: 0.23 ha_qa_scale: internal --- -The `persistent_notification` can be used to show a message on the frontend that has to be dismissed by the user. +The `persistent_notification` integration can be used to show a notfication on the frontend that has to be dismissed by the user.

@@ -16,7 +16,7 @@ The `persistent_notification` can be used to show a message on the frontend that ### Service -The service `persistent_notification/create` takes in `message`, `title`, and `notification_id`. +The service `persistent_notification.create` takes in `message`, `title`, and `notification_id`. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | @@ -36,7 +36,7 @@ action: title: "Custom subject" ``` -The service `persistent_notification/dismiss` requires a `notification_id`. +The service `persistent_notification.dismiss` requires a `notification_id`. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | @@ -97,7 +97,7 @@ The message attribute supports the [Markdown formatting syntax](https://daringfi ### Create a persistent notification -Choose service developer tool icon **Services** from the **Developer Tools** to call the `persistent_notification` service. Select `persistent_notification/create` from the list of **Available services:** and enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**. +Choose the **Services** tab from the **Developer Tools** sidebar item, then select the `persistent_notification.create` service from the "Service" dropdown. Enter something like the sample below into the **Service Data** field and press the **CALL SERVICE** button. ```json { diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown index 955cd6463b5..10ad3fdcd4e 100644 --- a/source/_components/pilight.markdown +++ b/source/_components/pilight.markdown @@ -116,6 +116,7 @@ disarm_after_trigger: description: Configure sensor as trigger type. required: false type: boolean + default: false reset_delay_sec: description: > Seconds before the sensor is disarmed if diff --git a/source/_components/pioneer.markdown b/source/_components/pioneer.markdown index 737cc1adadc..53143264192 100644 --- a/source/_components/pioneer.markdown +++ b/source/_components/pioneer.markdown @@ -40,9 +40,86 @@ timeout: description: Number of seconds (float) to wait for blocking operations like connect, write and read. required: false type: float +sources: + description: A list of mappings from source friendly name to the source code (e.g. `TV:'05'`). Valid source codes depend on the receiver (some known codes can be found below). Codes must be defined as strings (between single or double quotation marks) so that `05` is not implicitly transformed to `5`, which wouldn't be valid source code. + required: false + default: Empty list (i.e. no source selection will be possible) + type: list {% endconfiguration %} Notes: - Some Pioneer AVRs use the port 23 default and some are reported to use 8102. - `timeout` is a socket level option and should only be configured if you know what you are doing. + +### Source codes + +Under these lines, you can find some sample `sources` lists per receiver model. Here we use the source names as shown on the remote as key for each code. However these are for display purposes only, so you could rename inputs to better match your set-up (e.g. `HDMI: '19'` to `Kodi: '19'`. + +Codes must be defined as strings (between single or double quotation marks) so that `05` is not implicitly transformed to `5`, which wouldn't be valid source code. + +#### VSX-921 + +```yaml +sources: + 'PHONO': '00' + 'CD': '01' + 'CD-R/TAPE': '03' + 'DVD': '04' + 'TV/SAT': '05' + 'VIDEO 1(VIDEO)': '10' + 'VIDEO 2': '14' + 'DVR/BDR': '15' + 'iPod/USB': '17' + 'HDMI1': '19' + 'HDMI2': '20' + 'HDMI3': '21' + 'HDMI4': '22' + 'HDMI5': '23' + 'HDMI6': '24' + 'BD': '25' + 'HOME MEDIA GALLERY(Internet Radio)': '26' +``` + +#### VSX-822-K + +```yaml +sources: + 'CD': '01' + 'Tuner': '02' + 'DVD': '04' + 'TV': '05' + 'Sat/Cbl': '06' + 'Video': '10' + 'DVR/BDR': '15' + 'iPod/USB': '17' + 'BD': '25' + 'Adapter': '33' + 'Netradio': '38' + 'Pandora': '41' + 'Media Server': '44' + 'Favorites': '45' + 'Game': '49' +``` + +#### VSX-824 + +```yaml +sources: + 'CD': '01' + 'Tuner': '02' + 'DVD': '04' + 'TV': '05' + 'Sat/Cbl': '06' + 'Video': '10' + 'DVR/BDR': '15' + 'iPod/USB': '17' + 'HDMI': '19' + 'BD': '25' + 'Adapter': '33' + 'Netradio': '38' + 'Media Server': '44' + 'Favorites': '45' + 'MHL': '48' + 'Game': '49' +``` diff --git a/source/_components/point.markdown b/source/_components/point.markdown index 20e7d447a5c..226a81fbd84 100644 --- a/source/_components/point.markdown +++ b/source/_components/point.markdown @@ -86,7 +86,7 @@ Each Point exposes the following binary sensors:

-The binary sensors **button_press**, **sound** and **tamper** are switched `On` for a breif moment and are then switched back to `Off`. +The binary sensors **button_press**, **sound** and **tamper** are switched `On` for a brief moment and are then switched back to `Off`.
diff --git a/source/_components/proxy.markdown b/source/_components/proxy.markdown index 76f3c7888af..3ff68429c58 100644 --- a/source/_components/proxy.markdown +++ b/source/_components/proxy.markdown @@ -85,10 +85,12 @@ force_resize: description: Resize the image even if the resulting image would take up more bandwidth than the original. required: false type: boolean + default: false cache_images: description: Preserve the last image and re-send in the case the camera is not responding. required: false type: boolean + default: false {% endconfiguration %} ## Examples diff --git a/source/_components/ps4.markdown b/source/_components/ps4.markdown index 1f2b41c2654..baadd494be5 100644 --- a/source/_components/ps4.markdown +++ b/source/_components/ps4.markdown @@ -5,14 +5,13 @@ logo: ps4.png ha_category: - Media Player ha_release: 0.89 +ha_config_flow: true ha_iot_class: Local Polling --- The `ps4` integration allows you to control a [Sony PlayStation 4 console](https://www.playstation.com/en-us/explore/ps4/). -- This integration supports controlling a single PlayStation 4 for your instance. Additional consoles may be supported in a future release. - ## Requirements - Android or iOS device @@ -26,7 +25,7 @@ The `ps4` integration allows you to control a Read the section "Granting Port Access" below before continuing.
-2. Navigate to `Configuration -> Integrations` and select `Configure` for `PlayStation 4`. +2. Navigate to `Configuration -> Integrations` and press the plus button in the bottom right corner. Select `PlayStation 4` from the list of integrations. 3. Follow instructions displayed to generate user credentials. You will know this step is completed when a form with fields appears. @@ -71,7 +70,7 @@ sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3.5 To find your system Python path: -- Add the [System Health](/components/system_health/) integration to your `configuration.yaml`. In a web browser access your frontend and navigate to the about/logs page "http:///dev-info). In the System Health box locate the item **python_version** and note the value that is displayed. Then in terminal run: +- Add the [System Health](/components/system_health/) integration to your `configuration.yaml`. In a web browser access your frontend and navigate to the about/logs page "http:///developer-tools/info). In the System Health box locate the item **python_version** and note the value that is displayed. Then in terminal run: ```bash whereis python @@ -116,11 +115,11 @@ Some titles will have different SKUs in the PlayStation Store database depending | Available Regions | Unavailable Regions | | --------------------------------------------------------------------------- | -------------------------- | -| Argentina, Australia, Austria, Bahrain, Belgium, Brazil, Bulgaria, | China, Japan, Phillipines, | +| Argentina, Australia, Austria, Bahrain, Belgium, Brazil, Bulgaria, | China, Japan, Philippines, | | Canada, Chile, Columbia, Costa Rica, Croatia, Cyprus, Czech Republic, | Serbia, Ukraine, Vietnam | | Denmark, Ecuador, El Salvador, Finland, France, Germany, Greece, Guatemala, | | | Honduras, Hong Kong, Hungary, Iceland, India, Indonesia, Ireland, Israel, | | -| Italy, Korea, Kuwait, Lebanon, Luxembourg, Malta, Maylasia, Mexico, | | +| Italy, Korea, Kuwait, Lebanon, Luxembourg, Malta, Malaysia, Mexico, | | | Middle East, Nederland, New Zealand, Nicaragua, Norway, Oman, Panama, | | | Peru, Poland, Portugal, Qatar, Romania, Russia, Saudi Arabia, Singapore, | | | Slovakia, Slovenia, South Africa, Spain, Sweden, Switzerland, Taiwan, | | diff --git a/source/_components/ptvsd.markdown b/source/_components/ptvsd.markdown index dfc2bcf651a..34f5fb95294 100644 --- a/source/_components/ptvsd.markdown +++ b/source/_components/ptvsd.markdown @@ -40,7 +40,7 @@ wait: ### Security -Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitary code* on the home assistant server, which is very unsafe. +Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitrary code* on the home assistant server, which is very unsafe. If the home assistant server is behind your firewall with only the http(s) port exposed, then this is safe from outside connections. diff --git a/source/_components/pushover.markdown b/source/_components/pushover.markdown index 781ac32babd..92a764c2142 100644 --- a/source/_components/pushover.markdown +++ b/source/_components/pushover.markdown @@ -53,10 +53,13 @@ Example Automation: url: "https://www.home-assistant.io/" sound: pianobar priority: 0 + attachment: "http://example.com/image.png" ``` Component specific values in the nested `data` section are optional. +Image attachments can be added using the `attachment` parameter, which can either be a valid URL for an image (ex: `http://example.com/image.png`) or a local file reference (ex: `/tmp/image.png`). + To use notifications, please see the [getting started with automation page](/getting-started/automation/). When sending a notification, optional parameters can also be set as per the pushover [API documentation](https://pushover.net/api). @@ -80,6 +83,7 @@ alexa: sound: falling device: pixel url: "https://www.home-assistant.io/" + attachment: "/tmp/image.png" ``` {% endraw %} diff --git a/source/_components/radiotherm.markdown b/source/_components/radiotherm.markdown index a872148f75b..4f4cb9c138c 100644 --- a/source/_components/radiotherm.markdown +++ b/source/_components/radiotherm.markdown @@ -60,3 +60,4 @@ climate: - 192.168.99.137 - 192.168.99.202 ``` +Humidity is now available as the `current_humidity` attribute for each `climate.$HOST` entity. This only works for RadioThermostat devices that have a built in humidity sensor. diff --git a/source/_components/rainbird.markdown b/source/_components/rainbird.markdown index a52153806d8..1b189adc420 100644 --- a/source/_components/rainbird.markdown +++ b/source/_components/rainbird.markdown @@ -63,6 +63,7 @@ sensor: {% configuration %} monitored_conditions: description: Conditions to be monitored. + type: list keys: rainsensor: description: Returns the sensor level. diff --git a/source/_components/raincloud.markdown b/source/_components/raincloud.markdown index d1c2ae9430f..39b4ce80f9c 100644 --- a/source/_components/raincloud.markdown +++ b/source/_components/raincloud.markdown @@ -118,10 +118,6 @@ monitored_conditions: keys: auto_watering: description: Toggle the watering scheduled per zone. - required: false - type: boolean manual_watering: description: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component. - required: false - type: boolean {% endconfiguration %} \ No newline at end of file diff --git a/source/_components/rainforest_eagle.markdown b/source/_components/rainforest_eagle.markdown new file mode 100644 index 00000000000..99414c1e55b --- /dev/null +++ b/source/_components/rainforest_eagle.markdown @@ -0,0 +1,40 @@ +--- +title: "Rainforest Eagle-200" +description: "Instructions on how to setup the Rainforest Eagle-200 with Home Assistant." +logo: rainforest_automation_logo.png +ha_category: + - Energy + - Sensor +ha_release: 0.96 +ha_iot_class: Local Polling +--- + +A `sensor` platform for the [Rainforest Eagle-200](https://rainforestautomation.com/rfa-z114-eagle-200/) energy gateway. + +## Configuration + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: rainforest_eagle + ip_address: IP_FOR_EAGLE + cloud_id: CLOUD_ID_FROM_EAGLE + install_code: INSTALL_CODE_FROM_EAGLE +``` + +{% configuration %} +ip_address: + description: The local IP address of your Eagle-200 device. + required: true + type: string +cloud_id: + description: The Cloud ID that is printed on the bottom of the Eagle-200 + required: true + type: string +install_code: + description: The Install Code that is printed on the bottom of the Eagle-200 + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/raspyrfm.markdown b/source/_components/raspyrfm.markdown index d7d5f796883..55892c1e7f0 100644 --- a/source/_components/raspyrfm.markdown +++ b/source/_components/raspyrfm.markdown @@ -72,7 +72,7 @@ switches: channel_config: description: Channel configuration of the control unit. The exact keys needed depend on the control unit manufacturer and model. required: true - type: dict + type: map {% endconfiguration %} ## Device support diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown index d5892755c0c..512fc11a6d5 100644 --- a/source/_components/recorder.markdown +++ b/source/_components/recorder.markdown @@ -8,7 +8,7 @@ ha_release: pre 0.7 ha_qa_scale: internal --- -The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` component](/components/history/). +The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` integration](/components/history/). Home Assistant uses [SQLAlchemy](http://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/). @@ -23,7 +23,7 @@ recorder: {% configuration %} recorder: - description: Enables the recorder component. Only allowed once. + description: Enables the recorder integration. Only allowed once. required: true type: map keys: @@ -49,11 +49,11 @@ recorder: domains: description: The list of domains to be excluded from recordings. required: false - type: List + type: list entities: description: The list of entity ids to be excluded from recordings. required: false - type: List + type: list include: description: Configure which integrations should be included in recordings. If set, all other entities will not be recorded. required: false @@ -62,11 +62,11 @@ recorder: domains: description: The list of domains to be included in the recordings. required: false - type: List + type: list entities: description: The list of entity ids to be included in the recordings. required: false - type: List + type: list {% endconfiguration %} Defining domains and entities to `exclude` (aka. blacklist) is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains. Usually, these are entities/domains that do not change (like `weblink`) or rarely change (like `updater` or `automation`). @@ -115,7 +115,7 @@ recorder: - sensor.date ``` -If you only want to hide events from your history, take a look at the [`history` component](/components/history/). The same goes for the [logbook](/components/logbook/). But if you have privacy concerns about certain events or want them in neither the history or logbook, you should use the `exclude`/`include` options of the `recorder` component. That way they aren't even in your database, you can reduce storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`). +If you only want to hide events from your history, take a look at the [`history` integration](/components/history/). The same goes for the [logbook](/components/logbook/). But if you have privacy concerns about certain events or want them in neither the history or logbook, you should use the `exclude`/`include` options of the `recorder` integration. That way they aren't even in your database, you can reduce storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`). ### Service `purge` diff --git a/source/_components/rejseplanen.markdown b/source/_components/rejseplanen.markdown index f52e840a407..03bee9fefbc 100644 --- a/source/_components/rejseplanen.markdown +++ b/source/_components/rejseplanen.markdown @@ -20,9 +20,9 @@ If you know the exact name of the stop you can search the stop_id with the follo If you don't know the name of the stop follow this guide: - Go to [https://www.openstreetmap.org](https://www.openstreetmap.org) -- Make a search and fill in the location you want to find for. +- Make a search and fill in the location you want to find for. - The url will look like this [https://www.openstreetmap.org/#map=18/56.15756/10.20674](https://www.openstreetmap.org/#map=18/56.15756/10.20674) -- Now insert the coordinates for the location in the url, in this example it will be: [http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&](http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&) +- Now insert the coordinates for the location in the url, in this example it will be: [http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&](http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&) - You will now see the 30 stops closest to your location. You will se a output like this: @@ -56,15 +56,15 @@ stop_id: route: description: List of route names. required: false - type: string|list + type: [string, list] direction: description: List of directions to filter by. required: false - type: string|list + type: [string, list] departure_type: description: List of departure types to filter by. required: false - type: string|list + type: [string, list] {% endconfiguration %} ## Direction @@ -118,7 +118,36 @@ The sensor can filter the timetables by one or more routes, directions and types |--------------|-------------| | BUS | Normal bus | | EXB | Express bus | +| TB | Harbour bus| | LET | Letbanen | | M | Metro | | S | S-train | | REG | Regional train | +| IC | Intercity train | +| LYN | Intercity express train | +| TOG | Other trains | + +## Attributes + +| Attribute | Description | +| ------------ | -------------------------------------- | +| `due_in` | Minutes until departure | +| `due_at` | Departure date and time | +| `type` | Transport type | +| `route` | Route code | +| `direction` | Destination stop | +| `stop` | Departure stop | +| `stop_id` | ID of departure stop | +| `attribution` | Attribution (required by data source) | +| `next_departures` | List of further departures | + +### `next_departures` + +| Attribute | Description | +| ------------ | -------------------------------------- | +| `due_in` | Minutes until departure | +| `due_at` | Departure date and time | +| `type` | Transport type | +| `route` | Route code | +| `direction` | Destination stop | +| `stop` | Departure stop | diff --git a/source/_components/remote.xiaomi_miio.markdown b/source/_components/remote.xiaomi_miio.markdown index 3e361e267a8..f72bf5b3f02 100644 --- a/source/_components/remote.xiaomi_miio.markdown +++ b/source/_components/remote.xiaomi_miio.markdown @@ -51,6 +51,7 @@ hidden: type: boolean default: true commands: + description: A list of commands required: false type: map keys: diff --git a/source/_components/repetier.markdown b/source/_components/repetier.markdown index d074417a836..9beb073756f 100644 --- a/source/_components/repetier.markdown +++ b/source/_components/repetier.markdown @@ -26,6 +26,7 @@ repetier: {% configuration %} repetier: + description: Repetier integration type: list required: true keys: diff --git a/source/_components/rest.markdown b/source/_components/rest.markdown index 0f3fa3acff8..ae7ea8213c8 100644 --- a/source/_components/rest.markdown +++ b/source/_components/rest.markdown @@ -68,7 +68,7 @@ verify_ssl: timeout: description: Defines max time to wait data from the endpoint. required: false - type: positive integer + type: integer default: 10 unit_of_measurement: description: Defines the units of measurement of the sensor, if any. diff --git a/source/_components/rest_command.markdown b/source/_components/rest_command.markdown index 3f0797b8f91..98d518d6174 100644 --- a/source/_components/rest_command.markdown +++ b/source/_components/rest_command.markdown @@ -24,7 +24,7 @@ rest_command: {% configuration %} service_name: - description: The name used to expose the service. E.g., in the above example, it would be 'rest_command.service_name'. + description: The name used to expose the service. E.g., in the above example, it would be 'rest_command.example_request'. required: true type: map keys: diff --git a/source/_components/ritassist.markdown b/source/_components/ritassist.markdown deleted file mode 100644 index 83fd37d960f..00000000000 --- a/source/_components/ritassist.markdown +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "RitAssist" -description: "Instructions on how to use a RitAssist as a device tracker." -logo: ritassist.png -ha_category: - - Car -ha_iot_class: Cloud Polling -ha_release: 0.76 -redirect_from: - - /components/device_tracker.ritassist/ ---- - -The `ritassist` device tracker platform allows you to integrate your vehicles equipped with [RitAssist](https://ritassist.nl/) or [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map. - -## Setup - -To use this component, you need an **API key** and **API secret**, which can be requested by contacting [info@fleetgo.com](mailto:info@fleetgo.com?subject=API%20Key). - -## Configuration - -To use this device tracker in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: ritassist - client_id: YOUR_CLIENT_ID - client_secret: YOUR_CLIENT_SECRET - username: YOUR_RITASSIST_USERNAME - password: YOUR_RITASSIST_PASSWORD - include: - - LICENSE_PLATE -``` - -{% configuration %} -client_id: - description: The client ID used to connect to the RitAssist API. - required: true - type: string -client_secret: - description: The client secret used to connect to the RitAssist API. - required: true - type: string -username: - description: Your RitAssist username. - required: true - type: string -password: - description: Your RitAssist password. - required: true - type: string -include: - description: A list of license plates to include, if this is not specified, all vehicles will be added. - required: false - type: strings -{% endconfiguration %} - -See the [device tracker integration page](/components/device_tracker/) for instructions on how to configure the people to be tracked. - -## Available attributes - -| Attribute | Description | -|---|---| -| latitude | The latitude of your vehicle | -| longitude | The longitude of your vehicle | -| altitude | Altitude of your vehicle | -| id | Identifier used to identify your vehicle | -| make | The make of the vehicle | -| model | Model of your vehicle | -| license_plate | License plate number | -| active | If the engine is currently active or not | -| odo | The odometer in kilometers | -| speed | The current speed of your vehicle, in KM/h | -| last_seen | The date and time when your vehicle last communicated with the API | -| fuel_level | Fuel level of the vehicle [1] | -| malfunction_light | Are any malfunction lights burning [1] | -| coolant_temperature | Temperature of the coolant [1] | -| power_voltage | Power voltage measured by the hardware [1] | -| distance_from_home | How far is your vehicle located from your Home Assistant Home location | -| current_max_speed | The maximum speed on the road the device is currently on (if available) | -| current_address | Object with address information the device is currently on. This resolves to the closest address to the coordinates of the device. | - - -[1] Only available on certain cars and hardware revisions. \ No newline at end of file diff --git a/source/_components/rss_feed_template.markdown b/source/_components/rss_feed_template.markdown index cd2e650c300..a0a73702de9 100644 --- a/source/_components/rss_feed_template.markdown +++ b/source/_components/rss_feed_template.markdown @@ -3,7 +3,7 @@ title: "RSS feed template" description: "Use this integration to generate RSS feeds showing your latest data." logo: home-assistant.png ha_category: - - Front end + - Front End ha_release: 0.44 ha_qa_scale: internal --- diff --git a/source/_components/scrape.markdown b/source/_components/scrape.markdown index ae231fbad09..baa09f09bf9 100644 --- a/source/_components/scrape.markdown +++ b/source/_components/scrape.markdown @@ -165,7 +165,7 @@ sensor: ### BOM Weather -The Australian Bureau of Meterology website returns an error if the User Agent header is not sent. +The Australian Bureau of Meteorology website returns an error if the User Agent header is not sent. {% raw %} ```yaml diff --git a/source/_components/sensibo.markdown b/source/_components/sensibo.markdown index e03717d8a78..aac799d56d3 100644 --- a/source/_components/sensibo.markdown +++ b/source/_components/sensibo.markdown @@ -59,16 +59,16 @@ switch: switches: ac: friendly_name: "AC" - value_template: "{{ is_state('climate.ac', 'cool') or is_state('climate.ac', 'heat') or is_state('climate.ac', 'dry') or is_state('climate.ac', 'heat')}}" + value_template: "{{ is_state('climate.ac', 'cool') or is_state('climate.ac', 'heat') or is_state('climate.ac', 'dry') or is_state('climate.ac', 'fan_only') }}" turn_on: - service: climate.set_havc_mode + service: climate.set_hvac_mode + data: + entity_id: climate.ac + hvac_mode: cool + turn_off: + service: climate.set_hvac_mode data: entity_id: climate.ac hvac_mode: off - turn_off: - service: climate.set_havc_mode - data: - entity_id: climate.ac - hvac_mode: ``` {% endraw %} diff --git a/source/_components/sensor.buienradar.markdown b/source/_components/sensor.buienradar.markdown index 2e22f89d2ae..4ba6cd9df0a 100644 --- a/source/_components/sensor.buienradar.markdown +++ b/source/_components/sensor.buienradar.markdown @@ -8,7 +8,7 @@ ha_release: 0.47 ha_iot_class: Cloud Polling --- -The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). +The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0). The selected weather station will provide all weather data, with the exception of the forecasted precipitation. The forecasted precipitation data will be retrieved from buienradar using your actual gps-location (and not the location of the nearest weather station). @@ -40,7 +40,7 @@ longitude: required: false type: float timeframe: - description: "Minutes to look ahead for precipitation forecast (min: 5 / max: 120)." + description: Minutes to look ahead for precipitation forecast (minimum 5, maximum 120). required: false default: 60 type: integer @@ -51,8 +51,12 @@ monitored_conditions: keys: stationname: description: The name of the selected meteo-station. + barometerfc: + description: A numeric barametric forecast (1 to 7) + barometerfcname: + description: "A textual representation of the barometer forecast (eg: Thunderstorms, Stable, etc.)." conditioncode: - description: A symbol and a unique code identifying the current weather condition ([a..z]). + description: "A symbol and a unique code identifying the current weather condition ([a..z])." condition: description: A symbol and the current weather condition (`clear`, `cloudy`, `fog`, `rainy`, `snowy` or `lightning`). conditiondetailed: @@ -61,6 +65,8 @@ monitored_conditions: description: A symbol with the full current weather condition (in English). symbol: description: A symbol for the current weather with the full current condition (in Dutch). + feeltemperature: + description: "The current feel temperature (in [C](https://en.wikipedia.org/wiki/Celsius))." humidity: description: The relative humidity (%). temperature: @@ -72,7 +78,7 @@ monitored_conditions: windforce: description: "The wind speed/force in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)." winddirection: - description: "Where the wind is coming from: N (North),Z (south), NO (North-East), etc." + description: "Where the wind is coming from: N (North), Z (south), NO (North-East), etc." windazimuth: description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. pressure: @@ -89,6 +95,10 @@ monitored_conditions: description: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h. irradiance: description: "Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2))." + rainlast24hour: + description: The rail over the last 24 hours (in mm). + rainlasthour: + description: The rail over the last hour (in mm). temperature_1d: description: "The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius))." mintemp_1d: @@ -98,11 +108,21 @@ monitored_conditions: sunchance_1d: description: The forecasted chance for sun (%). rain_1d: - description: "The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." + description: "The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre); the average of minrain_1d and maxrain_1d." + minrain_1d: + description: "The minimum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." + maxrain_1d: + description: "The maximum forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)." snow_1d: description: "The forecasted amount of snow in [cm](https://en.wikipedia.org/wiki/Centimetre)." + windazimuth_1d: + description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise. (derived from winddirection_1d) + winddirection_1d: + description: "Where the wind will be coming from: N (North), Z (south), NO (North-East), etc." windforce_1d: description: "The expected windforce in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)." + windspeed_1d: + description: "The expected windspeed in [m/s](https://en.wikipedia.org/wiki/M/s) (derived from windforce_1d)." conditioncode_1d: description: Symbol and condition code of the expected condition. condition_1d: @@ -145,11 +165,14 @@ Full configuration example (excluding forecasted conditions) where location is m longitude: 5.70 monitored_conditions: - stationname + - barometerfc + - barometerfcname - conditioncode - condition - conditiondetailed - conditionexact - symbol + - feeltemperature - humidity - temperature - groundtemperature @@ -164,6 +187,8 @@ Full configuration example (excluding forecasted conditions) where location is m - irradiance - precipitation_forecast_average - precipitation_forecast_total + - rainlast24hour + - rainlasthour ``` Configuration example with current condition and (some) forecasted values: @@ -190,21 +215,23 @@ sensor: - temperature_3d - temperature_4d - temperature_5d + - mintemp_1d - rainchance_1d - rainchance_2d - - rainchance_3d - - rainchance_4d - - rainchance_5d - sunchance_1d - sunchance_2d - - sunchance_3d - - sunchance_4d - - sunchance_5d - rain_1d - rain_2d - - rain_3d - - rain_4d - - rain_5d + - minrain_1d + - maxrain_1d + - windforce_1d + - windforce_2d + - windspeed_1d + - windspeed_2d + - winddirection_1d + - winddirection_2d + - windazimuth_1d + - windazimuth_2d ``` [Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata) diff --git a/source/_components/sensor.modbus.markdown b/source/_components/sensor.modbus.markdown index 55410fd6c46..5b2ee02cc8f 100644 --- a/source/_components/sensor.modbus.markdown +++ b/source/_components/sensor.modbus.markdown @@ -75,8 +75,9 @@ registers: type: integer count: description: Number of registers to read. - required: integer + required: false type: integer + default: 1 reverse_order: description: Reverse the order of registers when count >1. required: false diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown index 0dda9a30b76..d09e1b88356 100644 --- a/source/_components/sensor.mqtt.markdown +++ b/source/_components/sensor.mqtt.markdown @@ -79,6 +79,7 @@ json_attributes_topic: json_attributes_template: description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`." required: false + type: template json_attributes: description: (Deprecated, replaced by json_attributes_topic) A list of keys to extract values from a JSON dictionary payload and then set as sensor attributes. required: false diff --git a/source/_components/sensor.rfxtrx.markdown b/source/_components/sensor.rfxtrx.markdown index f350301312a..0d7dd72f8a4 100644 --- a/source/_components/sensor.rfxtrx.markdown +++ b/source/_components/sensor.rfxtrx.markdown @@ -54,17 +54,28 @@ sensor: Only these data_type are valid: -- *Temperature* +- *Temperature*, *Temperature2* - *Humidity* +- *Humidity status* - *Barometer* - *Wind direction* +- *Wind average speed* +- *Wind gust* - *Rain rate* -- *Energy usage* -- *Total usage* +- *Rain total* - *Sound* - *Sensor Status* - *Counter value* - *UV* +- *Forecast* +- *Forecast numeric* +- *Chill* +- *Energy usage* +- *Total usage* +- *Voltage* +- *Current* +- *Battery numeric* +- *Rssi numeric* Example configuration: diff --git a/source/_components/simplisafe.markdown b/source/_components/simplisafe.markdown index 2922d60cfdf..d69cf12385d 100644 --- a/source/_components/simplisafe.markdown +++ b/source/_components/simplisafe.markdown @@ -15,6 +15,8 @@ There is currently support for the following device types within Home Assistant: - Alarm +## Configuration + To enable this component, add the following lines to your `configuration.yaml`: ```yaml @@ -39,3 +41,28 @@ code: required: false type: string {% endconfiguration %} + +## Services + +Note that the `system_id` parameter required by the below service calls can be discovered +by looking at the device state attributes for the integration's `alarm_control_panel` +entity. + +### `simplisafe.remove_pin` + +Remove a SimpliSafe PIN (by label or PIN value). + +| Service Data Attribute | Optional | Description | +|---------------------------|----------|---------------------------------------------| +| `system_id` | no | The ID of the system to remove the PIN from | +| `label_or_pin` | no | The PIN label or value to remove | + +### `simplisafe.set_pin` + +Set a SimpliSafe PIN. + +| Service Data Attribute | Optional | Description | +|---------------------------|----------|---------------------------------------------| +| `system_id` | no | The ID of the system to remove the PIN from | +| `label` | no | The label to show in the SimpliSafe UI | +| `pin` | no | The PIN value to use | diff --git a/source/_components/simulated.markdown b/source/_components/simulated.markdown index 38248df1430..8f752d40962 100644 --- a/source/_components/simulated.markdown +++ b/source/_components/simulated.markdown @@ -63,7 +63,7 @@ period: description: The time in seconds for one complete oscillation of the periodic contribution. required: false default: 0 - type: seconds + type: integer phase: description: The phase offset (in degrees) to apply to the periodic component. required: false diff --git a/source/_components/skybeacon.markdown b/source/_components/skybeacon.markdown index 4c12c37ff4d..a6019472748 100644 --- a/source/_components/skybeacon.markdown +++ b/source/_components/skybeacon.markdown @@ -38,7 +38,7 @@ name: monitored_conditions: description: The parameters that should be monitored. required: false - type: map + type: list keys: temperature: description: Temperature at the sensor's location. diff --git a/source/_components/slack.markdown b/source/_components/slack.markdown index c450e71b173..195fdbdf4c1 100644 --- a/source/_components/slack.markdown +++ b/source/_components/slack.markdown @@ -45,6 +45,7 @@ notify: name: description: Setting this parameter allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`. required: false + type: string default: "notify" api_key: description: The Slack API token to use for sending Slack messages. @@ -62,6 +63,7 @@ username: icon: description: Use one of the Slack emojis as an Icon for the supplied username. Slack uses the standard emoji sets used [here](http://www.webpagefx.com/tools/emoji-cheat-sheet/). required: false + type: string {% endconfiguration %} ### Slack service data diff --git a/source/_components/sma.markdown b/source/_components/sma.markdown index 5a5f0ec2beb..8adc638dc77 100644 --- a/source/_components/sma.markdown +++ b/source/_components/sma.markdown @@ -55,10 +55,10 @@ group: default: user type: string sensors: - description: A dictionary of sensors that will be added. The value of the dictionary can include a list of sensor names that will be used as attributes. + description: A list of sensors that will be added. The value of the list can include a list of sensor names that will be used as attributes. required: false default: All sensors - type: map + type: list keys: pv_power: description: Current power generated by the inverter (W). diff --git a/source/_components/smartthings.markdown b/source/_components/smartthings.markdown index 26f15e0bea6..499c9fa2a84 100644 --- a/source/_components/smartthings.markdown +++ b/source/_components/smartthings.markdown @@ -345,7 +345,7 @@ If you have completed the checklist above and are still unable to setup the plat ### Debugging -The SmartThings integration will log additional information about push updates received, events fired, and other messages when the log level is set to `debug`. Add the the relevent line below to the `configuration.yaml`: +The SmartThings integration will log additional information about push updates received, events fired, and other messages when the log level is set to `debug`. Add the the relevant line below to the `configuration.yaml`: ```yaml logger: diff --git a/source/_components/smhi.markdown b/source/_components/smhi.markdown index 3a043901e64..b4cc03f4c43 100644 --- a/source/_components/smhi.markdown +++ b/source/_components/smhi.markdown @@ -39,12 +39,12 @@ Only location close to Sweden can be added. See [SMHI.se area](http://opendata.s latitude: description: Manually specify latitude. required: false - type: number + type: float default: Provided by Home Assistant configuration longitude: description: Manually specify longitude. required: false - type: number + type: float default: Provided by Home Assistant configuration name: description: Name to use in the frontend. diff --git a/source/_components/snapcast.markdown b/source/_components/snapcast.markdown index 14eec149b0d..a272fdd5ca8 100644 --- a/source/_components/snapcast.markdown +++ b/source/_components/snapcast.markdown @@ -32,3 +32,40 @@ port: default: 1705 type: integer {% endconfiguration %} + +## Services + +The snapcast components provides a few services registered under the media_player component. + +### Service `media_player.snapcast_snapshot` + +Take a snapshot of what is currently playing on one or more speakers. This service, and the following one, are useful if you want to play a doorbell or notification sound and resume playback afterwards. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | The speakers to snapshot. + +### Service `media_player.snapcast_restore` + +Restore a previously taken snapshot of one or more speakers. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | String or list of `entity_id`s that should have their snapshot restored. + +### Service `media_player.snapcast_join` + +Group players together under a single group. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `master` | no | Entity ID of the player to synchronize to. +| `entity_id` | yes | String or list of `entity_id`s to join to the master. + +### Service `media_player.snapcast_unjoin` + +Remove one or more speakers from their group of speakers. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | String or list of `entity_id`s to separate from their coordinator speaker. diff --git a/source/_components/solaredge.markdown b/source/_components/solaredge.markdown index adf0ff5b1e5..938b73c4ce9 100644 --- a/source/_components/solaredge.markdown +++ b/source/_components/solaredge.markdown @@ -127,6 +127,6 @@ sensors: platform: template sensors: solaredge_energy_this_year_template: - value_template: '{{(states('sensor.solaredge_energy_this_year') | float / 1000) | round(2)}}' + value_template: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}" ``` {% endraw %} diff --git a/source/_components/solaredge_local.markdown b/source/_components/solaredge_local.markdown index a2f0129e713..2e146c5c9d1 100644 --- a/source/_components/solaredge_local.markdown +++ b/source/_components/solaredge_local.markdown @@ -58,11 +58,11 @@ In case you would like to convert the values for example to kWh instead of the d {% raw %} ```yaml -# Example configuration.yaml entry for template platform -sensors: - platform: template - sensors: - solaredge_energy_this_year_template: - value_template: '{{(states('sensor.solaredge_energy_this_year') | float / 1000) | round(2)}}' +# Example configuration.yaml entry for sensor template platform +sensor: + - platform: template + sensors: + solaredge_energy_this_year_template: + value_template: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}" ``` {% endraw %} diff --git a/source/_components/spaceapi.markdown b/source/_components/spaceapi.markdown index 1d6f67c3350..a0e7e2bed7d 100644 --- a/source/_components/spaceapi.markdown +++ b/source/_components/spaceapi.markdown @@ -75,7 +75,7 @@ contact: issue_report_channels: description: "The reporting channel for issues. Pick an entity from `contact:`." required: true - type: List + type: list state: description: The current state of the Hackerspace. required: true @@ -84,7 +84,7 @@ state: entity_id: description: "The `entity_id` of a binary sensor that represents the current state." required: true - type: entity_id + type: string icon_open: description: The URL which is publicly accessible of the icon for the open Hackerspace. required: false @@ -101,11 +101,11 @@ sensors: temperature: description: List of temperature sensors. required: true - type: entity_id + type: string humidity: description: List of humidity sensors. required: true - type: entity_id + type: string {% endconfiguration %} The list of sensors can be any sensor, not just temperature or humidity. diff --git a/source/_components/splunk.markdown b/source/_components/splunk.markdown index ddb057ee181..9aa909d2f16 100644 --- a/source/_components/splunk.markdown +++ b/source/_components/splunk.markdown @@ -3,7 +3,7 @@ title: "Splunk" description: "Record events in Splunk." logo: splunk.png ha_category: - - "History" + - History ha_release: 0.13 --- @@ -49,4 +49,25 @@ name: required: false default: HASS type: string +filter: + description: Filters for entities to be included/excluded from Splunk. Default is to include all entities. + required: false + type: map + keys: + include_domains: + description: Domains to be included. + required: false + type: list + include_entities: + description: Entities to be included. + required: false + type: list + exclude_domains: + description: Domains to be excluded. + required: false + type: list + exclude_entities: + description: Entities to be excluded. + required: false + type: list {% endconfiguration %} diff --git a/source/_components/spotify.markdown b/source/_components/spotify.markdown index 526a2e39353..6ed840a6ad5 100644 --- a/source/_components/spotify.markdown +++ b/source/_components/spotify.markdown @@ -117,6 +117,19 @@ which are part of the service. You can test this from the services control panel in the Home Assistant frontend. +## Services +Extra services besides the default ones in component [Media Player component](/components/media_player/). + +### Service `play_playlist` + +Play a Spotify playlist with an option to start on a random position of the playlist. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `media_content_id` | no | Spotify URI of playlist. Must be playlist kind of URI. +| `random_song` | yes | True to select random song at start, False to start from beginning. + + The above playlist example is a URI link to the "Reggae Infusions" playlist. [This support document from Spotify](https://support.spotify.com/us/article/sharing-music/) explains how to get this URI value to use for playlists in the Spotify component. diff --git a/source/_components/suez.markdown b/source/_components/suez.markdown new file mode 100644 index 00000000000..3b1add6172f --- /dev/null +++ b/source/_components/suez.markdown @@ -0,0 +1,50 @@ +--- +title: "Suez Water Sensor" +description: "Instructions on how to integrate Suez Water daily data within Home Assistant." +logo: suez.png +ha_release: 0.97 +ha_category: + - Sensor +ha_iot_class: Cloud Polling +--- + +The `suez_water` sensor platform fetches your last day consumption of water from the French water provider [Tout Sur Mon Eau](https://www.toutsurmoneau.fr) website. + +It also gets the following data: + +- Daily consumption for the current month +- Daily consumption for the previous month +- Monthly consumption for the last 26 months +- Highest monthly consumption +- Last year total consumption +- Current year total consumption + +## Configuration + +To add the Suez Water sensor to your installation, add your _Tout Sur Mon Eau_ account credentials and your `counter_id` to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: suez_water + username: YOUR_SUEZ_USERNAME + password: YOUR_SUEZ_PASSWORD + counter_id: YOUR_SUEZ_COUNTER_ID +``` + +{% configuration %} +username: + description: The Tout Sur Mon Eau account username. + required: true + type: string +password: + description: The Tout Sur Mon Eau account password. + required: true + type: string +counter_id: + description: The Tout Sur Mon Eau counter id. + required: true + type: integer +{% endconfiguration %} + +`counter_id` is the water counter id. It can be found on your _Tout Sur Mon Eau_ [user account](https://www.toutsurmoneau.fr/mon-compte-en-ligne/historique-de-consommation-tr). Look in the source code of the page for something similar to `url: '/mon-compte-en-ligne/statMData' + '/123456789'`. The `counter_id` in this case is `123456789`. diff --git a/source/_components/switch.template.markdown b/source/_components/switch.template.markdown index ec083f7a53b..d98e57f85eb 100644 --- a/source/_components/switch.template.markdown +++ b/source/_components/switch.template.markdown @@ -76,7 +76,7 @@ switch: ## Considerations -If you are using the state of a platform that takes extra time to load, the Template Switch may get an `unknown` state during startup. This results in error messages in your log file until that platform has completed loading. If you use `is_state()` function in your template, you can avoid this situation. For example, you would replace {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} +If you are using the state of a platform that takes extra time to load, the Template Switch may get an `unknown` state during startup. This results in error messages in your log file until that platform has completed loading. If you use `is_state()` function in your template, you can avoid this situation. For example, you would replace {% raw %}`{{ states.switch.source.state == 'on') }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an unknown result: {% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %} ## Examples diff --git a/source/_components/switchbot.markdown b/source/_components/switchbot.markdown index aab3a5bbc9d..468a619913a 100644 --- a/source/_components/switchbot.markdown +++ b/source/_components/switchbot.markdown @@ -32,3 +32,10 @@ name: required: false type: string {% endconfiguration %} + +## Switchbot Entity + +There are two attributes available on the Switchbot entity to give you more information about your device. + +- `last_run_success`: If `true` if the last action sent to the Switchbot succeeded. This attribute is useful for error trapping when Bluetooth connectivity is intermittent. If `false`, see home-assistant.log for specific error messgages. +- `assumed_state`: Always `true`. If the state of the Switchbot entity cannot be determined, it is assumed to be `on`. diff --git a/source/_components/switcher_kis.markdown b/source/_components/switcher_kis.markdown index 08b27786579..5a8aa70fd86 100644 --- a/source/_components/switcher_kis.markdown +++ b/source/_components/switcher_kis.markdown @@ -26,7 +26,7 @@ To retrieve your device's details, please follow the instructions [here](https:/
- Please note, on the original script repository, users recently reported difficulties controling the device after upgrading the firmware to the new 3.0 version.As this integration is based on that script, please do not upgrade to version 3.0 until this issue is resolved. You can follow the issue [here](https://github.com/NightRang3r/Switcher-V2-Python/issues/3). + Please note, on the original script repository, users recently reported difficulties controlling the device after upgrading the firmware to the new 3.0 version.As this integration is based on that script, please do not upgrade to version 3.0 until this issue is resolved. You can follow the issue [here](https://github.com/NightRang3r/Switcher-V2-Python/issues/3).
```yaml diff --git a/source/_components/syncthru.markdown b/source/_components/syncthru.markdown index 278495c78db..1d8f4de2d31 100644 --- a/source/_components/syncthru.markdown +++ b/source/_components/syncthru.markdown @@ -23,9 +23,6 @@ sensor: - platform: syncthru resource: http://my-printer.address name: My Awesome Printer - monitored_conditions: - - toner_black - - output_tray_0 ``` {% configuration %} @@ -39,48 +36,11 @@ sensor: required: false default: Samsung Printer type: string - monitored_conditions: - description: Conditions to display in the frontend. - required: false - default: all values - type: list - keys: - toner_black: - description: Black toner fill level - toner_cyan: - description: Cyan toner fill level - toner_magenta: - description: Magenta toner fill level - toner_yellow: - description: Yellow toner fill level - drum_black: - description: Black drum state - drum_cyan: - description: Cyan drum state - drum_magenta: - description: Magenta drum state - drum_yellow: - description: Yellow drum state - tray_1: - description: First paper input tray state - tray_2: - description: Second paper input tray state - tray_3: - description: Third paper input tray state - tray_4: - description: Fourth paper input tray state - tray_5: - description: Fifth paper input tray state - output_tray_0: - description: First paper output tray state - output_tray_1: - description: Second paper output tray state - output_tray_2: - description: Third paper output tray state - output_tray_3: - description: Fourth paper output tray state - output_tray_4: - description: Fifth paper output tray state - output_tray_5: - description: Sixth paper output tray state {% endconfiguration %} + +The following information is displayed in separate sensors, if it is available: + + - Black, cyan, magenta and yellow toner fill level + - Black, cyan, magenta and yellow drum state + - First to fifth paper input tray state + - First to sixth paper output tray state diff --git a/source/_components/telegram.markdown b/source/_components/telegram.markdown index 067534e6dca..6594709dc91 100644 --- a/source/_components/telegram.markdown +++ b/source/_components/telegram.markdown @@ -20,9 +20,7 @@ The requirements are: - You need to configure a [Telegram bot in Home Assistant](/components/telegram_bot) and define there your API key and the allowed chat ids to interact with. - The `chat_id` of an allowed user. -To retrieve your `chat_id`, contact any of the Telegram bots created for this purpose (@myidbot, @get_id_bot) - -The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates`. Replace `YOUR_API_TOKEN` with your actual token. +The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token. The result set will include your chat ID as `id` in the `chat` section: diff --git a/source/_components/tellstick.markdown b/source/_components/tellstick.markdown index 392346be873..b77d76a2c4f 100644 --- a/source/_components/tellstick.markdown +++ b/source/_components/tellstick.markdown @@ -17,13 +17,16 @@ redirect_from: - /components/switch.tellstick/ --- -The `tellstick` integration integrates [TellStick](https://telldus.com/produkt/z-wave-gateway-tellstick-znet-lite-ver-2/) devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 MHz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf). +The `tellstick` integration integrates [TellStick][tellstick-gateway] devices into Home Assistant. This integration allows users to add switches, lights, and sensors which are communicating with 433 MHz. There are a number of vendors (Capidi Elro, Intertechno, Nexa, Proove, Sartano, and Viking) who are selling products that work with TellStick. For more details, please check the TellStick [protocol list](http://developer.telldus.com/wiki/TellStick_conf). There is currently support for the following device types within Home Assistant: +- [Configuration](#configuration) - [Cover](#cover) - [Light](#light) - [Sensor](#sensor) +- [Examples](#examples) + - [Full configuration](#full-configuration) - [Switch](#switch) ## Configuration @@ -62,7 +65,7 @@ port: ## Cover -This `tellstick` cover platform allows you to control your [TellStick](http://www.telldus.se/products/tellstick) covers. +This `tellstick` cover platform allows you to control your [TellStick][tellstick-gateway] covers. To use your TellStick device, you first have to set up your [Tellstick hub](#configuration) and then add the following to your `configuration.yaml` file: @@ -74,7 +77,7 @@ cover: ## Light -This `tellstick` light platform allows you to control your [TellStick](http://www.telldus.se/products/tellstick) dimmers. +This `tellstick` light platform allows you to control your [TellStick][tellstick-gateway] dimmers. To use your TellStick device, you first have to set up your [Tellstick hub](#configuration) and then add the following to your `configuration.yaml` file: @@ -86,7 +89,7 @@ light: ## Sensor -The `tellstick` sensor platform allows you to get current meteorological data from a [TellStick](http://www.telldus.se/products/tellstick) device. +The `tellstick` sensor platform allows you to get current meteorological data from a [TellStick][tellstick-gateway] device. To use your TellStick device, you first have to set up your [Tellstick hub](#configuration) and then add the following to your `configuration.yaml` file: @@ -148,7 +151,7 @@ sensor: ## Switch -This `tellstick` switch platform allows you to control [TellStick](http://www.telldus.se/products/tellstick) devices. +This `tellstick` switch platform allows you to control [TellStick][tellstick-gateway] devices. To use your TellStick device, you first have to set up your [Tellstick hub](#configuration) and then add the following to your `configuration.yaml` file: @@ -157,3 +160,5 @@ To use your TellStick device, you first have to set up your [Tellstick hub](#con switch: - platform: tellstick ``` + +[tellstick-gateway]: https://telldus.com/produkt/z-wave-gateway-tellstick-znet-lite-ver-2/ diff --git a/source/_components/telnet.markdown b/source/_components/telnet.markdown index 32ad3936ddc..221ff25f97d 100644 --- a/source/_components/telnet.markdown +++ b/source/_components/telnet.markdown @@ -26,6 +26,7 @@ switch: command_off: "PWR OFF" command_state: "PWR?" value_template: '{{ value == "PWR=01" }}' + timeout: 0.9 ``` {% endraw %} @@ -69,4 +70,9 @@ switches: description: The name used to display the switch in the frontend. required: false type: string + timeout: + description: How long to wait for a reply after a telnet command is sent. + required: false + default: 0.2 + type: float {% endconfiguration %} diff --git a/source/_components/tensorflow.markdown b/source/_components/tensorflow.markdown index 1fdcf98d071..38066ccb35e 100644 --- a/source/_components/tensorflow.markdown +++ b/source/_components/tensorflow.markdown @@ -36,7 +36,7 @@ This integration requires files to be downloaded, compiled on your computer, and |- __init__.py ``` -- Copy required object_detection dependancies to the `object_detection` folder inside of the `tensorflow` folder: +- Copy required object_detection dependencies to the `object_detection` folder inside of the `tensorflow` folder: - `research/object_detection/data` - `research/object_detection/utils` diff --git a/source/_components/threshold.markdown b/source/_components/threshold.markdown index 72c404ab225..da70c25cf05 100644 --- a/source/_components/threshold.markdown +++ b/source/_components/threshold.markdown @@ -39,7 +39,7 @@ binary_sensor: entity_id: description: "The entity to monitor. Only [sensors](/components/sensor/) are supported." required: true - type: entity_id + type: string lower: description: The lower threshold which the observed value is compared against. required: false diff --git a/source/_components/tile.markdown b/source/_components/tile.markdown index 4182fb6c284..b9eda0b6b75 100644 --- a/source/_components/tile.markdown +++ b/source/_components/tile.markdown @@ -41,6 +41,7 @@ device_tracker: description: whether to show expired/disabled Tiles required: false type: boolean + default: false {% endconfiguration %} Multiple Tile accounts can be used by repeating the `tile` platform. Tracked devices in `known_devices.yaml` will be named `tile_`. You can find `` in the Tile app by clicking on a tile. diff --git a/source/_components/tod.markdown b/source/_components/tod.markdown index c44d6ded94d..7ce320b4954 100644 --- a/source/_components/tod.markdown +++ b/source/_components/tod.markdown @@ -44,7 +44,7 @@ name: before: description: The absolute local time value or sun event for beginning of the time range. required: true - type: string or time + type: [string, time] before_offset: description: The time offset of the beginning time range. required: false @@ -52,7 +52,7 @@ before_offset: after: description: The absolute local time value or sun event for ending of the time range. required: true - type: string or time + type: [string, time] after_offset: description: The time offset of the beginning time range. type: time diff --git a/source/_components/totalconnect.markdown b/source/_components/totalconnect.markdown index 9defa1969d8..8cadb20b75c 100644 --- a/source/_components/totalconnect.markdown +++ b/source/_components/totalconnect.markdown @@ -25,9 +25,7 @@ If you have issues running this component, you may require `libxml2-dev` and `li To enable this, add the following lines to your `configuration.yaml`: ```yaml -# Example configuration.yaml entry -alarm_control_panel: - - platform: totalconnect +totalconnect: username: YOUR_USERNAME password: YOUR_PASSWORD ``` @@ -47,6 +45,8 @@ password: type: string {% endconfiguration %} +You are highly encouraged to create a Total Connect user account specifically for Home Assistant. It should not have full administrative privileges. + ## Automation example ```yaml diff --git a/source/_components/traccar.markdown b/source/_components/traccar.markdown index d21ed030071..1f0cfe181af 100644 --- a/source/_components/traccar.markdown +++ b/source/_components/traccar.markdown @@ -63,7 +63,7 @@ max_accuracy: type: integer default: 0 skip_accuracy_filter_on: - description: Skip filter positon by "max_accuracy filter" if any of specified attributes are pressent on the traccar message. + description: Skip filter position by "max_accuracy filter" if any of specified attributes are pressent on the traccar message. required: false type: list monitored_conditions: diff --git a/source/_components/trafikverket_train.markdown b/source/_components/trafikverket_train.markdown index 7237bcb4b86..0c78712b0c4 100644 --- a/source/_components/trafikverket_train.markdown +++ b/source/_components/trafikverket_train.markdown @@ -1,12 +1,6 @@ --- -layout: page title: "Trafikverket Train" description: "Instructions how to integrate Trafikverket Train within Home Assistant." -date: 2019-04-27 16:32 -sidebar: true -comments: false -sharing: true -footer: true logo: trafikverket.png ha_category: - Transport @@ -34,7 +28,7 @@ Data that is retrieved: - Other information / additional texts. - Deviations. -## {% linkable_title Configuration %} +## Configuration To enable this sensor, use the following format in your `configuration.yaml`. @@ -86,15 +80,15 @@ trains: default: "[mon, tue, wed, thu, fri, sat, sun]" {% endconfiguration %} -## {% linkable_title Obtaining API key %} +## Obtaining API key Please click [here](https://api.trafikinfo.trafikverket.se/) and register to obtain the API key. -## {% linkable_title Train station names %} +## Train station names Click [here](https://www.trafikverket.se/trafikinformation/tag/?ArrDep=departure&) to see an example of train station names. -## {% linkable_title Examples %} +## Examples ```yaml sensor: diff --git a/source/_components/trafikverket_weatherstation.markdown b/source/_components/trafikverket_weatherstation.markdown index c0e39a1af47..e661dde93ff 100644 --- a/source/_components/trafikverket_weatherstation.markdown +++ b/source/_components/trafikverket_weatherstation.markdown @@ -56,7 +56,7 @@ station: monitored_conditions: description: Specify what measurement data to retrieve from the weather station. required: true - type: map + type: list keys: air_temp: description: Air temperature. diff --git a/source/_components/transmission.markdown b/source/_components/transmission.markdown index 7abb85bc599..9d4c4ff6ccb 100644 --- a/source/_components/transmission.markdown +++ b/source/_components/transmission.markdown @@ -64,6 +64,7 @@ turtle_mode: description: If enabled, it creates a switch entity to control the 'Alternative Speed Limits' (aka 'Turtle mode') setting. required: false type: boolean + default: false scan_interval: description: How frequently to query for new data. Defaults to 120 seconds. required: false @@ -72,7 +73,7 @@ monitored_conditions: type: integer description: "List of monitored conditions. Possible values are:" required: false - type: map + type: list keys: current_status: description: The status of your Transmission daemon. @@ -116,3 +117,13 @@ Example of configuration of an automation with completed torrents: title: "Torrent completed!" message: "{{trigger.event.data.name}}" ``` + +## Services + +### 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). + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `torrent` | no | Torrent to download diff --git a/source/_components/twentemilieu.markdown b/source/_components/twentemilieu.markdown new file mode 100644 index 00000000000..df54c4ab44f --- /dev/null +++ b/source/_components/twentemilieu.markdown @@ -0,0 +1,44 @@ +--- +title: "Twente Milieu" +description: "Instructions on how to integrate Twente Milieu with Home Assistant." +logo: twentemilieu.png +ha_category: + - Sensor + - Environment +ha_release: 0.97 +ha_iot_class: Cloud Polling +ha_config_flow: true +--- + +The Twente Milieu integration allows you to track the next scheduled waste +pickups by Twente Milieu for each of the different waste types. + +## Configuration via the frontend + +Menu: **Configuration** -> **Integrations**. + +Click on the `+` sign to add an integration and click on **Twente Milieu**. +Follow the configuration flow, after finishing, the Twente Milieu +integration will be available. + +## Sensors + +This integration provides sensors for the following waste pickup dates from Twente Milieu: + +- Next plastic waste pickup date. +- Next organic waste pickup date. +- Next paper waste pickup date. +- Next non-recyclable waste pickup date. + +## Services + +The Twente Milieu integration exposes a service that allows you to manually update +the pickup date from Twente Milieu. + +### Service `update` + +Update pickup dates from Twente Milieu + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ------------------------------------------------------------ | +| `id` | Yes | The unique address ID to update. | diff --git a/source/_components/twitch.markdown b/source/_components/twitch.markdown index c0985ff90d8..5bebfa43bd4 100644 --- a/source/_components/twitch.markdown +++ b/source/_components/twitch.markdown @@ -36,10 +36,7 @@ client_id: required: true type: string channels: - description: List of channels. + description: List of channels names required: true - type: map - keys: - channel_id: - description: Name of the channel. + type: list {% endconfiguration %} diff --git a/source/_components/unifi.markdown b/source/_components/unifi.markdown index dbf3bf8684b..ec1c1a12d01 100644 --- a/source/_components/unifi.markdown +++ b/source/_components/unifi.markdown @@ -8,6 +8,7 @@ ha_category: - Switch ha_release: 0.81 ha_iot_class: Local Polling +ha_qa_scale: platinum redirect_from: - /components/device_tracker.unifi/ - /components/switch.unifi/ @@ -20,13 +21,88 @@ There is currently support for the following device types within Home Assistant: - [Presence Detection](#presence-detection) - [Switch](#switch) -Currently this implementation only exposes POE control for networked devices. Device tracker implementation is not using the same code base. - ## Configuration -Home Assistant offers UniFi integration through **Configuration** -> **Integrations** -> **UniFi Controller**. +Home Assistant offers UniFi integration through **Configuration** -> **Integrations** -> **UniFi Controller**. For legacy support old device_tracker configurations are imported and set up as new integrations. -Enter `host address`, `user name` and `password` and then continue to select which `site` you want to connect to Home Assistant. The user must have administrator privileges. +Enter `host address`, `user name` and `password` and then continue to select which `site` you want to connect to Home Assistant. The user needs administrator privileges in order to control POE switches. + +### Extra configuration for device tracker + +You can augment the behavior of UniFi device tracker by adding + +```yaml +# Example configuration.yaml entry +unifi: + controllers: + - host: unifi + site: My site + ssid_filter: + - 'HomeSSID' + 'IoTSSID' +``` + +{% configuration %} +host: + description: Same address as relevant config entry, needed to identify config entry + type: string + required: true + default: None +site: + description: Same site as relevant config entry, needed to identify config entry + type: string + required: true + default: None +block_client: + description: Clients that can be blocked from the network + type: list + required: false + default: None +detection_time: + description: How long since the last seen time before the device is marked away, specified in seconds. + type: integer + required: false + default: 300 +ssid_filter: + description: Filter the SSIDs that tracking will occur on. + type: list + required: false + default: None +{% endconfiguration %} + +### Configuring Users + +The UniFi controller allows you to create multiple users on it besides the main administrator. If all you want to use is the device tracker then it is recommended that you create a limited user that has `read-only` permissions for the Unifi device tracker. If you want blocking of network access or POE control as well you would need to have 'admin' permissions. + +### Conflicts with MQTT + +The Unifi controller can either be a dedicated hardware device (UniFi's cloud key), or as software any Linux system. If you run the Unifi controller on the same operating system as Home Assistant there may be conflicts in ports if you have the MQTT integration as well. + +It is recommended that you run the Unifi controller in a dedicated virtual machine to avoid that situation. + +## Presence detection + +This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](http://ubnt.com/) [UniFi](https://www.ubnt.com/enterprise/#unifi) controller. + +### Troubleshooting and Time Synchronization + +Presence detection depends on accurate time configuration between Home Assistant and the UniFi controller. + +If Home Assistant and the UniFi controller are running on separate machines or VMs ensure that all clocks are synchronized. Failing to have synchronized clocks will lead to Home Assistant failing to mark a device as home. + +[Related Issue](https://github.com/home-assistant/home-assistant/issues/10507) + +## Switch + +### Block network access for clients + +Allow control of network access to clients configured in `configuration.yaml` + +### Control clients powered by POE + +Entities appear automatically for each connected POE client. If no POE client device is in operation, no entity will be visible. Note: Unifi infrastructure devices such as access points and other switches are not (yet) supported, even if they are powered over ethernet themselves. + +Note that POE control actually configures the network port of the switch which the client is connected to. ## Debugging integration @@ -37,164 +113,7 @@ logger: default: info logs: aiounifi: debug -    homeassistant.components.unifi: debug -    homeassistant.components.switch.unifi: debug + homeassistant.components.unifi: debug + homeassistant.components.device_tracker.unifi: debug + homeassistant.components.switch.unifi: debug ``` - -## Presence detection - -This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](http://ubnt.com/) [Unifi](https://www.ubnt.com/enterprise/#unifi) controller. - -To use this device tracker in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -device_tracker: - - platform: unifi - host: unifi - username: username - password: password - ssid_filter: - - 'HomeSSID' - - 'IoTSSID' -``` - -{% configuration %} -username: - description: A user on the controller - type: string - required: true -password: - description: The password for the account - type: string - required: true -host: - description: The hostname or IP address of your controller - default: localhost - type: string - required: false -port: - description: The port of your controller's web interface - default: 8443 - type: integer - required: false -site_id: - description: For multisite installations, you can specify `site_id` to specify which is used - type: string - required: false - default: default -verify_ssl: - description: Whether to do strict validation on SSL certificates of the Unifi controller. This can be true/false or the path to a locally trusted certificate to use for verification (i.e. "/path/to/custom_cert.pm") - type: boolean or filename - required: false - default: true -detection_time: - description: How long since the last seen time before the device is marked away, specified in seconds. - type: integer - required: false - default: 300 -ssid_filter: - description: Filter the SSIDs that tracking will occur on. - type: list of strings - required: false - default: None -monitored_conditions: - description: A list of extra attributes to pull from the Unifi controller. - type: list - required: false - default: None - -{% endconfiguration %} - -See the [device tracker integration page](/components/device_tracker/) for instructions how to configure the people to be tracked. - -### Configuring Users - -The Unifi controller allows you to create multiple users on it besides the main administrator. It is recommended that you create a limited user that has `read-only` permissions for the Unifi device tracker. - -### Conflicts with MQTT - -The Unifi controller can either be a dedicated hardware device (Unifi's cloud key), or as software any Linux system. If you run the Unifi controller on the same operating system as Home Assistant there may be conflicts in ports if you have the MQTT integration as well. - -It is recommended that you run the Unifi controller in a dedicated virtual machine to avoid that situation. - -### Correctly specifying the Site ID - -For environments where there are multiple sites setup on the controller, or the default site is not being used you can use the `site_id` parameter to specify which site you would like to target. - -Please note that the value that is to be specificed here is not the name of the site as you would see it in controller interface, but a site ID value assigned from the software itself. - -To obtain this value for your configuration file, you can take it from the URL of your browser when on the controller webpage. - -For example, this is what would be seen in the URL bar when inside the dashboard page of a site: - -`https://127.0.0.1:8443/manage/s/ceb1m27d/dashboard` - -And your `site_id` value would be `ceb1m27d`. - -### Troubleshooting and Time Synchronization - -Presence detection depends on accurate time configuration between Home Assistant and the Unifi controller. - -If Home Assistant and the Unifi controller are running on separate machines or VMs ensure that all clocks are synchronized. Failing to have synchronized clocks will lead to Home Assistant failing to mark a device as home. - -[Related Issue](https://github.com/home-assistant/home-assistant/issues/10507) - -### Monitored Conditions - -The Unifi controller returns a number of additional attributes that can be used for tracking devices, including signal strength, rx/tx rates, and which AP it is connected to. The list of possible options may vary depending on your Unifi controller version and if a device is wired or wireless. - -Unifi Controller version 5.6.29 has the following options: - -- _id -- _is_guest_by_uap -- _last_seen_by_uap -- _uptime_by_uap -- ap_mac -- assoc_time -- authorized -- bssid -- bytes-r -- ccq -- channel -- essid -- first_seen -- hostname -- idletime -- ip -- is_11r -- is_guest -- is_wired -- last_seen -- latest_assoc_time -- mac -- name -- noise -- noted -- oui -- powersave_enabled -- qos_policy_applied -- radio -- radio_proto -- rssi -- rx_bytes -- rx_bytes-r -- rx_packets -- rx_rate -- signal -- site_id -- tx_bytes -- tx_bytes-r -- tx_packets -- tx_power -- tx_rate -- uptime -- user_id -- usergroup_id -- vlan - -## Switch - -Switches are network devices that are powered by POE switches from Ubuiqitis UniFi line of networking gear. - -Note that POE control actually configures the network port of the switch which the device is connected to. diff --git a/source/_components/utility_meter.markdown b/source/_components/utility_meter.markdown index 1d25f7b312f..a79537d2ee2 100644 --- a/source/_components/utility_meter.markdown +++ b/source/_components/utility_meter.markdown @@ -101,7 +101,7 @@ This service must be called by the user for the tariff switching logic to occur The following configuration shows an example where 2 utility_meters (`daily_energy` and `monthly_energy`) track daily and monthly energy consumptions. -Both track the same sensor (`sensor.energy`) which continously monitors the energy consumed. +Both track the same sensor (`sensor.energy`) which continuously monitors the energy consumed. 4 different sensors will be created, 2 per utility meter and corresponding to each tariff. Sensor `sensor.daily_energy_peak`, `sensor.daily_energy_offpeak`, `sensor.monthly_energy_peak` and `sensor.monthly_energy_offpeak` will automatically be created to track the consumption in each tariff for the given cycle. diff --git a/source/_components/vacuum.mqtt.markdown b/source/_components/vacuum.mqtt.markdown index 4155f2489cb..bf80d589eb4 100644 --- a/source/_components/vacuum.mqtt.markdown +++ b/source/_components/vacuum.mqtt.markdown @@ -42,7 +42,7 @@ schema: supported_features: description: List of features that the vacuum supports (possible values are `turn_on`, `turn_off`, `pause`, `stop`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`)." required: false - type: string list + type: [string, list] default: "`turn_on`, `turn_off`, `stop`, `return_home`, `status`, `battery`, `clean_spot`" command_topic: description: The MQTT topic to publish commands to control the vacuum. @@ -148,7 +148,7 @@ set_fan_speed_topic: fan_speed_list: description: List of possible fan speeds for the vacuum. required: false - type: string list + type: [string, list] send_command_topic: description: The MQTT topic to publish custom commands to the vacuum. required: false @@ -273,7 +273,7 @@ schema: supported_features: description: "List of features that the vacuum supports (possible values are `start`, `stop`, `pause`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`)." required: false - type: string list + type: [string, list] default: "`start`, `stop`, `return_home`, `status`, `battery`, `clean_spot`" command_topic: description: The MQTT topic to publish commands to control the vacuum. @@ -334,7 +334,7 @@ set_fan_speed_topic: fan_speed_list: description: List of possible fan speeds for the vacuum. required: false - type: string list + type: [string, list] send_command_topic: description: The MQTT topic to publish custom commands to the vacuum. required: false diff --git a/source/_components/vacuum.template.markdown b/source/_components/vacuum.template.markdown index f327654fe4e..0b705d7f27c 100644 --- a/source/_components/vacuum.template.markdown +++ b/source/_components/vacuum.template.markdown @@ -1,12 +1,6 @@ --- -layout: page title: "Template Vacuum" description: "Instructions how to setup Template vacuums within Home Assistant." -date: 2019-05-20 16:00 -sidebar: true -comments: false -sharing: true -footer: true ha_category: Vacuum ha_release: 0.96 ha_iot_class: Local Push @@ -84,12 +78,12 @@ vacuum: fan_speeds: description: List of fan speeds supported by the vacuum. required: false - type: string list + type: [string, list] {% endconfiguration %} -## {% linkable_title Examples %} +## Examples -### {% linkable_title Control vacuum with Harmony Hub %} +### Control vacuum with Harmony Hub This example shows how you can use a Template Vacuum to control an IR vacuum cleaner using the [Harmony Hub Remote component](/components/remote.harmony/). @@ -118,7 +112,7 @@ vacuum: device: 52840686 ``` -### {% linkable_title Vacuum with state %} +### Vacuum with state This example shows how to use templates to specify the state of the vacuum. diff --git a/source/_components/vallox.markdown b/source/_components/vallox.markdown index c5bfc7e7e99..577cf87fe9f 100644 --- a/source/_components/vallox.markdown +++ b/source/_components/vallox.markdown @@ -1,12 +1,6 @@ --- -layout: page title: "Vallox Ventilation Units" description: "Instructions on how to integrate Vallox ventilation units into Home Assistant." -date: 2019-06-19 20:00 -sidebar: true -comments: false -sharing: true -footer: true logo: vallox.png ha_category: - Fan @@ -26,7 +20,7 @@ The **fan** platform of this integration allows you to either turn on/off the co Also, there is a **sensor** platform that exposes a number of relevant metrics like fan speed, various air temperatures and humidity. -### {% linkable_title Configuration %} +## Configuration ```yaml vallox: @@ -45,7 +39,7 @@ name: type: string {% endconfiguration %} -## {% linkable_title Profile Switching %} +## Profile Switching For convenient switching of ventilation profiles in the GUI, consider using an [input_select](../input_select) hooked to an automation, for example: @@ -73,9 +67,9 @@ automation: ``` {% endraw %} -## {% linkable_title Fan Services %} +## Fan Services -### {% linkable_title Service `vallox.set_profile` %} +### Service `vallox.set_profile` Set the ventilation profile. @@ -83,7 +77,7 @@ Set the ventilation profile. |------------------------|----------|------------------------------------------------------| | `profile` | no | Allowed values: `Home`, `Away`, `Boost`, `Fireplace` | -### {% linkable_title Service `vallox.set_profile_fan_speed_home` %} +### Service `vallox.set_profile_fan_speed_home` Set the fan speed of the `Home` profile. @@ -91,8 +85,7 @@ Set the fan speed of the `Home` profile. |------------------------|----------|-------------------------------------------------| | `fan_speed` | no | Fan speed in %. `Integer`, between 0 and 100. | - -### {% linkable_title Service `vallox.set_profile_fan_speed_away` %} +### Service `vallox.set_profile_fan_speed_away` Set the fan speed of the `Away` profile. @@ -100,7 +93,7 @@ Set the fan speed of the `Away` profile. |------------------------|----------|-------------------------------------------------| | `fan_speed` | no | Fan speed in %. `Integer`, between 0 and 100. | -### {% linkable_title Service `vallox.set_profile_fan_speed_boost` %} +### Service `vallox.set_profile_fan_speed_boost` Set the fan speed of the `Boost` profile. diff --git a/source/_components/velbus.markdown b/source/_components/velbus.markdown index 1d59dd2508e..68d973de4ba 100644 --- a/source/_components/velbus.markdown +++ b/source/_components/velbus.markdown @@ -29,19 +29,23 @@ There is currently support for the following device types within Home Assistant: ## Configuration -The gateway needs to be configured by adding the following lines to your `configuration.yaml` file: +There are 2 options in configuring the velbus integration: + +- Via the Home Assistant user interface where it will let you enter the port string to connect to the Velbus bus. +- Via the Home Assistant `configuration.yaml` file. ```yaml # Example configuration.yaml entry for a USB or serial interface velbus: - port: '/dev/ttyUSB00' + port: 'PORT_STRING' ``` -```yaml -# Example configuration.yaml entry for a TCP/IP interface -velbus: - port: '127.0.0.1:3678' -``` +## Port Sstring + +The port string used in the user interface or the configuration file can have 2 formats: + +- For a serial device: /dev/ttyUSB00 +- For a tcp/ip device: 127.0.0.1:3678 {% configuration %} port: diff --git a/source/_components/vesync.markdown b/source/_components/vesync.markdown index fa7e38cf0b8..7d7a8d93016 100644 --- a/source/_components/vesync.markdown +++ b/source/_components/vesync.markdown @@ -1,5 +1,5 @@ --- -title: "VeSync Switch" +title: "VeSync Integration" description: "Instructions on how to set up Etekcity VeSync switches and outlets within Home Assistant." logo: vesync.png ha_category: @@ -9,20 +9,37 @@ redirect_from: - /components/switch.vesync/ --- -The `vesync` switch platform enables integration with Etekcity VeSync smart wall switches and outlets. +The `vesync` integration enables you to control Etekcity smart switches and outlets connected to the VeSync App. -VeSync outlets are low-cost wifi smart plugs that offer energy monitoring and work with popular voice assistants. +The devices must be added to the VeSync App before this integration can discover them. -Supports both the 7A round outlets and 15A rectangular outlets, as well as the in wall switches. +The following platforms are supported: + +- **switch** + +## Supported Devices + +This integration supports devices controllable by the VeSync App. The following devices are supported by this integration: + +### Plugs + +- Etekcity 7 Amp US outlet - ESW01-USA (Round) +- Etekcity 10 Amp US outlet - ESW10-USA (Round) +- Etekcity 10 Amp EU outlet - ESW10-EU (Round) +- Etekcity 15 Amp US outlet - ESW15-USA (Rectangular) +- Etekcity 2 Plug Outdoor Outlet - ESO15-TB + +### Switches + +- Etekcity In Wall Smart Switch (EWSL01-USA) ## Configuration -To use your VeSync switches, you must first register your switches with the VeSync app. Once registration is complete you must add the following to your `configuration.yaml` file: +To use this integration, all devices must be registered with the VeSync App. Once registration is complete, you can add the VeSync integration by adding the VeSync integration in the configuration section of the frontend and entering your username and password. You can also use the traditional configuration method by adding the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry -switch: - - platform: vesync +vesync: username: YOUR_USERNAME password: YOUR_PASSWORD ``` @@ -38,11 +55,50 @@ password: type: string {% endconfiguration %} -## Exposed Attributes +## Services -VeSync switches will expose the following details for only the smart outlets. Energy monitoring not available for in-wall switches. +| Service | Description | +|---------|-------------| +| `update_devices` | Poll Vesync server to find and add any new devices | -| Attribute | Description | Example | -| ------------------- | ------------------------------------------------------------------- | --------------- | -| `current_power_w` | The present power consumption of the switch in watts. | 100 | -| `today_energy_kwh` | The kilowatt hours used by the switch during the previous 24 hours. | 0.12 | +## Outlet Exposed Attributes + +VeSync outlets will expose the following details for only the smart outlets. Energy monitoring not available for in-wall switches. + +| Attribute | Description | Example | +| ----------------------- | ----------------------------------------------------------------------- | --------------- | +| `current_power_w` | The present power consumption of the switch in watts. | 100 | +| `today_energy_kwh` | The kilowatt hours used by the switch during the previous 24 hours. | 0.12 | +| `voltage` | Current voltage of the device | 120.32 | +| `weekly_energy_total` | Total energy usage for week starting from Monday 12:01AM in kWh | 14.74 | +| `monthly_energy_total` | Total energy usage for month starting from 12:01AM on the first in kWh | 52.30 | +| `yearly_energy_total` | Total energy usage for year start from 12:01AM on Jan 1 in kWh | 105.25 | + +## Extracting Attribute data + +In order to get the attributes readings from supported devices, such as energy from outlets or fan attributes, you'll have to create a [template sensor](/components/switch.template/). + +In the example below, change all of the `vesync_switch`'s to match your device's entity ID. + +Adapted from the [TP-Link integration](https://www.home-assistant.io/components/tplink/#plugs). + +{% raw %} + +```yaml +sensor: + - platform: template + vesync_switch_watts: + friendly_name_template: "{{ states.switch.vesync_switch.name}} Current Consumption" + value_template: '{{ states.switch.vesync_switch.attributes["current_power_w"] | float }}' + unit_of_measurement: 'W' + vesync_switch_total_kwh: + friendly_name_template: "{{ states.switch.vesync_switch.name}} Total Consumption" + value_template: '{{ states.switch.vesync_switch.attributes["today_energy_kwh"] | float }}' + unit_of_measurement: 'kWh' + vesync_switch_volts: + friendly_name_template: "{{ states.switch.vesync_switch.name}} Voltage" + value_template: '{{ states.switch.vesync_switch.attributes["voltage"] | float }}' + unit_of_measurement: 'V' +``` + +{% endraw %} diff --git a/source/_components/volkszaehler.markdown b/source/_components/volkszaehler.markdown index 3400cceead5..a7b5db9b73c 100644 --- a/source/_components/volkszaehler.markdown +++ b/source/_components/volkszaehler.markdown @@ -46,7 +46,7 @@ name: monitored_conditions: description: Entries to monitor. required: false - type: map + type: list default: average keys: average: diff --git a/source/_components/vultr.markdown b/source/_components/vultr.markdown index 8c57009bf4c..3cec3889126 100644 --- a/source/_components/vultr.markdown +++ b/source/_components/vultr.markdown @@ -130,8 +130,8 @@ monitored_conditions: keys: current_bandwidth_used: description: The current (invoice period) bandwidth usage in Gigabytes (GB). - temperature: - pending_charges: The current (invoice period) charges that have built up for this subscription. Value is in US Dollars (US$). + pending_charges: + description: The current (invoice period) charges that have built up for this subscription. Value is in US Dollars (US$). {% endconfiguration %} Full `configuration.yaml` using `{}` to format condition name (produces `sensor.server_current_bandwidth_used` and `sensor.server_pending_charges`): diff --git a/source/_components/waze_travel_time.markdown b/source/_components/waze_travel_time.markdown index 95c18f5d8ab..5a279e2d85a 100644 --- a/source/_components/waze_travel_time.markdown +++ b/source/_components/waze_travel_time.markdown @@ -57,6 +57,7 @@ realtime: description: If this is set to false, Waze returns the time estimate, not including current conditions, but rather the average travel time for the current time of day. The parameter defaults to true, meaning Waze will return real-time travel time. required: false type: boolean + default: true units: description: "Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`." required: false diff --git a/source/_components/weather.darksky.markdown b/source/_components/weather.darksky.markdown index 30906a6fc9f..0b2e94c4a72 100644 --- a/source/_components/weather.darksky.markdown +++ b/source/_components/weather.darksky.markdown @@ -38,12 +38,12 @@ api_key: latitude: description: Manually specify latitude. By default the value will be taken from the Home Assistant configuration. required: false - type: number + type: float default: Provided by Home Assistant configuration longitude: description: Manually specify longitude. By default the value will be taken from the Home Assistant configuration. required: false - type: number + type: float default: Provided by Home Assistant configuration units: description: "Manually specify unit system. Valid values are: `auto`, `us`, `si`, `ca`, `uk` and `uk2`." diff --git a/source/_components/weather.markdown b/source/_components/weather.markdown index 4efe19bfe16..55683718b6a 100644 --- a/source/_components/weather.markdown +++ b/source/_components/weather.markdown @@ -1,12 +1,16 @@ --- title: "Weather" description: "Instructions on how to setup your Weather platforms with Home Assistant." +logo: home-assistant.png +ha_category: + - Weather +ha_qa_scale: internal ha_release: 0.32 --- -The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. +The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up. -Home Assistant currently supports free web services and such which require a registration. Please check the sidebar for a full list of supported `weather` platforms. +Home Assistant currently supports free web services and such which require a registration. ## Condition mapping diff --git a/source/_components/weblink.markdown b/source/_components/weblink.markdown index b5119a3e823..bdbe73101c4 100644 --- a/source/_components/weblink.markdown +++ b/source/_components/weblink.markdown @@ -3,13 +3,17 @@ title: "Weblink" description: "Instructions on how to setup Links within Home Assistant." logo: home-assistant.png ha_category: - - Front end + - Front End ha_release: 0.13 ha_qa_scale: internal --- The `weblink` integration allows you to display links in the Home Assistant frontend. +
+The below documentation applies to the classic "States" user interface. Starting with Home Assistant 0.86, Lovelace is the new default interface. For information on configuring weblinks in Lovelace please follow [these instructions](/lovelace/entities/#weblink) instead. +
+ ## Configuration To use this integration in your installation, add something like the following to your `configuration.yaml` file: diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index c03c387d0d3..46a07a2558a 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -14,7 +14,7 @@ ha_category: - Scene - Sensor - Switch - - Water heater + - Water Heater featured: true ha_iot_class: Cloud Polling ha_release: pre 0.7 diff --git a/source/_components/wwlln.markdown b/source/_components/wwlln.markdown index 4a2fa75fefc..1bd789f241d 100644 --- a/source/_components/wwlln.markdown +++ b/source/_components/wwlln.markdown @@ -1,12 +1,6 @@ --- -layout: page title: "World Wide Lightning Location Network (WWLLN)" description: "Instructions on how to integrate WWLLN within Home Assistant." -date: 2019-07-06 23:17 -sidebar: true -comments: false -sharing: true -footer: true logo: wwlln.jpg ha_category: Geolocation ha_release: 0.96 @@ -17,9 +11,9 @@ ha_config_flow: true The `wwlln` integration displays lightning strike information from the [World Wide Lightning Location Network (WWLLN)](http://wwlln.net). -Entities are generated, updated and removed automatically with each update -from the feed. Each entity defines latitude and longitude and will be shown -on the default map automatically, or on a map card by defining the source +Entities are generated, updated and removed automatically with each update +from the feed. Each entity defines latitude and longitude and will be shown +on the default map automatically, or on a map card by defining the source `wwlln`. The distance (in kilometers or miles, depending on your unit system) is available as the state of each entity. @@ -27,12 +21,15 @@ is available as the state of each entity.

-New data is returned every 5 minutes. +New data is fetched every 10 minutes. Because data from the WWLLN may vary in terms +of how real-time it is, the default `window` parameter is set to 1 hour to ensure that as +many strikes are caught as possible. ## Configuration -To retrieve data from the WWLLN, add the following to your `configuration.yaml` -file: +To retrieve data from the WWLLN, edit your `configuration.yaml` file manually or use the "Integrations" feature in the GUI, you find it under Configurations - Integrations. + +To manually add the component, add the following to your `configuration.yaml`: ```yaml wwlln: @@ -40,43 +37,43 @@ wwlln: {% configuration %} latitude: - description: The latitude you want to monitor; defaults to the value defined in `configuration.yaml`. - required: false - type: float +description: The latitude you want to monitor; defaults to the value defined in `configuration.yaml`. +required: false +type: float longitude: - description: The longitude you want to monitor; defaults to the value defined in `configuration.yaml`. - required: false - type: float +description: The longitude you want to monitor; defaults to the value defined in `configuration.yaml`. +required: false +type: float radius: - description: The radius around your location to monitor; defaults to 25 km or mi (depending on the unit system defined in your `configuration.yaml`). - required: false - type: int +description: The radius around your location to monitor; defaults to 25 km or mi (depending on the unit system defined in your `configuration.yaml`). +required: false +type: integer window: - description: The amount of time before now for which strikes should be considered "active" and shown in the UI. - required: false - type: time +description: The amount of time before now for which strikes should be considered "active" and shown in the UI. Note that a window of less than 1 hour may cause Home Assistant to miss events. +required: false +type: time +default: 10 minutes {% endconfiguration %} ## State Attributes -The following state attributes are available for each entity in addition to +The following state attributes are available for each entity in addition to the standard ones: -| Attribute | Description | -|--------------------|-------------| -| latitude | Latitude of the lightning strike. | -| longitude | Longitude of the lightning strike. | -| source | `wwlln` to be used in conjunction with the `geo_location` automation trigger. | -| external_id | The external ID used in the feed to identify the earthquake in the feed. | -| publication_date | Date and time when this event occurred. | - +| Attribute | Description | +| ---------------- | ----------------------------------------------------------------------------- | +| latitude | Latitude of the lightning strike. | +| longitude | Longitude of the lightning strike. | +| source | `wwlln` to be used in conjunction with the `geo_location` automation trigger. | +| external_id | The external ID used in the feed to identify the earthquake in the feed. | +| publication_date | Date and time when this event occurred. | ## Full Configuration ```yaml # Example configuration.yaml entry wwlln: - radius: 100 - latitude: 37.39 - longitude: -5.99 + radius: 100 + latitude: 37.39 + longitude: -5.99 ``` diff --git a/source/_components/xmpp.markdown b/source/_components/xmpp.markdown index f1902f1217f..9db60f3a3b3 100644 --- a/source/_components/xmpp.markdown +++ b/source/_components/xmpp.markdown @@ -44,9 +44,11 @@ resource: password: description: The password for your given Jabber account. required: true + type: string recipient: description: The Jabber ID (JID) that will receive the messages. required: true + type: string tls: description: Force TLS. required: false diff --git a/source/_components/yeelight.markdown b/source/_components/yeelight.markdown index 61d718029ee..cfc496bf392 100644 --- a/source/_components/yeelight.markdown +++ b/source/_components/yeelight.markdown @@ -80,7 +80,7 @@ devices: custom_effects: description: List of custom effects to add. Check examples below. required: false - type: array + type: map keys: name: description: Name of effect. @@ -99,8 +99,7 @@ custom_effects: transitions: description: List of transitions, for that effect, check [example](#custom-effects). required: true - type: array - + type: list {% endconfiguration %} #### Music mode diff --git a/source/_components/yi.markdown b/source/_components/yi.markdown index 5b8199ec54d..eb10adaa464 100644 --- a/source/_components/yi.markdown +++ b/source/_components/yi.markdown @@ -33,6 +33,12 @@ Currently, version 0.1.4-beta2 of the custom firmware is the highest supported w
+
+ +If you use a version higher than 0.1.4-beta2, you can simply solve the FTP issue by creating a symlink to `/tmp` in the `/home/yi-hack-v4` directory (the directory name can be different depending on the version which you use). For example, access the Yi camera via SSH and type command: `ln -s /tmp tmp`. + +
+
Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video.
diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index 0233eeb5b67..e4e16f4bb6f 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -101,4 +101,5 @@ individual: description: A 'true'/'false' to specify whether we should show individual sensors when a list of hostids is provided. If false, the sensor state will be the count of all triggers for the specified hosts (or all hosts within the Zabbix instance, if hostids isn't provided). required: false type: boolean -{% endconfiguration %} \ No newline at end of file + default: false +{% endconfiguration %} diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index 05ab67b87a1..85bf56dd89d 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -80,15 +80,20 @@ homeassistant: trusted_networks: description: A list of IP address or IP network you want to whitelisted. It accepts both IPv4 and IPv6 IP address or network required: true - type: list of string + type: list trusted_users: description: You can also assign which users are available to select when user access login page from certain IP address or network. required: false - type: dictionary, string as key, list of string as value + type: map + keys: + IP_ADDRESS: + description: List of users available to select on this IP address or network. + required: false + type: [list, string] allow_bypass_login: description: You can bypass login page if you have only one user available for selection. required: false - default: False + default: false type: boolean {% endconfiguration %} diff --git a/source/_docs/automation/templating.markdown b/source/_docs/automation/templating.markdown index 1349bb7ad2b..eb68f068c61 100644 --- a/source/_docs/automation/templating.markdown +++ b/source/_docs/automation/templating.markdown @@ -72,6 +72,8 @@ There are a few very important rules to remember when writing automation templat Remembering these simple rules will help save you from many headaches and endless hours of frustration when using automation templates. +It is possible to use `data` and `data_template` concurrently but be aware that `data_template` will overwrite attributes that are provided in both. + ## Trigger State Object Knowing how to access the [state object](/docs/configuration/state_object/) of a trigger entity could be one of the more common questions. Here are a few ways for the [`state`](#state), [`numeric_state`](#numeric_state) and [`template`](#template) triggers: diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index cea62fc31c2..32afab597a9 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -24,7 +24,7 @@ automation:
- Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' platform below instead. +Starting 0.42, it is no longer possible to listen for event `homeassistant_start`. Use the 'homeassistant' platform below instead.
@@ -50,8 +50,8 @@ automation: platform: mqtt topic: living_room/switch/ac # Optional - payload: 'on' - encoding: 'utf-8' + payload: "on" + encoding: "utf-8" ``` ### Numeric state trigger @@ -59,13 +59,14 @@ automation: Triggers when numeric value of an entity's state crosses a given threshold. On state change of a specified entity, attempts to parse the state as a number and triggers once if value is changing from above to below or from below to above the given threshold. {% raw %} + ```yaml automation: trigger: platform: numeric_state entity_id: sensor.temperature # Optional - value_template: '{{ state.attributes.battery }}' + value_template: "{{ state.attributes.battery }}" # At least one of the following required above: 17 below: 25 @@ -76,6 +77,7 @@ automation: minutes: 10 seconds: 5 ``` + {% endraw %}
@@ -86,25 +88,28 @@ In the example above, a numeric_state that goes to 17.1-24.9 (from 17 or below, The `for:` can also be specified as `HH:MM:SS` like this: {% raw %} + ```yaml automation: trigger: platform: numeric_state entity_id: sensor.temperature # Optional - value_template: '{{ state.attributes.battery }}' + value_template: "{{ state.attributes.battery }}" # At least one of the following required above: 17 below: 25 # If given, will trigger when condition has been for X time. - for: '01:10:05' + for: "01:10:05" ``` + {% endraw %} You can also use templates in the `for` option. {% raw %} + ```yaml automation: trigger: @@ -122,6 +127,7 @@ automation: message: > {{ trigger.to_state.name }} too high for {{ trigger.for }}! ``` + {% endraw %} The `for` template(s) will be evaluated when an entity changes as specified. @@ -136,23 +142,24 @@ automation: platform: state entity_id: device_tracker.paulus, device_tracker.anne_therese # Optional - from: 'not_home' + from: "not_home" # Optional - to: 'home' + to: "home" # If given, will trigger when state has been the to state for X time. - for: '01:10:05' + for: "01:10:05" ``` You can also use templates in the `for` option. {% raw %} + ```yaml automation: trigger: platform: state entity_id: device_tracker.paulus, device_tracker.anne_therese - to: 'home' + to: "home" for: minutes: "{{ states('input_number.lock_min')|int }}" seconds: "{{ states('input_number.lock_sec')|int }}" @@ -160,13 +167,14 @@ automation: service: lock.lock entity_id: lock.my_place ``` + {% endraw %} The `for` template(s) will be evaluated when an entity changes as specified. -
- Use quotes around your values for `from` and `to` to avoid the YAML parser interpreting values as booleans. + +Use quotes around your values for `from` and `to` to avoid the YAML parser interpreting values as booleans.
@@ -180,7 +188,7 @@ An optional time offset can be given to have it trigger a set time before or aft
-Since the duration of twilight is different throughout the year, it is recommended to use [sun elevation triggers][sun_elevation_trigger] instead of `sunset` or `sunrise` with a time offset to trigger automations during dusk or dawn. +Since the duration of twilight is different throughout the year, it is recommended to use [sun elevation triggers][sun_elevation_trigger] instead of `sunset` or `sunrise` with a time offset to trigger automations during dusk or dawn.
@@ -192,8 +200,8 @@ automation: platform: sun # Possible values: sunset, sunrise event: sunset - # Optional time offset. This example will trigger 45 minutes before sunrise. - offset: '-00:45:00' + # Optional time offset. This example will trigger 45 minutes before sunset. + offset: "-00:45:00" ``` #### Sun elevation trigger @@ -201,6 +209,7 @@ automation: Sometimes you may want more granular control over an automation than simply sunset or sunrise and specify an exact elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. For most things intended to trigger during dusk or dawn, a number between 0° and -6° is suitable; -4° is used in this example: {% raw %} + ```yaml automation: alias: "Exterior Lighting on when dark outside" @@ -214,6 +223,7 @@ automation: service: switch.turn_on entity_id: switch.exterior_lighting ``` + {% endraw %} If you want to get more precise, start with the US Naval Observatory [tool](http://aa.usno.navy.mil/data/docs/AltAz.php) which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers. @@ -223,6 +233,7 @@ Although the actual amount of light depends on weather, topography and land cove - Civil twilight: 0° > Solar angle > -6° This is what is meant by twilight for the average person: Under clear weather conditions, civil twilight approximates the limit at which solar illumination suffices for the human eye to clearly distinguish terrestrial objects. Enough illumination renders artificial sources unnecessary for most outdoor activities. + - Nautical twilight: 6° > Solar angle > -12° - Astronomical twilight: 12° > Solar angle > -18° @@ -234,6 +245,7 @@ Template triggers work by evaluating a [template](/docs/configuration/templating With template triggers you can also evaluate attribute changes by using is_state_attr (`{% raw %}{{ is_state_attr('climate.living_room', 'away_mode', 'off') }}{% endraw %}`) {% raw %} + ```yaml automation: trigger: @@ -241,13 +253,15 @@ automation: value_template: "{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}" # If given, will trigger when template remains true for X time. - for: '00:01:00' + for: "00:01:00" ``` + {% endraw %} You can also use templates in the `for` option. {% raw %} + ```yaml automation: trigger: @@ -256,13 +270,13 @@ automation: for: minutes: "{{ states('input_number.minutes')|int(0) }}" ``` + {% endraw %} The `for` template(s) will be evaluated when the `value_template` becomes `true`.
Rendering templates with time (`now()`) is dangerous as trigger templates only update based on entity state changes. -
### Time trigger @@ -274,7 +288,7 @@ automation: trigger: platform: time # Military time format. This trigger will fire at 3:32 PM - at: '15:32:00' + at: "15:32:00" ``` ### Time pattern trigger @@ -292,19 +306,19 @@ automation 2: trigger: platform: time_pattern # Trigger once per minute during the hour of 3 - hours: '3' - minutes: '*' + hours: "3" + minutes: "*" automation 3: trigger: platform: time_pattern # You can also match on interval. This will match every 5 minutes - minutes: '/5' + minutes: "/5" ```
- Do not prefix numbers with a zero - using `'00'` instead of '0' for example will result in errors. +Do not prefix numbers with a zero - using `'00'` instead of '0' for example will result in errors.
@@ -321,7 +335,6 @@ automation: You could test triggering the above automation by sending a POST HTTP request to `http://your-home-assistant:8123/api/webhook/some_hook_id`. An example with no data sent to a SSL/TLS secured installation and using the command-line curl program is `curl -d "" https://your-home-assistant:8123/api/webhook/some_hook_id`. - ### Zone trigger Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/components/device_tracker.gpslogger/), the [OwnTracks platform](/components/device_tracker.owntracks/) and the [iCloud platform](/components/device_tracker.icloud/). @@ -333,7 +346,7 @@ automation: entity_id: device_tracker.paulus zone: zone.home # Event is either enter or leave - event: enter # or "leave" + event: enter # or "leave" ``` ### Geolocation trigger @@ -348,7 +361,7 @@ automation: source: nsw_rural_fire_service_feed zone: zone.bushfire_alert_zone # Event is either enter or leave - event: enter # or "leave" + event: enter # or "leave" ``` ### Multiple triggers @@ -358,7 +371,7 @@ When your want your automation rule to have multiple triggers, just prefix the f ```yaml automation: trigger: - # first trigger + # first trigger - platform: time_pattern minutes: 5 # our second trigger is the sunset diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index dde064c07b7..ff2bf2c2943 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -4,7 +4,9 @@ description: "Setting up the basic info of Home Assistant." redirect_from: /getting-started/basic/ --- -By default, Home Assistant will try to detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You can overwrite this by adding the following information to your `configuration.yaml`: +As part of the default onboarding proccess, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You may adjust this during onboarding, or afterwards at Configuration -> General. + +If you prefer YAML, you can add the following information to your `configuration.yaml`: ```yaml homeassistant: diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index 0a9ff25575e..420cd090a76 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -19,7 +19,7 @@ By default, all of your devices will be visible and have a default icon determin ### Customization using the UI -Under the *Configuration* menu you'll find the *Customization* menu. When you select an entity to customize, you'll see all the existing attributes listed and you can customize those, or select an additional supported attribute ([see below](/docs/configuration/customizing-devices/#possible-values)). +Under the *Configuration* menu you'll find the *Customization* menu. If this menu item is not visible, enable advanced mode on your [profile page](/docs/authentication/#your-account-profile) first. When you select an entity to customize, you'll see all the existing attributes listed and you can customize those, or select an additional supported attribute ([see below](/docs/configuration/customizing-devices/#possible-values)). #### Possible values diff --git a/source/_docs/configuration/state_object.markdown b/source/_docs/configuration/state_object.markdown index f05e85d5f07..8699d0220c6 100644 --- a/source/_docs/configuration/state_object.markdown +++ b/source/_docs/configuration/state_object.markdown @@ -29,9 +29,9 @@ Attribute | Description --------- | ----------- `friendly_name` | Name of the entity. Example: `Kitchen Ceiling`. `icon` | Icon to use for the entity in the frontend. Example: `mdi:home`. -`hidden` | Boolean if the entity should not be shown in the frontend. Example: `true`. `entity_picture` | URL to a picture that should be used instead of showing the domain icon. Example: `http://example.com/picture.jpg`. `assumed_state` | Boolean if the current state is an assumption. [More info](/blog/2016/02/12/classifying-the-internet-of-things/#classifiers) Example: `True`. `unit_of_measurement` | The unit of measurement the state is expressed in. Used for grouping graphs or understanding the entity. Example: `°C`. +`hidden` | Boolean if the entity should not be shown in the frontend. Example: `true`. This does not apply to the Lovelace UI, and is only relevant for the old `states` UI. When an attribute contains spaces, you can retrieve it like this: `states.sensor.livingroom.attributes["Battery numeric"]`. diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 471f93846dc..88646073fb2 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -74,7 +74,7 @@ The next two statements result in the same value if the state exists. The second {% raw %} ```text {{ states('device_tracker.paulus') }} -{{ states('device_tracker.paulus') }} +{{ states.device_tracker.paulus }} ``` {% endraw %} @@ -142,11 +142,11 @@ With strings: ``` {% endraw %} -### {% linkable_title Working with Groups %} +### Working with Groups The `expand` function and filter can be used to sort entities and expand groups. It outputs a sorted array of entities with no duplicates. -#### {% linkable_title Expand examples %} +#### Expand examples {% raw %} ```text @@ -200,7 +200,7 @@ These can also be combined in any combination: ``` {% endraw %} -#### {% linkable_title Closest examples %} +#### Closest examples The closest function and filter will find the closest entity to the Home Assisant location: @@ -277,6 +277,7 @@ Some of these functions can also be used in a [filter](http://jinja.pocoo.org/do - Filter `min` will obtain the smallest item in a sequence. - Filter `value_one|bitwise_and(value_two)` perform a bitwise and(&) operation with two values. - Filter `value_one|bitwise_or(value_two)` perform a bitwise or(\|) operation with two values. +- Filter `ord` will return for a string of length one an integer representing the Unicode code point of the character when the argument is a Unicode object, or the value of the byte when the argument is an 8-bit string. ### Regular expressions diff --git a/source/_docs/ecosystem/hass-configurator.markdown b/source/_docs/ecosystem/hass-configurator.markdown index 9e2ac3f93c1..c8f39f7b751 100644 --- a/source/_docs/ecosystem/hass-configurator.markdown +++ b/source/_docs/ecosystem/hass-configurator.markdown @@ -108,7 +108,7 @@ Since the configurator script on its own is no service, you will have to take so `nohup sudo ./configurator.py &` 2. If your system is using systemd (that's usually what you'll find on a Raspberry Pi), there's a [template file](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.systemd) you can use and then apply the same process to integrate it as mentioned in the [Home Assistant documentation](/docs/autostart/systemd/). If you use this method you have to set the `BASEPATH` variable according to your environment. 3. If you have [supervisor](http://supervisord.org/) running on your system, [hass-poc-configurator.supervisor](https://github.com/danielperna84/hass-configurator/blob/master/hass-configurator.supervisor) would be an example configuration you could use to control the configurator. -4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](/docs/hassbian/). +4. A tool called [tmux](https://tmux.github.io/), which should be pre-installed with [HASSbian](/docs/installation/hassbian/). 5. A tool called [screen](http://ss64.com/bash/screen.html) (alternative to tmux). If it's not already installed on your system, you can do `sudo apt-get install screen` or `sudo yum install screen` to get it. When it's installed, start a screen session by executing `screen`. Then navigate to your Home Assistant directory and start the configurator like described above. Put the screen session into the background by pressing `CTRL+A` and then `CTRL+D`. It is now safe to disconnect from your SSH session. To resume the screen session, log in to your machine and execute `screen -r`. diff --git a/source/_docs/installation/archlinux.markdown b/source/_docs/installation/archlinux.markdown index d8277cb7ba4..710052da803 100644 --- a/source/_docs/installation/archlinux.markdown +++ b/source/_docs/installation/archlinux.markdown @@ -8,18 +8,9 @@ description: "Installation of Home Assistant on your Arch Linux computer." Install the needed Python packages. ```bash -$ sudo pacman -S python -$ sudo pacman -S python-pip +sudo pacman -S python +sudo pacman -S python-pip ``` -and Home Assistant itself. - -```bash -$ pip3 install --user homeassistant -``` - -Home Assistant is part of the [AUR](https://aur.archlinux.org/packages/home-assistant/). This means that it can be installed with `pacaur`. This package is often broken or outdated: - -```bash -$ pacaur -S home-assistant -``` +From here on, we recommend you to follow the +[virtualenv](https://www.home-assistant.io/docs/installation/virtualenv/) guide. diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 932e68cd097..392e5bf5523 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -4,6 +4,8 @@ description: "Instructions to install Home Assistant on a Docker." redirect_from: /getting-started/installation-docker/ --- +## Platform Installation + Installation with Docker is straightforward. Adjust the following command so that `/PATH_TO_YOUR_CONFIG` points at the folder where you want to store your configuration and run it: ### Linux @@ -176,14 +178,14 @@ device_tracker: - platform: bluetooth_tracker ``` -### Restart +## Restart If you change the configuration you have to restart the server. To do that you have 2 options. 1. You can go to the service developer tool icon service developer tools, select the service `homeassistant/restart` and click "Call Service". 2. Or you can restart it from a terminal by running `docker restart home-assistant` -### Docker Compose +## Docker Compose As the docker command becomes more complex, switching to `docker-compose` can be preferable and support automatically restarting on failure or system restart. Create a `docker-compose.yml` file: @@ -212,7 +214,7 @@ To restart Home Assistant when you have changed configuration: $ docker-compose restart ``` -### Exposing Devices +## Exposing Devices In order to use Z-Wave, Zigbee or other integrations that require access to devices, you need to map the appropriate device into the container. Ensure the user that is running the container has the correct privileges to access the `/dev/tty*` file, then add the device mapping to your docker command: diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown index 47fc0dcf4a7..5ea23f33090 100644 --- a/source/_docs/installation/freenas.markdown +++ b/source/_docs/installation/freenas.markdown @@ -42,8 +42,8 @@ Install Home Assistant itself: ```bash # su homeassistant % cd /usr/local/share/homeassistant -% source ./bin/activate.csh % virtualenv -p python3.7 . +% source ./bin/activate.csh % pip3 install homeassistant % deactivate % exit diff --git a/source/_docs/installation/virtualenv.markdown b/source/_docs/installation/virtualenv.markdown index 5b7c6e917e2..f1766a13b7b 100644 --- a/source/_docs/installation/virtualenv.markdown +++ b/source/_docs/installation/virtualenv.markdown @@ -98,9 +98,11 @@ $ pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@ - It's recommended to run Home Assistant as a dedicated user. - If you want Home Assistant to automatically start at boot, check the [autostart docs](/docs/autostart/) -

+

+ Looking for more advanced guides? Check our [Raspbian guide](/docs/installation/raspberry-pi/) or the [other installation guides](/docs/installation/). -

+ +
### After upgrading Python diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index 9dad09aefeb..cdb68d0c496 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -54,6 +54,7 @@ tls_insecure: required: false description: Set the verification of the server hostname in the server certificate. type: boolean + default: false tls_version: required: false description: "TLS/SSL protocol version to use. Available options are: `'auto'`, `'1.0'`, `'1.1'`, `'1.2'`. Make sure to put quotes around the value. Defaults to `'auto'`." diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 8e3e6ec9fb5..70fca524001 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -226,6 +226,7 @@ The following software has built-in support for MQTT discovery: - [Arilux AL-LC0X LED controllers](https://github.com/mertenats/Arilux_AL-LC0X) - [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0) - [Zigbee2mqtt](https://github.com/koenkk/zigbee2mqtt) +- [Zwave2Mqtt](https://github.com/OpenZWave/Zwave2Mqtt) (starting with 2.0.1) ### Examples diff --git a/source/_docs/mqtt/testing.markdown b/source/_docs/mqtt/testing.markdown index 7db04673c45..f294ba83610 100644 --- a/source/_docs/mqtt/testing.markdown +++ b/source/_docs/mqtt/testing.markdown @@ -16,7 +16,7 @@ If you are using the embedded MQTT broker, the command looks a little different $ mosquitto_pub -V mqttv311 -u homeassistant -P -t "hello" -m world ``` -Another way to send MQTT messages by hand is to use the "Developer Tools" in the Frontend. Choose "Call Service" and then `mqtt/mqtt_send` under "Available Services". Enter something similar to the example below into the "Service Data" field. +Another way to send MQTT messages by hand is to use the "Developer Tools" in the Frontend. Choose "Call Service" and then `mqtt.publish` under "Available Services". Enter something similar to the example below into the "Service Data" field. ```json { diff --git a/source/_docs/scripts/service-calls.markdown b/source/_docs/scripts/service-calls.markdown index 77229e1fe65..aaa6c10b56a 100644 --- a/source/_docs/scripts/service-calls.markdown +++ b/source/_docs/scripts/service-calls.markdown @@ -77,6 +77,16 @@ data_template: temperature: {% raw %}{{ 22 - distance(states.device_tracker.paulus) }}{% endraw %} ``` +It is even possible to use `data` and `data_template` concurrently but be aware that `data_template` will overwrite attributes that are provided in both. + +```yaml +service: thermostat.set_temperature +data: + entity_id: thermostat.upstairs +data_template: + temperature: {% raw %}{{ 22 - distance(states.device_tracker.paulus) }}{% endraw %} +``` + ### `homeassistant` services There are four `homeassistant` services that aren't tied to any single domain, these are: diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown index f5ce662e245..887195c8113 100644 --- a/source/_docs/tools/dev-tools.markdown +++ b/source/_docs/tools/dev-tools.markdown @@ -95,6 +95,3 @@ Even though MQTT in general provides deeper functionality, the developer tools s Info The Information tab simply provides information about the current installed version, additional links and credits. The tab also contains a section that shows `syslog` information, and the contents of `home-assistant.log` with an option to clear and refresh the logs. - -The Information tab also allows makes it possible to try out the Lovelace User Interface (UI) by clicking "Try out the new Lovelace UI" or set Lovelace as the default UI, so that when the "Overview" link in the Sidebar is selected, the Lovelace UI will load by default. - diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index 35c96c5035c..b82dddb5f69 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -7,6 +7,12 @@ description: "Extended instructions how to setup Z-Wave." You need to have a compatible Z-Wave stick or module installed. This needs to be a *static controller*, which most Z-Wave sticks and modules will be. If yours is a *bridge* device then it won't work with [OpenZWave](http://openzwave.com/), which is what provides Home Assistant's Z-Wave capabilities. The following devices have been confirmed to work: +

+ +There have [been reports](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245031#p1502030) of the Aeotec stick not working on the Raspberry Pi 4. + +

+ * Aeotec Z-Stick Series 5 * Everspring USB stick - Gen 5 * Sigma Designs UZB stick diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index 1b8caee77ae..82949532be1 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -160,11 +160,10 @@ On the Raspberry Pi you will need to enable the serial interface in the `raspi-c #### Linux (except Hassbian) -On Debian Linux platforms there two dependencies you will need to have installed ahead of time (included in `systemd-devel` on Fedora/RHEL systems): +On Debian Linux platforms there are dependencies you will need to have installed ahead of time (included in `systemd-devel` on Fedora/RHEL systems): ```bash $ sudo apt-get install libudev-dev -$ sudo apt-get install libopenzwave1.5-dev ``` You may also have to install the Python development libraries for your version of Python. For example `libpython3.6-dev`, and possibly `python3.6-dev` if you're using Python 3.6. diff --git a/source/_includes/site/head.html b/source/_includes/site/head.html index 5ad9eff0a27..c6455ea4b25 100644 --- a/source/_includes/site/head.html +++ b/source/_includes/site/head.html @@ -26,7 +26,7 @@ {% if page.author_twitter %}{% endif %} - + diff --git a/source/_lovelace/conditional.markdown b/source/_lovelace/conditional.markdown index 7df1118ab3f..e26ee05ca74 100644 --- a/source/_lovelace/conditional.markdown +++ b/source/_lovelace/conditional.markdown @@ -31,7 +31,7 @@ conditions: card: required: true description: Card to display if all conditions match. - type: object + type: map {% endconfiguration %} *one is required (`state` or `state_not`) diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index f07667d07bf..fa561811b48 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -91,7 +91,7 @@ action_name: service_data: required: false description: The service data to use. - type: object + type: map {% endconfiguration %} ### Divider @@ -104,7 +104,7 @@ type: style: required: false description: Style the element using CSS. - type: object + type: string default: "height: 1px, background-color: var(--secondary-text-color)" {% endconfiguration %} diff --git a/source/_lovelace/entity-button.markdown b/source/_lovelace/entity-button.markdown index af60f750093..505584bdecb 100644 --- a/source/_lovelace/entity-button.markdown +++ b/source/_lovelace/entity-button.markdown @@ -53,7 +53,7 @@ icon_height: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -78,7 +78,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown index 69d324359ea..869ad2b3135 100644 --- a/source/_lovelace/entity-filter.markdown +++ b/source/_lovelace/entity-filter.markdown @@ -29,7 +29,7 @@ state_filter: card: required: false description: Extra options to pass down to the card rendering the result. - type: object + type: map default: entities card show_empty: required: false diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index 7be12fbab7d..b8678f374fb 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -69,7 +69,7 @@ icon: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -94,7 +94,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true diff --git a/source/_lovelace/history-graph.markdown b/source/_lovelace/history-graph.markdown index 50d5224e013..29d155e143d 100644 --- a/source/_lovelace/history-graph.markdown +++ b/source/_lovelace/history-graph.markdown @@ -27,7 +27,7 @@ entities: type: list hours_to_show: required: false - description: Hours to show. Minimum is 10 hours, maximum of 80 hours. + description: Hours to show. Minimum is 1 hour, maximum of 80 hours. type: integer default: 24 refresh_interval: diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index cde84c378c7..0b4ca1a0760 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -48,7 +48,7 @@ entity: style: required: true description: Position and style the element using CSS. - type: object + type: map default: "position: absolute, transform: translate(-50%, -50%)" title: required: false @@ -78,7 +78,7 @@ title: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -103,7 +103,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true @@ -128,7 +128,7 @@ hold_action: style: required: true description: Position and style the element using CSS. - type: object + type: string default: "position: absolute, transform: translate(-50%, -50%)" {% endconfiguration %} @@ -158,7 +158,7 @@ title: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -183,7 +183,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true @@ -208,7 +208,7 @@ hold_action: style: required: true description: Position and style the element using CSS. - type: object + type: string default: "position: absolute, transform: translate(-50%, -50%)" {% endconfiguration %} @@ -230,11 +230,11 @@ service: service_data: required: false description: The service data to use. - type: object + type: map style: required: true description: Position and style the element using CSS. - type: object + type: string default: "position: absolute, transform: translate(-50%, -50%)" {% endconfiguration %} @@ -260,7 +260,7 @@ entity: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -285,7 +285,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true @@ -310,7 +310,7 @@ hold_action: style: required: true description: Position and style the element using CSS. - type: object + type: string default: "position: absolute, transform: translate(-50%, -50%)" {% endconfiguration %} @@ -332,7 +332,7 @@ title: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -357,7 +357,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true @@ -395,7 +395,7 @@ camera_view: state_image: required: false description: '[State-based images](#how-to-use-state_image)' - type: object + type: map filter: required: false description: Default CSS filter @@ -403,7 +403,7 @@ filter: state_filter: required: false description: '[State-based CSS filters](#how-to-use-state_filter)' - type: object + type: map aspect_ratio: required: false description: Height-width-ratio. @@ -412,7 +412,7 @@ aspect_ratio: style: required: true description: Position and style the element using CSS. - type: object + type: string default: "position: absolute, transform: translate(-50%, -50%)" {% endconfiguration %} @@ -458,7 +458,7 @@ type: style: required: true description: Position and style the element using CSS. - type: object + type: string default: "position: absolute, transform: translate(-50%, -50%)" {% endconfiguration %} diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown index 3225e190e65..f5d70a8c936 100644 --- a/source/_lovelace/picture-entity.markdown +++ b/source/_lovelace/picture-entity.markdown @@ -36,7 +36,7 @@ image: state_image: required: false description: "Map entity states to images (`state: image URL`, check the example below)." - type: object + type: map aspect_ratio: required: false description: "Forces the height of the image to be a ratio of the width. You may enter a value such as: `16x9`, `16:9`, `1.78`." @@ -58,7 +58,7 @@ show_state: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -83,7 +83,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index 42d98123222..33dc065843e 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -40,7 +40,7 @@ camera_view: state_image: required: false description: Background image based on entity state. - type: object + type: map keys: state: type: string @@ -57,7 +57,7 @@ entity: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -82,7 +82,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown index c1ccdf77d66..65c9befd801 100644 --- a/source/_lovelace/picture.markdown +++ b/source/_lovelace/picture.markdown @@ -23,7 +23,7 @@ image: tap_action: required: false description: Action to take on tap - type: object + type: map keys: action: required: true @@ -48,7 +48,7 @@ tap_action: hold_action: required: false description: Action to take on tap-and-hold - type: object + type: map keys: action: required: true diff --git a/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown b/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown index 2ff92e9dbd9..aa48f049f2b 100644 --- a/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown +++ b/source/_posts/2016-02-13-speedtest-bloomsky-splunk-and-garage-doors.markdown @@ -22,7 +22,7 @@ Not only did we gain a lot of test coverage, we also attracted a lot of new deve - Core: Add service to restart Home Assistant ([@rmkraus]) - Core: Allow device to report as unavailable ([@MartinHjelmare]) - - Core: Allow overriding polling interval in platforms and [via config][polling-config] ([@balloob]) + - Core: Allow overriding polling interval in platforms and via config ([@balloob]) - Frontend: support for a [default view] have been added to replace the show all view ([@balloob]) - Component: Added [apcupsd] component ([@flyte]) - Component: Added component to log values to [Splunk] ([@miniconfig]) @@ -82,7 +82,6 @@ Not only did we gain a lot of test coverage, we also attracted a lot of new deve [@Danielhiversen]: https://github.com/Danielhiversen/ [@roqeer]: https://github.com/roqeer/ [@jaharkes]: https://github.com/jaharkes/ -[polling-config]: /cookbook/customize_polling_interval/ [default view]: /components/group/ [apcupsd]: /components/apcupsd/ [Splunk]: /components/splunk/ diff --git a/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown b/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown index 5ad89e1f608..e1b02be760d 100644 --- a/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown +++ b/source/_posts/2016-03-12-z-wave-pep257-templated-service-calls.markdown @@ -49,7 +49,7 @@ automation: `media_content_type` and `media_content_id`, to match the corresponding media player state attributes. This change affects automations, scripts and scenes. -[services]: /topics/service_calls/#use-templates-to-decide-which-service-to-call +[services]: /docs/scripts/service-calls/#use-templates-to-decide-which-service-to-call [Hunter Douglas Powerview]: /components/scene.hunterdouglas_powerview/ [MQTT]: /components/lock.mqtt/ [OwnTracks]: /components/device_tracker.owntracks/ diff --git a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown index d14b9106dc6..6993da37354 100644 --- a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown +++ b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown @@ -88,5 +88,5 @@ netatmo: [Swagger.yaml format]: https://github.com/home-assistant/home-assistant/blob/dev/docs/swagger.yaml [All-in-One installer]: /getting-started/installation-raspberry-pi-all-in-one/ [standalone Raspberry Pi installation guide]: /getting-started/installation-raspberry-pi/ -[Voltage sensor]: /components/sensor.bloomsky/ +[Voltage sensor]: /components/bloomsky/#sensor [SNMP]: /components/sensor.snmp/ diff --git a/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown b/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown index 7105677f3b4..999be9dd496 100644 --- a/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown +++ b/source/_posts/2016-10-22-flash-briefing-updater-hacktoberfest.markdown @@ -183,7 +183,7 @@ This is super annoying, I know, especially since we had said in [0.12][zero-one- - Notify: [Matrix] support added ([@mweinelt]) - Device tracker - nmap: Allow specifying multiple inputs for [nmap] ([@hcooper]) - Device Tracker - snmp: SNMPv3 now supported ([@T3m3z]) -- Notify: [Telstra] SMS now supported ([@nvella]) +- Notify: Telstra SMS now supported ([@nvella]) - Camera: [Verisure] now supported ([@turbokongen]) - Support added for [Neato] Connected Robot ([@jabesq]) - Media player: More options for [Yamaha] AVR ([@ehagan]) @@ -268,19 +268,18 @@ Thanks for reading all of the above, especially since this week was a pretty lon [Concord232]: /components/alarm_control_panel.concord232/ [HTTP]: /components/http/ [HaveIBeenPwned]: /components/sensor.haveibeenpwned/ -[Matrix]: //components/notify.matrix/ +[Matrix]: /components/matrix/#notifications [Neato]: /components/switch.neato/ [Pilight]: /components/sensor.pilight/ [Proximity]: /components/proximity/ [PyPi]: https://pypi.python.org/pypi [Synology]: /components/camera.synology/ -[Telstra]: /components/notify.telstra/ [UUID]: https://en.wikipedia.org/wiki/Universally_unique_identifier [Verisure]: /components/camera.verisure/ [WUnderground]: /components/sensor.wunderground/ [Yamaha]: /components/media_player.yamaha/ [Zoneminder]: /components/zoneminder/ -[emoncms]: //components/emoncms_history/ +[emoncms]: /components/emoncms_history/ [filtering]: /components/logbook/ [flash-briefing-docs]: /components/alexa/ [hacktoberfest-blog]: /blog/2016/10/02/hacktoberfest/ diff --git a/source/_posts/2017-04-24-hardware-contest-2017.markdown b/source/_posts/2017-04-24-hardware-contest-2017.markdown index 5b240ff64b3..71ba58bf7e8 100644 --- a/source/_posts/2017-04-24-hardware-contest-2017.markdown +++ b/source/_posts/2017-04-24-hardware-contest-2017.markdown @@ -11,10 +11,10 @@ og_image: /images/default-social.png We have four submissions for our [Hardware Contest 2017][hardware]. -- [Part of IoT-course](https://community.home-assistant.io/t/entry-for-hardware-contest-part-of-iot-course/14827) -- [Automating a nursing home!](https://community.home-assistant.io/t/entry-automating-a-nursing-home/14872) -- [Dedicated hardware for coding, testing, building, and contributing to Home Assistant](https://community.home-assistant.io/t/entry-dedicated-hardware-for-coding-testing-building-and-contributing-to-home-assistant/15515) -- [HassIO - Home Assistant hub for dummies](https://community.home-assistant.io/t/entry-hassio-home-assistant-hub-for-dummies/16037) +- Part of IoT-course +- Automating a nursing home! +- Dedicated hardware for coding, testing, building, and contributing to Home Assistant +- HassIO - Home Assistant hub for dummies The voting is now open. To keep things simple are we using the voting feature of the [forum]. Vote for your choices. @@ -22,6 +22,6 @@ End of the voting period: April, 30 2017 - 23.59 UTC [hardware]: /blog/2017/04/01/thomas-krenn-award/ [award]: https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/ -[forum]: https://community.home-assistant.io/c/contest-2017 +[forum]: https://community.home-assistant.io/t/hardware-contest-2017/42546 [twitter]: https://twitter.com/home_assistant diff --git a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown index d563ee1725b..8f893167616 100644 --- a/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown +++ b/source/_posts/2017-05-01-home-assistant-on-raspberry-pi-zero-in-30-minutes.markdown @@ -71,5 +71,5 @@ Wait about 15-20 minutes and voilà you have your Home Assistant on your Raspber To try it out, go to [http://hassbian:8123](http://hassbian:8123) or [http://hassbian.local:8123](http://hassbian.local:8123) if you're using Mac. -For further details about HASSbian, take a look at the [documentation](/docs/hassbian/). +For further details about HASSbian, take a look at the [documentation](/docs/installation/hassbian/). diff --git a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown index 7bb892bd024..4482ebc21f5 100644 --- a/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown +++ b/source/_posts/2017-05-06-zigbee-opencv-dlib.markdown @@ -459,7 +459,7 @@ influxdb: [notify.html5 docs]: /components/notify.html5/ [notify.joaoapps_join docs]: /components/notify.joaoapps_join/ [notify.mailgun docs]: /components/notify.mailgun/ -[notify.matrix docs]: /components/notify.matrix/ +[notify.matrix docs]: /components/matrix/#notifications [notify.smtp docs]: /components/notify.smtp/ [notify.telegram docs]: /components/notify.telegram/ [notify.webostv docs]: /components/notify.webostv/ diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index 2626c0041af..c7e0936af09 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -421,7 +421,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [vera docs]: /components/vera/ [websocket_api docs]: /components/websocket_api/ [zwave docs]: /components/zwave/ -[zwave.api docs]: /components/zwave.api/ +[zwave.api docs]: /components/zwave/ [forum]: https://community.home-assistant.io/ [issue]: https://github.com/home-assistant/home-assistant/issues [#7673]: https://github.com/home-assistant/home-assistant/pull/7673 @@ -433,5 +433,5 @@ Experiencing issues introduced by this release? Please report them in our [issue [device_tracker.ubus docs]: /components/device_tracker.ubus/ [hassio docs]: /components/hassio/ [media_player.volumio docs]: /components/media_player.volumio/ -[telegram_bot.__init__ docs]: /components/telegram_bot.__init__/ +[telegram_bot.__init__ docs]: /components/telegram_bot/ [discord]: https://discord.gg/c5DvZ4e diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown index ab31a184063..6574aaef863 100644 --- a/source/_posts/2017-06-04-release-46.markdown +++ b/source/_posts/2017-06-04-release-46.markdown @@ -372,7 +372,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [switch.broadlink docs]: /components/switch.broadlink/ [switch.rachio docs]: /components/switch.rachio/ [switch.rflink docs]: /components/switch.rflink/ -[telegram_bot.__init__ docs]: /components/telegram_bot.__init__/ +[telegram_bot.__init__ docs]: /components/telegram_bot/ [telegram_bot.polling docs]: /components/telegram_bot.polling/ [telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/ [tellduslive docs]: /components/tellduslive/ diff --git a/source/_posts/2017-06-17-release-47.markdown b/source/_posts/2017-06-17-release-47.markdown index 8e37c33f34d..88e66b3c131 100644 --- a/source/_posts/2017-06-17-release-47.markdown +++ b/source/_posts/2017-06-17-release-47.markdown @@ -549,7 +549,7 @@ automation: [switch.raspihats docs]: /components/switch.raspihats/ [switch.rest docs]: /components/switch.rest/ [switch.template docs]: /components/switch.template/ -[telegram_bot.__init__ docs]: /components/telegram_bot.__init__/ +[telegram_bot.__init__ docs]: /components/telegram_bot/ [telegram_bot.polling docs]: /components/telegram_bot.polling/ [telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/ [updater docs]: /components/updater/ diff --git a/source/_posts/2017-07-25-introducing-hassio.markdown b/source/_posts/2017-07-25-introducing-hassio.markdown index 3e70998feb9..b1b01878ff2 100644 --- a/source/_posts/2017-07-25-introducing-hassio.markdown +++ b/source/_posts/2017-07-25-introducing-hassio.markdown @@ -91,5 +91,4 @@ We use [Pivotal Tracker] to track things that are in progress and what we might [Duck DNS]: /addons/duckdns/ [advanced-install]: /hassio/installation/#alternative-install-on-generic-linux-server [Pivotal Tracker]: https://www.pivotaltracker.com/n/projects/2020851 -[run-local]: /hassio/run_local/ [Resin.io]: https://resin.io diff --git a/source/_posts/2017-10-28-demo.markdown b/source/_posts/2017-10-28-demo.markdown index b91a1ad8faa..e6b4c9972b3 100644 --- a/source/_posts/2017-10-28-demo.markdown +++ b/source/_posts/2017-10-28-demo.markdown @@ -44,7 +44,7 @@ switch:

## `random` platforms -Till now the frontend is static. Nothing is changing over time. Starting with 0.57 we ship a [`random` binary sensor](https://github.com/home-assistant/home-assistant.github.io/blob/next/source/_components/binary_sensor.random.markdown) platform in addition to the already available [`random` sensor](/components/sensor.random/). +Till now the frontend is static. Nothing is changing over time. Starting with 0.57 we ship a [`random` binary sensor](/components/random/#binary-sensor) platform in addition to the already available [`random` sensor](/components/sensor.random/). By adding those platform to your `configuration.yaml` file, your demo will become more interactive. diff --git a/source/_posts/2018-02-26-release-64.markdown b/source/_posts/2018-02-26-release-64.markdown index c47ca20519f..6460dba5321 100644 --- a/source/_posts/2018-02-26-release-64.markdown +++ b/source/_posts/2018-02-26-release-64.markdown @@ -549,7 +549,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [scene docs]: /components/scene/ [sensor.airvisual docs]: /components/sensor.airvisual/ [sensor.alpha_vantage docs]: /components/sensor.alpha_vantage/ -[sensor.bloomsky docs]: /components/sensor.bloomsky/ +[sensor.bloomsky docs]: /components/bloomsky/#sensor [sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/ [sensor.buienradar docs]: /components/sensor.buienradar/ [sensor.deconz docs]: /components/sensor.deconz/ diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index d68a21390ed..c6b4c57c317 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -469,7 +469,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.deconz docs]: /components/sensor.deconz/ [sensor.geizhals docs]: /components/sensor.geizhals/ [sensor.glances docs]: /components/sensor.glances/ -[sensor.netatmo_public docs]: /components/sensor.netatmo_public/ +[sensor.netatmo_public docs]: /components/netatmo/#sensor [sensor.noaa_tides docs]: /components/sensor.noaa_tides/ [sensor.openuv docs]: /components/sensor.openuv/ [sensor.scrape docs]: /components/sensor.scrape/ diff --git a/source/_posts/2018-10-12-release-80.markdown b/source/_posts/2018-10-12-release-80.markdown index 863533111f7..68d358d6fc9 100644 --- a/source/_posts/2018-10-12-release-80.markdown +++ b/source/_posts/2018-10-12-release-80.markdown @@ -693,7 +693,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.miflora docs]: /components/sensor.miflora/ [sensor.mqtt docs]: /components/sensor.mqtt/ [sensor.mqtt_room docs]: /components/sensor.mqtt_room/ -[sensor.netatmo_public docs]: /components/sensor.netatmo_public/ +[sensor.netatmo_public docs]: /components/netatmo/#sensor [sensor.openweathermap docs]: /components/sensor.openweathermap/ [sensor.scrape docs]: /components/sensor.scrape/ [sensor.tibber docs]: /components/sensor.tibber/ diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown index 7fb4f12994f..fd388fa081d 100644 --- a/source/_posts/2018-10-29-release-81.markdown +++ b/source/_posts/2018-10-29-release-81.markdown @@ -791,7 +791,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [route53 docs]: /components/route53/ [sabnzbd docs]: /components/sabnzbd/ [sensor.api_streams docs]: /components/sensor.api_streams/ -[sensor.bloomsky docs]: /components/sensor.bloomsky/ +[sensor.bloomsky docs]: /components/bloomsky/#sensor [sensor.bmw_connected_drive docs]: /components/sensor.bmw_connected_drive/ [sensor.dnsip docs]: /components/sensor.dnsip/ [sensor.dsmr docs]: /components/sensor.dsmr/ diff --git a/source/_posts/2019-01-09-release-85.markdown b/source/_posts/2019-01-09-release-85.markdown index 7ec1ba92cd5..9306f47df1d 100644 --- a/source/_posts/2019-01-09-release-85.markdown +++ b/source/_posts/2019-01-09-release-85.markdown @@ -838,7 +838,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.dublin_bus_transport docs]: /components/sensor.dublin_bus_transport/ [sensor.eliqonline docs]: /components/sensor.eliqonline/ [sensor.entur_public_transport docs]: /components/sensor.entur_public_transport/ -[sensor.esphome docs]: /components/sensor.esphome/ +[sensor.esphome docs]: /components/esphome/ [sensor.fail2ban docs]: /components/sensor.fail2ban/ [sensor.filter docs]: /components/sensor.filter/ [sensor.flunearyou docs]: /components/sensor.flunearyou/ diff --git a/source/_posts/2019-02-06-release-87.markdown b/source/_posts/2019-02-06-release-87.markdown index 7d375ae2f7b..a3325c8ef47 100644 --- a/source/_posts/2019-02-06-release-87.markdown +++ b/source/_posts/2019-02-06-release-87.markdown @@ -37,7 +37,7 @@ If you prefer a podcast over release notes, check out [the Hass Podcast](https:/ - Utility meter ([@dgomes] - [#19718]) ([utility_meter docs]) (new-platform) - Add Co2signal sensor ([@danielsjf] - [#19204]) ([sensor.co2signal docs]) (new-platform) - Add nilu air_quality platform ([@hfurubotten] - [#19674]) ([air_pollutants docs]) (new-platform) -- Add Iliad Italy (Mobile Telephony Provider) Sensor ([@eliseomartelli] - [#19645]) ([sensor.iliad_italy docs]) (new-platform) +- Add Iliad Italy (Mobile Telephony Provider) Sensor ([@eliseomartelli] - [#19645]) (new-platform) - Add support for HomeKit motion sensor devices ([@Jc2k] - [#20555]) ([homekit_controller docs]) (new-platform) - Add an Integration sensor ([@dgomes] - [#19703]) ([sensor.integration docs]) (new-platform) - Add Synology SRM device tracker ([@aerialls] - [#20320]) ([device_tracker docs]) (new-platform) @@ -636,7 +636,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.filter docs]: /components/sensor.filter/ [sensor.fritzbox docs]: /components/sensor.fritzbox/ [sensor.history_stats docs]: /components/sensor.history_stats/ -[sensor.iliad_italy docs]: /components/sensor.iliad_italy/ [sensor.imap docs]: /components/sensor.imap/ [sensor.influxdb docs]: /components/sensor.influxdb/ [sensor.integration docs]: /components/sensor.integration/ diff --git a/source/_posts/2019-07-17-release-96.markdown b/source/_posts/2019-07-17-release-96.markdown index 00ee3d2ea97..de8aeb95b01 100644 --- a/source/_posts/2019-07-17-release-96.markdown +++ b/source/_posts/2019-07-17-release-96.markdown @@ -1,12 +1,10 @@ --- -layout: post title: "0.96: Notion, updated sidebar, advanced mode" description: "We have cleaned up the climate integration and the UI." date: 2019-07-17 00:11:03 date_formatted: "July 17, 2019" author: Paulus Schoutsen author_twitter: balloob -comments: true categories: Release-Notes og_image: /images/blog/2019-07-release-96/demo-sidebar.png --- @@ -23,7 +21,7 @@ Home Assistant has adopted a new [Python support strategy](https://github.com/ho ## Pimp my Sidebar -The sidebar has gotten an improved look! Idea started with [a mockup by @JuanMTech on Twitter](https://twitter.com/JuanMTech/status/1143757213971943424) and grew into a full blown implementation. The sidebar will now always be visible in a minimized mode. Hovering it will expand it. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store it's exact state when you navigate away, included the dev tool that is open. We've also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI. +The sidebar has gotten an improved look! Idea started with [a mockup by @JuanMTech on Twitter](https://twitter.com/JuanMTech/status/1143757213971943424) and grew into a full blown implementation. When visiting Home Assistant on devices with big screens (tablets, laptops, desktops), the sidebar will now always be visible in a minimized mode with the ability to fully hide it via the profile page. The developer tool buttons have been collapsed into a single menu item. The dev tools will now store it's exact state when you navigate away, included the dev tool that is open. We've also taken the opportunity to make notifications accessible from the sidebar, instead of only via the Lovelace UI. On mobile devices the sidebar will behave like it previously did. Check [the demo](https://demo.home-assistant.io) for a preview. @@ -69,7 +67,7 @@ Huge thanks to [@pvizeli] who drove the core implementation and to the following [@marvin-w]: https://github.com/marvin-w [@OnFreund]: https://github.com/OnFreund [@SukramJ]: https://github.com/SukramJ -[@teachingbirds]: https://github.com/teachingbirds +[@isabellaalstrom]: https://github.com/isabellaalstrom ## Advanced mode @@ -85,7 +83,11 @@ Big shout out to [@frenck] who has been doing a lot of clean up on the website. Last week [@balloob] showed a preview of the upcoming [Home Assistant Cast](/blog/2019/07/09/home-assistant-cast-preview/), a new interface for Home Assistant that runs on Chromecasts and Google Assistant devices with screens. -[@teachingbirds] has redone her Lovelace UI and it is looking fabulous! +The [Home Assistant code repository on GitHub](https://github.com/home-assistant/home-assistant) has hit 25.000 stars! 🤩 + +The Home Assistant Podcast has published [episode 53](https://hasspodcast.io/ha053/) to discuss all the ins and outs of this new release. + +[@isabellaalstrom] has redone her Lovelace UI and it is looking fabulous! @@ -108,6 +110,156 @@ Last week [@balloob] showed a preview of the upcoming [Home Assistant Cast](/blo - [climate] Add water_heater to evohome ([@zxdavb] - [#25035]) ([evohome docs]) (beta fix) (new-platform) - [Climate] Hive Add water heater Component post the refresh of the climate component. ([@KJonline] - [#25148]) ([hive docs]) (beta fix) (new-platform) +## Release 0.96.1 - July 18 + +- Show off value ([@pvizeli] - [#25236]) +- Fix eq3btsmart ([@pvizeli] - [#25238]) ([eq3btsmart docs]) +- Make presets prettier ([@cgtobi] - [#25245]) ([netatmo docs]) +- Fix the unit of measurement for ecobee climate ([@cgtobi] - [#25246]) ([ecobee docs]) +- ecobee Preset Fix ([@geekofweek] - [#25256]) ([ecobee docs]) +- Update CT80 Humidity call ([@zombielinux] - [#25258]) ([radiotherm docs]) +- Restore SmartThings A/C on/off services ([@andrewsayre] - [#25259]) ([smartthings docs]) +- Add hvac modes back to opentherm ([@balloob] - [#25268]) ([opentherm_gw docs]) +- Added states and modes for zwave climate ([@stboch] - [#25274]) ([zwave docs]) + +[#25236]: https://github.com/home-assistant/home-assistant/pull/25236 +[#25238]: https://github.com/home-assistant/home-assistant/pull/25238 +[#25245]: https://github.com/home-assistant/home-assistant/pull/25245 +[#25246]: https://github.com/home-assistant/home-assistant/pull/25246 +[#25256]: https://github.com/home-assistant/home-assistant/pull/25256 +[#25258]: https://github.com/home-assistant/home-assistant/pull/25258 +[#25259]: https://github.com/home-assistant/home-assistant/pull/25259 +[#25268]: https://github.com/home-assistant/home-assistant/pull/25268 +[#25274]: https://github.com/home-assistant/home-assistant/pull/25274 +[@andrewsayre]: https://github.com/andrewsayre +[@balloob]: https://github.com/balloob +[@cgtobi]: https://github.com/cgtobi +[@geekofweek]: https://github.com/geekofweek +[@pvizeli]: https://github.com/pvizeli +[@stboch]: https://github.com/stboch +[@zombielinux]: https://github.com/zombielinux +[ecobee docs]: /components/ecobee/ +[eq3btsmart docs]: /components/eq3btsmart/ +[netatmo docs]: /components/netatmo/ +[opentherm_gw docs]: /components/opentherm_gw/ +[radiotherm docs]: /components/radiotherm/ +[smartthings docs]: /components/smartthings/ +[zwave docs]: /components/zwave/ + +## Release 0.96.2 - July 19 + +- Fix fritzbox climate HVAC mode / temperature ([@cgtobi] - [#25275]) ([fritzbox docs]) +- Fixed python-wink method names ([@w1ll1am23] - [#25285]) ([wink docs]) +- [climate] Correct honeywell supported_features ([@zxdavb] - [#25292]) ([honeywell docs]) +- Fix HM with use wrong datapoint for off ([@pvizeli] - [#25298]) ([homematic docs]) +- Fix plant error when adding new value ([@cgtobi] - [#25302]) ([plant docs]) + +[#25275]: https://github.com/home-assistant/home-assistant/pull/25275 +[#25285]: https://github.com/home-assistant/home-assistant/pull/25285 +[#25292]: https://github.com/home-assistant/home-assistant/pull/25292 +[#25298]: https://github.com/home-assistant/home-assistant/pull/25298 +[#25302]: https://github.com/home-assistant/home-assistant/pull/25302 +[@cgtobi]: https://github.com/cgtobi +[@pvizeli]: https://github.com/pvizeli +[@w1ll1am23]: https://github.com/w1ll1am23 +[@zxdavb]: https://github.com/zxdavb +[fritzbox docs]: /components/fritzbox/ +[homematic docs]: /components/homematic/ +[honeywell docs]: /components/honeywell/ +[plant docs]: /components/plant/ +[wink docs]: /components/wink/ + +## Release 0.96.3 - July 21 + +- temporary patch to fix KNX climate devices ([@farmio] - [#25356]) ([knx docs]) +- Restore sensiobo turn on/off methods ([@balloob] - [#25321]) ([sensibo docs]) +- Update zwave climate mappings ([@eyager1] - [#25327]) ([zwave docs]) +- Restore Daikin A/C on/off services ([@fredrike] - [#25332]) ([daikin docs]) +- Fix for hvac_modes list being null ([@schmic] - [#25347]) ([zwave docs]) +- add available to device info ([@dmulcahey] - [#25349]) ([zha docs]) +- Fix preset service call ([@cgtobi] - [#25358]) ([netatmo docs]) +- Improve geniushub logging and bump client ([@zxdavb] - [#25359]) ([geniushub docs]) +- Introduce PRESET_NONE for climate ([@balloob] - [#25360]) +- bump quirks version ([@dmulcahey] - [#25362]) ([zha docs]) +- Fix ESPHome climate migration ([@OttoWinter] - [#25366]) ([esphome docs]) +- fix remove and re-add scenario ([@dmulcahey] - [#25370]) ([zha docs]) +- change and condition to or condition ([@dmulcahey] - [#25374]) +- Add Netatmo climate battery level ([@cgtobi] - [#25143]) ([netatmo docs]) + +[#25321]: https://github.com/home-assistant/home-assistant/pull/25321 +[#25143]: https://github.com/home-assistant/home-assistant/pull/25143 +[#25327]: https://github.com/home-assistant/home-assistant/pull/25327 +[#25332]: https://github.com/home-assistant/home-assistant/pull/25332 +[#25347]: https://github.com/home-assistant/home-assistant/pull/25347 +[#25349]: https://github.com/home-assistant/home-assistant/pull/25349 +[#25356]: https://github.com/home-assistant/home-assistant/pull/25356 +[#25358]: https://github.com/home-assistant/home-assistant/pull/25358 +[#25359]: https://github.com/home-assistant/home-assistant/pull/25359 +[#25360]: https://github.com/home-assistant/home-assistant/pull/25360 +[#25362]: https://github.com/home-assistant/home-assistant/pull/25362 +[#25366]: https://github.com/home-assistant/home-assistant/pull/25366 +[#25370]: https://github.com/home-assistant/home-assistant/pull/25370 +[#25374]: https://github.com/home-assistant/home-assistant/pull/25374 +[@OttoWinter]: https://github.com/OttoWinter +[@balloob]: https://github.com/balloob +[@cgtobi]: https://github.com/cgtobi +[@dmulcahey]: https://github.com/dmulcahey +[@eyager1]: https://github.com/eyager1 +[@farmio]: https://github.com/farmio +[@fredrike]: https://github.com/fredrike +[@schmic]: https://github.com/schmic +[@zxdavb]: https://github.com/zxdavb +[daikin docs]: /components/daikin/ +[esphome docs]: /components/esphome/ +[geniushub docs]: /components/geniushub/ +[knx docs]: /components/knx/ +[netatmo docs]: /components/netatmo/ +[sensibo docs]: /components/sensibo/ +[zha docs]: /components/zha/ +[zwave docs]: /components/zwave/ + +## Release 0.96.4 - July 23 + +- Fix Netatmo climate battery level ([@cgtobi] - [#25165]) ([netatmo docs]) +- Tweak evohome migration ([@zxdavb] - [#25281]) ([evohome docs]) +- Bump pyatmo version to 2.1.2 ([@cgtobi] - [#25296]) ([netatmo docs]) +- [climate] Bugfix/Tweak honeywell migration ([@zxdavb] - [#25369]) ([honeywell docs]) +- Update Daikin preset modes ([@fredrike] - [#25395]) ([daikin docs]) +- Update pysonos to 0.0.22 ([@amelchio] - [#25399]) ([sonos docs]) +- [climate] Correct evohome hvac_action ([@zxdavb] - [#25407]) ([evohome docs]) + +[#25165]: https://github.com/home-assistant/home-assistant/pull/25165 +[#25281]: https://github.com/home-assistant/home-assistant/pull/25281 +[#25296]: https://github.com/home-assistant/home-assistant/pull/25296 +[#25369]: https://github.com/home-assistant/home-assistant/pull/25369 +[#25395]: https://github.com/home-assistant/home-assistant/pull/25395 +[#25399]: https://github.com/home-assistant/home-assistant/pull/25399 +[#25407]: https://github.com/home-assistant/home-assistant/pull/25407 +[@amelchio]: https://github.com/amelchio +[@cgtobi]: https://github.com/cgtobi +[@fredrike]: https://github.com/fredrike +[@zxdavb]: https://github.com/zxdavb +[daikin docs]: /components/daikin/ +[evohome docs]: /components/evohome/ +[honeywell docs]: /components/honeywell/ +[netatmo docs]: /components/netatmo/ +[sonos docs]: /components/sonos/ + +## Release 0.96.5 - July 25 + +- Bump geniushub client ([@zxdavb] - [#25458]) ([geniushub docs]) +- Allow cors for static files ([@balloob] - [#25468]) ([http docs]) +- Fix Nest turning off eco ([@balloob] - [#25472]) ([nest docs]) + +[#25458]: https://github.com/home-assistant/home-assistant/pull/25458 +[#25468]: https://github.com/home-assistant/home-assistant/pull/25468 +[#25472]: https://github.com/home-assistant/home-assistant/pull/25472 +[@balloob]: https://github.com/balloob +[@zxdavb]: https://github.com/zxdavb +[geniushub docs]: /components/geniushub/ +[http docs]: /components/http/ +[nest docs]: /components/nest/ + ## If you need help... ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). @@ -151,6 +303,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - __Velbus__ - Added autodicovery for covers in velbus and bumped the python velbus version ([@Cereal2nd] - [#24877]) ([velbus docs]) - __ZHA__ - ZHA entities are being removed and battery sensors are being added. We have been asked several times to remove the ZHA domain entities because they do not follow the HA standards. They were originally used to show device online / offline status, rssi, lqi and last seen. They were eventually expanded to hold battery information as well because many Zigbee devices have several power configuration clusters. Online and offline handling, rssi, lqi last seen and the handling of device availability have all been moved to the device object and battery information has been split back out into its own sensor. Any users that created template sensors that leveraged the data in the ZHA entities will be affected by this change. ([@dmulcahey] - [#24909]) ([zha docs]) - __Netatmo__ - If the module type can not be determined the climate device will default to the type "valve" as it implements a subset of "thermostat". Consequently those devices wont be able to be turned off. This should not be a major issue and should only happen when there are issues with the data retrieved form the Netatmo API. ([@cgtobi] - [#25029]) ([netatmo docs]) +- __Netatmo__ - The configuration of individual monitored conditions has been removed so that now all conditions are available per module by default. ([@cgtobi] - [#24944]) (netatmo docs) - __GeoJSON Events__ - Update geojson_client library to version 0.4.This changes the access to the external feed from HTTP to HTTPS for the nsw_rural_fire_service_feed platform. This should normally not make any difference to anyone consuming this feed. Only if for example you have set up a template sensor or automation that reads the external_id attribute of a geo_location entity and compare it against a pattern, would you need to change this. ([@exxamalte] - [#25039]) ([geo_json_events docs]) ([nsw_rural_fire_service_feed docs]) ([usgs_earthquakes_feed docs]) ## Beta Fixes diff --git a/source/_posts/2019-07-19-piwheels.markdown b/source/_posts/2019-07-19-piwheels.markdown new file mode 100644 index 00000000000..899e6a94fa0 --- /dev/null +++ b/source/_posts/2019-07-19-piwheels.markdown @@ -0,0 +1,68 @@ +--- +title: "Piwheel issues with older versions of Raspbian/Hassbian" +description: "How to fix issues with piwheels on older versions of Hassbian/Raspbian" +date: 2019-07-19 12:00:00 +date_formatted: "July 19, 2019" +author: Joakim Sørensen +categories: Announcements +--- + +_If you are using [Hass.io](https://www.home-assistant.io/hassio/installation/), [Docker](https://www.home-assistant.io/docs/installation/docker/) or a distro based on Debian Buster this does not apply to you._ + +After upgrading to Home Assistant version 0.96.0, some users started seeing errors like this: + +```text +ImportError: /usr/lib/arm-linux-gnueabihf/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /srv/homeassistant/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so +``` + +And all integrations that communicated with SSL (https) stopped working. + +This applies if you have one of these installations with a manual installation or with Hassbian: + +- Raspbian Jessie +- Raspbian Stretch + +The reason for this, is the way piwheels determines the OS version you have by looking at the Python version that is in use. + +[@frenck](https://github.com/frenck) added a writeup of the issue and potential solutions to [this issue](https://github.com/home-assistant/hassbian-scripts/issues/307#issuecomment-512963048). + +There are two potential solutions for this issue, where option 1 are considered the best of them. + +## Option 1 + +Upgrade your distribution to Debian Buster. + +**NB!: This option will upgrade your entire system and _might_ negatively affect other things you might have running.** + +Before you continue with this, you should make sure that you have a recent backup of your system. + +### Steps + +1. Change `stretch` or `jessie` to `buster` in these files: + - `/etc/apt/sources.list` + - `/etc/apt/sources.list.d/raspi.list` + - `/etc/apt/sources.list.d/hassbian.list` +2. Run `sudo apt-get update` +3. Run `sudo apt-get -y dist-upgrade` +4. Run `sudo reboot` + +## Option 2 + +Disable piwheels prebuilt packages. + +This option is a faster method initially, but it has the huge drawback of having to compile the packages locally. +You should only use this option if you run other things on your system that will not work if you use the first option. + +### Steps + +1. edit `/etc/pip.conf` and comment out the line containing piwheels, like this: + + ```text + [global] + # extra-index-url=https://www.piwheels.org/simple + ``` + +2. Run `source /srv/homeassistant/bin/activate` +3. Run `pip uninstall cryptography` +4. Run `pip install --no-cache cryptography==2.7` +5. Run `deactivate` diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 78ad137a384..45b545902d3 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -2113,7 +2113,7 @@ This page contains a list of people who have contributed in one way or another t 3 commits to open-zwave 3 commits to home-assistant.io ") -- [Collin Allen (@commandtab)](https://github.com/commandtab "1 total commits to the Home Assistant orga: +- [Collin Allen (@command-tab)](https://github.com/command-tab "1 total commits to the Home Assistant orga: 1 commit to home-assistant.io ") - [Comic Chang (@comicchang)](https://github.com/comicchang "1 total commits to the Home Assistant orga: @@ -2728,7 +2728,7 @@ This page contains a list of people who have contributed in one way or another t - [dennisaion (@dennisaion)](https://github.com/dennisaion "1 total commits to the Home Assistant orga: 1 commit to home-assistant.io ") -- [Denver P (@DrTexxOfficial)](https://github.com/DrTexxOfficial "1 total commits to the Home Assistant orga: +- [Denver P (@DrTexx)](https://github.com/DrTexx "1 total commits to the Home Assistant orga: 1 commit to home-assistant.io ") - [Department G33k (@department-g33k)](https://github.com/department-g33k "1 total commits to the Home Assistant orga: @@ -3076,7 +3076,7 @@ This page contains a list of people who have contributed in one way or another t 25 commits to home-assistant 6 commits to home-assistant.io ") -- [eltoro81 (@eltoro81)](https://github.com/eltoro81 "1 total commits to the Home Assistant orga: +- [mvjt (@mvjt)](https://github.com/mvjt "1 total commits to the Home Assistant orga: 1 commit to home-assistant.io ") - [Elvis (@mu3)](https://github.com/mu3 "1 total commits to the Home Assistant orga: @@ -3374,7 +3374,7 @@ This page contains a list of people who have contributed in one way or another t 2 commits to home-assistant.io 1 commit to home-assistant ") -- [fedor1210 (@fedor1210)](https://github.com/fedor1210 "3 total commits to the Home Assistant orga: +- [augustdipierro (@augustdipierro)](https://github.com/augustdipierro "3 total commits to the Home Assistant orga: 3 commits to home-assistant.io ") - [Felipe Cypriano (@fcy)](https://github.com/fcy "1 total commits to the Home Assistant orga: diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 5787f6b8dbc..eb0af987d16 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -63,6 +63,7 @@ We will need a few things to get started with installing Home Assistant. The lat 1. Connect your Raspberry Pi to the power supply, so it turns on. 1. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes. 1. Home Assistant will be available at [http://hassio.local:8123][local]. If you are running an older Windows or have stricter network configuration, you might need to access Home Assistant at [http://hassio:8123][host]. +1. If you have used a USB-stick for configuring the network, it can now be removed. [local]: http://hassio.local:8123 [host]: http://hassio:8123 diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index a9a842408ce..c2206d779e5 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -15,6 +15,8 @@ The following will take you through the steps required to install Hass.io. - [Raspberry Pi 2 Model B][pi2] - [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended) - [Raspberry Pi 3 Model B and B+ 64bit][pi3-64] + - [(Beta) Raspberry Pi 4 Model B 32bit][pi4-32] (recommended) + - [(Beta) Raspberry Pi 4 Model B 64bit][pi4-64] - [Tinkerboard][tinker] - [Odroid-C2][odroid-c2] - [Odroid-XU4][odroid-xu4] @@ -136,10 +138,12 @@ You also need to have Docker-CE installed. There are well-documented procedures Some distributions, like Ubuntu, have a `docker.io` package available. Using that packages will cause issues! Be sure to install the official Docker-CE from the above listed URL. + + Docker is not always ready with a release when a new Ubuntu version is out. Check if your version of Ubuntu is supported by docker [here](https://docs.docker.com/install/linux/docker-ce/ubuntu/).
-To perform the Hass.io installation on Ubuntu, run the following commands: +To prepare your machine for the Hass.io installation, run the following commands: ```bash sudo -i @@ -150,12 +154,30 @@ apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificat curl -fsSL get.docker.com | sh ``` -And to install Hass.io the one below. That one is used also for other distributions. +The following script will then install Hass.io on a variety of operating systems and machine types. ```bash curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s ``` +Some installation types require flags to identify the computer type, for example, when using a Raspberry Pi 3, the flag `-- -m raspberrypi3` is required. The install script would then look like this: + +```bash +curl -sL "https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh" | bash -s -- -m raspberrypi3 +``` + +#### Other machine types + + - `intel-nuc` + - `raspberrypi` + - `raspberrypi2` + - `raspberrypi3` + - `raspberrypi3-64` + - `odroid-c2` + - `odroid-cu2` + - `odriod-xu` + - `orangepi-prime` +
When you use this installation method, the core SSH add-on may not function correctly. If that happens, use the community SSH add-on. Some of the documentation might not work for your installation either.
@@ -170,6 +192,8 @@ A detailed guide about running Hass.io as a virtual machine is available in the [pi2]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi2-2.12.img.gz [pi3-32]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi3-2.12.img.gz [pi3-64]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_rpi3-64-2.12.img.gz +[pi4-32]: https://github.com/home-assistant/hassos/releases/download/3.3/hassos_rpi4-3.3.img.gz +[pi4-64]: https://github.com/home-assistant/hassos/releases/download/3.3/hassos_rpi4-64-3.3.img.gz [tinker]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_tinker-2.12.img.gz [odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_odroid-c2-2.12.img.gz [odroid-xu4]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_odroid-xu4-2.12.img.gz @@ -178,7 +202,7 @@ A detailed guide about running Hass.io as a virtual machine is available in the [vmdk]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_ova-2.12.vmdk.gz [vhdx]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_ova-2.12.vhdx.gz [vdi]: https://github.com/home-assistant/hassos/releases/download/2.12/hassos_ova-2.12.vdi.gz -[linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio +[linux]: https://github.com/home-assistant/hassio-installer [local]: http://hassio.local:8123 [samba]: /addons/samba/ [ssh]: /addons/ssh/ diff --git a/source/help/index.markdown b/source/help/index.markdown index ed710378460..918566b4ee2 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -37,7 +37,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R - [Home Assistant - Erweiterungen (Platforms/Components)](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2016-puzzle) at [Puzzle ITC](https://www.puzzle.ch/de/) - December 2016 - [Automating Your Life - Home Automation](http://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August - [Building Online Communities: Home Assistant](https://medium.com/@gitter/building-online-communities-home-assistant-8818dff671ad#.och4x4rhx) - July 2016 -- [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) ([Slides](https://docs.google.com/presentation/d/1PUnOpeFZxNj4LEjaohGqH_1hOGQGuS5yRHD1ThHr6nk/edit?usp=sharing)) - June 2016 +- [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) (Slides) - June 2016 - [Awaken your home: Python and the Internet of Things](https://www.youtube.com/watch?v=Cfasc9EgbMU&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=1) at PyCon 2016 - June 2016 - [Automating your Home with Home Assistant](https://www.youtube.com/watch?v=4-6rTwKl6ww&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=2) at OpenIoT 2016 - March 2016 diff --git a/source/help/reporting_issues.markdown b/source/help/reporting_issues.markdown index e3a0f364437..73c204d3177 100644 --- a/source/help/reporting_issues.markdown +++ b/source/help/reporting_issues.markdown @@ -6,7 +6,7 @@ sidebar: false If you have an installation, a setup or a configuration issue please use our [Forum](https://community.home-assistant.io/) to get help. We have a big community which will help you if they can. -If you found a bug then please report it in one of our [trackers](/help/#bugs-feature-requests-and-alike). To help you and our developers to identify the issue quickly, please fill out the provided template. The "weird" content you will see is there to render your entry in a nice format after submitting. It's just [markddown](https://guides.github.com/features/mastering-markdown/). +If you found a bug then please report it in one of our [trackers](/help/#bugs-feature-requests-and-alike). To help you and our developers to identify the issue quickly, please fill out the provided template. The "weird" content you will see is there to render your entry in a nice format after submitting. It's just [markdown](https://guides.github.com/features/mastering-markdown/). Use the command below to get the Home Assistant release you are running from a command-line. diff --git a/source/images/hassio/screenshots/dashboard.png b/source/images/hassio/screenshots/dashboard.png index ebe13598e36..89d4d5a60fb 100644 Binary files a/source/images/hassio/screenshots/dashboard.png and b/source/images/hassio/screenshots/dashboard.png differ diff --git a/source/images/supported_brands/apache_kafka.png b/source/images/supported_brands/apache_kafka.png new file mode 100644 index 00000000000..6e22be0279c Binary files /dev/null and b/source/images/supported_brands/apache_kafka.png differ diff --git a/source/images/supported_brands/avea.png b/source/images/supported_brands/avea.png new file mode 100644 index 00000000000..a77b8fe2d5e Binary files /dev/null and b/source/images/supported_brands/avea.png differ diff --git a/source/images/supported_brands/delijn.svg b/source/images/supported_brands/delijn.svg new file mode 100644 index 00000000000..8f9ee82532c --- /dev/null +++ b/source/images/supported_brands/delijn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/images/supported_brands/fleetgo.png b/source/images/supported_brands/fleetgo.png new file mode 100644 index 00000000000..1e7355ef094 Binary files /dev/null and b/source/images/supported_brands/fleetgo.png differ diff --git a/source/images/supported_brands/fortinet.jpg b/source/images/supported_brands/fortinet.jpg new file mode 100644 index 00000000000..b764105fc00 Binary files /dev/null and b/source/images/supported_brands/fortinet.jpg differ diff --git a/source/images/supported_brands/fronius.png b/source/images/supported_brands/fronius.png new file mode 100644 index 00000000000..6b44d1cb351 Binary files /dev/null and b/source/images/supported_brands/fronius.png differ diff --git a/source/images/supported_brands/rainforest_automation_logo.png b/source/images/supported_brands/rainforest_automation_logo.png new file mode 100644 index 00000000000..26bce1cc86a Binary files /dev/null and b/source/images/supported_brands/rainforest_automation_logo.png differ diff --git a/source/images/supported_brands/ritassist.png b/source/images/supported_brands/ritassist.png deleted file mode 100644 index e29464a4938..00000000000 Binary files a/source/images/supported_brands/ritassist.png and /dev/null differ diff --git a/source/images/supported_brands/suez.png b/source/images/supported_brands/suez.png new file mode 100644 index 00000000000..57c8d53c06d Binary files /dev/null and b/source/images/supported_brands/suez.png differ diff --git a/source/images/supported_brands/twentemilieu.png b/source/images/supported_brands/twentemilieu.png new file mode 100644 index 00000000000..2f0124dec3a Binary files /dev/null and b/source/images/supported_brands/twentemilieu.png differ diff --git a/source/tos/index.markdown b/source/tos/index.markdown index baa03330571..58554f567d2 100644 --- a/source/tos/index.markdown +++ b/source/tos/index.markdown @@ -88,7 +88,7 @@ In no event will Home Assistant, or its suppliers or licensors, be liable with r ## 16. General Representation and Warranty -You represent and warrant that (i) your use of the Website will be in strict accordance with the Home Assistant [Privacy Policy](/privacy), [Community Guidelines](/guidelines), with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party. +You represent and warrant that (i) your use of the Website will be in strict accordance with the Home Assistant [Privacy Policy](/privacy), [Community Guidelines](https://community.home-assistant.io/t/how-to-help-us-help-you-or-how-to-ask-a-good-question/114371), with this Agreement and with all applicable laws and regulations (including without limitation any local laws or regulations in your country, state, city, or other governmental area, regarding online conduct and acceptable content, and including all applicable laws regarding the transmission of technical data exported from the country in which this website resides or the country in which you reside) and (ii) your use of the Website will not infringe or misappropriate the intellectual property rights of any third party. ## 17. Indemnification diff --git a/source/version.json b/source/version.json index a120dcbb44d..460cd5faf54 100644 --- a/source/version.json +++ b/source/version.json @@ -1,4 +1,5 @@ --- +layout: null --- {% assign recent_release_post = site.categories['Release-Notes'].first %}{ "current_version": "{{ site.current_major_version }}.{{ site.current_minor_version }}.{{ site.current_patch_version }}",