mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-22 08:46:51 +00:00
parent
1b9fad3ce3
commit
a4dca76042
@ -202,7 +202,7 @@ var swfobject = function() {
|
||||
function hasPlayerVersion(rv) {
|
||||
var pv = ua.pv, v = rv.split(".");
|
||||
v[0] = parseInt(v[0], 10);
|
||||
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
|
||||
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0"
|
||||
v[2] = parseInt(v[2], 10) || 0;
|
||||
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ module Jekyll
|
||||
# input - a url
|
||||
#
|
||||
# Returns input with all urls expanded to include the full site url
|
||||
# e.g. /images/awesome.gif => http://example.com/images/awesome.gif
|
||||
# e.g., /images/awesome.gif => http://example.com/images/awesome.gif
|
||||
#
|
||||
def full_url(input)
|
||||
expand_url(input, site_url)
|
||||
@ -40,8 +40,8 @@ module Jekyll
|
||||
|
||||
# Prepends input with a url fragment
|
||||
#
|
||||
# input - An absolute url, e.g. /images/awesome.gif
|
||||
# url - The fragment to prepend the input, e.g. /blog
|
||||
# input - An absolute url, e.g., /images/awesome.gif
|
||||
# url - The fragment to prepend the input, e.g., /blog
|
||||
#
|
||||
# Returns the modified url, e.g /blog
|
||||
#
|
||||
|
@ -5,7 +5,7 @@
|
||||
/**
|
||||
* A series of helper classes to use arbitrarily. Only use a helper class if an
|
||||
* element/component doesn’t already have a class to which you could apply this
|
||||
* styling, e.g. if you need to float `.main-nav` left then add `float:left;` to
|
||||
* styling, e.g., if you need to float `.main-nav` left then add `float:left;` to
|
||||
* that ruleset as opposed to adding the `.float--left` class to the markup.
|
||||
*
|
||||
* A lot of these classes carry `!important` as you will always want them to win
|
||||
|
@ -175,7 +175,7 @@
|
||||
.btn--tertiary{}
|
||||
|
||||
/**
|
||||
* Positive actions; e.g. sign in, purchase, submit, etc.
|
||||
* Positive actions; e.g., sign in, purchase, submit, etc.
|
||||
*/
|
||||
.btn--positive{
|
||||
background-color:#4A993E;
|
||||
@ -183,7 +183,7 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* Negative actions; e.g. close account, delete photo, remove friend, etc.
|
||||
* Negative actions; e.g., close account, delete photo, remove friend, etc.
|
||||
*/
|
||||
.btn--negative{
|
||||
background-color:#b33630;
|
||||
|
@ -22,7 +22,7 @@
|
||||
*
|
||||
* Where ‘’ might map to a star in your particular icon font.
|
||||
*
|
||||
* These all require extension in your theme stylesheet, e.g. in your own CSS:
|
||||
* These all require extension in your theme stylesheet, e.g., in your own CSS:
|
||||
*
|
||||
.sprite{
|
||||
background-image:url(path/to/your/sprite.png);
|
||||
|
@ -50,7 +50,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac
|
||||
2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet.
|
||||
|
||||
4 services are available for this component:
|
||||
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g. to check if anyone is home when door's been opened.
|
||||
- **icloud_update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened.
|
||||
- **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
|
||||
- **icloud_set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level.
|
||||
- **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional.
|
||||
|
@ -95,7 +95,7 @@ homekit:
|
||||
required: false
|
||||
type: list
|
||||
entity_config:
|
||||
description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g. `alarm_control_panel.alarm`.
|
||||
description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g., `alarm_control_panel.alarm`.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
|
@ -294,7 +294,7 @@ action:
|
||||
|
||||
When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your HomeMatic components are still updated properly, in order to detect connection losses. This can be done in several ways through an automation:
|
||||
|
||||
- If you have a sensor which you know will be updated frequently (e.g. an outdoor temperature sensor or light sensor) you could set up an automation like this:
|
||||
- If you have a sensor which you know will be updated frequently (e.g., an outdoor temperature sensor or light sensor) you could set up an automation like this:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -244,13 +244,13 @@ events. The following events are available:
|
||||
|
||||
- **insteon.button_on**
|
||||
- **address**: (required) The Insteon device address in lower case without
|
||||
dots (e.g. 1a2b3c)
|
||||
dots (e.g., 1a2b3c)
|
||||
- **button**: (Optional) The button id in lower case. For a 4-button remote
|
||||
the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For
|
||||
a one-button remote this field is not used.
|
||||
- **insteon.button_of**
|
||||
- **address**: (required) The Insteon device address in lower case without
|
||||
dots (e.g. 1a2b3c)
|
||||
dots (e.g., 1a2b3c)
|
||||
- **button**: (Optional) The button id in lower case. For a 4-button remote
|
||||
the values are a to d. For an 8 button remote the values are `a` to `g`. For
|
||||
a one-button remote this field is not used.
|
||||
|
@ -52,7 +52,7 @@ access_token:
|
||||
required: true
|
||||
type: string
|
||||
api_host:
|
||||
description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g. `http://192.168.1.101:8123`).
|
||||
description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g., `http://192.168.1.101:8123`).
|
||||
required: false
|
||||
type: url
|
||||
default: value of `base_url`
|
||||
|
@ -19,7 +19,7 @@ The light component supports multiple entries in <code>configuration.yaml</code>
|
||||
|
||||
To set the default color and brightness values when the light is turned on, create a custom `light_profiles.csv` (as described below in the `profile` attribute of `light.turn_on`).
|
||||
|
||||
The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g. for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
|
||||
The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g., for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
|
||||
|
||||
### {% linkable_title Service `light.turn_on` %}
|
||||
|
||||
|
@ -41,7 +41,7 @@ For more information have a look at `/usr/share/doc/lirc/README.Debian.gz` where
|
||||
|
||||
Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g., for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes.
|
||||
|
||||
Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g. in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
|
||||
Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g., in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
|
||||
|
||||
```bash
|
||||
begin
|
||||
|
@ -31,7 +31,7 @@ Configuration variables:
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
|
||||
description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g., '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
|
@ -99,7 +99,7 @@ Assuming the previous test completed successfully and your browser was registere
|
||||
|
||||
1. Open Home Assistant in Chrome or Firefox.
|
||||
2. Open the sidebar and click the Services button at the bottom (shaped like a remote control), located below the Developer Tools.
|
||||
3. From the Services dropdown, search for your HTML5 notify service (E.G. notify.NOTIFIER_NAME) and select it.
|
||||
3. From the Services dropdown, search for your HTML5 notify service (e.g., notify.NOTIFIER_NAME) and select it.
|
||||
4. In the Service Data text box enter: {"message":"hello world"}, then press the CALL SERVICE button.
|
||||
5. If everything worked you should see a popup notification.
|
||||
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.32
|
||||
---
|
||||
|
||||
|
||||
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g. security cam) is supported too.
|
||||
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google). You can use this plarform to send notifications to your Android TV device. An overlay with the message content will appear for a configurable amount of seconds and then disapper again. Sending images (e.g., security cam) is supported too.
|
||||
|
||||
The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running.
|
||||
|
||||
|
@ -38,7 +38,7 @@ Configuration variables:
|
||||
- **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the sender.
|
||||
|
||||
<p class='note'>
|
||||
sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g. Prosody, ejabberd) make sure to allow using TLS1.
|
||||
sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g., Prosody, ejabberd) make sure to allow using TLS1.
|
||||
</p>
|
||||
|
||||
All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender.
|
||||
|
@ -29,7 +29,7 @@ Configuration variables:
|
||||
|
||||
- **name** (*Required*): The internal name of the product in Home Assistant.
|
||||
- **product_id** (*Required*): ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab).
|
||||
The URL of this site reveals the ID, e.g. `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`.
|
||||
The URL of this site reveals the ID, e.g., `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`.
|
||||
- **description** (*Optional*): The name of the product in the front end.
|
||||
- **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`.
|
||||
|
||||
|
@ -34,7 +34,7 @@ name:
|
||||
default: The default is the station name.
|
||||
type: string
|
||||
stationId:
|
||||
description: ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs.
|
||||
description: ID of the stop or station, e.g., 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs.
|
||||
required: true
|
||||
type: string
|
||||
destinations:
|
||||
|
@ -33,7 +33,7 @@ Once you have your own Starling bank account you will need to sign up for a Star
|
||||
Once you've signed up:
|
||||
1. Head to the [Personal Access Section](https://developer.starlingbank.com/personal/token) of your developer account.
|
||||
2. Click "Create Token".
|
||||
3. Give your token a name e.g. "Home Assistant".
|
||||
3. Give your token a name e.g., "Home Assistant".
|
||||
4. Tick the permissions "account:read" and "balance:read". The others you can leave un-ticked.
|
||||
5. Click "Create" and make a note of the newly created token, you will need this for your Home Assistant configuration.
|
||||
|
||||
|
@ -141,7 +141,7 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin
|
||||
|
||||
In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/components/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors:
|
||||
|
||||
Note: If your Snips action is prefixed with a username (e.g. `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`).
|
||||
Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`).
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
@ -59,7 +59,7 @@ mqtt:
|
||||
|
||||
### {% linkable_title Run your own %}
|
||||
|
||||
Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: e.g. [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/).
|
||||
Along with the embedded broker this is the most private option, but it requires a bit more work. There are multiple free and open-source brokers to pick from: e.g., [Mosquitto](http://mosquitto.org/), [EMQ](http://emqtt.io/), or [Mosca](http://www.mosca.io/).
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -98,7 +98,7 @@ protocol:
|
||||
type: string
|
||||
certificate:
|
||||
required: false
|
||||
description: Path to the certificate file, e.g. `/home/user/.homeassistant/server.crt`.
|
||||
description: Path to the certificate file, e.g., `/home/user/.homeassistant/server.crt`.
|
||||
type: string
|
||||
tls_insecure:
|
||||
required: false
|
||||
|
@ -24,7 +24,7 @@ Don't use this for [secure devices](/docs/z-wave/adding/#adding-secure-devices),
|
||||
Don't use the OpenZWave control panel (OZWCP), **or the physical button on a controller**, to add or remove devices. Many devices will only send the information about their capabilities at the time you include them. If you use the OpenZWave control panel, or the button on a device, then Home Assistant won't have that information. Using the physical button on a controller will also result in a non-security inclusion being performed, which may limit the features the device supports.
|
||||
</p>
|
||||
|
||||
When you add a device, it may initially appear without a specific entity ID (e.g. `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible.
|
||||
When you add a device, it may initially appear without a specific entity ID (e.g., `zwave.__`) and without other identifying information. Running a *Heal* should help speed this process up, and you'll need to run a *Heal* anyway so that all the devices in your Z-Wave network learn about the new device. You *might* need to restart Home Assistant (not reboot the system) to have the entity ID fully visible.
|
||||
|
||||
## {% linkable_title Network Key %}
|
||||
|
||||
|
@ -82,7 +82,7 @@ Battery powered devices need to be awake before you can use the Z-Wave control p
|
||||
This is a dropdown where you can select all the entities of this node. Once selected you can then use:
|
||||
|
||||
* **Refresh Entity** to refresh just that entity's values
|
||||
* **Entity Attributes** to display the attributes of that entity (e.g. its friendly name, the ID of the node, etc)
|
||||
* **Entity Attributes** to display the attributes of that entity (e.g., its friendly name, the ID of the node, etc)
|
||||
|
||||
Here you can mark a device as requiring polling so the controller is aware of changes because the device doesn't send updates itself. Do see the information on [polling here](/docs/z-wave/devices/#polling), since excessive polling can break your Z-Wave network.
|
||||
|
||||
|
@ -74,7 +74,7 @@ name:
|
||||
type: string
|
||||
icon:
|
||||
required: true
|
||||
description: "Icon to display (e.g. `mdi:home`)"
|
||||
description: "Icon to display (e.g., `mdi:home`)"
|
||||
type: string
|
||||
action_name:
|
||||
required: true
|
||||
@ -103,7 +103,7 @@ name:
|
||||
type: string
|
||||
icon:
|
||||
required: true
|
||||
description: "Icon to display (e.g. `mdi:home`)"
|
||||
description: "Icon to display (e.g., `mdi:home`)"
|
||||
type: string
|
||||
url:
|
||||
required: true
|
||||
|
@ -71,7 +71,7 @@ tap_action:
|
||||
default: more-info
|
||||
service:
|
||||
required: false
|
||||
description: "For `call-service`, e.g. `media_player.media_play_pause`"
|
||||
description: "For `call-service`, e.g., `media_player.media_play_pause`"
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
|
@ -76,11 +76,11 @@ tap_action:
|
||||
default: more-info
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g. `/lovelace/1`)
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
type: string
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `light.turn_on`)"
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
@ -119,11 +119,11 @@ tap_action:
|
||||
default: more-info
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g. `/lovelace/1`)
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
type: string
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `light.turn_on`)"
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
@ -171,7 +171,7 @@ type:
|
||||
type: string
|
||||
icon:
|
||||
required: true
|
||||
description: Icon to display (e.g. `mdi:home`)
|
||||
description: Icon to display (e.g., `mdi:home`)
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
@ -188,11 +188,11 @@ tap_action:
|
||||
default: more-info
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g. `/lovelace/1`)
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
type: string
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `light.turn_on`)"
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
@ -223,11 +223,11 @@ tap_action:
|
||||
default: more-info
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g. `/lovelace/1`)
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
type: string
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `light.turn_on`)"
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
@ -265,7 +265,7 @@ style:
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: 'Card name with `custom:` prefix (e.g. `custom:my-custom-card`)'
|
||||
description: 'Card name with `custom:` prefix (e.g., `custom:my-custom-card`)'
|
||||
type: string
|
||||
style:
|
||||
required: true
|
||||
|
@ -90,7 +90,7 @@ device_tracker:
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
```
|
||||
|
||||
__DHT temperature and humidty sensors__
|
||||
__DHT temperature and humidity sensors__
|
||||
[@MakeMeASandwich](https://github.com/makemeasandwich) has contributed support for DHT temperature and humidity sensors. It allows you to get the current temperature and humidity from a DHT11, DHT22, or AM2302 device.
|
||||
|
||||
```yaml
|
||||
|
@ -31,7 +31,7 @@ If possible, provide the latest release of which you know that the component or
|
||||
|
||||
### {% linkable_title Operating environment (Hass.io/Docker/Windows/etc.) %}
|
||||
|
||||
There are many different ways to run Home Assistant. In this section please mention which you are using, e.g. manual installation, [Hass.io](/hassio/), Hasbian or as container (Docker). It can help if you mention which operating system you are using because not all are supported on the same level.
|
||||
There are many different ways to run Home Assistant. In this section please mention which you are using, e.g., manual installation, [Hass.io](/hassio/), Hasbian or as container (Docker). It can help if you mention which operating system you are using because not all are supported on the same level.
|
||||
|
||||
### {% linkable_title Component/platform %}
|
||||
|
||||
|
@ -202,7 +202,7 @@ var swfobject = function() {
|
||||
function hasPlayerVersion(rv) {
|
||||
var pv = ua.pv, v = rv.split(".");
|
||||
v[0] = parseInt(v[0], 10);
|
||||
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
|
||||
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0"
|
||||
v[2] = parseInt(v[2], 10) || 0;
|
||||
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user