mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 08:16:53 +00:00
Updates 0.103 release blog post
This commit is contained in:
parent
dc74e5baf6
commit
aeadcef241
@ -100,9 +100,9 @@ social:
|
|||||||
|
|
||||||
# Home Assistant release details
|
# Home Assistant release details
|
||||||
current_major_version: 0
|
current_major_version: 0
|
||||||
current_minor_version: 102
|
current_minor_version: 103
|
||||||
current_patch_version: 3
|
current_patch_version: 0
|
||||||
date_released: 2019-11-29
|
date_released: 2019-12-11
|
||||||
|
|
||||||
# Either # or the anchor link to latest release notes in the blog post.
|
# Either # or the anchor link to latest release notes in the blog post.
|
||||||
# Must be prefixed with a # and have double quotes around it.
|
# Must be prefixed with a # and have double quotes around it.
|
||||||
|
@ -10,9 +10,15 @@ $header-subtitle-font-family: $heading-font-family !default;
|
|||||||
.heading {
|
.heading {
|
||||||
font-family: $heading-font-family;
|
font-family: $heading-font-family;
|
||||||
}
|
}
|
||||||
.sans { font-family: $sans; }
|
.sans {
|
||||||
.serif { font-family: $serif; }
|
font-family: $sans;
|
||||||
.mono { font-family: $mono; }
|
}
|
||||||
|
.serif {
|
||||||
|
font-family: $serif;
|
||||||
|
}
|
||||||
|
.mono {
|
||||||
|
font-family: $mono;
|
||||||
|
}
|
||||||
|
|
||||||
body > header h1 {
|
body > header h1 {
|
||||||
font-size: 2.2em;
|
font-size: 2.2em;
|
||||||
@ -37,75 +43,172 @@ h1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: 992px) {
|
@media only screen and (min-width: 992px) {
|
||||||
body { font-size: 1.15em; }
|
body {
|
||||||
h1 { font-size: 2.6em; line-height: 1.2em; }
|
font-size: 1.15em;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
font-size: 2.6em;
|
||||||
|
line-height: 1.2em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#{headings()}{
|
#{headings()} {
|
||||||
@extend .heading;
|
@extend .heading;
|
||||||
text-rendering: optimizelegibility;
|
text-rendering: optimizelegibility;
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
h2, section h1 {
|
h2,
|
||||||
|
section h1 {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
}
|
}
|
||||||
h3, section h2, section section h1 {
|
h3,
|
||||||
|
section h2,
|
||||||
|
section section h1 {
|
||||||
font-size: 1.3em;
|
font-size: 1.3em;
|
||||||
}
|
}
|
||||||
h4, section h3, section section h2, section section section h1 {
|
h4,
|
||||||
|
section h3,
|
||||||
|
section section h2,
|
||||||
|
section section section h1 {
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
h5, section h4, section section h3 {
|
h5,
|
||||||
font-size: .9em;
|
section h4,
|
||||||
|
section section h3 {
|
||||||
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
h6, section h5, section section h4, section section section h3 {
|
h6,
|
||||||
font-size: .8em;
|
section h5,
|
||||||
|
section section h4,
|
||||||
|
section section section h3 {
|
||||||
|
font-size: 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
p, article blockquote, ul, ol { margin-bottom: 1.5em; }
|
p,
|
||||||
|
article blockquote,
|
||||||
ul { list-style-type: disc;
|
ul,
|
||||||
ul { list-style-type: circle; margin-bottom: 0px;
|
ol {
|
||||||
ul { list-style-type: square; margin-bottom: 0px; }}}
|
margin-bottom: 1.5em;
|
||||||
|
|
||||||
ol { list-style-type: decimal;
|
|
||||||
ol { list-style-type: lower-alpha; margin-bottom: 0px;
|
|
||||||
ol { list-style-type: lower-roman; margin-bottom: 0px; }}}
|
|
||||||
|
|
||||||
ul, ol { &, ul, ol { margin-left: 1.3em; }}
|
|
||||||
ul, ol { ul, ol { margin-bottom: 0em; }}
|
|
||||||
|
|
||||||
strong { font-weight: bold; }
|
|
||||||
|
|
||||||
em { font-style: italic; }
|
|
||||||
|
|
||||||
sup, sub { font-size: 0.75em; position: relative; display: inline-block; padding: 0 .2em; line-height: .8em;}
|
|
||||||
sup { top: -.5em; }
|
|
||||||
sub { bottom: -.5em; }
|
|
||||||
|
|
||||||
a[rev='footnote']{ font-size: .75em; padding: 0 .3em; line-height: 1; }
|
|
||||||
|
|
||||||
q { font-style: italic;
|
|
||||||
&:before { content: "\201C"; }
|
|
||||||
&:after { content: "\201D"; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
em, dfn { font-style: italic; }
|
ul {
|
||||||
|
list-style-type: disc;
|
||||||
|
ul {
|
||||||
|
list-style-type: circle;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
ul {
|
||||||
|
list-style-type: square;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
strong, dfn { font-weight: bold; }
|
ol {
|
||||||
|
list-style-type: decimal;
|
||||||
|
ol {
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
ol {
|
||||||
|
list-style-type: lower-roman;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
del, s { text-decoration: line-through; }
|
ul,
|
||||||
|
ol {
|
||||||
|
&,
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
margin-left: 1.3em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
margin-bottom: 0em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
abbr, acronym { border-bottom: 1px dotted; cursor: help; }
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
pre, code, tt { @extend .mono; }
|
em {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
hr { margin-bottom: 0.2em; }
|
sup,
|
||||||
|
sub {
|
||||||
|
font-size: 0.75em;
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 0.2em;
|
||||||
|
line-height: 0.8em;
|
||||||
|
}
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
sub {
|
||||||
|
bottom: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
small { font-size: .8em; }
|
a[rev="footnote"] {
|
||||||
|
font-size: 0.75em;
|
||||||
|
padding: 0 0.3em;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
big { font-size: 1.2em; }
|
q {
|
||||||
|
font-style: italic;
|
||||||
|
&:before {
|
||||||
|
content: '"';
|
||||||
|
}
|
||||||
|
&:after {
|
||||||
|
content: '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
em,
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
strong,
|
||||||
|
dfn {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
del,
|
||||||
|
s {
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr,
|
||||||
|
acronym {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
cursor: help;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
tt {
|
||||||
|
@extend .mono;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
margin-bottom: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
big {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
article blockquote {
|
article blockquote {
|
||||||
$bq-margin: 1.2em;
|
$bq-margin: 1.2em;
|
||||||
@ -114,11 +217,21 @@ article blockquote {
|
|||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
border-left: 4px solid rgba($text-color-light, .5);
|
border-left: 4px solid rgba($text-color-light, 0.5);
|
||||||
cite {
|
cite {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
a { color: $text-color-light !important; word-wrap: break-word; }
|
a {
|
||||||
&:before { content: '\2014'; padding:{right: .3em; left: .3em;} color: $text-color-light; }
|
color: $text-color-light !important;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
&:before {
|
||||||
|
content: "\2014";
|
||||||
|
padding: {
|
||||||
|
right: 0.3em;
|
||||||
|
left: 0.3em;
|
||||||
|
}
|
||||||
|
color: $text-color-light;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@media only screen and (min-width: 992px) {
|
@media only screen and (min-width: 992px) {
|
||||||
padding-left: 1.5em;
|
padding-left: 1.5em;
|
||||||
@ -138,7 +251,7 @@ article blockquote {
|
|||||||
/* Pull out to the right, modular scale based margins. */
|
/* Pull out to the right, modular scale based margins. */
|
||||||
float: right;
|
float: right;
|
||||||
width: 45%;
|
width: 45%;
|
||||||
margin: .5em 0 1em 1.5em;
|
margin: 0.5em 0 1em 1.5em;
|
||||||
|
|
||||||
/* Baseline correction */
|
/* Baseline correction */
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -150,7 +263,7 @@ article blockquote {
|
|||||||
.pullquote-left:before {
|
.pullquote-left:before {
|
||||||
/* Make left pullquotes align properly. */
|
/* Make left pullquotes align properly. */
|
||||||
float: left;
|
float: left;
|
||||||
margin: .5em 1.5em 1em 0;
|
margin: 0.5em 1.5em 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @extend this to force long lines of continuous text to wrap */
|
/* @extend this to force long lines of continuous text to wrap */
|
||||||
@ -161,4 +274,3 @@ article blockquote {
|
|||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,12 +5,11 @@
|
|||||||
/**
|
/**
|
||||||
* If English quotes are set in `_vars.scss`, define them here.
|
* If English quotes are set in `_vars.scss`, define them here.
|
||||||
*/
|
*/
|
||||||
@if $english-quotes == true{
|
@if $english-quotes == true {
|
||||||
$open-quote: \201C;
|
$open-quote: '"';
|
||||||
$close-quote: \201D;
|
$close-quote: '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Big up @boblet: html5doctor.com/blockquote-q-cite
|
* Big up @boblet: html5doctor.com/blockquote-q-cite
|
||||||
*/
|
*/
|
||||||
@ -18,55 +17,52 @@
|
|||||||
/**
|
/**
|
||||||
* Inline quotes.
|
* Inline quotes.
|
||||||
*/
|
*/
|
||||||
q{
|
q {
|
||||||
quotes:"\2018" "\2019" "#{$open-quote}" "#{$close-quote}";
|
quotes: "\2018""\2019""#{$open-quote}""#{$close-quote}";
|
||||||
|
|
||||||
&:before{
|
&:before {
|
||||||
content:"\2018";
|
content: "\2018";
|
||||||
content:open-quote;
|
content: open-quote;
|
||||||
}
|
}
|
||||||
&:after{
|
&:after {
|
||||||
content:"\2019";
|
content: "\2019";
|
||||||
content:close-quote;
|
content: close-quote;
|
||||||
}
|
}
|
||||||
|
|
||||||
q:before{
|
q:before {
|
||||||
content:"\201C";
|
content: '"';
|
||||||
content:open-quote;
|
|
||||||
}
|
}
|
||||||
q:after{
|
q:after {
|
||||||
content:"\201D";
|
content: '"';
|
||||||
content:close-quote;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote{
|
blockquote {
|
||||||
quotes:"#{$open-quote}" "#{$close-quote}";
|
quotes: "#{$open-quote}""#{$close-quote}";
|
||||||
|
|
||||||
p:before{
|
p:before {
|
||||||
content:"#{$open-quote}";
|
content: "#{$open-quote}";
|
||||||
content:open-quote;
|
content: open-quote;
|
||||||
}
|
}
|
||||||
p:after{
|
p:after {
|
||||||
content:"";
|
content: "";
|
||||||
content:no-close-quote;
|
content: no-close-quote;
|
||||||
}
|
}
|
||||||
p:last-of-type:after{
|
p:last-of-type:after {
|
||||||
content:"#{$close-quote}";
|
content: "#{$close-quote}";
|
||||||
content:close-quote;
|
content: close-quote;
|
||||||
}
|
}
|
||||||
|
|
||||||
q:before{
|
q:before {
|
||||||
content:"\2018";
|
content: "\2018";
|
||||||
content:open-quote;
|
content: open-quote;
|
||||||
}
|
}
|
||||||
q:after{
|
q:after {
|
||||||
content:"\2019";
|
content: "\2019";
|
||||||
content:close-quote;
|
content: close-quote;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@ -76,22 +72,22 @@ blockquote{
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
blockquote{
|
blockquote {
|
||||||
/**
|
/**
|
||||||
* .4em is roughly equal to the width of the opening “ that we wish to hang.
|
* .4em is roughly equal to the width of the opening “ that we wish to hang.
|
||||||
*/
|
*/
|
||||||
text-indent:-0.41em;
|
text-indent: -0.41em;
|
||||||
|
|
||||||
p:last-of-type{
|
p:last-of-type {
|
||||||
margin-bottom:0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.source{
|
.source {
|
||||||
display:block;
|
display: block;
|
||||||
text-indent:0;
|
text-indent: 0;
|
||||||
|
|
||||||
&:before{
|
&:before {
|
||||||
content:"\2014";
|
content: "\2014";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
$meta-color: lighten($text-color, 20%);
|
$meta-color: lighten($text-color, 20%);
|
||||||
|
|
||||||
article {
|
article {
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
@extend .clearfix;
|
@extend .clearfix;
|
||||||
border-left: 2px solid $primary-color;
|
border-left: 2px solid $primary-color;
|
||||||
@ -24,8 +23,9 @@ article {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.pullquote-left::before, .pullquote-right::before {
|
.pullquote-left::before,
|
||||||
@media only screen and (max-width: $palm-end){
|
.pullquote-right::before {
|
||||||
|
@media only screen and (max-width: $palm-end) {
|
||||||
border-top: 1px dotted $primary-color;
|
border-top: 1px dotted $primary-color;
|
||||||
border-bottom: 1px dotted $primary-color;
|
border-bottom: 1px dotted $primary-color;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
@ -33,7 +33,7 @@ article {
|
|||||||
}
|
}
|
||||||
border: medium none;
|
border: medium none;
|
||||||
color: $primary-color;
|
color: $primary-color;
|
||||||
content: "\201C" attr(data-pullquote) "\201D";
|
content: "\201C"attr(data-pullquote) "\201D";
|
||||||
float: right;
|
float: right;
|
||||||
font-family: $serif;
|
font-family: $serif;
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
@ -60,7 +60,9 @@ article {
|
|||||||
a {
|
a {
|
||||||
color: $meta-color;
|
color: $meta-color;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
&:hover {text-decoration: underline;}
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -105,7 +107,7 @@ article {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.post {
|
&.post {
|
||||||
@media only screen and (max-width: $palm-end){
|
@media only screen and (max-width: $palm-end) {
|
||||||
.tags {
|
.tags {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
|
@ -54,10 +54,32 @@ We hope this brings a more streamlined experience to the use of services,
|
|||||||
for now, and in the future. For a complete list of old vs. new service names,
|
for now, and in the future. For a complete list of old vs. new service names,
|
||||||
a table as been added to the release notes, [below](#updated-service-names).
|
a table as been added to the release notes, [below](#updated-service-names).
|
||||||
|
|
||||||
## Frenck working full time
|
## Moving imports of Python packages
|
||||||
|
|
||||||
As announced during the State of the Union 2019, Frenck will be working
|
Internally, Home Assistant uses a lot of Python packages, that our integrations
|
||||||
on Home Assistant full-time.
|
are using. In the past weeks, the locations where all those imports take
|
||||||
|
place, was changed. This does not directly resonate with your system
|
||||||
|
and is mainly an internal cleanup.
|
||||||
|
|
||||||
|
A big shout out to the following contributors that together are responsible
|
||||||
|
for making **hundreds** of contributions the past weeks to help us out:
|
||||||
|
|
||||||
|
[@Bouni], [@briglx], [@djpremier], [@exxamalte], [@javicalle], [@Michsior14],
|
||||||
|
[@Misiu], [@mnigbur], [@Quentame], [@springstan], [@thaohtp], [@tulindo]
|
||||||
|
|
||||||
|
Thank you so much!
|
||||||
|
|
||||||
|
[@briglx]: https://github.com/briglx
|
||||||
|
[@djpremier]: https://github.com/djpremier
|
||||||
|
[@javicalle]: https://github.com/javicalle
|
||||||
|
[@Michsior14]: https://github.com/Michsior14
|
||||||
|
[@mnigbur]: https://github.com/mnigbur
|
||||||
|
[@thaohtp]: https://github.com/thaohtp
|
||||||
|
|
||||||
|
## Frenck Joins Nabu Casa
|
||||||
|
|
||||||
|
As announced during the [State of the Union 2019](https://www.home-assistant.io/blog/2019/11/22/state-of-the-union/),
|
||||||
|
Frenck has joined Nabu Casa.
|
||||||
|
|
||||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Today marks the first day of my full time open-source adventure! 🥳 Heading into my office this morning, full of energy and lots thankfulness for this opportunity! I feel blessed to be able to work on <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> for <a href="https://twitter.com/NabuCasa?ref_src=twsrc%5Etfw">@NabuCasa</a> 🙏 <a href="https://t.co/mjkMYeCNaz">pic.twitter.com/mjkMYeCNaz</a></p>— Franck Nijhof (@Frenck) <a href="https://twitter.com/Frenck/status/1201411126224998400?ref_src=twsrc%5Etfw">December 2, 2019</a>
|
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Today marks the first day of my full time open-source adventure! 🥳 Heading into my office this morning, full of energy and lots thankfulness for this opportunity! I feel blessed to be able to work on <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> for <a href="https://twitter.com/NabuCasa?ref_src=twsrc%5Etfw">@NabuCasa</a> 🙏 <a href="https://t.co/mjkMYeCNaz">pic.twitter.com/mjkMYeCNaz</a></p>— Franck Nijhof (@Frenck) <a href="https://twitter.com/Frenck/status/1201411126224998400?ref_src=twsrc%5Etfw">December 2, 2019</a>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
@ -106,11 +128,14 @@ Screenshot of automation actions.
|
|||||||
|
|
||||||
## In other news
|
## In other news
|
||||||
|
|
||||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Looking for a present for the holidays? T-shirts with our rainbow logo are now available in our online store. 🌈<br><br>EU: <a href="https://t.co/KiTDuOFgG2">https://t.co/KiTDuOFgG2</a><br>US: <a href="https://t.co/OdtILXBoDh">https://t.co/OdtILXBoDh</a> <a href="https://t.co/BG5mDWhwYN">pic.twitter.com/BG5mDWhwYN</a></p>— Home Assistant (@home_assistant) <a href="https://twitter.com/home_assistant/status/1202652848703574018?ref_src=twsrc%5Etfw">December 5, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Looking for a present for the holidays? T-shirts with our rainbow logo are now available in our online store. 🌈<br><br>EU: <a href="https://t.co/KiTDuOFgG2">https://t.co/KiTDuOFgG2</a><br>US: <a href="https://t.co/OdtILXBoDh">https://t.co/OdtILXBoDh</a> <a href="https://t.co/BG5mDWhwYN">pic.twitter.com/BG5mDWhwYN</a></p>— Home Assistant (@home_assistant) <a href="https://twitter.com/home_assistant/status/1202652848703574018?ref_src=twsrc%5Etfw">December 5, 2019</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">.<a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> for iOS version 2019.1/2.0 is now (finally) available in an App Store near you! Also releasing today: beautiful new documentation for the app! Check it out at <a href="https://t.co/4RhY8tOand">https://t.co/4RhY8tOand</a>. <a href="https://t.co/YkuhhdRjwu">pic.twitter.com/YkuhhdRjwu</a></p>— Robbie Trencheny (@Robbie) <a href="https://twitter.com/Robbie/status/1199350406809305088?ref_src=twsrc%5Etfw">November 26, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">.<a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> for iOS version 2019.1/2.0 is now (finally) available in an App Store near you! Also releasing today: beautiful new documentation for the app! Check it out at <a href="https://t.co/4RhY8tOand">https://t.co/4RhY8tOand</a>. <a href="https://t.co/YkuhhdRjwu">pic.twitter.com/YkuhhdRjwu</a></p>— Robbie Trencheny (@Robbie) <a href="https://twitter.com/Robbie/status/1199350406809305088?ref_src=twsrc%5Etfw">November 26, 2019</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Home Assistant: Controlling Addressable LEDs like any other light! (WLED integration) <a href="https://t.co/bJJMkZbdn9">https://t.co/bJJMkZbdn9</a> <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> <a href="https://twitter.com/Frenck?ref_src=twsrc%5Etfw">@Frenck</a> <a href="https://twitter.com/hashtag/homeassistant?src=hash&ref_src=twsrc%5Etfw">#homeassistant</a> <a href="https://twitter.com/hashtag/wled?src=hash&ref_src=twsrc%5Etfw">#wled</a> <a href="https://twitter.com/hashtag/ws2812b?src=hash&ref_src=twsrc%5Etfw">#ws2812b</a> <a href="https://twitter.com/hashtag/tutorial?src=hash&ref_src=twsrc%5Etfw">#tutorial</a> <a href="https://twitter.com/hashtag/howto?src=hash&ref_src=twsrc%5Etfw">#howto</a></p>— Intermit.Tech (@IntermitTech) <a href="https://twitter.com/IntermitTech/status/1198936195948011521?ref_src=twsrc%5Etfw">November 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Home Assistant: Controlling Addressable LEDs like any other light! (WLED integration) <a href="https://t.co/bJJMkZbdn9">https://t.co/bJJMkZbdn9</a> <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> <a href="https://twitter.com/Frenck?ref_src=twsrc%5Etfw">@Frenck</a> <a href="https://twitter.com/hashtag/homeassistant?src=hash&ref_src=twsrc%5Etfw">#homeassistant</a> <a href="https://twitter.com/hashtag/wled?src=hash&ref_src=twsrc%5Etfw">#wled</a> <a href="https://twitter.com/hashtag/ws2812b?src=hash&ref_src=twsrc%5Etfw">#ws2812b</a> <a href="https://twitter.com/hashtag/tutorial?src=hash&ref_src=twsrc%5Etfw">#tutorial</a> <a href="https://twitter.com/hashtag/howto?src=hash&ref_src=twsrc%5Etfw">#howto</a></p>— Intermit.Tech (@IntermitTech) <a href="https://twitter.com/IntermitTech/status/1198936195948011521?ref_src=twsrc%5Etfw">November 25, 2019</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
## New Integrations
|
## New Integrations
|
||||||
|
|
||||||
@ -145,40 +170,37 @@ this helps you understand the changes and avoids having issues during an upgrade
|
|||||||
|
|
||||||
All services for use in Home Assistant are moved to their integration naming space.
|
All services for use in Home Assistant are moved to their integration naming space.
|
||||||
|
|
||||||
**The table below lists service calls and platforms which have been moved to their own integrations** - [@raman325]
|
**The list below shows service calls and platforms which have been moved to their own integrations** - [@raman325]
|
||||||
|
|
||||||
| Integration: | Old service/platform: | New service/platform: | PR |
|
- **Local File**: `camera.local_file_update_file_path` -> `local_file.update_file_path` ([#28890])
|
||||||
| ------------------ | --------------------------------------------------- | ---------------------------------- | -------- |
|
- **Elk-M1 Controller**: `alarm_control_panel.elkm1_*` -> `elkm1.*` ([#29128])
|
||||||
| Local File | camera.local*file_update_file_path | local_file.update_file_path | [#28890] |
|
- **Neato**: `vacuum.neato_custom_cleaning` -> `neato.custom_cleaning` ([#29148])
|
||||||
| Elk-M1 Controller | alarm_control_panel.elkm1* | elkm1: | [#29128] |
|
- **Envisalink**: `alarm_control_panel.envisalink_alarm_keypress` -> `envisalink.alarm_keypress` ([#29126])
|
||||||
| Neato | vacuum.neato | neato: | [#29148] |
|
- **IFTTT**: `alarm_control_panel.ifttt_push_alarm_state` -> `ifttt.push_alarm_state` ([#29129])
|
||||||
| Envisalink | alarm*control_panel.envisalink_alarm_keypress | envisalink.alarm_keypress | [#29126] |
|
- **AlarmDecoder Alarm**: `alarm_control_panel.alarmdecoder_alarm_toggle_chime` -> `alarmdecoder.alarm_toggle_chime` ([#29127])
|
||||||
| IFTTT | alarm_control_panel.ifttt_push_alarm_state | ifttt.push_alarm_state | [#29129] |
|
- **Econet**: `water_heater.econet_*` -> `econet.*` ([#29149])
|
||||||
| AlarmDecoder Alarm | alarm_control_panel.alarmdecoder_alarm_toggle_chime | alarmdecoder.alarm_toggle_chime | [#29127] |
|
- **APNS**: `notify.apns_*` -> `apns.apns_*` ([#29165])
|
||||||
| Econet | water_heater.econet*\_ | econet: | [#29149] |
|
- **Facebox**: `image_processing.facebox_teach_face` -> `facebox.teach_face` ([#29151])
|
||||||
| APNS | notify.apns\__ | apns._ | [#29165] |
|
- **HTML5**: `notify.html5_dismiss` -> `html5.dismiss` ([#29145])
|
||||||
| Facebox | image*processing.facebox*_ | facebox._ | [#29151] |
|
- **Lifx**: `light.lifx_*` -> `lifx.*` ([#29136])
|
||||||
| Html5 | notify.html5\__ | html5._ | [#29145] |
|
- **Mill**: `climate.mill_set_room_temperature` -> `mill.set_room_temperature` ([#29132])
|
||||||
| Lifx | light.lifx\__ | lifx._ | [#29136] |
|
- **Todoist**: `calendar.todoist_new_task` -> `todoist.new_task` ([#29131])
|
||||||
| Mill | climate.mill*set_room_temperature | mill.set_room_temperature | [#29132] |
|
- **Wink**: `lock.wink_*` -> `wink.*` ([#29137])
|
||||||
| Todoist | calendar.todoist_new_task | todoist.new_task | [#29131] |
|
- **Wemo**: `fan.wemo_*` -> `wemo.*` ([#29135])
|
||||||
| Wink | lock services.yaml | wink services.yaml | [#29137] |
|
- **Bluetooth**: `device_tracker.update` -> `bluetooth_tracker.update` ([#29161])
|
||||||
| Wemo | fan.wemo*_ | wemo._ | [#29135] |
|
- **Demo**: `device_tracker.randomize_device_tracker_data` -> `demo.randomize_device_tracker_data` ([#29164])
|
||||||
| Bluetooth | device*tracker | bluetooth_tracker | [#29161] |
|
- **iCloud**: `device_tracker.icloud_*` -> `icloud.*` ([#29144])
|
||||||
| Demo | device_tracker.demo | demo.randomize_device_tracker_data | [#29164] |
|
- **Blackbird**: `media_player.blackbird_set_all_zones` -> `blackbird.set_all_zones` ([#29112])
|
||||||
| iCloud | device_tracker.icloud | icloud: | [#29144] |
|
- **Bluesound**: `media_player.bluesound_*` -> `bluesound.*` ([#29111])
|
||||||
| Blackbird | media_player.blackbird_set_all_zones | blackbird.set_all_zones | [#29112] |
|
- **Channels**: `media_player.channels_*` -> `channels.*` ([#29139])
|
||||||
| Bluesound | media_player.bluesound | bluesound.* | [#29111] |
|
- **Epson**: `media_player.epson_select_cmode` -> `epson.select_cmode` ([#29113])
|
||||||
| Channels | media*player.channels*_ | channels._ | [#29139] |
|
- **Monoprice**: `media_player.monoprice_*` -> `monoprice.*` ([#29099])
|
||||||
| Epson | media*player.epson_select_cmode | epson.select_cmode | [#29113] |
|
- **Songpal**: `media_player.songpal_set_sound_setting` -> `songpal.set_sound_setting` ([#29143])
|
||||||
| Monoprice | media_player.monoprice | monoprice.* | [#29099] |
|
- **Soundtouch**: `media_player.soundtouch_*` -> `soundtouch.*` ([#29140])
|
||||||
| Monoprice | media*player.restore | monoprice.restore | [#29099] |
|
- **Squeezebox**: `media_player.squeezebox_call_method` -> `squeezebox.call_method` ([#29141])
|
||||||
| Monoprice | media_player.snapshot | monoprice.snapshot | [#29099] |
|
- **Xiaomi Miio**: `*.xiaomi_miio_*` -> `xiaomi_miio.*` ([#29134])
|
||||||
| Songpal | media_player.songpal | songpal.* | [#29143] |
|
- **Xiaomi Miio**: `*.xiaomi_*` -> `xiaomi_miio.*` ([#29134])
|
||||||
| Soundtouch | media*player.soundtouch\*\* | soundtouch.* | [#29140] |
|
- **Yamaha**: `media_player.yamaha_*` -> `yamaha.*` ([#29142])
|
||||||
| Squeezebox | media*player.squeezebox*_ | squeezebox._ | [#29141] |
|
|
||||||
| Xiaomi Miio | \*.xiaomi*miio*\_ | xiaomi*miio.**\* | [#29134] |
|
|
||||||
| Yamaha | media_player.yamaha** | yamaha.* | [#29142] |
|
|
||||||
|
|
||||||
### Other Breaking Changes
|
### Other Breaking Changes
|
||||||
|
|
||||||
@ -222,6 +244,21 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
## Beta Fixes
|
## Beta Fixes
|
||||||
|
|
||||||
- Delay Plex websocket connection to avoid race ([@jjlawren] - [#28934]) ([plex docs]) (beta fix)
|
- Delay Plex websocket connection to avoid race ([@jjlawren] - [#28934]) ([plex docs]) (beta fix)
|
||||||
|
- Limit available heat/cool modes for HomeKit thermostats ([@neffs] - [#28586]) ([homekit docs]) (beta fix)
|
||||||
|
- Increase somfy SCAN_INTERVAL ([@tetienne] - [#29524]) ([somfy docs]) (beta fix)
|
||||||
|
- Bump georss_generic_client to 0.3 ([@exxamalte] - [#29532]) ([geo_rss_events docs]) (beta fix)
|
||||||
|
- Huawei LTE device tracker fixes ([@scop] - [#29551]) ([huawei_lte docs]) (beta fix)
|
||||||
|
- Change source of device_info ([@Santobert] - [#29570]) ([neato docs]) (beta fix)
|
||||||
|
- Only update disabled_by when enabled default and entity enabled states differ ([@Kane610] - [#29643]) ([unifi docs]) (beta fix)
|
||||||
|
- Fix unit_of_measurement for Starline temperature sensors ([@Anonym-tsk] - [#29740]) ([starline docs]) (beta fix)
|
||||||
|
- HomeAssistant-pyozw 0.1.7 ([@pvizeli] - [#29743]) ([zwave docs]) (beta fix)
|
||||||
|
- Updated frontend to 20191204.1 ([@bramkragten] - [#29787]) ([frontend docs]) (beta fix)
|
||||||
|
- Bump Roku to 4.0.0 ([@bwarden] - [#29809]) ([roku docs]) (beta fix)
|
||||||
|
- Add user-agent to fix dwd_weather_warnings setup error ([@springstan] - [#29596]) ([dwd_weather_warnings docs]) (beta fix)
|
||||||
|
- Add more logging to help future debug situations ([@Kane610] - [#29800]) ([unifi docs]) (beta fix)
|
||||||
|
- UniFi - honor detection time when UniFi wire bug happens ([@Kane610] - [#29820]) ([unifi docs]) (beta fix)
|
||||||
|
- UniFi - Handle disabled switches ([@Kane610] - [#29824]) ([unifi docs]) (beta fix)
|
||||||
|
- Remove uvloop event policy ([@pvizeli] - [#29835]) (beta fix)
|
||||||
|
|
||||||
## All changes
|
## All changes
|
||||||
|
|
||||||
@ -282,7 +319,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
- Update services.yaml for cloudflare component ([@raman325] - [#28888])
|
- Update services.yaml for cloudflare component ([@raman325] - [#28888])
|
||||||
- update services.yaml for keyboard component ([@raman325] - [#28889])
|
- update services.yaml for keyboard component ([@raman325] - [#28889])
|
||||||
- bump herepy to 0.6.3.3 ([@eifinger] - [#28907]) ([here_travel_time docs])
|
- bump herepy to 0.6.3.3 ([@eifinger] - [#28907]) ([here_travel_time docs])
|
||||||
- Update **init**.py ([@SNoof85] - [#28911]) ([freebox docs])
|
- Update __init__.py ([@SNoof85] - [#28911]) ([freebox docs])
|
||||||
- Delay Plex websocket connection to avoid race ([@jjlawren] - [#28934]) ([plex docs]) (beta fix)
|
- Delay Plex websocket connection to avoid race ([@jjlawren] - [#28934]) ([plex docs]) (beta fix)
|
||||||
- Bump verisure to vsure 1.5.4 and jsonpath 0.82 ([@persandstrom] - [#28933]) ([verisure docs])
|
- Bump verisure to vsure 1.5.4 and jsonpath 0.82 ([@persandstrom] - [#28933]) ([verisure docs])
|
||||||
- Add device trigger support for Aqara WXKG11LM 2016 switch to Deconz ([@kurniawan77] - [#28946]) ([deconz docs])
|
- Add device trigger support for Aqara WXKG11LM 2016 switch to Deconz ([@kurniawan77] - [#28946]) ([deconz docs])
|
||||||
@ -576,7 +613,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
- Move imports to top for nut ([@springstan] - [#29368]) ([nut docs])
|
- Move imports to top for nut ([@springstan] - [#29368]) ([nut docs])
|
||||||
- Move imports to top for mycroft ([@springstan] - [#29355]) ([mycroft docs])
|
- Move imports to top for mycroft ([@springstan] - [#29355]) ([mycroft docs])
|
||||||
- Upgrade enturclient to 0.2.1 ([@hfurubotten] - [#29375]) ([entur_public_transport docs])
|
- Upgrade enturclient to 0.2.1 ([@hfurubotten] - [#29375]) ([entur_public_transport docs])
|
||||||
- Remove cloud dependency from mobile_app ([@balloob] - [#29373]) ([mobile_app docs])
|
- Remove cloud dependency from mobile_app ([@balloob] - [#29373]) ([mobile_app docs]) (breaking change)
|
||||||
- Move imports to top for opensensemap ([@springstan] - [#29370]) ([opensensemap docs])
|
- Move imports to top for opensensemap ([@springstan] - [#29370]) ([opensensemap docs])
|
||||||
- Move imports to top for mystrom ([@springstan] - [#29356]) ([mystrom docs])
|
- Move imports to top for mystrom ([@springstan] - [#29356]) ([mystrom docs])
|
||||||
- Move imports to top for nello ([@springstan] - [#29361]) ([nello docs]) ([nello docs])
|
- Move imports to top for nello ([@springstan] - [#29361]) ([nello docs]) ([nello docs])
|
||||||
@ -685,6 +722,21 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
- Move imports to top for canary ([@springstan] - [#29449]) ([canary docs])
|
- Move imports to top for canary ([@springstan] - [#29449]) ([canary docs])
|
||||||
- Switch iperf3 to generate a new client every time it runs a test ([@rohankapoorcom] - [#29495]) ([iperf3 docs])
|
- Switch iperf3 to generate a new client every time it runs a test ([@rohankapoorcom] - [#29495]) ([iperf3 docs])
|
||||||
- Update pyhomematic ([@danielperna84] - [#29477]) ([homematic docs])
|
- Update pyhomematic ([@danielperna84] - [#29477]) ([homematic docs])
|
||||||
|
- Limit available heat/cool modes for HomeKit thermostats ([@neffs] - [#28586]) ([homekit docs]) (beta fix)
|
||||||
|
- Increase somfy SCAN_INTERVAL ([@tetienne] - [#29524]) ([somfy docs]) (beta fix)
|
||||||
|
- Bump georss_generic_client to 0.3 ([@exxamalte] - [#29532]) ([geo_rss_events docs]) (beta fix)
|
||||||
|
- Huawei LTE device tracker fixes ([@scop] - [#29551]) ([huawei_lte docs]) (beta fix)
|
||||||
|
- Change source of device_info ([@Santobert] - [#29570]) ([neato docs]) (beta fix)
|
||||||
|
- Only update disabled_by when enabled default and entity enabled states differ ([@Kane610] - [#29643]) ([unifi docs]) (beta fix)
|
||||||
|
- Fix unit_of_measurement for Starline temperature sensors ([@Anonym-tsk] - [#29740]) ([starline docs]) (beta fix)
|
||||||
|
- HomeAssistant-pyozw 0.1.7 ([@pvizeli] - [#29743]) ([zwave docs]) (beta fix)
|
||||||
|
- Updated frontend to 20191204.1 ([@bramkragten] - [#29787]) ([frontend docs]) (beta fix)
|
||||||
|
- Bump Roku to 4.0.0 ([@bwarden] - [#29809]) ([roku docs]) (beta fix)
|
||||||
|
- Add user-agent to fix dwd_weather_warnings setup error ([@springstan] - [#29596]) ([dwd_weather_warnings docs]) (beta fix)
|
||||||
|
- Add more logging to help future debug situations ([@Kane610] - [#29800]) ([unifi docs]) (beta fix)
|
||||||
|
- UniFi - honor detection time when UniFi wire bug happens ([@Kane610] - [#29820]) ([unifi docs]) (beta fix)
|
||||||
|
- UniFi - Handle disabled switches ([@Kane610] - [#29824]) ([unifi docs]) (beta fix)
|
||||||
|
- Remove uvloop event policy ([@pvizeli] - [#29835]) (beta fix)
|
||||||
|
|
||||||
[#24619]: https://github.com/home-assistant/home-assistant/pull/24619
|
[#24619]: https://github.com/home-assistant/home-assistant/pull/24619
|
||||||
[#26099]: https://github.com/home-assistant/home-assistant/pull/26099
|
[#26099]: https://github.com/home-assistant/home-assistant/pull/26099
|
||||||
@ -719,6 +771,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[#28501]: https://github.com/home-assistant/home-assistant/pull/28501
|
[#28501]: https://github.com/home-assistant/home-assistant/pull/28501
|
||||||
[#28521]: https://github.com/home-assistant/home-assistant/pull/28521
|
[#28521]: https://github.com/home-assistant/home-assistant/pull/28521
|
||||||
[#28560]: https://github.com/home-assistant/home-assistant/pull/28560
|
[#28560]: https://github.com/home-assistant/home-assistant/pull/28560
|
||||||
|
[#28586]: https://github.com/home-assistant/home-assistant/pull/28586
|
||||||
[#28635]: https://github.com/home-assistant/home-assistant/pull/28635
|
[#28635]: https://github.com/home-assistant/home-assistant/pull/28635
|
||||||
[#28641]: https://github.com/home-assistant/home-assistant/pull/28641
|
[#28641]: https://github.com/home-assistant/home-assistant/pull/28641
|
||||||
[#28646]: https://github.com/home-assistant/home-assistant/pull/28646
|
[#28646]: https://github.com/home-assistant/home-assistant/pull/28646
|
||||||
@ -1146,32 +1199,46 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[#29489]: https://github.com/home-assistant/home-assistant/pull/29489
|
[#29489]: https://github.com/home-assistant/home-assistant/pull/29489
|
||||||
[#29490]: https://github.com/home-assistant/home-assistant/pull/29490
|
[#29490]: https://github.com/home-assistant/home-assistant/pull/29490
|
||||||
[#29495]: https://github.com/home-assistant/home-assistant/pull/29495
|
[#29495]: https://github.com/home-assistant/home-assistant/pull/29495
|
||||||
[@adminiuga]: https://github.com/Adminiuga
|
[#29524]: https://github.com/home-assistant/home-assistant/pull/29524
|
||||||
[@anonym-tsk]: https://github.com/Anonym-tsk
|
[#29532]: https://github.com/home-assistant/home-assistant/pull/29532
|
||||||
[@bkpepe]: https://github.com/BKPepe
|
[#29551]: https://github.com/home-assistant/home-assistant/pull/29551
|
||||||
[@bouni]: https://github.com/Bouni
|
[#29570]: https://github.com/home-assistant/home-assistant/pull/29570
|
||||||
[@chrismandich]: https://github.com/ChrisMandich
|
[#29596]: https://github.com/home-assistant/home-assistant/pull/29596
|
||||||
[@danielhiversen]: https://github.com/Danielhiversen
|
[#29643]: https://github.com/home-assistant/home-assistant/pull/29643
|
||||||
[@dilbert66]: https://github.com/Dilbert66
|
[#29740]: https://github.com/home-assistant/home-assistant/pull/29740
|
||||||
[@harlemsquirrel]: https://github.com/HarlemSquirrel
|
[#29743]: https://github.com/home-assistant/home-assistant/pull/29743
|
||||||
[@jaynewstrom]: https://github.com/JayNewstrom
|
[#29787]: https://github.com/home-assistant/home-assistant/pull/29787
|
||||||
[@jefflirion]: https://github.com/JeffLIrion
|
[#29800]: https://github.com/home-assistant/home-assistant/pull/29800
|
||||||
[@k4ds3]: https://github.com/K4ds3
|
[#29809]: https://github.com/home-assistant/home-assistant/pull/29809
|
||||||
[@kane610]: https://github.com/Kane610
|
[#29820]: https://github.com/home-assistant/home-assistant/pull/29820
|
||||||
[@mariusthvdb]: https://github.com/Mariusthvdb
|
[#29824]: https://github.com/home-assistant/home-assistant/pull/29824
|
||||||
[@misiu]: https://github.com/Misiu
|
[#29835]: https://github.com/home-assistant/home-assistant/pull/29835
|
||||||
[@mryck]: https://github.com/Mryck
|
[@Adminiuga]: https://github.com/Adminiuga
|
||||||
[@noblekangaroo]: https://github.com/NobleKangaroo
|
[@Anonym-tsk]: https://github.com/Anonym-tsk
|
||||||
[@ottowinter]: https://github.com/OttoWinter
|
[@BKPepe]: https://github.com/BKPepe
|
||||||
[@pedrolamas]: https://github.com/PedroLamas
|
[@Bouni]: https://github.com/Bouni
|
||||||
[@quentame]: https://github.com/Quentame
|
[@ChrisMandich]: https://github.com/ChrisMandich
|
||||||
[@romkabouter]: https://github.com/Romkabouter
|
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||||
[@snoof85]: https://github.com/SNoof85
|
[@Dilbert66]: https://github.com/Dilbert66
|
||||||
[@santobert]: https://github.com/Santobert
|
[@HarlemSquirrel]: https://github.com/HarlemSquirrel
|
||||||
[@shulyaka]: https://github.com/Shulyaka
|
[@JayNewstrom]: https://github.com/JayNewstrom
|
||||||
[@sukramj]: https://github.com/SukramJ
|
[@JeffLIrion]: https://github.com/JeffLIrion
|
||||||
[@tombrien]: https://github.com/TomBrien
|
[@K4ds3]: https://github.com/K4ds3
|
||||||
[@usa-reddragon]: https://github.com/USA-RedDragon
|
[@Kane610]: https://github.com/Kane610
|
||||||
|
[@Mariusthvdb]: https://github.com/Mariusthvdb
|
||||||
|
[@Misiu]: https://github.com/Misiu
|
||||||
|
[@Mryck]: https://github.com/Mryck
|
||||||
|
[@NobleKangaroo]: https://github.com/NobleKangaroo
|
||||||
|
[@OttoWinter]: https://github.com/OttoWinter
|
||||||
|
[@PedroLamas]: https://github.com/PedroLamas
|
||||||
|
[@Quentame]: https://github.com/Quentame
|
||||||
|
[@Romkabouter]: https://github.com/Romkabouter
|
||||||
|
[@SNoof85]: https://github.com/SNoof85
|
||||||
|
[@Santobert]: https://github.com/Santobert
|
||||||
|
[@Shulyaka]: https://github.com/Shulyaka
|
||||||
|
[@SukramJ]: https://github.com/SukramJ
|
||||||
|
[@TomBrien]: https://github.com/TomBrien
|
||||||
|
[@USA-RedDragon]: https://github.com/USA-RedDragon
|
||||||
[@abmantis]: https://github.com/abmantis
|
[@abmantis]: https://github.com/abmantis
|
||||||
[@adamchengtkc]: https://github.com/adamchengtkc
|
[@adamchengtkc]: https://github.com/adamchengtkc
|
||||||
[@adrum]: https://github.com/adrum
|
[@adrum]: https://github.com/adrum
|
||||||
@ -1181,7 +1248,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[@amelchio]: https://github.com/amelchio
|
[@amelchio]: https://github.com/amelchio
|
||||||
[@andersonshatch]: https://github.com/andersonshatch
|
[@andersonshatch]: https://github.com/andersonshatch
|
||||||
[@andylockran]: https://github.com/andylockran
|
[@andylockran]: https://github.com/andylockran
|
||||||
[@awkwardduck]: https://github.com/awkwardDuck
|
[@awkwardDuck]: https://github.com/awkwardDuck
|
||||||
[@bachya]: https://github.com/bachya
|
[@bachya]: https://github.com/bachya
|
||||||
[@balloob]: https://github.com/balloob
|
[@balloob]: https://github.com/balloob
|
||||||
[@bannhead]: https://github.com/bannhead
|
[@bannhead]: https://github.com/bannhead
|
||||||
@ -1233,6 +1300,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[@michaeldavie]: https://github.com/michaeldavie
|
[@michaeldavie]: https://github.com/michaeldavie
|
||||||
[@mtdcr]: https://github.com/mtdcr
|
[@mtdcr]: https://github.com/mtdcr
|
||||||
[@mvn23]: https://github.com/mvn23
|
[@mvn23]: https://github.com/mvn23
|
||||||
|
[@neffs]: https://github.com/neffs
|
||||||
[@oandrew]: https://github.com/oandrew
|
[@oandrew]: https://github.com/oandrew
|
||||||
[@ochlocracy]: https://github.com/ochlocracy
|
[@ochlocracy]: https://github.com/ochlocracy
|
||||||
[@olijouve]: https://github.com/olijouve
|
[@olijouve]: https://github.com/olijouve
|
||||||
@ -1249,10 +1317,10 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[@tetienne]: https://github.com/tetienne
|
[@tetienne]: https://github.com/tetienne
|
||||||
[@thomasgermain]: https://github.com/thomasgermain
|
[@thomasgermain]: https://github.com/thomasgermain
|
||||||
[@timmccor]: https://github.com/timmccor
|
[@timmccor]: https://github.com/timmccor
|
||||||
[@tofuschnitzel]: https://github.com/tofuSCHNITZEL
|
[@tofuSCHNITZEL]: https://github.com/tofuSCHNITZEL
|
||||||
[@tsvi]: https://github.com/tsvi
|
[@tsvi]: https://github.com/tsvi
|
||||||
[@tulindo]: https://github.com/tulindo
|
[@tulindo]: https://github.com/tulindo
|
||||||
[@uspike]: https://github.com/uSpike
|
[@uSpike]: https://github.com/uSpike
|
||||||
[aftership docs]: /integrations/aftership/
|
[aftership docs]: /integrations/aftership/
|
||||||
[alarm_control_panel docs]: /integrations/alarm_control_panel/
|
[alarm_control_panel docs]: /integrations/alarm_control_panel/
|
||||||
[alarmdecoder docs]: /integrations/alarmdecoder/
|
[alarmdecoder docs]: /integrations/alarmdecoder/
|
||||||
@ -1297,6 +1365,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[dsmr_reader docs]: /integrations/dsmr_reader/
|
[dsmr_reader docs]: /integrations/dsmr_reader/
|
||||||
[duke_energy docs]: /integrations/duke_energy/
|
[duke_energy docs]: /integrations/duke_energy/
|
||||||
[dunehd docs]: /integrations/dunehd/
|
[dunehd docs]: /integrations/dunehd/
|
||||||
|
[dwd_weather_warnings docs]: /integrations/dwd_weather_warnings/
|
||||||
[dyson docs]: /integrations/dyson/
|
[dyson docs]: /integrations/dyson/
|
||||||
[ebox docs]: /integrations/ebox/
|
[ebox docs]: /integrations/ebox/
|
||||||
[ecoal_boiler docs]: /integrations/ecoal_boiler/
|
[ecoal_boiler docs]: /integrations/ecoal_boiler/
|
||||||
@ -1346,6 +1415,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[geizhals docs]: /integrations/geizhals/
|
[geizhals docs]: /integrations/geizhals/
|
||||||
[generic_thermostat docs]: /integrations/generic_thermostat/
|
[generic_thermostat docs]: /integrations/generic_thermostat/
|
||||||
[geo_json_events docs]: /integrations/geo_json_events/
|
[geo_json_events docs]: /integrations/geo_json_events/
|
||||||
|
[geo_rss_events docs]: /integrations/geo_rss_events/
|
||||||
[geonetnz_volcano docs]: /integrations/geonetnz_volcano/
|
[geonetnz_volcano docs]: /integrations/geonetnz_volcano/
|
||||||
[gitter docs]: /integrations/gitter/
|
[gitter docs]: /integrations/gitter/
|
||||||
[gogogate2 docs]: /integrations/gogogate2/
|
[gogogate2 docs]: /integrations/gogogate2/
|
||||||
@ -1579,6 +1649,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
|||||||
[tuya docs]: /integrations/tuya/
|
[tuya docs]: /integrations/tuya/
|
||||||
[twilio_call docs]: /integrations/twilio_call/
|
[twilio_call docs]: /integrations/twilio_call/
|
||||||
[ubee docs]: /integrations/ubee/
|
[ubee docs]: /integrations/ubee/
|
||||||
|
[unifi docs]: /integrations/unifi/
|
||||||
[unifi_direct docs]: /integrations/unifi_direct/
|
[unifi_direct docs]: /integrations/unifi_direct/
|
||||||
[universal docs]: /integrations/universal/
|
[universal docs]: /integrations/universal/
|
||||||
[upcloud docs]: /integrations/upcloud/
|
[upcloud docs]: /integrations/upcloud/
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 41 KiB |
Loading…
x
Reference in New Issue
Block a user