Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2021-02-22 20:09:20 +01:00
commit 09070a3287
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
134 changed files with 2200 additions and 1139 deletions

View File

@ -2,8 +2,8 @@ name: Documentation feedback
about: Provide feedback on a page on our website
title: ""
issue_body: true
inputs:
- type: description
body:
- type: markdown
attributes:
value: |
Thanks for opening an issue to provide feedback on our website/documentation.
@ -15,36 +15,37 @@ inputs:
- type: textarea
attributes:
label: Feedback
required: true
description: >-
Please be sure to provide feedback as clear as possible. Describe what
you think is incorrect or can be improved, and try to provide a
suggestion on how you think it can be improved or fixed.
- type: description
validations:
required: true
- type: markdown
attributes:
value: |
## Details
- type: input
attributes:
label: URL
required: true
placeholder: "http://www.home-assistant.io/..."
description: >
A URL with a link to the page you are providing feedback for.
validations:
required: true
- type: input
attributes:
label: Version
required: false
placeholder: "e.g., 2021.2.0"
description: >
Current version of the documentation. This usually matches the Home
Assistant Core release version, and can be found at the bottom of the
page.
- type: description
- type: markdown
attributes:
value: |
## Additional information
- type: description
- type: markdown
attributes:
value: >
If you have any additional information for us, use the field below.

View File

@ -8,7 +8,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3.0.16
- uses: actions/stale@v3.0.17
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 60

View File

@ -179,7 +179,7 @@ toc:
# Configuration for installation pages
installation:
versions:
os: "5.11"
os: "5.12"
python: "3.8"
types:
odroid:

View File

@ -1,24 +1,19 @@
module Jekyll
class DetailsBlock < Liquid::Block
def render_details_block(vars:, converter:, classes: nil, parent_type: nil)
result = Array.new
result << vars.map do |entry|
markup = Array.new
markup << "<div class='details-block-item' onclick='showDetails(this)'>"
markup << "<div class='details-block-title'>#{entry['title']}"
markup << '<svg id="down" style="display: block;" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" /></svg>'
markup << '<svg id="up" style="display: none;" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" /></svg>'
markup << "</div>"
markup << "<div class='details-block-content' hidden onclick>#{converter.convert(entry['content'].to_s)}</div>"
markup << "</div>"
end
result.join
def initialize(tag_name, title, tokens)
super
@title = title
end
def render(context)
contents = super(context)
vars = SafeYAML.load(contents)
if @title.nil? || @title.empty? then
title = "More info"
else
title = @title
end
title = title.to_s.delete("\"")
site = context.registers[:site]
converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
@ -26,16 +21,23 @@ module Jekyll
<<~MARKUP
<script>
function showDetails(el) {
const content = el.querySelector(".details-block-content");
const up = el.querySelector(".details-block-title").querySelector("svg#up");
const down = el.querySelector(".details-block-title").querySelector("svg#down");
const content = el.parentElement.querySelector(".details-block-content");
const up = el.querySelector("svg#up");
const down = el.querySelector("svg#down");
up.style.display = up.style.display === "none" ? "block" : "none";
down.style.display = down.style.display === "none" ? "block" : "none";
content.hidden = !content.hidden;
}
</script>
<div class="details-block">
#{render_details_block(vars: vars, converter: converter)}
<div class='details-block-item'>
<div class='details-block-title' onclick='showDetails(this)'>
#{title}
<svg id="down" style="display: block;" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" /></svg>
<svg id="up" style="display: none;" width="24" height="24" viewBox="0 0 24 24"><path d="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" /></svg>
</div>
<div class='details-block-content' hidden>#{converter.convert(contents.to_s)}</div>
</div>
</div>
MARKUP
end

View File

