All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 14s
338 lines
9.4 KiB
Markdown
338 lines
9.4 KiB
Markdown
# Home Assistant
|
|
|
|
- [Home Assistant](#home-assistant)
|
|
- [Setup and Configuration](#setup-and-configuration)
|
|
- [Schlage Door Lock](#schlage-door-lock)
|
|
- [Philips Hue Lights](#philips-hue-lights)
|
|
- [Shelly](#shelly)
|
|
- [Relative Humidity Calculator](#relative-humidity-calculator)
|
|
- [Font Colors](#font-colors)
|
|
- [Light Indicator for Voice Assistant](#light-indicator-for-voice-assistant)
|
|
- [Blank Button (Spacer)](#blank-button-spacer)
|
|
- [Roku Remote](#roku-remote)
|
|
|
|
## Setup and Configuration
|
|
|
|
### Schlage Door Lock
|
|
|
|
1. Install Z-wave
|
|
2. Install z-wave JS module
|
|
3. Add device -> How do you want to add your device -> Legacy Secure
|
|
4. Disconnect and Reconnect the battery on the lock
|
|
5. Press and hold the zwave button until the light turns solid red, release and it should flash red
|
|
1. (OR) Enter programming pin on lock -> 0 (this may take a few attempts, don't click the pair button)
|
|
|
|
If the lock ever disconnects you can safely delete it from home assistant and re-interview. It will
|
|
set back up with the correct entity IDs and automations/dashboards will work just fine.
|
|
|
|
### Philips Hue Lights
|
|
|
|
1. I configure all philips hue lights through zigbee directly connected to HA
|
|
|
|
hue lights support color_temp in mireds, here are some mired-kelvin conversions:
|
|
|
|
| Kelvin | Mired |
|
|
| ------ | ----- |
|
|
| 6000 | 167 |
|
|
| 4000 | 250 |
|
|
| 2600 | 385 |
|
|
|
|
### Shelly
|
|
|
|
1. Outbound Websocket `wss://homeassistant.reeseapps.com/api/shelly/ws`
|
|
|
|
Shelly devices can act as "passive" or "active" bluetooth scanners. Both of these configurations
|
|
allow home assistant to proxy bluetooth connections through shelly devices, significantly extending
|
|
the range of your home assistant's bluetooth capabilities. Active scanning uses more power but
|
|
is quicker to pick up and transmit device information. Note that "gateway mode" is not required,
|
|
just enable bluetooth and rpc or select "active" from the configuration menu for the shelly
|
|
device.
|
|
|
|
### Relative Humidity Calculator
|
|
|
|
<https://www.wikihow.com/Calculate-Humidity>
|
|
|
|
You can calculate the relative humidity of the outdoor air if warmed to indoor temperatures like so:
|
|
|
|
```jinja
|
|
{% set dew_point = state_attr("weather.forecast_home", "dew_point") %}
|
|
{% set air_temp_f = state_attr("climate.ecobee_thermostat", "current_temperature") %}
|
|
{% set air_temp = (5/9)*(air_temp_f-32) %}
|
|
{% set sat_vap_press = 6.11 * 10**((7.5*air_temp) / (237.3+air_temp)) %}
|
|
{% set act_vap_press = 6.11 * 10**((7.5*dew_point) / (237.3+dew_point)) %}
|
|
{% set rel_hum = 100*(act_vap_press / sat_vap_press) %}
|
|
|
|
{{ dew_point }}
|
|
{{ air_temp }}
|
|
{{ sat_vap_press }}
|
|
{{ act_vap_press }}
|
|
{{ rel_hum }}
|
|
```
|
|
|
|
### Font Colors
|
|
|
|
```html
|
|
<font color = {{ "green" if state_attr("climate.ecobee_thermostat", "current_humidity") > low_humidity and state_attr("climate.ecobee_thermostat", "current_humidity") < high_humidity else "red" }}>
|
|
HVAC Humidity: {{ state_attr("climate.ecobee_thermostat", "current_humidity") }}%
|
|
</font>
|
|
```
|
|
|
|
### Light Indicator for Voice Assistant
|
|
|
|
```yaml
|
|
alias: Flash Lights on Bedroom Voice Assistant Start
|
|
description: ""
|
|
triggers:
|
|
- type: turned_on
|
|
device_id: d50fa1ae499e88bf37225c7e82ed189b
|
|
entity_id: 7ab2896ca3a55efd2e0ee9bba91fdf68
|
|
domain: binary_sensor
|
|
metadata:
|
|
secondary: false
|
|
trigger: device
|
|
conditions: []
|
|
actions:
|
|
- action: scene.create
|
|
metadata: {}
|
|
data:
|
|
scene_id: bedroombeforescene
|
|
snapshot_entities:
|
|
- light.main_bedroom_lamps
|
|
- action: light.turn_on
|
|
metadata: {}
|
|
data:
|
|
transition: 0.25
|
|
brightness_step_pct: 5
|
|
target:
|
|
entity_id: light.main_bedroom_lamps
|
|
- delay:
|
|
hours: 0
|
|
minutes: 0
|
|
seconds: 0
|
|
milliseconds: 250
|
|
- action: scene.turn_on
|
|
data:
|
|
entity_id: scene.bedroombeforescene
|
|
transition: 0.25
|
|
mode: single
|
|
```
|
|
|
|
### Blank Button (Spacer)
|
|
|
|
```yaml
|
|
- type: button
|
|
tap_action:
|
|
action: none
|
|
show_state: false
|
|
show_name: false
|
|
show_icon: false
|
|
hold_action:
|
|
action: none
|
|
```
|
|
|
|
### Roku Remote
|
|
|
|
```yaml
|
|
type: vertical-stack
|
|
cards:
|
|
- type: entity
|
|
entity: select.left_living_room_application
|
|
- square: true
|
|
type: grid
|
|
cards:
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: power
|
|
entity: remote.left_living_room
|
|
icon: mdi:power
|
|
name: power
|
|
show_state: false
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: volume_down
|
|
entity: remote.left_living_room
|
|
icon: mdi:volume-minus
|
|
name: volume down / hold mute
|
|
show_state: false
|
|
hold_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: volume_mute
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: volume_up
|
|
entity: remote.left_living_room
|
|
icon: mdi:volume-plus
|
|
name: volume up / hold mute
|
|
show_state: false
|
|
"hold_action:":
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: volume_mute
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: back
|
|
entity: remote.left_living_room
|
|
icon: mdi:undo
|
|
name: back
|
|
show_state: false
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: up
|
|
entity: remote.left_living_room
|
|
icon: mdi:arrow-up-bold
|
|
name: up
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: home
|
|
entity: remote.left_living_room
|
|
icon: mdi:home
|
|
name: home
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: left
|
|
entity: remote.left_living_room
|
|
icon: mdi:arrow-left-bold
|
|
name: left
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: select
|
|
entity: remote.left_living_room
|
|
icon: mdi:select-all
|
|
name: select
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: right
|
|
entity: remote.left_living_room
|
|
icon: mdi:arrow-right-bold
|
|
name: right
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: play
|
|
entity: remote.left_living_room
|
|
icon: mdi:play-pause
|
|
name: play/pause
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: down
|
|
entity: remote.left_living_room
|
|
icon: mdi:arrow-down-bold
|
|
name: down
|
|
hold_action:
|
|
action: none
|
|
- show_name: true
|
|
show_icon: true
|
|
type: button
|
|
tap_action:
|
|
action: perform-action
|
|
perform_action: remote.send_command
|
|
target:
|
|
entity_id: remote.left_living_room
|
|
data:
|
|
command: info
|
|
entity: remote.left_living_room
|
|
icon: mdi:wrench
|
|
name: settings
|
|
hold_action:
|
|
action: none
|
|
title: Left Living Room TV
|
|
``` |