mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-22 16:56:50 +00:00
Bunch of YAML styling improvements - part 3 (#16394)
This commit is contained in:
parent
b8042f7e5c
commit
09759662a1
@ -117,6 +117,8 @@ automation:
|
||||
|
||||
If you want to migrate your manual automations to use the editor, you'll have to copy them to `automations.yaml`. Make sure that `automations.yaml` remains a list! For each automation that you copy over, you'll have to add an `id`. This can be any string as long as it's unique.
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example automations.yaml entry. Note, automations.yaml is always a list!
|
||||
- id: my_unique_id # <-- Required for editor to work, for automations created with the editor the id will be automatically generated.
|
||||
@ -131,11 +133,13 @@ If you want to migrate your manual automations to use the editor, you'll have to
|
||||
entity_id: sensor.temperature
|
||||
above: 17
|
||||
below: 25
|
||||
value_template: '{% raw %}{{ float(state.state) + 2 }}{% endraw %}'
|
||||
value_template: "{{ float(state.state) + 2 }}"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
### Deleting Automations
|
||||
|
||||
When automations remain visible in the Home Assistant Dashboard, even after having deleted in the YAML file, you have to delete them in the UI.
|
||||
|
@ -51,7 +51,7 @@ To use your Mi Temperature and Humidity sensor in your installation, add the fol
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: beewi_smartclim
|
||||
mac: 'xx:xx:xx:xx:xx:xx'
|
||||
mac: "xx:xx:xx:xx:xx:xx"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -73,6 +73,6 @@ A full configuration example could look like the one below:
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: beewi_smartclim
|
||||
mac: 'xx:xx:xx:xx:xx:xx'
|
||||
mac: "xx:xx:xx:xx:xx:xx"
|
||||
name: Garden
|
||||
```
|
||||
|
@ -195,7 +195,7 @@ binary_sensor:
|
||||
payload_not_available: "offline"
|
||||
qos: 0
|
||||
device_class: opening
|
||||
value_template: '{{ value_json.state }}'
|
||||
value_template: "{{ value_json.state }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -117,8 +117,8 @@ You can play MP3 streams like net radios, FLAC files or videos from your local n
|
||||
service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.chromecast
|
||||
media_content_type: 'video'
|
||||
media_content_id: 'http://192.168.0.100/movies/sample-video.mkv'
|
||||
media_content_type: "video"
|
||||
media_content_id: "http://192.168.0.100/movies/sample-video.mkv"
|
||||
```
|
||||
|
||||
```yaml
|
||||
@ -126,8 +126,8 @@ data:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.chromecast
|
||||
media_content_type: 'image/jpeg'
|
||||
media_content_id: 'http://via.placeholder.com/1024x600.jpg/0B6B94/FFFFFF/?text=Hello,%20Home%20Assistant!'
|
||||
media_content_type: "image/jpeg"
|
||||
media_content_id: "http://via.placeholder.com/1024x600.jpg/0B6B94/FFFFFF/?text=Hello,%20Home%20Assistant!"
|
||||
```
|
||||
|
||||
Extra media metadata (for example title, subtitle, artist or album name) can be passed into the service and that will be shown on the Chromecast display.
|
||||
@ -138,15 +138,15 @@ For the possible metadata types and values check [Google cast documentation > Me
|
||||
service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.chromecast
|
||||
media_content_type: 'video/mp4'
|
||||
media_content_id: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4'
|
||||
media_content_type: "video/mp4"
|
||||
media_content_id: "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
|
||||
extra:
|
||||
metadata:
|
||||
metadataType: 1
|
||||
title: 'Big Buck Bunny'
|
||||
subtitle: 'By Blender Foundation, Licensed under the Creative Commons Attribution license'
|
||||
title: "Big Buck Bunny"
|
||||
subtitle: "By Blender Foundation, Licensed under the Creative Commons Attribution license"
|
||||
images:
|
||||
- url: 'https://peach.blender.org/wp-content/uploads/watchtrailer.gif'
|
||||
- url: "https://peach.blender.org/wp-content/uploads/watchtrailer.gif"
|
||||
```
|
||||
|
||||
```yaml
|
||||
@ -154,15 +154,15 @@ data:
|
||||
service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.chromecast
|
||||
media_content_type: 'audio/mp3'
|
||||
media_content_id: 'http://stream.tilos.hu:8000/tilos'
|
||||
media_content_type: "audio/mp3"
|
||||
media_content_id: "http://stream.tilos.hu:8000/tilos"
|
||||
extra:
|
||||
metadata:
|
||||
metadataType: 3
|
||||
title: 'Radio TILOS'
|
||||
artist: 'LIVE'
|
||||
title: "Radio TILOS"
|
||||
artist: "LIVE"
|
||||
images:
|
||||
- url: 'https://tilos.hu/images/kockalogo.png'
|
||||
- url: "https://tilos.hu/images/kockalogo.png"
|
||||
```
|
||||
|
||||
## Advanced use
|
||||
|
@ -57,7 +57,7 @@ sender:
|
||||
description: The name or number of the sender. (Limited to 11 characters.)
|
||||
required: false
|
||||
type: string
|
||||
default: 'hass'
|
||||
default: "hass"
|
||||
{% endconfiguration %}
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
@ -68,7 +68,7 @@ automation:
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
entity_id: climate.kitchen
|
||||
preset_mode: 'eco'
|
||||
preset_mode: "eco"
|
||||
```
|
||||
|
||||
### Service `climate.set_temperature`
|
||||
@ -157,7 +157,7 @@ automation:
|
||||
- service: climate.set_fan_mode
|
||||
data:
|
||||
entity_id: climate.kitchen
|
||||
fan_mode: 'On Low'
|
||||
fan_mode: "On Low"
|
||||
```
|
||||
|
||||
### Service `climate.set_hvac_mode`
|
||||
|
@ -68,7 +68,7 @@ Example usage in an automation, taking the album art present on a Chromecast and
|
||||
action:
|
||||
- service: color_extractor.turn_on
|
||||
data_template:
|
||||
color_extract_url: '{{ states.media_player.chromecast.attributes.entity_picture }}'
|
||||
color_extract_url: "{{ states.media_player.chromecast.attributes.entity_picture }}"
|
||||
entity_id: light.shelf_leds
|
||||
```
|
||||
|
||||
@ -85,7 +85,7 @@ With a nicer transition period of 5 seconds and setting brightness to 100% each
|
||||
action:
|
||||
- service: color_extractor.turn_on
|
||||
data_template:
|
||||
color_extract_url: '{{ states.media_player.chromecast.attributes.entity_picture }}'
|
||||
color_extract_url: "{{ states.media_player.chromecast.attributes.entity_picture }}"
|
||||
entity_id: light.shelf_leds
|
||||
brightness_pct: 100
|
||||
transition: 5
|
||||
|
@ -19,7 +19,7 @@ To use your Command binary sensor in your installation, add the following to you
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: 'cat /proc/sys/net/ipv4/ip_forward'
|
||||
command: "cat /proc/sys/net/ipv4/ip_forward"
|
||||
```
|
||||
|
||||
<div class='note'>
|
||||
@ -81,7 +81,7 @@ Check the state of an [SickRage](https://github.com/sickragetv/sickrage) instanc
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: 'netstat -na | find "33322" | find /c "LISTENING" > nul && (echo "Running") || (echo "Not running")'
|
||||
name: 'sickragerunning'
|
||||
name: "sickragerunning"
|
||||
device_class: moving
|
||||
payload_on: "Running"
|
||||
payload_off: "Not running"
|
||||
@ -95,7 +95,7 @@ Check if [RasPlex](https://github.com/RasPlex/RasPlex) is `online`.
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: 'ping -c 1 rasplex.local | grep "1 received" | wc -l'
|
||||
name: 'is_rasplex_online'
|
||||
name: "is_rasplex_online"
|
||||
device_class: connectivity
|
||||
payload_on: 1
|
||||
payload_off: 0
|
||||
@ -133,8 +133,8 @@ A binary command line sensor can check this:
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: '/bin/systemctl is-active home-assistant@rock64.service'
|
||||
payload_on: 'active'
|
||||
payload_off: 'inactive'
|
||||
payload_on: "active"
|
||||
payload_off: "inactive"
|
||||
```
|
||||
|
||||
## Services
|
||||
|
@ -288,7 +288,7 @@ cover:
|
||||
payload_available: "online"
|
||||
payload_not_available: "offline"
|
||||
optimistic: false
|
||||
value_template: '{{ value.x }}'
|
||||
value_template: "{{ value.x }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -319,7 +319,7 @@ cover:
|
||||
payload_available: "online"
|
||||
payload_not_available: "offline"
|
||||
optimistic: false
|
||||
value_template: '{{ value.x }}'
|
||||
value_template: "{{ value.x }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -351,9 +351,9 @@ cover:
|
||||
payload_available: "online"
|
||||
payload_not_available: "offline"
|
||||
optimistic: false
|
||||
value_template: '{{ value.x }}'
|
||||
tilt_command_topic: 'home-assistant/cover/tilt'
|
||||
tilt_status_topic: 'home-assistant/cover/tilt-state'
|
||||
value_template: "{{ value.x }}"
|
||||
tilt_command_topic: "home-assistant/cover/tilt"
|
||||
tilt_status_topic: "home-assistant/cover/tilt-state"
|
||||
tilt_status_template: '{{ value_json["PWM"]["PWM1"] }}'
|
||||
tilt_min: 0
|
||||
tilt_max: 180
|
||||
|
@ -199,15 +199,15 @@ cover:
|
||||
open_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'open'
|
||||
modus: "open"
|
||||
close_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'close'
|
||||
modus: "close"
|
||||
stop_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'stop'
|
||||
modus: "stop"
|
||||
set_cover_position:
|
||||
service: script.cover_group_position
|
||||
data:
|
||||
@ -255,7 +255,7 @@ automation:
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
offset: '+00:30:00'
|
||||
offset: "+00:30:00"
|
||||
action:
|
||||
- service: cover.set_cover_position
|
||||
data:
|
||||
@ -280,15 +280,15 @@ cover:
|
||||
open_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'open'
|
||||
modus: "open"
|
||||
close_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'close'
|
||||
modus: "close"
|
||||
stop_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'stop'
|
||||
modus: "stop"
|
||||
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
||||
icon_template: >-
|
||||
{% if is_state('sensor.cover_group', 'open') %}
|
||||
@ -315,15 +315,15 @@ cover:
|
||||
open_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'open'
|
||||
modus: "open"
|
||||
close_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'close'
|
||||
modus: "close"
|
||||
stop_cover:
|
||||
service: script.cover_group
|
||||
data:
|
||||
modus: 'stop'
|
||||
modus: "stop"
|
||||
value_template: "{{is_state('sensor.cover_group', 'open')}}"
|
||||
icon_template: >-
|
||||
{% if is_state('sensor.cover_group', 'open') %}
|
||||
|
@ -280,7 +280,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.doorbell_motion
|
||||
to: 'on'
|
||||
to: "on"
|
||||
action:
|
||||
- service: deconz.configure
|
||||
data:
|
||||
|
@ -27,7 +27,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: delijn
|
||||
api_key: 'API_SUBSCRIPTION_KEY'
|
||||
api_key: "API_SUBSCRIPTION_KEY"
|
||||
next_departure:
|
||||
- stop_id: 'STOP_ID'
|
||||
```
|
||||
@ -64,7 +64,7 @@ The example below shows a full configuration with two sensors, only the abcdefg
|
||||
sensor:
|
||||
# De Lijn public transport
|
||||
- platform: delijn
|
||||
api_key: 'abcdefg'
|
||||
api_key: "abcdefg"
|
||||
next_departure:
|
||||
- stop_id: '200018'
|
||||
- stop_id: '201169'
|
||||
|
@ -42,14 +42,18 @@ only_direct:
|
||||
|
||||
This sensor stores a lot of attributes which can be accessed by other sensors, e.g., a [template sensor](/integrations/template).
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
platform: template
|
||||
sensors:
|
||||
next_departure:
|
||||
value_template: '{% raw %}{{ state_attr('sensor.munich_to_ulm', 'next') }}{% endraw %}'
|
||||
friendly_name: 'Next departure'
|
||||
value_template: "{{ state_attr('sensor.munich_to_ulm', 'next') }}"
|
||||
friendly_name: "Next departure"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
The data is coming from the [bahn.de](https://www.bahn.de/p/view/index.shtml) website.
|
||||
|
@ -20,8 +20,8 @@ To use this device tracker in your installation, add the following to your `conf
|
||||
device_tracker:
|
||||
- platform: mqtt
|
||||
devices:
|
||||
paulus_oneplus: 'location/paulus'
|
||||
annetherese_n4: 'location/annetherese'
|
||||
paulus_oneplus: "location/paulus"
|
||||
annetherese_n4: "location/annetherese"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -37,12 +37,12 @@ payload_home:
|
||||
description: The payload value that represents the 'home' state for the device.
|
||||
required: false
|
||||
type: string
|
||||
default: 'home'
|
||||
default: "home"
|
||||
payload_not_home:
|
||||
description: The payload value that represents the 'not_home' state for the device.
|
||||
required: false
|
||||
type: string
|
||||
default: 'not_home'
|
||||
default: "not_home"
|
||||
source_type:
|
||||
description: Attribute of a device tracker that affects state when being used to track a [person](/integrations/person/). Valid options are `gps`, `router`, `bluetooth`, or `bluetooth_le`.
|
||||
required: false
|
||||
@ -56,11 +56,11 @@ source_type:
|
||||
device_tracker:
|
||||
- platform: mqtt
|
||||
devices:
|
||||
paulus_oneplus: 'location/paulus'
|
||||
annetherese_n4: 'location/annetherese'
|
||||
paulus_oneplus: "location/paulus"
|
||||
annetherese_n4: "location/annetherese"
|
||||
qos: 1
|
||||
payload_home: 'present'
|
||||
payload_not_home: 'not present'
|
||||
payload_home: "present"
|
||||
payload_not_home: "not present"
|
||||
source_type: bluetooth
|
||||
```
|
||||
|
||||
|
@ -49,8 +49,8 @@ If you have a sensor session running, and once you have enabled the Dexcom integ
|
||||
entity_id: sensor.dexcom_YOUR_USERNAME_glucose_value
|
||||
platform: numeric_state
|
||||
condition: time
|
||||
after: '22:00:00'
|
||||
before: '06:00:00'
|
||||
after: "22:00:00"
|
||||
before: "06:00:00"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
|
@ -73,8 +73,8 @@ automation:
|
||||
action:
|
||||
service: notify.dovado
|
||||
data:
|
||||
message: 'The sun has set'
|
||||
target: '+14151234567'
|
||||
message: "The sun has set"
|
||||
target: "+14151234567"
|
||||
```
|
||||
|
||||
## Sensor
|
||||
|
@ -66,7 +66,7 @@ To use Dweet.io sensors in your installation, add the following to your `configu
|
||||
sensor:
|
||||
- platform: dweet
|
||||
device: THING_NAME
|
||||
value_template: '{{ value_json.VARIABLE }}'
|
||||
value_template: "{{ value_json.VARIABLE }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -103,7 +103,7 @@ sensor:
|
||||
- platform: dweet
|
||||
name: Temperature
|
||||
device: THING_NAME
|
||||
value_template: '{{ value_json.VARIABLE }}'
|
||||
value_template: "{{ value_json.VARIABLE }}"
|
||||
unit_of_measurement: "°C"
|
||||
```
|
||||
|
||||
|
@ -284,9 +284,9 @@ dynalite:
|
||||
template: time_cover
|
||||
preset:
|
||||
'1':
|
||||
name: 'On'
|
||||
name: "On"
|
||||
'4':
|
||||
name: 'Off'
|
||||
name: "Off"
|
||||
template:
|
||||
room:
|
||||
room_on: 1
|
||||
|
@ -18,7 +18,7 @@ Enable the sensor by adding the following to your `configuration.yaml` file:
|
||||
# Example configuration.yaml entry
|
||||
ebusd:
|
||||
host: 127.0.0.1
|
||||
circuit: '700'
|
||||
circuit: "700"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -90,7 +90,7 @@ sensor:
|
||||
sensors:
|
||||
vacuum_filter:
|
||||
friendly_name: "Vacuum Filter Remaining Lifespan"
|
||||
unit_of_measurement: '%'
|
||||
unit_of_measurement: "%"
|
||||
value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') }}"
|
||||
```
|
||||
|
||||
|
@ -52,12 +52,12 @@ Starting with [version 2 of the firmware](https://www.edimax.com/edimax/download
|
||||
sensors:
|
||||
edimax_current_power:
|
||||
friendly_name: Edimax Current power consumption
|
||||
unit_of_measurement: 'W'
|
||||
unit_of_measurement: "W"
|
||||
value_template: "{{ state_attr('switch.edimax_smart_plug', 'current_power_w') | replace('None', 0) }}"
|
||||
|
||||
edimax_total_power:
|
||||
friendly_name: Edimax Accumulated daily power consumption
|
||||
unit_of_measurement: 'kWh'
|
||||
unit_of_measurement: "kWh"
|
||||
value_template: "{{ state_attr('switch.edimax_smart_plug', 'today_energy_kwh') | replace('None', 0) }}"
|
||||
```
|
||||
|
||||
|
@ -45,7 +45,7 @@ version:
|
||||
description: The version of the Egardia system. `GATE-01`, `GATE-02` and `GATE-03` are currently supported.
|
||||
required: false
|
||||
type: string
|
||||
default: 'GATE-01'
|
||||
default: "GATE-01"
|
||||
port:
|
||||
description: The port of the alarm panel.
|
||||
required: false
|
||||
|
@ -33,7 +33,7 @@ envisalink:
|
||||
panel_type: HONEYWELL or DSC
|
||||
user_name: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
code: '1234'
|
||||
code: "1234"
|
||||
port: 4025
|
||||
evl_version: 3
|
||||
keepalive_interval: 60
|
||||
@ -42,14 +42,14 @@ envisalink:
|
||||
panic_type: Police
|
||||
zones:
|
||||
11:
|
||||
name: 'Back Door'
|
||||
type: 'opening'
|
||||
name: "Back Door"
|
||||
type: "opening"
|
||||
21:
|
||||
name: 'First Floor Motion'
|
||||
type: 'motion'
|
||||
name: "First Floor Motion"
|
||||
type: "motion"
|
||||
partitions:
|
||||
1:
|
||||
name: 'Home Alarm'
|
||||
name: "Home Alarm"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -40,7 +40,7 @@ name:
|
||||
description: The name of the device used in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: 'EPSON Projector'
|
||||
default: "EPSON Projector"
|
||||
{% endconfiguration %}
|
||||
|
||||
### Supported features
|
||||
|
@ -42,7 +42,7 @@ climate:
|
||||
- platform: eq3btsmart
|
||||
devices:
|
||||
room1:
|
||||
mac: '00:11:22:33:44:55'
|
||||
mac: "00:11:22:33:44:55"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -17,7 +17,7 @@ To add the Etherscan sensor to your installation, specify an Ethereum address to
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: etherscan
|
||||
address: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359'
|
||||
address: "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359"
|
||||
- platform: etherscan
|
||||
address: "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359"
|
||||
token: OMG
|
||||
|
@ -74,7 +74,7 @@ camera_view: live
|
||||
elements:
|
||||
- icon: 'mdi:arrow-up'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
bottom: 50px
|
||||
right: 25px
|
||||
tap_action:
|
||||
@ -86,7 +86,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:arrow-down'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
bottom: 0px
|
||||
right: 25px
|
||||
tap_action:
|
||||
@ -98,7 +98,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:arrow-left'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
bottom: 25px
|
||||
right: 50px
|
||||
tap_action:
|
||||
@ -110,7 +110,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:arrow-right'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
bottom: 25px
|
||||
right: 0px
|
||||
tap_action:
|
||||
@ -122,7 +122,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:run-fast'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
top: 25px
|
||||
right: 25px
|
||||
tap_action:
|
||||
@ -134,7 +134,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:run'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
top: 25px
|
||||
right: 0px
|
||||
tap_action:
|
||||
@ -146,7 +146,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:eye'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 25px
|
||||
top: 50px
|
||||
tap_action:
|
||||
@ -158,7 +158,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:eye-off'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
top: 50px
|
||||
tap_action:
|
||||
@ -170,7 +170,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:volume-high'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 25px
|
||||
top: 75px
|
||||
tap_action:
|
||||
@ -182,7 +182,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:volume-off'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
top: 75px
|
||||
tap_action:
|
||||
@ -194,7 +194,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:led-on'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 25px
|
||||
top: 100px
|
||||
tap_action:
|
||||
@ -206,7 +206,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:led-off'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
top: 100px
|
||||
tap_action:
|
||||
@ -218,7 +218,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:brightness-4'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 25px
|
||||
top: 100px
|
||||
tap_action:
|
||||
@ -230,7 +230,7 @@ elements:
|
||||
type: icon
|
||||
- icon: 'mdi:brightness-5'
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
top: 100px
|
||||
tap_action:
|
||||
|
@ -47,7 +47,7 @@ automation:
|
||||
action:
|
||||
service: notify.facebook
|
||||
data:
|
||||
message: 'Good Evening'
|
||||
message: "Good Evening"
|
||||
target:
|
||||
- '+919413017584'
|
||||
- '+919784516314'
|
||||
|
@ -104,7 +104,7 @@ Use the `image_processing.detect_face` events to trigger automations, and breako
|
||||
platform: event
|
||||
event_type: image_processing.detect_face
|
||||
event_data:
|
||||
name: 'Ringo_Starr'
|
||||
name: "Ringo_Starr"
|
||||
action:
|
||||
service: notify.platform
|
||||
data:
|
||||
@ -184,7 +184,7 @@ you can create an automation to receive notifications on Facebox errors:
|
||||
action:
|
||||
- service: notify.pushbullet
|
||||
data_template:
|
||||
message: '{{ trigger.event.data.message }}'
|
||||
message: "{{ trigger.event.data.message }}"
|
||||
title: Facebox error
|
||||
```
|
||||
|
||||
|
@ -18,7 +18,7 @@ To enable your Family Hub camera in your installation, add the following to your
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: familyhub
|
||||
ip_address: 'IP_ADDRESS'
|
||||
ip_address: "IP_ADDRESS"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -106,5 +106,5 @@ sensor:
|
||||
name: Temperature
|
||||
file_path: /home/user/.homeassistant/sensor.json
|
||||
value_template: {% raw %}'{{ value_json.temperature }}'{% endraw %}
|
||||
unit_of_measurement: '°C'
|
||||
unit_of_measurement: "°C"
|
||||
```
|
||||
|
@ -142,7 +142,7 @@ automation:
|
||||
entity_id: media_player.nest_hub_bedroom
|
||||
media_content_id: >
|
||||
{{ state_attr('sensor.incidents','message_to_speech_url') }}
|
||||
media_content_type: 'audio/mp4'
|
||||
media_content_type: "audio/mp4"
|
||||
|
||||
- alias: 'Send response acknowledgement when a button is pressed'
|
||||
trigger:
|
||||
|
@ -99,8 +99,8 @@ switch:
|
||||
- light.desk
|
||||
- light.lamp
|
||||
name: Fluxer
|
||||
start_time: '7:00'
|
||||
stop_time: '23:00'
|
||||
start_time: "7:00"
|
||||
stop_time: "23:00"
|
||||
start_colortemp: 4000
|
||||
sunset_colortemp: 3000
|
||||
stop_colortemp: 1900
|
||||
|
@ -17,6 +17,7 @@ This integration will provide local control over your LED lights/strips and can
|
||||
The `flux_led` integration is configured through the Configuration -> Integrations page. You can select either auto configuration or manual configuration. For auto configuration the integration will automatically scan your network for any supported devices.
|
||||
|
||||
If you select the manual flow you can specify the name and host address of the light controller. You can add multiple lights/strips by adding additional instances of the integration.
|
||||
|
||||
### Effects
|
||||
|
||||
The Flux LED light offers a number of effects which are not included in other lighting packages. These can be selected from the front-end, or sent in the effect field of the `light.turn_on` command.
|
||||
|
@ -61,9 +61,9 @@ camera_image: camera.bedroom
|
||||
camera_view: live
|
||||
elements:
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-up'
|
||||
icon: "mdi:arrow-up"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 25px
|
||||
bottom: 50px
|
||||
tap_action:
|
||||
@ -73,9 +73,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: up
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-down'
|
||||
icon: "mdi:arrow-down"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 25px
|
||||
bottom: 0px
|
||||
tap_action:
|
||||
@ -85,9 +85,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: down
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-left'
|
||||
icon: "mdi:arrow-left"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 50px
|
||||
bottom: 25px
|
||||
tap_action:
|
||||
@ -97,9 +97,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: left
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-right'
|
||||
icon: "mdi:arrow-right"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
bottom: 25px
|
||||
tap_action:
|
||||
@ -109,9 +109,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: right
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-top-left'
|
||||
icon: "mdi:arrow-top-left"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 50px
|
||||
bottom: 50px
|
||||
tap_action:
|
||||
@ -121,9 +121,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: top_left
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-top-right'
|
||||
icon: "mdi:arrow-top-right"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
bottom: 50px
|
||||
tap_action:
|
||||
@ -133,9 +133,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: top_right
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-bottom-left'
|
||||
icon: "mdi:arrow-bottom-left"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 50px
|
||||
bottom: 0px
|
||||
tap_action:
|
||||
@ -145,9 +145,9 @@ elements:
|
||||
entity_id: camera.bedroom
|
||||
movement: bottom_left
|
||||
- type: icon
|
||||
icon: 'mdi:arrow-bottom-right'
|
||||
icon: "mdi:arrow-bottom-right"
|
||||
style:
|
||||
background: 'rgba(255, 255, 255, 0.5)'
|
||||
background: "rgba(255, 255, 255, 0.5)"
|
||||
right: 0px
|
||||
bottom: 0px
|
||||
tap_action:
|
||||
|
@ -67,8 +67,8 @@ alias: "Bathroom Motion Detected"
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: binary_sensor.motion_sensor_166d0001171111
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
from: "off"
|
||||
to: "on"
|
||||
action:
|
||||
service: media_player.turn_on
|
||||
data:
|
||||
|
@ -83,15 +83,15 @@ sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
garage_door_status:
|
||||
friendly_name: 'State of the door'
|
||||
friendly_name: "State of the door"
|
||||
value_template: "{{ states('cover.garage_door') }}"
|
||||
garage_door_time_in_state:
|
||||
friendly_name: 'Since'
|
||||
friendly_name: "Since"
|
||||
value_template: "{{ state_attr('cover.garage_door', 'time_in_state') }}"
|
||||
garage_door_wifi_signal_strength:
|
||||
friendly_name: 'WiFi strength'
|
||||
friendly_name: "WiFi strength"
|
||||
value_template: "{{ state_attr('cover.garage_door', 'wifi_signal_strength') }}"
|
||||
unit_of_measurement: 'dB'
|
||||
unit_of_measurement: "dB"
|
||||
|
||||
group:
|
||||
garage_door:
|
||||
|
@ -89,7 +89,7 @@ camera:
|
||||
- platform: generic
|
||||
name: Weather
|
||||
still_image_url: https://www.yr.no/place/Norway/Oslo/Oslo/Oslo/meteogram.svg
|
||||
content_type: 'image/svg+xml'
|
||||
content_type: "image/svg+xml"
|
||||
```
|
||||
|
||||
### Local image
|
||||
|
@ -70,5 +70,5 @@ geo_location:
|
||||
- platform: geo_json_events
|
||||
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
|
||||
radius: 250
|
||||
entity_namespace: 'usgs_earthquakes'
|
||||
entity_namespace: "usgs_earthquakes"
|
||||
```
|
||||
|
@ -34,7 +34,7 @@ sensor:
|
||||
- platform: geo_rss_events
|
||||
name: NSW Fire Service
|
||||
url: https://www.rfs.nsw.gov.au/feeds/majorIncidents.xml
|
||||
unit_of_measurement: 'Incidents'
|
||||
unit_of_measurement: "Incidents"
|
||||
categories:
|
||||
- 'Emergency Warning'
|
||||
- 'Watch and Act'
|
||||
@ -87,11 +87,11 @@ sensor:
|
||||
- platform: geo_rss_events
|
||||
name: Qld Fire and Emergency Services
|
||||
url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml
|
||||
unit_of_measurement: 'Alerts'
|
||||
unit_of_measurement: "Alerts"
|
||||
- platform: geo_rss_events
|
||||
name: Tas Fire Service
|
||||
url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss
|
||||
unit_of_measurement: 'Alerts'
|
||||
unit_of_measurement: "Alerts"
|
||||
- platform: geo_rss_events
|
||||
name: WA Department of Fire and Emergency Services
|
||||
url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss
|
||||
|
@ -39,5 +39,5 @@ A full configuration sample including optional variables:
|
||||
# Example configuration.yaml entry
|
||||
tts:
|
||||
- platform: google_translate
|
||||
language: 'de'
|
||||
language: "de"
|
||||
```
|
||||
|
@ -142,11 +142,11 @@ You can also use the `homeassistant.update_entity` service to update the sensor
|
||||
initial_state: "on"
|
||||
trigger:
|
||||
- platform: time_pattern
|
||||
minutes: '/2'
|
||||
minutes: "/2"
|
||||
condition:
|
||||
- condition: time
|
||||
after: '08:00:00'
|
||||
before: '11:00:00'
|
||||
after: "08:00:00"
|
||||
before: "11:00:00"
|
||||
- condition: time
|
||||
weekday:
|
||||
- mon
|
||||
|
@ -50,7 +50,7 @@ The current price for the Load Zone will appear as a sensor:
|
||||
```yaml
|
||||
- id: '1572630019168'
|
||||
alias: Stop Tesla Charging if Power Price Spikes
|
||||
description: ''
|
||||
description: ""
|
||||
trigger:
|
||||
- above: '30'
|
||||
entity_id: sensor.lz_houston_price_now
|
||||
|
@ -54,12 +54,12 @@ name:
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: growatt_server
|
||||
name: 'growatt home'
|
||||
name: "growatt home"
|
||||
plant_id: 12345678
|
||||
username: username
|
||||
password: password
|
||||
- platform: growatt_server
|
||||
name: 'growatt work'
|
||||
name: "growatt work"
|
||||
plant_id: 87654321
|
||||
username: username
|
||||
password: password
|
||||
|
@ -238,7 +238,7 @@ sensor:
|
||||
- platform: rest
|
||||
resource: https://api.ipify.org/?format=json
|
||||
name: External IP
|
||||
value_template: '{{ value_json.ip }}'
|
||||
value_template: "{{ value_json.ip }}"
|
||||
scan_interval: 10
|
||||
|
||||
automation:
|
||||
@ -248,7 +248,7 @@ automation:
|
||||
platform: state
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.from_state.state != trigger.to_state.state }}'
|
||||
value_template: "{{ trigger.from_state.state != trigger.to_state.state }}"
|
||||
- condition: template
|
||||
value_template: '{{ not is_state("sensor.external_ip", "unavailable") }}'
|
||||
action:
|
||||
|
@ -180,10 +180,10 @@ sensor:
|
||||
sensors:
|
||||
family_room:
|
||||
value_template: '{{ state_attr("remote.family_room", "current_activity") }}'
|
||||
friendly_name: 'Family Room'
|
||||
friendly_name: "Family Room"
|
||||
bedroom:
|
||||
value_template: '{{ state_attr("remote.bedroom", "current_activity") }}'
|
||||
friendly_name: 'bedroom'
|
||||
friendly_name: "bedroom"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -160,11 +160,11 @@ automation:
|
||||
initial_state: "on"
|
||||
trigger:
|
||||
- platform: time_pattern
|
||||
minutes: '/2'
|
||||
minutes: "/2"
|
||||
condition:
|
||||
- condition: time
|
||||
after: '08:00:00'
|
||||
before: '11:00:00'
|
||||
after: "08:00:00"
|
||||
before: "11:00:00"
|
||||
- condition: time
|
||||
weekday:
|
||||
- mon
|
||||
|
@ -34,8 +34,8 @@ sensor:
|
||||
entity_id: light.my_lamp
|
||||
state: "on"
|
||||
type: time
|
||||
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
|
||||
end: '{{ now() }}'
|
||||
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
|
||||
end: "{{ now() }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -135,8 +135,8 @@ Here are some examples of periods you could work with, and what to write in your
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
|
||||
end: '{{ now() }}'
|
||||
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
|
||||
end: "{{ now() }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -146,7 +146,7 @@ Here are some examples of periods you could work with, and what to write in your
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
end: '{{ now().replace(hour=0, minute=0, second=0) }}'
|
||||
end: "{{ now().replace(hour=0, minute=0, second=0) }}"
|
||||
duration:
|
||||
hours: 24
|
||||
```
|
||||
@ -158,7 +158,7 @@ Here are some examples of periods you could work with, and what to write in your
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
start: '{{ now().replace(hour=6, minute=0, second=0) }}'
|
||||
start: "{{ now().replace(hour=6, minute=0, second=0) }}"
|
||||
duration:
|
||||
hours: 5
|
||||
```
|
||||
@ -172,8 +172,8 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
start: '{{ as_timestamp( now().replace(hour=0, minute=0, second=0) ) - now().weekday() * 86400 }}'
|
||||
end: '{{ now() }}'
|
||||
start: "{{ as_timestamp( now().replace(hour=0, minute=0, second=0) ) - now().weekday() * 86400 }}"
|
||||
end: "{{ now() }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -183,7 +183,7 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
end: '{{ now().replace(hour=0, minute=0, second=0) }}'
|
||||
end: "{{ now().replace(hour=0, minute=0, second=0) }}"
|
||||
duration:
|
||||
days: 30
|
||||
```
|
||||
@ -195,8 +195,8 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
start: '{{ 0 }}'
|
||||
end: '{{ now() }}'
|
||||
start: "{{ 0 }}"
|
||||
end: "{{ now() }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -212,7 +212,7 @@ sensor:
|
||||
bedroom_valve:
|
||||
value_template: "{% raw %}{{ state_attr('climate.leq123456', 'level') }}{% endraw %}"
|
||||
entity_id: climate.leq123456
|
||||
friendly_name: 'Bedroom valve'
|
||||
friendly_name: "Bedroom valve"
|
||||
```
|
||||
|
||||
### Variables
|
||||
|
@ -102,11 +102,11 @@ sensor:
|
||||
monitored_variables:
|
||||
- name: CPU fanspeed
|
||||
sensor_type: server_health
|
||||
unit_of_measurement: '%'
|
||||
unit_of_measurement: "%"
|
||||
value_template: '{% raw %}{{ ilo_data.fans["Fan 1"].speed[0] }}{% endraw %}'
|
||||
- name: Inlet temperature
|
||||
sensor_type: server_health
|
||||
unit_of_measurement: '°C'
|
||||
unit_of_measurement: "°C"
|
||||
value_template: '{% raw %}{{ ilo_data.temperature["01-Inlet Ambient"].currentreading[0] }}{% endraw %}'
|
||||
- name: Server Health
|
||||
sensor_type: server_health
|
||||
|
@ -179,7 +179,7 @@ Example of adding a tag to your notification. This won't create new notification
|
||||
message: "Last known sensor state is {{ states('sensor.sensor') }}."
|
||||
data:
|
||||
data:
|
||||
tag: 'notification-about-sensor'
|
||||
tag: "notification-about-sensor"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -125,7 +125,7 @@ If you want to apply additional IP filtering, and automatically ban brute force
|
||||
|
||||
```yaml
|
||||
127.0.0.1:
|
||||
banned_at: '2016-11-16T19:20:03'
|
||||
banned_at: "2016-11-16T19:20:03"
|
||||
```
|
||||
|
||||
After a ban is added a Persistent Notification is populated to the Home Assistant frontend.
|
||||
|
@ -46,7 +46,7 @@ automation:
|
||||
- service: humidifier.set_mode
|
||||
data:
|
||||
entity_id: humidifier.bedroom
|
||||
preset_mode: 'eco'
|
||||
preset_mode: "eco"
|
||||
```
|
||||
|
||||
### Service `humidifier.set_humidity`
|
||||
|
@ -93,7 +93,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: light.hyperion
|
||||
to: 'on'
|
||||
to: "on"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
@ -108,13 +108,13 @@ To have the lights playing an effect when pausing, idle or turn off a media play
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: media_player.plex
|
||||
to: 'off'
|
||||
to: "off"
|
||||
- platform: state
|
||||
entity_id: media_player.plex.plex
|
||||
to: 'paused'
|
||||
to: "paused"
|
||||
- platform: state
|
||||
entity_id: media_player.plex.plex
|
||||
to: 'idle'
|
||||
to: "idle"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
@ -129,7 +129,7 @@ To capture the screen when playing something on a media_player you can use this
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: media_player.plex
|
||||
to: 'playing'
|
||||
to: "playing"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
|
@ -154,7 +154,7 @@ automation:
|
||||
action:
|
||||
service: script.ifttt_notify
|
||||
data:
|
||||
value1: 'HA Status:'
|
||||
value1: "HA Status:"
|
||||
value2: "{{ trigger.event.data.entity_id.split('_')[1] }} is "
|
||||
value3: "{{ trigger.event.data.to_state.state }}"
|
||||
```
|
||||
|
@ -167,7 +167,7 @@ ihc:
|
||||
sensor:
|
||||
- id: 12345
|
||||
name: Temperatur_living_room
|
||||
unit_of_measurement: '°C'
|
||||
unit_of_measurement: "°C"
|
||||
note: Floor and wall temp.
|
||||
position: On wall between windows
|
||||
- id: 23456
|
||||
|
@ -46,7 +46,7 @@ automation:
|
||||
event_type: image_processing.detect_face
|
||||
event_data:
|
||||
entity_id: image_processing.door
|
||||
name: 'Hans Maier'
|
||||
name: "Hans Maier"
|
||||
...
|
||||
```
|
||||
|
||||
@ -67,7 +67,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.door_motion_sensor
|
||||
to: 'on'
|
||||
to: "on"
|
||||
action:
|
||||
- service: image_processing.scan
|
||||
data:
|
||||
|
@ -520,7 +520,7 @@ username: home-assistant
|
||||
field: value
|
||||
database: db1
|
||||
- name: Min for last hour
|
||||
unit_of_measurement: '%'
|
||||
unit_of_measurement: "%"
|
||||
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
|
||||
group_function: min
|
||||
where: '"entity_id" = ''salon'' and time > now() - 1h'
|
||||
|
@ -75,7 +75,7 @@ automation:
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: binary_sensor.motion_garage
|
||||
to: 'on'
|
||||
to: "on"
|
||||
condition:
|
||||
condition: state
|
||||
entity_id: input_boolean.notify_home
|
||||
|
@ -136,7 +136,7 @@ If you have a `datetime` object you can use its `timestamp` method. Of if you ha
|
||||
target:
|
||||
entity_id: input_datetime.XXX
|
||||
data:
|
||||
time: '05:30:00'
|
||||
time: "05:30:00"
|
||||
# Sets time to time from datetime object
|
||||
- service: input_datetime.set_datetime
|
||||
target:
|
||||
@ -148,7 +148,7 @@ If you have a `datetime` object you can use its `timestamp` method. Of if you ha
|
||||
target:
|
||||
entity_id: input_datetime.XXX
|
||||
data:
|
||||
date: '2020-08-24'
|
||||
date: "2020-08-24"
|
||||
# Sets date to date from datetime object
|
||||
- service: input_datetime.set_datetime
|
||||
target:
|
||||
@ -160,7 +160,7 @@ If you have a `datetime` object you can use its `timestamp` method. Of if you ha
|
||||
target:
|
||||
entity_id: input_datetime.XXX
|
||||
data:
|
||||
datetime: '2020-08-25 05:30:00'
|
||||
datetime: "2020-08-25 05:30:00"
|
||||
# Sets date and time from datetime object
|
||||
- service: input_datetime.set_datetime
|
||||
target:
|
||||
|
@ -154,7 +154,7 @@ input_select:
|
||||
- Reading
|
||||
- Relax
|
||||
- 'OFF'
|
||||
initial: 'Select'
|
||||
initial: "Select"
|
||||
input_number:
|
||||
bedroom_brightness:
|
||||
name: Brightness
|
||||
@ -198,7 +198,7 @@ automation:
|
||||
- alias: Set temp slider
|
||||
trigger:
|
||||
platform: mqtt
|
||||
topic: 'setTemperature'
|
||||
topic: "setTemperature"
|
||||
action:
|
||||
service: input_number.set_value
|
||||
data:
|
||||
@ -214,7 +214,7 @@ automation:
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data:
|
||||
topic: 'setTemperature'
|
||||
topic: "setTemperature"
|
||||
retain: true
|
||||
payload: "{{ states('input_number.target_temp') | int }}"
|
||||
```
|
||||
@ -249,7 +249,7 @@ automation:
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: switch.something
|
||||
to: 'on'
|
||||
to: "on"
|
||||
action:
|
||||
- delay: "00:{{ states('input_number.minutes') | int }}:{{ states('input_number.seconds') | int }}"
|
||||
- service: switch.turn_off
|
||||
|
@ -32,7 +32,7 @@ input_text:
|
||||
max: 40
|
||||
text3:
|
||||
name: Text 3
|
||||
pattern: '[a-fA-F0-9]*'
|
||||
pattern: "[a-fA-F0-9]*"
|
||||
text4:
|
||||
name: Text 4
|
||||
mode: password
|
||||
@ -121,7 +121,7 @@ input_select:
|
||||
- Reading
|
||||
- Relax
|
||||
- 'OFF'
|
||||
initial: 'Select'
|
||||
initial: "Select"
|
||||
input_text:
|
||||
bedroom:
|
||||
name: Brightness
|
||||
|
@ -33,7 +33,7 @@ islamic_prayer_times:
|
||||
{% configuration %}
|
||||
calculation_method:
|
||||
required: false
|
||||
default: 'isna'
|
||||
default: "isna"
|
||||
type: string
|
||||
description: "The calculation method used for prayer times. Must be one of: `karachi`, `isna`, `mwl`, `makkah`."
|
||||
{% endconfiguration %}
|
||||
|
@ -113,7 +113,7 @@ automation:
|
||||
event_type: isy994_control
|
||||
event_data:
|
||||
entity_id: light.lr_track_lights_front
|
||||
control: 'DFON'
|
||||
control: "DFON"
|
||||
value: 255
|
||||
formatted: "On"
|
||||
uom: "100"
|
||||
|
@ -19,7 +19,7 @@ The `evdev` package is used to interface with the keyboard and thus this is Linu
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
keyboard_remote:
|
||||
type: 'key_up'
|
||||
type: "key_up"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -62,7 +62,7 @@ A full configuration for two Keyboard Remotes could look like the one below:
|
||||
```yaml
|
||||
keyboard_remote:
|
||||
- device_descriptor: '/dev/input/by-id/bluetooth-keyboard'
|
||||
type: 'key_down'
|
||||
type: "key_down"
|
||||
emulate_key_hold: true
|
||||
emulate_key_hold_delay: 250
|
||||
emulate_key_hold_repeat: 33
|
||||
@ -76,8 +76,8 @@ Or like the following for one keyboard:
|
||||
|
||||
```yaml
|
||||
keyboard_remote:
|
||||
device_name: 'Bluetooth Keyboard'
|
||||
type: 'key_down'
|
||||
device_name: "Bluetooth Keyboard"
|
||||
type: "key_down"
|
||||
```
|
||||
|
||||
And an automation rule to breathe life into it:
|
||||
|
@ -56,7 +56,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.motion_1
|
||||
to: 'on'
|
||||
to: "on"
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
|
@ -195,7 +195,7 @@ lock:
|
||||
optimistic: false
|
||||
qos: 1
|
||||
retain: true
|
||||
value_template: '{{ value.x }}'
|
||||
value_template: "{{ value.x }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -63,12 +63,12 @@ To explore the data available within the `data` attribute of a sensor use the `d
|
||||
- platform: template
|
||||
sensors:
|
||||
updated:
|
||||
friendly_name: 'Updated'
|
||||
friendly_name: "Updated"
|
||||
value_template: {% raw %}'{{state_attr('sensor.merton', 'updated')}}'{% endraw %}
|
||||
merton_pm10:
|
||||
friendly_name: 'Merton PM10'
|
||||
friendly_name: "Merton PM10"
|
||||
value_template: {% raw %}'{{state_attr('sensor.merton', 'data')[0].pollutants[0].summary}}'{% endraw %}
|
||||
westminster_s02:
|
||||
friendly_name: 'Westminster S02'
|
||||
friendly_name: "Westminster S02"
|
||||
value_template: {% raw %}'{{state_attr('sensor.westminster', 'data')[0].pollutants[3].summary}}'{% endraw %}
|
||||
```
|
||||
|
@ -47,11 +47,11 @@ Now you have the keys, add the following lines to your `configuration.yaml`, rep
|
||||
sensor:
|
||||
- platform: loopenergy
|
||||
electricity:
|
||||
electricity_serial: 'ELECTRICAL_SERIAL'
|
||||
electricity_secret: 'ELECTRICAL_SECRET'
|
||||
electricity_serial: "ELECTRICAL_SERIAL"
|
||||
electricity_secret: "ELECTRICAL_SECRET"
|
||||
gas:
|
||||
gas_serial: 'GAS_SERIAL'
|
||||
gas_secret: 'GAS_SECRET'
|
||||
gas_serial: "GAS_SERIAL"
|
||||
gas_secret: "GAS_SECRET"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -134,7 +134,7 @@ In the configuration example below:
|
||||
alarm_control_panel:
|
||||
- platform: manual
|
||||
name: Home Alarm
|
||||
code: '1234'
|
||||
code: "1234"
|
||||
arming_time: 30
|
||||
delay_time: 20
|
||||
trigger_time: 4
|
||||
@ -157,16 +157,16 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.pir1
|
||||
to: 'active'
|
||||
to: "active"
|
||||
- platform: state
|
||||
entity_id: sensor.pir2
|
||||
to: 'active'
|
||||
to: "active"
|
||||
- platform: state
|
||||
entity_id: sensor.door
|
||||
to: 'open'
|
||||
to: "open"
|
||||
- platform: state
|
||||
entity_id: sensor.window
|
||||
to: 'open'
|
||||
to: "open"
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: alarm_control_panel.ha_alarm
|
||||
@ -184,7 +184,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: alarm_control_panel.ha_alarm
|
||||
to: 'triggered'
|
||||
to: "triggered"
|
||||
action:
|
||||
- service: notify.notify
|
||||
data:
|
||||
@ -199,7 +199,7 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.front_door_lock_alarm_type
|
||||
to: '19'
|
||||
to: "19"
|
||||
# many z-wave locks use Alarm Type 19 for 'Unlocked by Keypad'
|
||||
action:
|
||||
- service: alarm_control_panel.alarm_disarm
|
||||
@ -215,7 +215,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: alarm_control_panel.home_alarm
|
||||
to: 'disarmed'
|
||||
to: "disarmed"
|
||||
action:
|
||||
- service: notify.notify
|
||||
data:
|
||||
@ -227,7 +227,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: alarm_control_panel.home_alarm
|
||||
to: 'pending'
|
||||
to: "pending"
|
||||
action:
|
||||
- service: notify.notify
|
||||
data:
|
||||
@ -239,7 +239,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: alarm_control_panel.home_alarm
|
||||
to: 'armed_away'
|
||||
to: "armed_away"
|
||||
action:
|
||||
- service: notify.notify
|
||||
data:
|
||||
@ -251,7 +251,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: alarm_control_panel.home_alarm
|
||||
to: 'armed_home'
|
||||
to: "armed_home"
|
||||
action:
|
||||
- service: notify.notify
|
||||
data:
|
||||
|
@ -68,11 +68,11 @@ A full configuration sample including optional variables:
|
||||
# Example configuration.yaml entry
|
||||
tts:
|
||||
- platform: marytts
|
||||
host: 'localhost'
|
||||
host: "localhost"
|
||||
port: 59125
|
||||
codec: 'WAVE_FILE'
|
||||
voice: 'cmu-slt-hsmm'
|
||||
language: 'en_US'
|
||||
codec: "WAVE_FILE"
|
||||
voice: "cmu-slt-hsmm"
|
||||
language: "en_US"
|
||||
effect:
|
||||
Volume: "amount:2.0;",
|
||||
TractScaler: "amount:1.5;",
|
||||
|
@ -124,7 +124,7 @@ automation:
|
||||
action:
|
||||
service: notify.matrix_notify
|
||||
data:
|
||||
message: 'It looks like you wrote !testword'
|
||||
message: "It looks like you wrote !testword"
|
||||
- alias: 'React to an introduction'
|
||||
trigger:
|
||||
platform: event
|
||||
|
@ -261,10 +261,10 @@ sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
date:
|
||||
friendly_name: 'Date'
|
||||
value_template: '{{ states.sensor.json_time.attributes["date"] }}'
|
||||
friendly_name: "Date"
|
||||
value_template: "{{ states.sensor.json_time.attributes["date"] }}"
|
||||
milliseconds:
|
||||
friendly_name: 'milliseconds'
|
||||
friendly_name: "milliseconds"
|
||||
value_template: '{{ states.sensor.json_time.attributes["milliseconds_since_epoch"] }}'
|
||||
```
|
||||
|
||||
@ -310,17 +310,17 @@ sensor:
|
||||
entity_picture_template: '{{ "https://openweathermap.org/img/w/"+state_attr('sensor.owm_report', 'weather')[0]["icon"].lower()+".png" }}'
|
||||
entity_id: sensor.owm_report
|
||||
owm_temp:
|
||||
friendly_name: 'Outside temp'
|
||||
friendly_name: "Outside temp"
|
||||
value_template: '{{ state_attr('sensor.owm_report', 'main')["temp"]-273.15 }}'
|
||||
unit_of_measurement: "°C"
|
||||
entity_id: sensor.owm_report
|
||||
owm_pressure:
|
||||
friendly_name: 'Outside pressure'
|
||||
friendly_name: "Outside pressure"
|
||||
value_template: '{{ state_attr('sensor.owm_report', 'main')["pressure"] }}'
|
||||
unit_of_measurement: "hP"
|
||||
entity_id: sensor.owm_report
|
||||
owm_humidity:
|
||||
friendly_name: 'Outside humidity'
|
||||
friendly_name: "Outside humidity"
|
||||
value_template: '{{ state_attr('sensor.owm_report', 'main')["humidity"] }}'
|
||||
unit_of_measurement: "%"
|
||||
entity_id: sensor.owm_report
|
||||
@ -368,25 +368,25 @@ sensor:
|
||||
- bedroom1
|
||||
- bedroom2
|
||||
- bedroom3
|
||||
value_template: 'OK'
|
||||
value_template: "OK"
|
||||
- platform: template
|
||||
sensors:
|
||||
bedroom1_temperature:
|
||||
value_template: '{{ states.sensor.room_sensors.attributes["bedroom1"]["temperature"] }}'
|
||||
device_class: temperature
|
||||
unit_of_measurement: '°C'
|
||||
unit_of_measurement: "°C"
|
||||
bedroom1_humidity:
|
||||
value_template: '{{ states.sensor.room_sensors.attributes["bedroom1"]["humidity"] }}'
|
||||
device_class: humidity
|
||||
unit_of_measurement: '%'
|
||||
unit_of_measurement: "%"
|
||||
bedroom1_battery:
|
||||
value_template: '{{ states.sensor.room_sensors.attributes["bedroom1"]["battery"] }}'
|
||||
device_class: battery
|
||||
unit_of_measurement: 'V'
|
||||
unit_of_measurement: "V"
|
||||
bedroom2_temperature:
|
||||
value_template: '{{ states.sensor.room_sensors.attributes["bedroom2"]["temperature"] }}'
|
||||
device_class: temperature
|
||||
unit_of_measurement: '°C'
|
||||
unit_of_measurement: "°C"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -405,7 +405,7 @@ sensor:
|
||||
resource: http://192.168.1.105/status.xml
|
||||
json_attributes_path: "$.response"
|
||||
scan_interval: 15
|
||||
value_template: 'OK'
|
||||
value_template: "OK"
|
||||
json_attributes:
|
||||
- "usr0"
|
||||
- "pot0"
|
||||
|
@ -240,7 +240,7 @@ type_string: 'ARC'
|
||||
id_string': 'C3'
|
||||
data: '0710010143030170'
|
||||
values':
|
||||
Command: 'On'
|
||||
Command: "On"
|
||||
Rssi numeric': 7
|
||||
```
|
||||
|
||||
|
@ -62,11 +62,11 @@ Then you can use the following automation, with the entities from your system, w
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
alias: 'Save the video when the doorbell is pushed'
|
||||
alias: "Save the video when the doorbell is pushed"
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.front_doorbell_ding
|
||||
to: 'on'
|
||||
to: "on"
|
||||
action:
|
||||
- service: downloader.download_file
|
||||
data:
|
||||
|
@ -16,7 +16,7 @@ To add the Ripple sensor to your installation, specify a ripple address to watch
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: ripple
|
||||
address: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV'
|
||||
address: "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -101,13 +101,13 @@ sensor:
|
||||
- 'Bus'
|
||||
- 'S'
|
||||
- station: 3006907
|
||||
products: 'Bus'
|
||||
products: "Bus"
|
||||
destinations: ['Wiesbaden Dernsches Gelände', 'Mainz Hauptbahnhof']
|
||||
name: Destination
|
||||
- station: 3006904
|
||||
lines: 'S8'
|
||||
lines: "S8"
|
||||
max_journeys: 5
|
||||
products: 'S'
|
||||
products: "S"
|
||||
```
|
||||
|
||||
The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away.
|
||||
|
@ -84,10 +84,10 @@ To have your Home Assistant installation remind you of upcoming waste collection
|
||||
# Example configuration.yaml entry for Rova waste collection reminder
|
||||
automation:
|
||||
- id: rova-garbage-bio-reminder
|
||||
alias: 'Send Rova Bio waste collection reminder'
|
||||
alias: "Send Rova Bio waste collection reminder"
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '19:00:00'
|
||||
at: "19:00:00"
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: "{% if (as_timestamp(states('sensor.rova_garbage_gft')) - as_timestamp(now())) < 43200 %}true{% endif %}"
|
||||
@ -96,7 +96,7 @@ automation:
|
||||
action:
|
||||
- service: NOTIFICATION_SERVICE
|
||||
data:
|
||||
message: 'Reminder: put out biowaste bin'
|
||||
message: "Reminder: put out biowaste bin"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -133,14 +133,14 @@ cover:
|
||||
- platform: rpi_gpio
|
||||
relay_time: 0.2
|
||||
invert_relay: false
|
||||
state_pull_mode: 'UP'
|
||||
state_pull_mode: "UP"
|
||||
invert_state: true
|
||||
covers:
|
||||
- relay_pin: 10
|
||||
state_pin: 11
|
||||
- relay_pin: 12
|
||||
state_pin: 13
|
||||
name: 'Right door'
|
||||
name: "Right door"
|
||||
```
|
||||
|
||||
## Remote Raspberry Pi Cover
|
||||
|
@ -16,7 +16,7 @@ To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: rtorrent
|
||||
url: 'http://<user>:<password>@<host>:<port>/RPC2'
|
||||
url: "http://<user>:<password>@<host>:<port>/RPC2"
|
||||
monitored_variables:
|
||||
- 'current_status'
|
||||
- 'download_speed'
|
||||
|
@ -118,43 +118,43 @@ satel_integra:
|
||||
port: 7094
|
||||
partitions:
|
||||
01:
|
||||
name: 'House'
|
||||
name: "House"
|
||||
arm_home_mode: 2
|
||||
02:
|
||||
name: 'Garage'
|
||||
name: "Garage"
|
||||
zones:
|
||||
01:
|
||||
name: 'Bedroom'
|
||||
type: 'motion'
|
||||
name: "Bedroom"
|
||||
type: "motion"
|
||||
02:
|
||||
name: 'Hall'
|
||||
type: 'motion'
|
||||
name: "Hall"
|
||||
type: "motion"
|
||||
30:
|
||||
name: 'Kitchen - smoke'
|
||||
type: 'smoke'
|
||||
name: "Kitchen - smoke"
|
||||
type: "smoke"
|
||||
113:
|
||||
name: 'Entry door'
|
||||
type: 'opening'
|
||||
name: "Entry door"
|
||||
type: "opening"
|
||||
outputs:
|
||||
05:
|
||||
name: 'Garden lights trigger'
|
||||
type: 'light'
|
||||
name: "Garden lights trigger"
|
||||
type: "light"
|
||||
09:
|
||||
name: 'Gate opening trigger'
|
||||
type: 'opening'
|
||||
name: "Gate opening trigger"
|
||||
type: "opening"
|
||||
30:
|
||||
name: 'Alarm triggered'
|
||||
type: 'safety'
|
||||
name: "Alarm triggered"
|
||||
type: "safety"
|
||||
32:
|
||||
name: 'Alarm power problem'
|
||||
type: 'safety'
|
||||
name: "Alarm power problem"
|
||||
type: "safety"
|
||||
switchable_outputs:
|
||||
05:
|
||||
name: 'Gate open'
|
||||
name: "Gate open"
|
||||
06:
|
||||
name: 'Gate close'
|
||||
name: "Gate close"
|
||||
14:
|
||||
name: 'Garden light'
|
||||
name: "Garden light"
|
||||
|
||||
```
|
||||
|
||||
@ -165,8 +165,8 @@ For example:
|
||||
alias: Flick the input switch when movement in bedroom detected
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: 'binary_sensor.bedroom'
|
||||
to: 'on'
|
||||
entity_id: "binary_sensor.bedroom"
|
||||
to: "on"
|
||||
action:
|
||||
service: input_boolean.turn_on
|
||||
data:
|
||||
|
@ -164,8 +164,8 @@ The following example turns off some entities as soon as a window opens. The sta
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.window
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
from: "off"
|
||||
to: "on"
|
||||
condition: []
|
||||
action:
|
||||
- service: scene.create
|
||||
@ -180,13 +180,13 @@ The following example turns off some entities as soon as a window opens. The sta
|
||||
- service: climate.set_hvac_mode
|
||||
data:
|
||||
entity_id: climate.ecobee
|
||||
hvac_mode: 'off'
|
||||
hvac_mode: "off"
|
||||
- alias: Window closed
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.window
|
||||
from: 'on'
|
||||
to: 'off'
|
||||
from: "on"
|
||||
to: "off"
|
||||
condition: []
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
|
@ -126,9 +126,9 @@ sensor:
|
||||
- platform: scrape
|
||||
resource: http://www.bfs.de/DE/themen/opt/uv/uv-index/prognose/prognose_node.html
|
||||
name: Coast Ostsee
|
||||
select: 'p'
|
||||
select: "p"
|
||||
index: 19
|
||||
unit_of_measurement: 'UV Index'
|
||||
unit_of_measurement: "UV Index"
|
||||
```
|
||||
|
||||
### IFTTT status
|
||||
@ -141,7 +141,7 @@ sensor:
|
||||
- platform: scrape
|
||||
resource: https://status.ifttt.com/
|
||||
name: IFTTT status
|
||||
select: '.component-status'
|
||||
select: ".component-status"
|
||||
```
|
||||
|
||||
### Get the latest podcast episode file URL
|
||||
@ -154,7 +154,7 @@ sensor:
|
||||
- platform: scrape
|
||||
resource: https://hasspodcast.io/feed/podcast
|
||||
name: Home Assistant Podcast
|
||||
select: 'enclosure'
|
||||
select: "enclosure"
|
||||
index: 1
|
||||
attribute: url
|
||||
```
|
||||
@ -191,7 +191,7 @@ sensor:
|
||||
resource: http://www.bom.gov.au/vic/forecasts/melbourne.shtml
|
||||
name: Melbourne Forecast Summary
|
||||
select: ".main .forecast p"
|
||||
value_template: '{{ value | truncate(255) }}'
|
||||
value_template: "{{ value | truncate(255) }}"
|
||||
# Request every hour
|
||||
scan_interval: 3600
|
||||
headers:
|
||||
|
@ -120,12 +120,12 @@ script:
|
||||
wakeup:
|
||||
alias: Wake Up
|
||||
icon: "mdi:party-popper"
|
||||
description: 'Turns on the bedroom lights and then the living room lights after a delay'
|
||||
description: "Turns on the bedroom lights and then the living room lights after a delay"
|
||||
variables:
|
||||
turn_on_entity: group.living_room
|
||||
fields:
|
||||
minutes:
|
||||
description: 'The amount of time to wait before turning on the living room lights'
|
||||
description: "The amount of time to wait before turning on the living room lights"
|
||||
example: 1
|
||||
# If called again while still running (probably in delay step), start over.
|
||||
mode: restart
|
||||
@ -165,15 +165,15 @@ automation:
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: light.bedroom
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
from: "off"
|
||||
to: "on"
|
||||
action:
|
||||
service: script.turn_on
|
||||
entity_id: script.notify_pushover
|
||||
data:
|
||||
variables:
|
||||
title: 'State change'
|
||||
message: 'The light is on!'
|
||||
title: "State change"
|
||||
message: "The light is on!"
|
||||
```
|
||||
|
||||
The other way is calling the script as a service directly. In this case, all service data will be made available as variables. If we apply this approach on the script above, it would look like this:
|
||||
@ -184,13 +184,13 @@ automation:
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: light.bedroom
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
from: "off"
|
||||
to: "on"
|
||||
action:
|
||||
service: script.notify_pushover
|
||||
data:
|
||||
title: 'State change'
|
||||
message: 'The light is on!'
|
||||
title: "State change"
|
||||
message: "The light is on!"
|
||||
```
|
||||
|
||||
Using the variables in the script requires the use of templates:
|
||||
@ -199,14 +199,14 @@ Using the variables in the script requires the use of templates:
|
||||
# Example configuration.yaml entry
|
||||
script:
|
||||
notify_pushover:
|
||||
description: 'Send a pushover notification'
|
||||
description: "Send a pushover notification"
|
||||
fields:
|
||||
title:
|
||||
description: 'The title of the notification'
|
||||
example: 'State change'
|
||||
description: "The title of the notification"
|
||||
example: "State change"
|
||||
message:
|
||||
description: 'The message content'
|
||||
example: 'The light is on!'
|
||||
description: "The message content"
|
||||
example: "The light is on!"
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: switch.pushover_notifications
|
||||
|
@ -87,14 +87,14 @@ sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
sensehat_temperature:
|
||||
value_template: '{{ states('sensor.temperature') | round(1) }}'
|
||||
unit_of_measurement: '°C'
|
||||
value_template: "{{ states('sensor.temperature') | round(1) }}"
|
||||
unit_of_measurement: "°C"
|
||||
sensehat_pressure:
|
||||
value_template: '{{ states('sensor.pressure') | round(1) }}'
|
||||
unit_of_measurement: 'mb'
|
||||
value_template: "{{ states('sensor.pressure') | round(1) }}"
|
||||
unit_of_measurement: "mb"
|
||||
sensehat_humidity:
|
||||
value_template: '{{ states('sensor.humidity') | round(1) }}'
|
||||
unit_of_measurement: '%'
|
||||
value_template: "{{ states('sensor.humidity') | round(1) }}"
|
||||
unit_of_measurement: "%"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -158,7 +158,7 @@ Full configuration example (excluding forecasted conditions) where location is m
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
- platform: buienradar
|
||||
name: 'volkel'
|
||||
name: "volkel"
|
||||
# Force 'Meetstation Volkel' to be used:
|
||||
latitude: 51.65
|
||||
longitude: 5.70
|
||||
|
@ -74,7 +74,7 @@ sensor:
|
||||
command: "cat /sys/class/thermal/thermal_zone0/temp"
|
||||
# If errors occur, make sure configuration file is encoded as UTF-8
|
||||
unit_of_measurement: "°C"
|
||||
value_template: '{{ value | multiply(0.001) | round(1) }}'
|
||||
value_template: "{{ value | multiply(0.001) | round(1) }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -184,8 +184,8 @@ sensor:
|
||||
json_attributes:
|
||||
- date
|
||||
- milliseconds_since_epoch
|
||||
command: 'python3 /home/pi/.homeassistant/scripts/datetime.py'
|
||||
value_template: '{{ value_json.time }}'
|
||||
command: "python3 /home/pi/.homeassistant/scripts/datetime.py"
|
||||
value_template: "{{ value_json.time }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -165,7 +165,7 @@ sensor:
|
||||
- platform: mqtt
|
||||
name: "RSSI"
|
||||
state_topic: "home/sensor1/infojson"
|
||||
unit_of_measurement: 'dBm'
|
||||
unit_of_measurement: "dBm"
|
||||
value_template: "{{ value_json.RSSI }}"
|
||||
availability:
|
||||
- topic: "home/sensor1/status"
|
||||
@ -219,7 +219,7 @@ sensor:
|
||||
- platform: mqtt
|
||||
name: "Battery Tablet"
|
||||
state_topic: "owntracks/tablet/tablet"
|
||||
unit_of_measurement: '%'
|
||||
unit_of_measurement: "%"
|
||||
value_template: "{{ value_json.batt }}"
|
||||
```
|
||||
{% endraw %}
|
||||
@ -245,12 +245,12 @@ sensor:
|
||||
- platform: mqtt
|
||||
name: "Temperature"
|
||||
state_topic: "office/sensor1"
|
||||
unit_of_measurement: '°C'
|
||||
unit_of_measurement: "°C"
|
||||
value_template: "{{ value_json.temperature }}"
|
||||
- platform: mqtt
|
||||
name: "Humidity"
|
||||
state_topic: "office/sensor1"
|
||||
unit_of_measurement: '%'
|
||||
unit_of_measurement: "%"
|
||||
value_template: "{{ value_json.humidity }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -142,9 +142,9 @@ sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
power_meter:
|
||||
value_template: '{{ states('image_processing.sevensegment_ocr_seven_segments') }}'
|
||||
friendly_name: 'Ampere'
|
||||
unit_of_measurement: 'A'
|
||||
value_template: "{{ states('image_processing.sevensegment_ocr_seven_segments') }}"
|
||||
friendly_name: "Ampere"
|
||||
unit_of_measurement: "A"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -24,7 +24,7 @@ file:
|
||||
sensor:
|
||||
- platform: shodan
|
||||
api_key: SHODAN_API_KEY
|
||||
query: 'home-assistant'
|
||||
query: "home-assistant"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -56,8 +56,8 @@ service: notify.notify
|
||||
title: "Time to shop?"
|
||||
message: 'Click to open the shopping list'
|
||||
data:
|
||||
clickAction: '/shopping-list'
|
||||
url: '/shopping-list'
|
||||
clickAction: "/shopping-list"
|
||||
url: "/shopping-list"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -92,8 +92,8 @@ To give an example of simulating real world data, a simulated relative humidity
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: simulated
|
||||
name: 'simulated relative humidity'
|
||||
unit: '%'
|
||||
name: "simulated relative humidity"
|
||||
unit: "%"
|
||||
amplitude: 0 # Turns off the periodic contribution
|
||||
mean: 50
|
||||
spread: 10
|
||||
|
@ -34,9 +34,9 @@ Auto-detection can be a little slow, so if your table has a fixed IP address or
|
||||
# This will skip auto-detection and add only the listed tables
|
||||
sisyphus:
|
||||
- name: 'TABLE_NAME'
|
||||
host: 'TABLE_IP_OR_HOSTNAME'
|
||||
host: "TABLE_IP_OR_HOSTNAME"
|
||||
- name: 'ANOTHER_TABLE_NAME'
|
||||
host: 'ANOTHER_TABLE_IP_OR_HOSTNAME'
|
||||
host: "ANOTHER_TABLE_IP_OR_HOSTNAME"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -44,7 +44,7 @@ notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: slack
|
||||
api_key: YOUR_API_KEY
|
||||
default_channel: '#general'
|
||||
default_channel: "#general"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -127,7 +127,7 @@ Example:
|
||||
```yaml
|
||||
custom:
|
||||
yesterday_consumption:
|
||||
key: '6400_00543A01'
|
||||
key: "6400_00543A01"
|
||||
unit: kWh
|
||||
factor: 1000
|
||||
```
|
||||
|
@ -109,8 +109,8 @@ To use the SMTP notification, refer to it in an automation or script like in thi
|
||||
seconds: 1
|
||||
- service: notify.NOTIFIER_NAME
|
||||
data:
|
||||
title: 'Intruder alert'
|
||||
message: 'Intruder alert at apartment!!'
|
||||
title: "Intruder alert"
|
||||
message: "Intruder alert at apartment!!"
|
||||
data:
|
||||
images:
|
||||
- /home/pi/snapshot1.jpg
|
||||
@ -130,7 +130,7 @@ The optional `html` field makes a custom text/HTML multi-part message, allowing
|
||||
seconds: 1
|
||||
- service: notify.NOTIFIER_NAME
|
||||
data:
|
||||
message: 'Intruder alert at apartment!!'
|
||||
message: "Intruder alert at apartment!!"
|
||||
data:
|
||||
images:
|
||||
- /home/pi/snapshot1.jpg
|
||||
|
@ -155,7 +155,7 @@ intent_script:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: 'light.{{ objectLocation | replace(" ","_") }}'
|
||||
color_name: '{{ objectColor }}'
|
||||
color_name: "{{ objectColor }}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -176,7 +176,7 @@ In this example if we had an intent triggered with 'Set a timer for five minutes
|
||||
SetTimer:
|
||||
speech:
|
||||
type: plain
|
||||
text: 'Set a timer'
|
||||
text: "Set a timer"
|
||||
action:
|
||||
service: script.set_timer
|
||||
data:
|
||||
@ -221,7 +221,7 @@ intent_script:
|
||||
turn_on_light:
|
||||
speech:
|
||||
type: plain
|
||||
text: 'OK, turning on the light'
|
||||
text: "OK, turning on the light"
|
||||
action:
|
||||
service: light.turn_on
|
||||
```
|
||||
@ -233,7 +233,7 @@ intent_script:
|
||||
OpenGarageDoor:
|
||||
speech:
|
||||
type: plain
|
||||
text: 'OK, opening the garage door'
|
||||
text: "OK, opening the garage door"
|
||||
action:
|
||||
- service: cover.open_cover
|
||||
data:
|
||||
@ -250,14 +250,14 @@ automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.my_garage_door_sensor
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
from: "off"
|
||||
to: "on"
|
||||
for:
|
||||
minutes: 10
|
||||
sequence:
|
||||
service: snips.say_action
|
||||
data:
|
||||
text: 'Garage door has been open 10 minutes, would you like me to close it?'
|
||||
text: "Garage door has been open 10 minutes, would you like me to close it?"
|
||||
intent_filter:
|
||||
- closeGarageDoor
|
||||
|
||||
@ -266,7 +266,7 @@ intent_script:
|
||||
closeGarageDoor:
|
||||
speech:
|
||||
type: plain
|
||||
text: 'OK, closing the garage door'
|
||||
text: "OK, closing the garage door"
|
||||
action:
|
||||
- service: script.garage_door_close
|
||||
```
|
||||
|
@ -230,12 +230,12 @@ To create a sensor that displays the uptime for your printer in minutes, you can
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: snmp
|
||||
name: 'Printer uptime'
|
||||
name: "Printer uptime"
|
||||
host: 192.168.2.21
|
||||
baseoid: 1.3.6.1.2.1.1.3.0
|
||||
accept_errors: true
|
||||
unit_of_measurement: 'minutes'
|
||||
value_template: '{{((value | int) / 6000) | int}}'
|
||||
unit_of_measurement: "minutes"
|
||||
value_template: "{{((value | int) / 6000) | int}}"
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
@ -389,12 +389,12 @@ switch:
|
||||
- platform: snmp
|
||||
name: SNMP v3 switch
|
||||
host: 192.168.0.3
|
||||
version: '3'
|
||||
username: 'myusername'
|
||||
auth_key: 'myauthkey'
|
||||
auth_protocol: 'hmac-sha'
|
||||
priv_key: 'myprivkey'
|
||||
priv_protocol: 'aes-cfb-128'
|
||||
version: "3"
|
||||
username: "myusername"
|
||||
auth_key: "myauthkey"
|
||||
auth_protocol: "hmac-sha"
|
||||
priv_key: "myprivkey"
|
||||
priv_protocol: "aes-cfb-128"
|
||||
baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0
|
||||
payload_on: 1
|
||||
payload_off: 0
|
||||
@ -402,12 +402,12 @@ switch:
|
||||
- platform: snmp
|
||||
name: Enable PoE on Netgear switch port 2 using SNMP v3
|
||||
host: 192.168.0.4
|
||||
version: '3'
|
||||
username: 'myusername'
|
||||
auth_key: 'myauthkey'
|
||||
auth_protocol: 'hmac-sha'
|
||||
priv_key: 'myprivkey'
|
||||
priv_protocol: 'des'
|
||||
version: "3"
|
||||
username: "myusername"
|
||||
auth_key: "myauthkey"
|
||||
auth_protocol: "hmac-sha"
|
||||
priv_key: "myprivkey"
|
||||
priv_protocol: "des"
|
||||
baseoid: 1.3.6.1.4.1.4526.11.15.1.1.1.1.1.2
|
||||
payload_on: 15400
|
||||
payload_off: 3000
|
||||
|
@ -17,7 +17,7 @@ To add the SoChain sensor to your installation, specify a network and address to
|
||||
sensor:
|
||||
- platform: sochain
|
||||
network: LTC
|
||||
address: 'M9m37h3dVkLDS13wYK7vcs7ck6MMMX6yhK'
|
||||
address: "M9m37h3dVkLDS13wYK7vcs7ck6MMMX6yhK"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -72,7 +72,7 @@ sensor:
|
||||
sensors:
|
||||
solaredge_energy_this_year_template:
|
||||
value_template: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}"
|
||||
unit_of_measurement: 'KWh'
|
||||
unit_of_measurement: "KWh"
|
||||
icon_template: "mdi:solar-power"
|
||||
```
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user