@ -6,7 +6,6 @@ div.details-block {
background-color: white;
padding: 4px 16px;
margin: 8px;
cursor: pointer;
box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
border-radius: 16px;
@ -14,6 +13,7 @@ div.details-block {
font-weight: bold;
font-size: 18px;
line-height: 21px;
cursor: pointer;
height: 54px;
justify-content: space-between;
display: flex;

View File

@ -109,7 +109,7 @@ automation:
to: "None"
action:
service: media_player.turn_off
data:
target:
entity_id: >
{% if is_state("input_select.radio_player", "Mansarda") %}
media_player.bed_2
@ -133,7 +133,7 @@ automation:
entity_id: input_select.radio_station
action:
- service: media_player.play_media
data:
target:
entity_id: >
{% if is_state("input_select.radio_player", "Mansarda") %}
media_player.bed_2
@ -150,6 +150,7 @@ automation:
{% else %}
none
{% endif %}
data:
media_content_id: >
{% if is_state("input_select.radio_station", "Z88.3") %}
http://ice.zradio.org/z/high.mp3

View File

@ -95,13 +95,14 @@ Templates can also be used for the data that you pass to the service call.
```yaml
service: thermostat.set_temperature
data:
target:
entity_id: >
{% if is_state('device_tracker.paulus', 'home') %}
thermostat.upstairs
{% else %}
thermostat.downstairs
{% endif %}
data:
temperature: {{ 22 - distance(states.device_tracker.paulus) }}
```

View File

@ -112,7 +112,7 @@ Minimum recommended assignments:
- 2GB RAM
- 32GB Storage
- 1vCPU
- 2vCPU
_All these can be extended if your usage calls for more resources._

View File

@ -252,7 +252,9 @@ Some notifiers support more parameters (e.g., to set text color or action
# Example configuration.yaml entry
alert:
garage_door:
name: Garage is open
name: "Garage is open"
message: "The garage door is still open"
done_message: "The garage door is closed"
entity_id: input_boolean.garage_door
state: "on" # Optional, 'on' is the default value
repeat:
@ -270,4 +272,20 @@ alert:
This particular example relies on the `inline_keyboard` functionality of
Telegram, where the user is presented with buttons to execute certain actions.
Based on the example above you can make an automation to stop further messages,
but you will still receive the done message.
```yaml
- alias: "Telegram callback to stop alerts for garage door"
trigger:
- platform: event
event_type: telegram_callback
event_data:
data: "/garage_acknowledge"
action:
- service: alert.turn_off
target:
entity_id: alert.garage_door
```
[template]: /docs/configuration/templating/

View File

@ -58,7 +58,7 @@ Enabling the battery tracking might slightly decrease the duration of the batter
For additional configuration variables check the [Device tracker page](/integrations/device_tracker/).
## Home Assistant Core installs
{% details "Notes for Home Assistant Core Installations" %}
On Debian based Home Assistant Core installations, run:
@ -68,8 +68,8 @@ sudo apt install bluetooth
Before you get started with this platform, please note that:
- This platform is incompatible with Windows
- This platform requires access to the Bluetooth stack, see [Rootless Setup section](#rootless-setup) for further information
- This platform is incompatible with Windows
- This platform requires access to the Bluetooth stack, see [Rootless Setup section](#rootless-setup) for further information
### Rootless Setup on Core installs
@ -82,3 +82,5 @@ sudo setcap 'cap_net_raw+ep' $(readlink -f $(which hcitool))
```
A restart of Home Assistant is required.
{% enddetails %}

View File

@ -12,12 +12,16 @@ ha_platforms:
This tracker discovers new devices on boot and tracks Bluetooth devices periodically based on `interval_seconds` value. It is not required to pair the devices with each other! Devices discovered are stored with 'bt_' as the prefix for device MAC addresses in `known_devices.yaml`.
This platform requires pybluez to be installed. On Debian based installs, run
{% details "Notes for Home Assistant Core Installations" %}
This platform requires `pybluez` to be installed. On Debian based installs, run
```bash
sudo apt install bluetooth libbluetooth-dev
```
{% enddetails %}
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
```yaml

View File

@ -45,12 +45,12 @@ automation:
at: "07:15:00"
action:
- service: fan.set_percentage
data:
target:
entity_id: fan.kitchen
data:
percentage: 33
```
### Service `fan.set_preset_mode`
Sets a preset mode for fan device.
@ -69,8 +69,9 @@ automation:
at: "07:15:00"
action:
- service: fan.set_preset_mode
data:
target:
entity_id: fan.kitchen
data:
preset_mode: auto
```
@ -92,8 +93,9 @@ automation:
at: "07:15:00"
action:
- service: fan.set_direction
data:
target:
entity_id: fan.kitchen
data:
direction: forward
```
@ -115,8 +117,9 @@ automation:
at: "07:15:00"
action:
- service: fan.oscillate
data:
target:
entity_id: fan.kitchen
data:
oscillating: True
```
@ -157,8 +160,9 @@ automation:
at: "07:15:00"
action:
- service: fan.set_speed
data:
target:
entity_id: fan.kitchen
data:
speed: low
```
@ -183,7 +187,8 @@ automation:
subtype: raise
action:
- service: fan.increase_speed
entity_id: fan.dining_room_fan_by_front_door
target:
entity_id: fan.dining_room_fan_by_front_door
```
### Service `fan.decrease_speed`
@ -207,5 +212,6 @@ automation:
subtype: lower
action:
- service: fan.decrease_speed
entity_id: fan.dining_room_fan_by_front_door
target:
entity_id: fan.dining_room_fan_by_front_door
```

View File

@ -102,8 +102,6 @@ sensor:
monitored_conditions:
- sensor_type: inverter
device: 1
- sensor_type: meter
scope: system
- sensor_type: meter
device: 3
- sensor_type: storage

View File

@ -88,7 +88,7 @@ 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`. This value is also used as the step size for setting the target temperature."
required: false
type: float
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
default: "`0.1` for Celsius and `1.0` for Fahrenheit."
{% endconfiguration %}
Time for `min_cycle_duration` and `keep_alive` must be set as "hh:mm:ss" or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. Alternatively, it can be an integer that represents time in seconds.

View File

@ -85,8 +85,9 @@ automation:
to: "on"
action:
- service: light.turn_on
data:
target:
entity_id: light.hyperion
data:
effect: "Full color mood blobs"
```
@ -106,8 +107,9 @@ To have the lights playing an effect when pausing, idle or turn off a media play
to: "idle"
action:
- service: light.turn_on
data:
target:
entity_id: light.hyperion
data:
effect: "Full color mood blobs"
```
@ -121,7 +123,8 @@ To capture the screen when playing something on a media_player you can use this
to: "playing"
action:
- service: light.turn_on
data:
target:
entity_id: light.hyperion
data:
effect: V4L
```

View File

@ -44,7 +44,7 @@ automation:
platform: event
condition: []
action:
- data:
- target:
entity_id: '{{ trigger.event.data.entity_id }}'
service: '{{ trigger.event.data.service }}'
```

View File

@ -131,8 +131,9 @@ automation:
entity_id: input_number.bedroom_brightness
action:
- service: light.turn_on
data:
target:
entity_id: light.bedroom
data:
brightness: "{{ trigger.to_state.state | int }}"
```
@ -170,8 +171,9 @@ automation:
to: CUSTOM
action:
- service: light.turn_on
data:
target:
entity_id: light.bedroom
data:
brightness: "{{ states('input_number.bedroom_brightness') | int }}"
```
@ -201,8 +203,9 @@ automation:
topic: "setTemperature"
action:
service: input_number.set_value
data:
target:
entity_id: input_number.target_temp
data:
value: "{{ trigger.payload }}"
# This second automation script runs when the target temperature slider is moved.

View File

@ -141,8 +141,9 @@ automation:
event_type: MY_CUSTOM_EVENT
action:
- service: input_select.select_option
data:
target:
entity_id: input_select.who_cooks
data:
option: Paulus
```
@ -157,8 +158,9 @@ automation:
event_type: MY_CUSTOM_EVENT
action:
- service: input_select.set_options
data:
target:
entity_id: input_select.who_cooks
data:
options: ["Item A", "Item B", "Item C"]
```
@ -189,9 +191,10 @@ input_select:
topic: "thermostatMode"
# entity_id: input_select.thermostat_mode
action:
service: input_select.select_option
data:
service: input_select.select_option
target:
entity_id: input_select.thermostat_mode
data:
option: "{{ trigger.payload }}"
# This automation script runs when the thermostat mode selector is changed.

View File

@ -133,8 +133,9 @@ automation:
entity_id: input_select.scene_bedroom
action:
- service: input_text.set_value
data:
target:
entity_id: input_text.bedroom
data:
value: "{{ states('input_select.scene_bedroom') }}"
```

View File

@ -116,8 +116,9 @@ automation:
event_type: keyboard_remote_connected
action:
- service: media_player.play_media
data:
target:
entity_id: media_player.speaker
data:
media_content_id: keyboard_connected.wav
media_content_type: music
@ -129,8 +130,9 @@ automation:
device_name: "00:58:56:4C:C0:91"
action:
- service: media_player.play_media
data:
target:
entity_id: media_player.speaker
data:
media_content_id: keyboard_disconnected.wav
media_content_type: music
```

View File

@ -128,8 +128,9 @@ script:
kodi_quit:
sequence:
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: Application.Quit
```
@ -140,8 +141,9 @@ script:
kodi_hibernate:
sequence:
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: System.Hibernate
```
@ -152,8 +154,9 @@ script:
kodi_suspend:
sequence:
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: System.Suspend
```
@ -164,8 +167,9 @@ script:
kodi_reboot:
sequence:
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: System.Reboot
```
@ -176,8 +180,9 @@ script:
kodi_shutdown:
sequence:
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: System.Shutdown
```
@ -190,8 +195,9 @@ script:
turn_on_kodi_with_cec:
sequence:
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: Addons.ExecuteAddon
addonid: script.json-cec
params:
@ -200,11 +206,12 @@ script:
turn_off_kodi_with_cec:
sequence:
- service: media_player.media_stop
data:
target:
entity_id: media_player.kodi
- service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: Addons.ExecuteAddon
addonid: script.json-cec
params:
@ -230,12 +237,13 @@ script:
sequence:
- alias: "TV on"
service: media_player.turn_on
data:
target:
entity_id: media_player.kodi
- alias: "Play TV channel"
service: media_player.play_media
data:
target:
entity_id: media_player.kodi
data:
media_content_type: "CHANNEL"
media_content_id: >
{% if (now().hour < 14) or ((now().hour == 14) and (now().minute < 50)) %}
@ -266,11 +274,12 @@ script:
sequence:
- alias: "TV on"
service: media_player.turn_on
data:
target:
entity_id: media_player.kodi
- service: media_player.play_media
data:
target:
entity_id: media_player.kodi
data:
media_content_type: DIRECTORY
media_content_id: special://profile/playlists/video/feuerwehrmann_sam.xsp
```
@ -286,8 +295,9 @@ script:
sequence:
- alias: "Call Kodi update"
service: kodi.call_method
data:
target:
entity_id: media_player.kodi
data:
method: VideoLibrary.Scan
```

View File

@ -17,7 +17,7 @@ This integration connects Brightech Kuler Sky floor lamps to Home Assistant.
{% include integrations/config_flow.md %}
## Additional information for Home Assistant Core on Python environments
{% details "Notes for Home Assistant Core Installations" %}
This integration requires `pybluez` to be installed. On Debian based installs, run:
@ -38,3 +38,5 @@ sudo apt-get install libcap2-bin
sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\``
sudo setcap 'cap_net_raw+ep' `readlink -f \`which hcitool\``
```
{% enddetails %}

View File

@ -31,6 +31,8 @@ Or, when using Docker containers:
docker exec -it <containername> pylacrosse -d /dev/ttyUSB0 scan
```
For TX 29 DTH-IT sensors you can also read the ID from the display and calculate the ID as followed: `hex2dec(ID_on_display) / 4`.
## Configuration
To use your `lacrosse` compatible sensor in your installation, add the following to your `configuration.yaml` file:

View File

@ -58,6 +58,6 @@ media_player:
host: 192.168.0.20
turn_on_action:
service: switch.turn_on
data:
target:
entity_id: switch.tv_switch
```

View File

@ -47,8 +47,9 @@ automation:
# ...
action:
- service: light.turn_on
data:
target:
entity_id: light.office, light.kitchen
data:
effect: lifx_effect_pulse
```
@ -59,8 +60,9 @@ script:
alias: "Start colorloop"
sequence:
- service: lifx.effect_colorloop
data:
target:
entity_id: group.livingroom
data:
brightness: 255
period: 10
spread: 30

View File

@ -53,7 +53,8 @@ script:
alias: "Kitchen lights on"
sequence:
service: light.turn_on
data:
target:
entity_id: light.kitchen_lights
data:
brightness: 100
```

View File

@ -59,8 +59,9 @@ automation:
to: "on"
action:
- service: light.turn_on
data:
target:
entity_id: light.living_room
data:
brightness: 255
kelvin: 2700
```
@ -73,8 +74,9 @@ automation:
platform: time
action:
- service: light.turn_on
data:
target:
entity_id: light.ledliststair
data:
brightness: 130
rgb_color: [255,0,0]
```

View File

@ -178,18 +178,21 @@ light:
{% endif %}
turn_on:
service: media_player.volume_mute
data:
target:
entity_id: media_player.receiver
data:
is_volume_muted: false
turn_off:
service: media_player.volume_mute
data:
target:
entity_id: media_player.receiver
data:
is_volume_muted: true
set_level:
service: media_player.volume_set
data:
target:
entity_id: media_player.receiver
data:
volume_level: "{{ (brightness / 255 * 100)|int / 100 }}"
level_template: >-
{% if is_state('media_player.receiver', 'on') %}
@ -235,13 +238,15 @@ light:
{% endif %}
turn_on:
service: media_player.volume_mute
data:
target:
entity_id: media_player.receiver
data:
is_volume_muted: false
turn_off:
service: media_player.volume_mute
data:
target:
entity_id: media_player.receiver
data:
is_volume_muted: true
```
@ -281,13 +286,15 @@ light:
{% endif %}
turn_on:
service: media_player.volume_mute
data:
target:
entity_id: media_player.receiver
data:
is_volume_muted: false
turn_off:
service: media_player.volume_mute
data:
target:
entity_id: media_player.receiver
data:
is_volume_muted: true
```

View File

@ -111,8 +111,11 @@ automation:
# ...
action:
- service: light.turn_on
target:
entity_id:
- light.office
- light.kitchen
data:
entity_id: light.office, light.kitchen
effect: night
```

View File

@ -31,7 +31,7 @@ Lock your door, the attribute should appear under a 'data' attribute for the ser
```yaml
action:
service: lock.lock
data:
target:
entity_id: lock.my_place
```
@ -48,7 +48,7 @@ Unlock your door, the attribute should appear under a 'data' attribute for the s
```yaml
action:
service: lock.unlock
data:
target:
entity_id: lock.my_place
```

View File

@ -31,11 +31,11 @@ lock:
value_template: "{{ is_state('sensor.door', 'on') }}"
lock:
service: switch.turn_on
data:
target:
entity_id: switch.door
unlock:
service: switch.turn_off
data:
target:
entity_id: switch.door
```
@ -96,11 +96,11 @@ lock:
value_template: "{{ is_state('switch.source', 'on') }}"
lock:
service: switch.turn_on
data:
target:
entity_id: switch.source
unlock:
service: switch.turn_off
data:
target:
entity_id: switch.source
```
@ -120,11 +120,11 @@ lock:
optimistic: true
lock:
service: switch.turn_on
data:
target:
entity_id: switch.source
unlock:
service: switch.turn_off
data:
target:
entity_id: switch.source
```
@ -143,11 +143,11 @@ lock:
value_template: "{{ is_state('sensor.skylight.state', 'on') }}"
lock:
service: switch.turn_on
data:
target:
entity_id: switch.skylight_open
unlock:
service: switch.turn_on
data:
target:
entity_id: switch.skylight_close
```

View File

@ -65,8 +65,9 @@ Default `media_dir`is `local`.
Example:
```yaml
service: media_player.play_media
data:
target:
entity_id: media_player.living_room_tv
data:
media_content_type: video/mp4
media_content_id: media-source://media_source/local/videos/favourites/Epic Sax Guy 10 Hours.mp4
```

View File

@ -63,8 +63,9 @@ The `play_media` function can be used in scripts to change channels:
change_channel:
sequence:
service: media_player.play_media
data:
target:
entity_id: media_player.mediaroom_stb
data:
media_content_id: "{{ channel_number }}"
media_content_type: "channel"
```
@ -81,8 +82,9 @@ The `play_media` function can also be used to trigger actions on the set-up-box
press_button:
sequence:
service: media_player.play_media
data:
target:
entity_id: media_player.mediaroom_stb
data:
media_content_id: "{{ action }}"
media_content_type: "mediaroom"
```

View File

@ -50,14 +50,16 @@ Example script to load a saved playlist called "DeckMusic" and set the volume:
relaxdeck:
sequence:
- service: media_player.play_media
data:
target:
entity_id: media_player.main
data:
media_content_type: playlist
media_content_id: DeckMusic
- service: media_player.volume_set
data:
target:
entity_id: media_player.main
data:
volume_level: 0.60
```

View File

@ -34,14 +34,15 @@ The state is the last reading from Nightscout, and you can see other information
alias: "overnight_low_kitchen_lights"
description: Turn on the lights in the kitchen if my blood sugar drops low overnight
trigger:
- below: "65"
- platform: numeric_state
entity_id: sensor.blood_glucose
platform: numeric_state
condition: time
after: "22:00:00"
before: "06:00:00"
below: "65"
condition:
- condition: time
after: "22:00:00"
before: "06:00:00"
action:
- service: light.turn_on
data:
- service: light.turn_on
target:
entity_id: light.kitchen
```

View File

@ -123,11 +123,12 @@ script:
alias: "Radio 1"
sequence:
- service: media_player.turn_on
data:
target:
entity_id: media_player.onkyo
- service: media_player.play_media
data:
target:
entity_id: media_player.onkyo
data:
media_content_type: "radio"
media_content_id: "1"
```

View File

@ -25,9 +25,9 @@ media_player:
```yaml
action:
- service: media_player.play_media
target:
entity_id: media_player.linn_bedroom
data:
entity_id:
- media_player.linn_bedroom
media_content_id: "http://172.24.32.13/Doorbell.mp3"
media_content_type: music
```
@ -36,9 +36,9 @@ action:
```yaml
- service: media_player.play_media
target:
entity_id: media_player.linn_bedroom
data:
entity_id:
- media_player.linn_bedroom
media_content_id: "http://media-ice.musicradio.com:80/ClassicFMMP3"
media_content_type: music
```

View File

@ -47,6 +47,10 @@ id:
description: "The `gateway_id` for this OpenTherm Gateway's entity IDs and services. The entered value will be slugified."
{% endconfiguration_basic %}
<div class='note warning'>
Please make sure no other device or application is connected to the OpenTherm Gateway at the same time as Home Assistant. This is not a supported scenario and may lead to unexpected results.
</div>
<div class='note'>
The precision and floor_temperature settings that were supported in configuration.yaml entries have been lost upon import of the configuration.yaml entry into the Integrations panel. You can now configure them as per the following Options paragraph.
</div>

View File

@ -74,17 +74,18 @@ script:
alias: "Show who's at the door"
sequence:
- service: media_player.turn_on
data:
target:
entity_id: media_player.living_room_tv
- service: media_player.play_media
data:
target:
entity_id: media_player.living_room_tv
data:
media_content_type: "url"
media_content_id: YOUR_URL
- delay:
seconds: 5
- service: media_player.media_stop
data:
target:
entity_id: media_player.living_room_tv
```

View File

@ -1,7 +1,6 @@
---
title: Pencom
description: How to use Pencom Designs 8 channel relay boards.
logo: pencom.png
ha_category:
- Switch
ha_release: 0.85

View File

@ -250,8 +250,9 @@ play_plex_on_tv:
timeout: "00:00:10"
continue_on_timeout: false
- service: media_player.play_media
data:
target:
entity_id: media_player.plex_smart_tv
data:
media_content_id: "{"library_name": "Movies", "title": "Zoolander"}"
media_content_type: movie
```

View File

@ -70,7 +70,7 @@ script:
force_adam_update:
sequence:
- service: homeassistant.update_entity
data:
target:
entity_id: climate.anna
```
@ -89,8 +89,9 @@ script:
lisa_reactive_last_schedule:
sequence:
- service: climate.set_hvac_mode
data:
target:
entity_id: climate.lisa_bios
data:
hvac_mode: auto
```
@ -113,8 +114,9 @@ script:
anna_set_predefined_temperature:
sequence:
- service: climate.set_temperature
data:
target:
entity_id: climate.anna
data:
temperature: 19.5
```

View File

@ -67,9 +67,10 @@ if entity_id is not None:
The above `python_script` can be called using the following YAML as an input.
```yaml
service: python_script.turn_on_light
data:
- service: python_script.turn_on_light
target:
entity_id: light.bedroom
data:
rgb_color: [255, 0, 0]
```

View File

@ -122,17 +122,6 @@ monitored_conditions:
If your QNAP device uses self-signed certificates, set the `verify_ssl` option to `false`.
### QNAP device support:
### QNAP device support
This integration has been tested on the following devices:
- TS-231P2 (QTS 4.4.2)
- TS-259 Pro+ (QTS 4.2.6)
- TS-228 (QTS 4.3.6)
- TS-410 (QTS 4.2.3)
- TS-419 (QTS 4.2.3)
- TS-451 (QTS 4.2.2)
- TS-470 (QTS 4.2.2)
- TS-639 (QTS 4.2.3)
Other QNAP NAS devices using similar firmware should work fine. For more information about supported devices, or to report issues with your device, please visit the [qnapstats project](https://github.com/colinodell/python-qnapstats#device-support).
This integration works with most (but not all) QNAP devices. A complete, up-to-date [list of compatible devices can be found here](https://github.com/colinodell/python-qnapstats#device-support).

View File

@ -88,11 +88,12 @@ script:
run_grass_zones:
sequence:
- service: rachio.start_multiple_zone_schedule
data:
target:
entity_id:
- switch.front_yard_west
- switch.front_yard_east
- switch.side_yard_west
data:
duration: 20, 15, 10
```
@ -102,11 +103,12 @@ script:
run_grass_zones:
sequence:
- service: rachio.start_multiple_zone_schedule
data:
target:
entity_id:
- switch.front_yard_west
- switch.front_yard_east
- switch.side_yard_west
data:
duration: 20
```
### Service `rachio.set_zone_moisture_percent`

View File

@ -319,6 +319,14 @@ Once Home Assistant finds the database, with the right level of permissions, all
### PostgreSQL
Create the PostgreSQL database with `utf8` encoding. The PostgreSQL default encoding is `SQL_ASCII`. From the `postgres` user account;
```bash
createdb -E utf8 DB_NAME
```
Where `DB_NAME` is the name of your database
If the Database in use is not `utf8`, adding `?client_encoding=utf8` to the `db_url` may solve any issue.
For PostgreSQL you may have to install a few dependencies:
```bash

View File

@ -453,22 +453,22 @@ switch:
data:
led: 6
- service: homeassistant.update_entity
data:
target:
entity_id: sensor.steam_system_data
- delay: 00:00:15
- service: homeassistant.update_entity
data:
target:
entity_id: sensor.steam_system_data
turn_off:
- service: rest_command.set_steam_led
data:
led: 7
- service: homeassistant.update_entity
data:
target:
entity_id: sensor.steam_system_data
- delay: 00:00:15
- service: homeassistant.update_entity
data:
target:
entity_id: sensor.steam_system_data
friendly_name: Steam

View File

@ -67,8 +67,9 @@ A typical service call for pressing several buttons looks like this.
```yaml
service: remote.send_command
data:
target:
entity_id: remote.roku
data:
command:
- left
- left
@ -80,8 +81,9 @@ data:
When the Home Assistant Roku integration is enabled and a Roku device has been configured, in the Home Assistant UI the Roku media player will show a listing of the installed channels, or apps, under “source”. Select one and it will attempt to launch the channel on your Roku device. This action can also be automated. Channels can be launched by `name` using a configuration similar to the one below:
```yaml
action:
- data:
entity_id: media_player.roku
- target:
entity_id: media_player.
data:
source: "Prime Video"
service: media_player.select_source
```
@ -106,21 +108,23 @@ To use this information in Home Assistant, the format is as follows. Note that `
```yaml
action:
- data:
entity_id: media_player.roku
source: 20197
service: media_player.select_source
- service: media_player.select_source
target:
entity_id: media_player.roku
data:
source: 20197
```
It is also possible to tune directly to specific channels if you have a Roku TV and use an OTA antenna. This service only supports `media_channel_type` of 'channel'. `media_content_id` corresponds to the TV channel, which you should see when navigating to these on your TV UI.
```yaml
action:
- data:
entity_id: media_player.roku
media_content_id: 5.1
media_content_type: channel
service: media_player.play_media
- service: media_player.play_media
target:
entity_id: media_player.roku
data:
media_content_id: 5.1
media_content_type: channel
```
## Remote

View File

@ -173,6 +173,6 @@ For example:
to: "on"
action:
service: input_boolean.turn_on
data:
target:
entity_id: input_boolean.movement_detected
```

View File

@ -116,8 +116,9 @@ automation:
to: "home"
action:
service: scene.turn_on
data:
target:
entity_id: scene.romantic
data:
transition: 2.5
```
@ -176,11 +177,12 @@ The following example turns off some entities as soon as a window opens. The sta
- climate.ecobee
- light.ceiling_lights
- service: light.turn_off
data:
target:
entity_id: light.ceiling_lights
- service: climate.set_hvac_mode
data:
target:
entity_id: climate.ecobee
data:
hvac_mode: "off"
- alias: "Window closed"
trigger:
@ -191,6 +193,6 @@ The following example turns off some entities as soon as a window opens. The sta
condition: []
action:
- service: scene.turn_on
data:
target:
entity_id: scene.before
```

View File

@ -139,15 +139,16 @@ script: 
domain: light
- alias: "Bedroom lights on"
service: light.turn_on
data:
target:
entity_id: group.bedroom
data:
brightness: 100
- delay:
# supports seconds, milliseconds, minutes, hours
minutes: "{{ minutes }}"
- alias: "Living room lights on"
service: light.turn_on
data:
target:
entity_id: "{{ turn_on_entity }}"
```

View File

@ -66,13 +66,14 @@ switch:
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_hvac_mode
data:
target:
entity_id: climate.ac
hvac_mode: cool
turn_off:
service: climate.set_hvac_mode
data:
target:
entity_id: climate.ac
data:
hvac_mode: off
```

View File

@ -13,9 +13,7 @@ ha_codeowners:
The `seven_segments` image processing platform allows you to read physical seven segments displays through Home Assistant. [`ssocr`](https://www.unix-ag.uni-kl.de/~auerswal/ssocr/) is used to extract the value shown on the display which is observed by a [camera](/integrations/camera/).
## Home Assistant Core Requirements
If you are running Home Assistant Core in a Python virtual environment, you need to ensure the following requirements are met.
{% details "Notes for Home Assistant Core Installations" %}
`ssocr` needs to be available on your system. Check the installation instruction below:
@ -30,6 +28,8 @@ sudo make PREFIX=/usr install # On most systems
make deb # (Optional) This allows you to make a deb so that you apt is aware of ssocr
```
{% enddetails %}
## Configuration
To enable the OCR of a seven segment display in your installation, add the following to your `configuration.yaml` file:

View File

@ -153,8 +153,9 @@ intent_script:
ActivateLightColor:
action:
- service: light.turn_on
data:
target:
entity_id: 'light.{{ objectLocation | replace(" ","_") }}'
data:
color_name: "{{ objectColor }}"
```
@ -236,7 +237,7 @@ intent_script:
text: "OK, opening the garage door"
action:
- service: cover.open_cover
data:
target:
entity_id: garage_door
```

View File

@ -164,9 +164,10 @@ condition:
{{ trigger.from_state.attributes.queue_position < trigger.to_state.attributes.queue_position }}
action:
- service: sonos.remove_from_queue
data:
target:
entity_id: >
{{ trigger.entity_id }}
data:
queue_position: >
{{ trigger.from_state.attributes.queue_position }}
```

View File

@ -60,8 +60,9 @@ You can switch between one of your 6 pre-configured presets using ```media_playe
```yaml
# Play media preset
- service: media_player.play_media
data:
target:
entity_id: media_player.soundtouch_living_room
data:
media_content_id: 1..6
media_content_type: PLAYLIST
```
@ -71,8 +72,9 @@ You can also play HTTP (not HTTPS) URLs:
```yaml
# Play media URL
- service: media_player.play_media
data:
target:
entity_id: media_player.soundtouch_living_room
data:
media_content_id: http://example.com/music.mp3
media_content_type: MUSIC
```

View File

@ -96,8 +96,9 @@ script:
play_jazz_guitar:
sequence:
- service: media_player.play_media
data:
target:
entity_id: media_player.spotify
data:
media_content_id: "https://open.spotify.com/playlist/5xddIVAtLrZKtt4YGLM1SQ?si=YcvRqaKNTxOi043Qn4LYkg"
media_content_type: playlist
```

View File

@ -30,8 +30,9 @@ transporter_toslink:
target:
entity_id: media_player.transporter
- service: media_player.play_media
data:
target:
entity_id: media_player.transporter
data:
media_content_id: "source:toslink"
media_content_type: "music"
```

View File

@ -47,8 +47,9 @@ For example, the following action in an automation would take a recording from `
```yaml
action:
service: camera.record
data:
target:
entity_id: camera.quintal
data:
filename: "/config/www/my_stream.mp4"
duration: 30
```

View File

@ -30,11 +30,11 @@ switch:
value_template: "{{ is_state('sensor.skylight', 'on') }}"
turn_on:
service: switch.turn_on
data:
target:
entity_id: switch.skylight_open
turn_off:
service: switch.turn_off
data:
target:
entity_id: switch.skylight_close
```
@ -104,11 +104,11 @@ switch:
value_template: "{{ is_state('switch.source', 'on') }}"
turn_on:
service: switch.turn_on
data:
target:
entity_id: switch.target
turn_off:
service: switch.turn_off
data:
target:
entity_id: switch.target
```
@ -129,11 +129,11 @@ switch:
value_template: "{{ is_state_attr('switch.blind_toggle', 'sensor_state', 'on') }}"
turn_on:
service: switch.toggle
data:
target:
entity_id: switch.blind_toggle
turn_off:
service: switch.toggle
data:
target:
entity_id: switch.blind_toggle
```
@ -155,11 +155,11 @@ switch:
value_template: "{{ is_state('sensor.skylight', 'on') }}"
turn_on:
service: switch.turn_on
data:
target:
entity_id: switch.skylight_open
turn_off:
service: switch.turn_on
data:
target:
entity_id: switch.skylight_close
```
@ -179,11 +179,11 @@ switch:
value_template: "{{ is_state('cover.garage_door', 'on') }}"
turn_on:
service: cover.open_cover
data:
target:
entity_id: cover.garage_door
turn_off:
service: cover.close_cover
data:
target:
entity_id: cover.garage_door
icon_template: >-
{% if is_state('cover.garage_door', 'open') %}
@ -209,11 +209,11 @@ switch:
value_template: "{{ is_state('cover.garage_door', 'on') }}"
turn_on:
service: cover.open_cover
data:
target:
entity_id: cover.garage_door
turn_off:
service: cover.close_cover
data:
target:
entity_id: cover.garage_door
entity_picture_template: >-
{% if is_state('cover.garage_door', 'open') %}

View File

@ -152,13 +152,15 @@ script:
boost_heating:
sequence:
- service: tado.set_climate_timer
data:
target:
entity_id: climate.heating
data:
time_period: "01:30:00"
temperature: 25
- service: tado.set_water_heater_timer
data:
target:
entity_id: water_heater.hot_water
data:
time_period: "01:30:00"
```
@ -184,8 +186,9 @@ automation:
# Work out what the new offset should be (tado temp less the room temp but add the current offset value) and turn that to a negative value for setting as the new offset
action:
- service: tado.set_climate_temperature_offset
data:
target:
entity_id: climate.tado
data:
offset: >
{% set tado_temp = states('sensor.tado_temperature')|float %}
{% set room_temp = states('sensor.temp_sensor_room')|float %}

View File

@ -23,7 +23,7 @@ To make tags accessible to anyone in your house hold, there is also a [standalon
## Writing your first tag
The easiest way to get started with tags is to use NFC tags ([stickers](https://amzn.to/3bQU0nN), [cards](https://amzn.to/2RlqPzM)) with the official Home Assistant mobile apps. Once you have scanned a card, hover it with your phone to scan it.
The easiest way to get started with tags is to use NFC tags ([stickers](https://amzn.to/3bQU0nN), [cards](https://amzn.to/2RlqPzM)) with the official Home Assistant mobile apps. Once you have written a card, hover it with your phone to scan it.
<div class="videoWrapper">
<iframe width="853" height="480" src="https://www.youtube-nocookie.com/embed/Xc120lClUgA" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
@ -81,8 +81,9 @@ automation:
media_content_id: "{{ tags[trigger.event.data.tag_id].media_content_id }}"
media_content_type: "{{ tags[trigger.event.data.tag_id].media_content_type }}"
- service: media_player.play_media
data:
target:
entity_id: "{{ media_player_entity_id }}"
data:
media_content_id: "{{ media_content_id }}"
media_content_type: "{{ media_content_type }}"
- delay: 2 # timeout before we allow processing next scan

View File

@ -10,10 +10,7 @@ ha_domain: tensorflow
The `tensorflow` image processing platform allows you to detect and recognize objects in a camera image using [TensorFlow](https://www.tensorflow.org/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
## Home Assistant Core
If you are using the Home Assistant Core installation type, some additional requirements and steps apply.
For all other installation types, this section can be skipped.
{% details "Notes for Home Assistant Core Installations" %}
The following packages must be installed on Debian before following the setup for the integration to work:
`sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5`
@ -27,6 +24,8 @@ See [the official install guide](https://www.tensorflow.org/install/) for other
Furthermore, the official Python TensorFlow wheels by Google, require your CPU to support the `avx` extension.
If your CPU lacks those capabilities, Home Assistant will crash when using TensorFlow, without any message.
{% enddetails %}
## Preparation
This integration requires files to be downloaded, compiled on your computer, and added to the Home Assistant configuration directory. These steps can be performed by cloning [this repository](https://github.com/hunterjm/hass-tensorflow) into your configuration directory. Alternatively, if you wish to perform the process manually, the process is as follows:

View File

@ -54,7 +54,15 @@ automation:
entity_id: scene.OnArmedAway
```
If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo.
{% details "Notes for Home Assistant Core Installations" %}
If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command:
```bash
sudo apt install libxml2-dev libxmlsec1-dev
```
{% enddetails %}
## Alarm Control Panel

View File

@ -102,33 +102,35 @@ media_player:
commands:
turn_on:
service: switch.turn_on
data:
target:
entity_id: switch.living_room_tv
turn_off:
service: switch.turn_off
data:
target:
entity_id: switch.living_room_tv
volume_up:
service: switch.turn_on
data:
target:
entity_id: switch.living_room_volume_up
volume_down:
service: switch.turn_on
data:
target:
entity_id: switch.living_room_volume_down
volume_mute:
service: switch.turn_on
data:
target:
entity_id: switch.living_room_mute
select_source:
service: media_player.select_source
data:
target:
entity_id: media_player.receiver
data:
source: "{{ source }}"
volume_set:
service: media_player.volume_set
data:
target:
entity_id: media_player.receiver
data:
volume_level: "{{ volume_level }}"
attributes:
@ -176,11 +178,11 @@ media_player:
commands:
turn_on:
service: media_player.turn_on
data:
target:
entity_id: media_player.kodi
turn_off:
service: media_player.turn_off
data:
target:
entity_id: media_player.kodi
attributes:
is_volume_muted: media_player.kodi|is_volume_muted
@ -191,25 +193,27 @@ media_player:
host: 192.168.1.10
turn_on_action:
- service: input_boolean.turn_on
data:
target:
entity_id: input_boolean.kodi_tv_state
- service: media_player.kodi_call_method
data:
target:
entity_id: media_player.kodi
data:
method: Addons.ExecuteAddon
addonid: script.json-cec
params:
command: activate
turn_off_action:
- service: input_boolean.turn_off
data:
target:
entity_id: input_boolean.kodi_tv_state
- service: media_player.media_stop
data:
target:
entity_id: media_player.kodi
- service: media_player.kodi_call_method
data:
target:
entity_id: media_player.kodi
data:
method: Addons.ExecuteAddon
addonid: script.json-cec
params:
@ -281,8 +285,9 @@ media_player:
command: VolumeDown
select_source:
service: remote.turn_on
data:
target:
entity_id: remote.alexander_down_guest
data:
activity: "{{ source }}"
device_class: tv
```

View File

@ -218,8 +218,9 @@ kitchen_fade_on:
description: "Turn on kitchen light to 75% over a period of 10 seconds"
sequence:
- service: upb.light_fade_start
data:
target:
entity_id: light.kitchen
data:
brightness_pct: 75
rate: 10
```

View File

@ -526,8 +526,9 @@ Service trigger example:
entity_id: sensor.sensor
action:
service: vacuum.send_command
data:
target:
entity_id: vacuum.vacuum_entity
data:
command: "custom_command"
params:
- key: value
@ -601,8 +602,9 @@ Service trigger example:
entity_id: sensor.sensor
action:
service: vacuum.send_command
data:
target:
entity_id: vacuum.vacuum_entity
data:
command: "custom_command"
params:
- key: value

View File

@ -116,20 +116,23 @@ vacuum:
living_room_vacuum:
start:
- service: remote.send_command
data:
target:
entity_id: remote.harmony_hub
data:
command: Clean
device: 52840686
return_to_base:
- service: remote.send_command
data:
target:
entity_id: remote.harmony_hub
data:
command: Home
device: 52840686
clean_spot:
- service: remote.send_command
data:
target:
entity_id: remote.harmony_hub
data:
command: SpotCleaning
device: 52840686
```

View File

@ -85,8 +85,9 @@ automation:
platform: state
action:
- service: input_select.select_option
data:
target:
entity_id: input_select.ventilation_profile
data:
option: "{{ states('sensor.vallox_current_profile') }}"
```

View File

@ -118,8 +118,9 @@ For example, the following action in an automation would send an `hls` live stre
```yaml
action:
service: camera.play_stream
data:
target:
entity_id: camera.yourcamera
data:
media_player: media_player.chromecast
```
@ -157,8 +158,9 @@ For example, the following action is an automation that would take a snapshot fr
```yaml
action:
service: camera.snapshot
data:
target:
entity_id: camera.front_door_camera
data:
filename: '/tmp/yourcamera_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg'
```

View File

@ -47,8 +47,9 @@ automation:
at: "07:15:00"
action:
- service: water_heater.set_temperature
data:
target:
entity_id: water_heater.demo
data:
temperature: 24
operation_mode: eco
```
@ -71,8 +72,9 @@ automation:
at: "07:15:00"
action:
- service: water_heater.set_operation_mode
data:
target:
entity_id: water_heater.demo
data:
operation_mode: eco
```
@ -94,7 +96,8 @@ automation:
at: "07:15:00"
action:
- service: water_heater.set_away_mode
data:
target:
entity_id: water_heater.demo
data:
away_mode: true
```

View File

@ -85,8 +85,9 @@ Say to the `media_player.living_room` device entity:
```yaml
- service: tts.watson_tts_say
data:
target:
entity_id: media_player.living_room
data:
message: >
<speak>
Hello from Watson

View File

@ -149,15 +149,17 @@ The `play_media` service can be used in a script to switch to the specified TV c
```yaml
# Example action entry in script to switch to channel number 1
service: media_player.play_media
data:
target:
entity_id: media_player.lg_webos_smart_tv
data:
media_content_id: 1
media_content_type: "channel"
# Example action entry in script to switch to channel including 'TF1' in its name
service: media_player.play_media
data:
target:
entity_id: media_player.lg_webos_smart_tv
data:
media_content_id: "TF1"
media_content_type: "channel"
```
@ -207,15 +209,17 @@ script:
home_button:
sequence:
- service: webostv.button
data:
target:
entity_id: media_player.lg_webos_smart_tv
data:
button: "HOME"
open_google_command:
sequence:
- service: webostv.command
data:
target:
entity_id: media_player.lg_webos_smart_tv
data:
command: "system.launcher/open"
payload:
target: https://www.google.com

View File

@ -349,8 +349,9 @@ script:
set_dial_1_value:
sequence:
- service: wink.set_nimbus_dial_state
data:
target:
entity_id: wink.nimbus_dial_1
data:
value: 150
labels:
- "Dial 1"
@ -379,8 +380,9 @@ script:
set_dial_1_value:
sequence:
- service: wink.set_nimbus_dial_state
data:
target:
entity_id: wink.nimbus_dial_1
data:
rotation: "ccw"
```

View File

@ -121,8 +121,9 @@ You can automate changing the effect using a service call like this:
```yaml
service: wled.effect
data:
target:
entity_id: light.wled
data:
effect: "{{ state_attr('light.wled', 'effect_list') | random }}"
```
@ -148,8 +149,9 @@ In this case (using WLED v0.11.0) there are 54 palettes, so the following servic
```yaml
service: wled.effect
data:
target:
entity_id: light.wled
data:
palette: "{{ range(0,53) | random }}"
```

View File

@ -202,7 +202,7 @@ This example toggles the living room lamp on a double click of the button.
click_type: double
action:
service: light.toggle
data:
target:
entity_id: light.living_room_lamp
```
@ -231,16 +231,5 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- You should generate the key again using an Android Phone or alternatively an emulator such as [bluestacks](https://www.bluestacks.com). In some instances, there is an issue with keys being generated using the iOS application.
- You need to make sure to have multicast support on your network. If you are running Home Assistant in a virtual machine (like Proxmox), try `echo 0 >/sys/class/net/vmbr0/bridge/multicast_snooping` on the host and restart the service or reboot the host.
- If the required library "PyXiaomiGateway" cannot be installed you will need to install some missing system dependencies `python3-dev`, `libssl-dev`, `libffi-dev` manually (e.g., `$ sudo apt-get install python3-dev libssl-dev libffi-dev`).
- If your gateway's MAC address starts with `04:CF:8C` or `7C:49:EB`, there is a good chance that the required port `9898` is closed on your gateway (you can check it with the Nmap utility, using the command `sudo nmap -sU {gateway_ip} -p 9898`). To fix that issue, you need to do these steps:
- Find a specific screw bit (like a fork) to open the gateway case.
- Find a USB-UART cable/module and connect it to your computer.
- Solder 3 wires - RX, TX and GND like [here](https://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg).
- Turn on the gateway (220V).
- Open a serial terminal application (e.g., PuTTY) and connect to the serial port assigned to the USB-UART module (baudrate: 115200).
- Wait until the gateway is booted up, connect the RX, TX and GND wires to the UART module (don't connect the Vcc (power) wire!).
- RX on UART to TX on gateway
- TX on UART to RX on gateway
- You will see all the messages from the gateway.
- Send the command `psm-set network open_pf 3` (the command has to end with a `CR` newline character).
- Check your settings executing the command `psm-get network open_pf` to be sure it's OK.
- Restart the gateway.
If your gateway's MAC address starts with `04:CF:8C` or `7C:49:EB`, there is a good chance that the required port `9898` is closed on your gateway and thus, this method doesn't work. There are workarounds available online, however this requires soldering and working with electricity.

View File

@ -1259,8 +1259,9 @@ automation:
condition: []
action:
- service: xiaomi_miio.vacuum_clean_zone
data:
target:
entity_id: vacuum.xiaomi_vacuum
data:
repeats: "{{states('input_number.vacuum_passes')|int}}"
zone: [[30914,26007,35514,28807], [20232,22496,26032,26496]]
```
@ -1279,8 +1280,9 @@ automation:
condition: []
action:
- service: xiaomi_miio.vacuum_clean_zone
data:
target:
entity_id: vacuum.xiaomi_vacuum
data:
repeats: "{{states('input_number.vacuum_passes')|int}}"
zone:
- [30914,26007,35514,28807]
@ -1300,8 +1302,9 @@ automation:
condition: []
action:
- service: xiaomi_miio.vacuum_clean_zone
data:
target:
entity_id: vacuum.xiaomi_vacuum
data:
repeats: 1
zone:
- - 30914
@ -1345,8 +1348,9 @@ automation:
condition: []
action:
- service: xiaomi_miio.vacuum_clean_segment
data:
target:
entity_id: vacuum.xiaomi_vacuum
data:
segments: [1,2]
```
@ -1361,8 +1365,9 @@ automation:
condition: []
action:
- service: xiaomi_miio.vacuum_clean_segment
data:
target:
entity_id: vacuum.xiaomi_vacuum
data:
segments: 1
```
@ -1411,8 +1416,9 @@ vacuum_kitchen:
alias: "Clean the kitchen"
sequence:
- service: vacuum.send_command
data:
target:
entity_id: vacuum.xiaomi_vacuum_cleaner
data:
command: app_segment_clean
params: [18]
```
@ -1432,8 +1438,9 @@ reset_main_brush_left:
alias: "Reset hours for main brush replacement"
sequence:
- service: vacuum.send_Command
data:
target:
entity_id: vacuum.xiaomi_vacuum_cleaner
data:
command: reset_consumable
params: ['main_brush_work_time']
```
@ -1466,8 +1473,9 @@ vacuum_kitchen:
alias: "vacuum kitchen"
sequence:
- service: vacuum.send_command
data:
target:
entity_id: "vacuum.xiaomi_vacuum_cleaner"
data:
command: app_zoned_clean
params: [[23084,26282,27628,29727,1]]
```

View File

@ -116,15 +116,17 @@ script:
alias: "Radio Paradise Porch"
sequence:
- service: media_player.turn_on
data:
target:
entity_id: media_player.living_room_stereo_zone_2
- service: media_player.volume_set
data:
target:
entity_id: media_player.living_room_stereo_zone_2
data:
volume_level: 0.48
- service: media_player.play_media
data:
target:
entity_id: media_player.living_room_stereo_zone_2
data:
media_content_type: "NET RADIO"
media_content_id: "Bookmarks>Internet>Radio Paradise"

View File

@ -68,7 +68,7 @@ Some other Zigbee coordinator hardware may not support a firmware that is capabl
- Silicon Labs EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
- [ITEAD Sonoff ZBBridge](https://www.itead.cc/smart-home/sonoff-zbbridge.html) (Note! This first have to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
- [Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee Ember 3581 USB Adapter)](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/walthowd/husbzb-firmware))
- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html)/[POPP ZB-Stick](https://shop.zwave.eu/detail/index/sArticle/2496) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html) (Note! Not a must but recommend [upgrade the EmberZNet NCP application firmware](https://github.com/Elelabs/elelabs-zigbee-ezsp-utility))
- Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587
- Telegesis ETRX357USB (Note! This first have to be [flashed with other EmberZNet firmware](https://github.com/walthowd/husbzb-firmware))

View File

@ -88,12 +88,14 @@ automation:
at: "20:00:00"
action:
- service: climate.set_hvac_mode
data:
target:
entity_id: climate.remotec_zxt120_heating_1_id
data:
hvac_mode: Heat
- service: climate.set_temperature
data:
target:
entity_id: climate.remotec_zxt120_heating_1_39
data:
temperature: 24
```
@ -107,8 +109,9 @@ automation:
at: "21:00:00"
action:
- service: climate.set_hvac_mode
data:
target:
entity_id: climate.remotec_zxt120_heating_1_id
data:
hvac_mode: "Off"
```

View File

@ -41,7 +41,7 @@ automation:
{% else %}
switch.turn_off
{% endif %}
data:
target:
entity_id: switch.{{ states('input_select.is') }}
```

View File

@ -105,7 +105,7 @@ script:
message: "The washing machine has finished its cycle, please empty it!"
- alias: "Living Room Lights Blue"
service: scene.turn_on
data:
target:
entity_id: scene.blue
```

View File

@ -110,7 +110,7 @@ intent_script:
content: I have turned on the lights.
action:
service: light.turn_on
data:
target:
entity_id: light.kitchen
conversation:

View File

@ -361,8 +361,9 @@ automation:
condition: []
action:
- service: xiaomi_miio.vacuum_clean_zone
data:
target:
entity_id: vacuum.xiaomi_vacuum
data:
repeats: "{{states('input_number.vacuum_passes')|int}}"
zone: [[30914,26007,35514,28807], [20232,22496,26032,26496]]
```

View File

@ -99,8 +99,9 @@ automation:
media_content_id: "{{ tags[trigger.event.data.tag_id].media_content_id }}"
media_content_type: "{{ tags[trigger.event.data.tag_id].media_content_type }}"
- service: media_player.play_media
data:
target:
entity_id: "{{ media_player_entity_id }}"
data:
media_content_id: "{{ media_content_id }}"
media_content_type: "{{ media_content_type }}"
- delay: 2 # timeout before we allow processing next scan

View File

@ -958,8 +958,9 @@ script:
learn_tv_power:
sequence:
- service: remote.learn_command
data:
target:
entity_id: remote.bedroom
data:
device: tv
command: power
```
@ -983,8 +984,9 @@ script:
send_tv_power:
sequence:
- service: remote.send_command
data:
target:
entity_id: remote.bedroom
data:
command: b64:JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA=
```
@ -995,8 +997,9 @@ script:
send_tv_power:
sequence:
- service: remote.send_command
data:
target:
entity_id: remote.bedroom
data:
device: tv
command: power
```

View File

@ -0,0 +1,85 @@
---
title: "Community Highlights: 9th edition"
description: "Add-on for DSMR Reader and show the condition of your washing machine with a Laundry card"
date: 2021-02-18 00:00:00
date_formatted: "February 19, 2021"
author: Klaas Schoute
author_twitter: klaasnicolaas
categories: Community
og_image: /images/blog/2021-02-19-community-highlights/social.png
---
The 9th edition of the Home Assistant Community Highlights! Some interesting
things popped up around our community, we thought was worth sharing.
But before we move on to the highlights of this week, let's start with a
little hooray because yesterday both Pascal Vizeli and I had their birthday!
Hip hip hooray! 🎂🥳
./Klaas
O and would you like to keep track of your birthdays in Home Assistant? Then
try this custom integration of [Miicroo](https://github.com/Miicroo).
<object type="image/svg+xml" data="https://gh-card.dev/repos/Miicroo/ha-birthdays.svg?link_target=_blank"></object>
## Help each other with any question
Last week, we found a burning question on the [Home Assistant subreddit][reddit]
forum from [Horror_Fondant_7165](https://www.reddit.com/user/Horror_Fondant_7165/).
Some paint had gotten on his curtain and he just can't get the paint stain
out of his curtain.
Maybe we can give him some community love and help with his question? 😄
<blockquote class="reddit-card" data-card-created="1613656706"><a href="https://www.reddit.com/r/homeassistant/comments/lixarb/i_accidentally_got_some_paint_on_a_curtain_in_my/">I accidentally got some paint on a curtain in my house, its oil paint, how do I get it out without taking my curtain down?</a> from <a href="http://www.reddit.com/r/homeassistant">r/homeassistant</a></blockquote>
<script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script>
## DSMR Reader add-on
Good news for those who would like to get started with DSMR Reader!
[sanderdw](https://github.com/sanderdw) has made an add-on so that you can
easily use it with Home Assistant. Please note, the add-on is still in an __Alpha__ state.
<object type="image/svg+xml" data="https://gh-card.dev/repos/sanderdw/hassio-addons.svg?link_target=_blank"></object>
<a href="https://community.home-assistant.io/t/dsmr-reader-add-on-for-home-assistant/279087" target="_blank">
<img
src='/images/blog/2021-02-19-community-highlights/dsmr-reader.png'
alt="Screenshot from the DSMR Reader add-on"
style='border: 0;box-shadow: none;'
/>
</a>
## Laundry card
Would you like to display the state of your smart washing machine (such as an LG ThinQ)
in a fun way in Lovelace? Perhaps the example below could inspire you. You can find the
Lovelace YAML code [here](https://pastebin.com/S3uVcQHT).
<blockquote class="reddit-card" data-card-created="1613656949"><a href="https://www.reddit.com/r/homeassistant/comments/ll5ioi/took_some_trickery_but_my_laundry_card_is_done/">Took some trickery but my laundry card is done</a> from <a href="http://www.reddit.com/r/homeassistant">r/homeassistant</a></blockquote>
<script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script>
## Got a tip for the next edition?
Have you seen (or made) something awesome, interesting, unique, amazing,
inspirational, unusual or funny, using Home Assistant?
[Click here to send us your Community Highlight suggestion](/suggest-community-highlight).
Also, don't forget to share your creations with us via Social Media:
- Twitter it! Be sure to mention [@home_assistant][twitter]
- Share it on our [Facebook group][facebook-group]
- Post it to our [subreddit][reddit]
- Tag [@homeasssistant][instagram] on Instagram
- Or via chat, drop us a line in the [#lounge at Discord][chat]
See you next edition!
[chat]: https://www.home-assistant.io/join-chat
[facebook-group]: https://www.facebook.com/groups/HomeAssistant/
[instagram]: https://www.instagram.com/homeassistant/
[reddit]: https://www.reddit.com/r/homeassistant
[twitter]: https://www.twitter.com/home_assistant

View File

@ -578,31 +578,36 @@ og_image: /images/blue/blue_hero.jpg
<h1 class="sub-title">FAQs</h1>
<div class="faq-list">
{% details %}
- title: I already run Home Assistant. Is this for me?
content: |
If your Home Assistant installation has outgrown your Raspberry
Pi or if you want a well supported, dedicated system, Home Assistant Blue is
for you.
<br /><br />
Or if you are still looking for a present for friends and family.
{% details "I already run Home Assistant. Is this for me?" %}
- title: What is limited about the bundle?
content: |
We have only created a limited amount of cases. Once they are sold out,
we don't currently have plans to make more.
All other parts of the bundle will remain available for purchase.
If your Home Assistant installation has outgrown your Raspberry
Pi or if you want a well supported, dedicated system, Home Assistant Blue is
for you.
<br /><br />
Or if you are still looking for a present for friends and family.
- title: I already own an ODROID-N2+. Do I run the same software?
content: |
Yes! Home Assistant Blue runs the exact same software as that you're
currently using and you're benefitting from all the improvements.
- title: Will Home Assistant drop support for the Raspberry Pi?
content: |
Nope! We are committed to keep supporting all platforms that are currently available.
{% enddetails %}
</div>
{% details "What is limited about the bundle?" %}
We have only created a limited amount of cases. Once they are sold out,
we don't currently have plans to make more.
All other parts of the bundle will remain available for purchase.
{% enddetails %}
{% details "I already own an ODROID-N2+. Do I run the same software?" %}
Yes! Home Assistant Blue runs the exact same software as that you're
currently using and you're benefitting from all the improvements.
{% enddetails %}
{% details "Will Home Assistant drop support for the Raspberry Pi?" %}
Nope! We are committed to keep supporting all platforms that are currently available.
{% enddetails %}
</div>
<a class="blue3d" href="https://www.thingiverse.com/thing:4684826" target="_blank">
<div class="material-card text blue3d-container">

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ title: "Automating Home Assistant"
description: "A quick intro on getting your first automation going."
---
Once your devices are set up, it's time to put the cherry on the pie: automation. In this guide we're going to create a simple automation rule to **turn on the lights when the sun sets**.
Once your devices are set up, it's time to put the cherry on the pie: automation. In this guide we're going to create a simple automation rule to **turn on the lights when the sun sets**. Of course, this assumes that you have set up an integration that provides a light at this point.
In the user interface, click Configuration in the sidebar, then click Automation. You will now see the automation screen from which you can manage all the automations in Home Assistant.

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Some files were not shown because too many files have changed in this diff Show More