Skip to content

Commit f5bf4e7

Browse files
committed
Merge branch 'current' into rc
2 parents 2d05ce0 + eb4e455 commit f5bf4e7

File tree

17 files changed

+111
-60
lines changed

17 files changed

+111
-60
lines changed

Dockerfile renamed to .devcontainer/Dockerfile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
33

44
ARG NODE_VERSION="lts/*"
55
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
6+
RUN su vscode -c "/usr/local/rvm/bin/rvm fix-permissions"
67

78
# Locale env vars
89
ENV \
@@ -17,7 +18,3 @@ RUN \
1718
ack \
1819
&& echo "en_US UTF-8" > /etc/locale.gen \
1920
&& locale-gen en_US.UTF-8
20-
21-
# Install the specific version of bundler we need
22-
COPY Gemfile.lock ./
23-
RUN gem install bundler -v `awk 'c&&c--;/BUNDLED WITH/{c=1}' Gemfile.lock`

.devcontainer/devcontainer.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
{
22
"name": "home-assistant.io",
33
"build": {
4-
"dockerfile": "../Dockerfile",
4+
"dockerfile": "./Dockerfile",
55
"context": "..",
66
"args": {
7-
"VARIANT": "2.7",
8-
"NODE_VERSION": "18"
7+
"VARIANT": "3.1",
8+
"NODE_VERSION": "20"
99
}
1010
},
1111
"appPort": [4000],
1212
"onCreateCommand": "bundle install && npm install",
13-
"containerEnv": { "DEVCONTAINER": "true" },
13+
"containerEnv": {
14+
"DEVCONTAINER": "true",
15+
"BUNDLE_PATH": "vendor/bundle"
16+
},
1417
"customizations": {
1518
"vscode": {
1619
"extensions": [

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- name: Setting up Node.js
1313
uses: actions/setup-node@v4.0.1
1414
with:
15-
node-version: 16.x
15+
node-version: 20
1616
cache: "npm"
1717
- name: Install dependencies
1818
run: npm install
@@ -29,7 +29,7 @@ jobs:
2929
- name: Setting up Node.js
3030
uses: actions/setup-node@v4.0.1
3131
with:
32-
node-version: 16.x
32+
node-version: 20
3333
cache: "npm"
3434
- name: Install dependencies
3535
run: npm install

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.7.2
1+
3.1.4

.vscode/extensions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"editorconfig.editorconfig",
55
"GitHub.vscode-pull-request-github",
66
"mrmlnc.vscode-scss",
7-
"rebornix.Ruby",
7+
"Shopify.ruby-lsp",
88
"streetsidesoftware.code-spell-checker",
99
"taichi.vscode-textlint",
1010
"yzhang.markdown-all-in-one"

Gemfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ ruby '> 2.5.0'
44

55
group :development do
66
gem 'rake', '13.1.0'
7-
gem 'jekyll', '4.3.2'
7+
gem 'jekyll', '4.3.3'
88
gem 'compass', '1.0.3'
99
gem 'sass-globbing', '1.1.5'
1010
gem 'stringex', '2.8.6'
1111
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
1212
gem 'sassc', '2.1.0'
13+
gem 'rubocop', '1.59.0'
14+
gem 'ruby-lsp', '0.13.2'
1315
end
1416

1517
group :jekyll_plugins do
@@ -19,8 +21,8 @@ group :jekyll_plugins do
1921
gem 'jekyll-toc', '0.18.0'
2022
end
2123

22-
gem 'sinatra', '3.1.0'
23-
gem 'nokogiri', '1.15.5'
24+
gem 'sinatra', '3.2.0'
25+
gem 'nokogiri', '1.16.0'
2426

2527
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
2628
# and associated library

Gemfile.lock

Lines changed: 47 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ GEM
33
specs:
44
addressable (2.8.6)
55
public_suffix (>= 2.0.2, < 6.0)
6+
ast (2.4.2)
7+
base64 (0.2.0)
68
chunky_png (1.4.0)
79
colorator (1.1.0)
810
commonmarker (0.23.10)
@@ -23,14 +25,13 @@ GEM
2325
eventmachine (>= 0.12.9)
2426
http_parser.rb (~> 0)
2527
eventmachine (1.2.7)
26-
eventmachine (1.2.7-x64-mingw32)
2728
ffi (1.16.3)
2829
forwardable-extended (2.6.0)
29-
google-protobuf (3.25.1)
30+
google-protobuf (3.25.1-x86_64-linux)
3031
http_parser.rb (0.8.0)
3132
i18n (1.14.1)
3233
concurrent-ruby (~> 1.0)
33-
jekyll (4.3.2)
34+
jekyll (4.3.3)
3435
addressable (~> 2.4)
3536
colorator (~> 1.0)
3637
em-websocket (~> 0.5)
@@ -58,54 +59,76 @@ GEM
5859
nokogiri (~> 1.12)
5960
jekyll-watch (2.2.1)
6061
listen (~> 3.0)
62+
json (2.7.1)
6163
kramdown (2.4.0)
6264
rexml
6365
kramdown-parser-gfm (1.1.0)
6466
kramdown (~> 2.0)
67+
language_server-protocol (3.17.0.3)
6568
liquid (4.0.4)
6669
listen (3.8.0)
6770
rb-fsevent (~> 0.10, >= 0.10.3)
6871
rb-inotify (~> 0.9, >= 0.9.10)
6972
mercenary (0.4.0)
70-
mini_portile2 (2.8.5)
7173
multi_json (1.15.0)
7274
mustermann (3.0.0)
7375
ruby2_keywords (~> 0.0.1)
74-
nokogiri (1.15.5)
75-
mini_portile2 (~> 2.8.2)
76+
nokogiri (1.16.0-x86_64-linux)
7677
racc (~> 1.4)
78+
parallel (1.24.0)
79+
parser (3.2.2.4)
80+
ast (~> 2.4.1)
81+
racc
7782
pathutil (0.16.2)
7883
forwardable-extended (~> 2.6)
84+
prism (0.19.0)
7985
public_suffix (5.0.4)
8086
racc (1.7.3)
8187
rack (2.2.8)
82-
rack-protection (3.1.0)
88+
rack-protection (3.2.0)
89+
base64 (>= 0.1.0)
8390
rack (~> 2.2, >= 2.2.4)
91+
rainbow (3.1.1)
8492
rake (13.1.0)
8593
rb-fsevent (0.11.2)
8694
rb-inotify (0.10.1)
8795
ffi (~> 1.0)
96+
regexp_parser (2.8.3)
8897
rexml (3.2.6)
8998
rouge (4.2.0)
99+
rubocop (1.59.0)
100+
json (~> 2.3)
101+
language_server-protocol (>= 3.17.0)
102+
parallel (~> 1.10)
103+
parser (>= 3.2.2.4)
104+
rainbow (>= 2.2.2, < 4.0)
105+
regexp_parser (>= 1.8, < 3.0)
106+
rexml (>= 3.2.5, < 4.0)
107+
rubocop-ast (>= 1.30.0, < 2.0)
108+
ruby-progressbar (~> 1.7)
109+
unicode-display_width (>= 2.4.0, < 3.0)
110+
rubocop-ast (1.30.0)
111+
parser (>= 3.2.1.0)
112+
ruby-lsp (0.13.2)
113+
language_server-protocol (~> 3.17.0)
114+
prism (>= 0.19.0, < 0.20)
115+
sorbet-runtime (>= 0.5.5685)
116+
ruby-progressbar (1.13.0)
90117
ruby2_keywords (0.0.5)
91118
safe_yaml (1.0.5)
92119
sass (3.4.25)
93-
sass-embedded (1.63.6)
94-
google-protobuf (~> 3.23)
95-
rake (>= 13.0.0)
96-
sass-embedded (1.63.6-x64-mingw32)
97-
google-protobuf (~> 3.23)
120+
sass-embedded (1.69.7-x86_64-linux-gnu)
121+
google-protobuf (~> 3.25)
98122
sass-globbing (1.1.5)
99123
sass (>= 3.1)
100-
sassc (2.1.0)
124+
sassc (2.1.0-x86_64-linux)
101125
ffi (~> 1.9)
102-
sassc (2.1.0-x64-mingw32)
103-
ffi (~> 1.9)
104-
sinatra (3.1.0)
126+
sinatra (3.2.0)
105127
mustermann (~> 3.0)
106128
rack (~> 2.2, >= 2.2.4)
107-
rack-protection (= 3.1.0)
129+
rack-protection (= 3.2.0)
108130
tilt (~> 2.0)
131+
sorbet-runtime (0.5.11164)
109132
stringex (2.8.6)
110133
terminal-table (3.0.2)
111134
unicode-display_width (>= 1.1.1, < 3)
@@ -118,21 +141,22 @@ GEM
118141
webrick (1.8.1)
119142

120143
PLATFORMS
121-
ruby
122-
x64-mingw32
144+
x86_64-linux
123145

124146
DEPENDENCIES
125147
compass (= 1.0.3)
126-
jekyll (= 4.3.2)
148+
jekyll (= 4.3.3)
127149
jekyll-commonmark (= 1.4.0)
128150
jekyll-paginate (= 1.1.0)
129151
jekyll-sitemap (= 1.4.0)
130152
jekyll-toc (= 0.18.0)
131-
nokogiri (= 1.15.5)
153+
nokogiri (= 1.16.0)
132154
rake (= 13.1.0)
155+
rubocop (= 1.59.0)
156+
ruby-lsp (= 0.13.2)
133157
sass-globbing (= 1.1.5)
134158
sassc (= 2.1.0)
135-
sinatra (= 3.1.0)
159+
sinatra (= 3.2.0)
136160
stringex (= 2.8.6)
137161
tzinfo (~> 2.0)
138162
tzinfo-data
@@ -141,4 +165,4 @@ RUBY VERSION
141165
ruby 2.6.2p47
142166

143167
BUNDLED WITH
144-
2.2.28
168+
2.5.3

source/_dashboards/conditional.markdown

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,7 @@ description: The Conditional card displays another card based on conditions.
77

88
The conditional card displays another card based on conditions.
99

10-
<p class='img'>
11-
<img src='/images/dashboards/conditional_card.gif' alt='Screenshot of the conditional card'>
12-
Screenshot of the conditional card.
13-
</p>
14-
15-
Note: if there are multiple conditions there will be treated as an 'and' condition. This means that for the card to show, _all_ conditions must be met.
10+
![Screenshot of the conditional card](/images/dashboards/conditional_card.gif)
1611

1712
{% include dashboard/edit_dashboard.md %}
1813
Note that while editing the dashboard, the card will always be shown, so be sure to exit editing mode to test the conditions.
@@ -40,6 +35,7 @@ card:
4035

4136
## Examples
4237

38+
Only show when all the conditions are met:
4339
```yaml
4440
type: conditional
4541
conditions:
@@ -62,6 +58,25 @@ card:
6258
- light.bed_light
6359
```
6460
61+
Example condition where only one of the conditions needs to be met:
62+
```yaml
63+
type: conditional
64+
conditions:
65+
- condition: or
66+
conditions:
67+
- condition: state
68+
entity: binary_sensor.co_alert
69+
state: 'on'
70+
- condition: state
71+
entity: binary_sensor.rookmelder
72+
state: 'on'
73+
card:
74+
type: entities
75+
entities:
76+
- binary_sensor.co_alert
77+
- binary_sensor.rookmelder
78+
```
79+
6580
## Card conditions
6681
6782
### State

source/_docs/configuration/yaml.markdown

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "YAML"
33
description: "Details about YAML to configure Home Assistant."
44
---
55

6-
Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations.
6+
Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is powerful in allowing you to express complex configurations.
77

88
While more and more integrations are configured through the UI, for some, you will add code in your [`configuration.yaml`](/docs/configuration/) file to specify its settings.
99

@@ -21,15 +21,15 @@ notify:
2121

2222
The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. This is somewhat similar to a Hash table or more specifically a dictionary in Python. These can be nested as well. **Beware that if you specify duplicate keys, the last value for a key is used**.
2323

24-
Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested "inside" things that are one level higher. So in the above example, `platform: pushbullet` is a property of (nested inside) the `notify` integration.
24+
In YAML, indentation is important for specifying relationships. Indented lines are nested inside lines that are one level higher. In the above example, `platform: pushbullet` is a property of (nested inside) the `notify` integration.
2525

26-
Getting the right indentation can be tricky if you're not using an editor with a fixed width font. Tabs are not allowed to be used for indentation. Convention is to use 2 spaces for each level of indentation.
26+
Getting the right indentation can be tricky if you're not using an editor with a fixed-width font. Tabs are not allowed to be used for indentation. The convention is to use 2 spaces for each level of indentation.
2727

28-
You can use the online service [YAML Validator](https://codebeautify.org/yaml-validator/) to check if your YAML syntax is correct before loading it into Home Assistant which will save you some time. If you do so, be aware that this is a third-party service and is not maintained by the Home Assistant community.
28+
To check if your YAML syntax is correct before loading it into Home Assistant, you can use the third-party service [YAML Validator](https://codebeautify.org/yaml-validator/) (not maintained by the Home Assistant community).
2929

3030
<div class='note'>
3131

32-
Please pay attention to not storing private data (passwords, API keys, etc.) directly in your `configuration.yaml` file. Private data can be stored in either a [separate file](/docs/configuration/secrets/) or in [environmental variables](/docs/configuration/yaml/#using-environment-variables), which circumvents this security problem.
32+
Pay attention to not storing private data (passwords, API keys, etc.) directly in your `configuration.yaml` file. Private data can be stored in either a [separate file](/docs/configuration/secrets/) or in [environmental variables](/docs/configuration/yaml/#using-environment-variables), which circumvents this security problem.
3333

3434
</div>
3535

@@ -76,7 +76,7 @@ example:
7676

7777
#### Default value
7878

79-
If an environment variable is not set, you can fallback to a default value.
79+
If an environment variable is not set, you can fall back to a default value.
8080

8181
```yaml
8282
example:

source/_integrations/alexa.smart_home.markdown

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,6 @@ Only temperature sensors are configured at this time.
10441044

10451045
- _"Alexa, what's the temperature in the kitchen?"_
10461046
- _"Alexa, what's the upstairs temperature?"_
1047-
- _"Alexa, what's the temperature of my ex-girlfriend's heart?"_
10481047

10491048
### Switch, Input Boolean
10501049

0 commit comments

Comments
 (0)