Merge branch 'current' into current-into-next
2
Gemfile
@ -12,7 +12,7 @@ group :development do
|
||||
gem 'sassc', '2.1.0'
|
||||
gem 'sass-embedded', '1.83.4'
|
||||
gem 'rubocop', '1.71.0'
|
||||
gem 'ruby-lsp', '0.23.6'
|
||||
gem 'ruby-lsp', '0.23.7'
|
||||
gem 'rackup', '2.2.1'
|
||||
end
|
||||
|
||||
|
@ -130,7 +130,7 @@ GEM
|
||||
unicode-display_width (>= 2.4.0, < 4.0)
|
||||
rubocop-ast (1.38.0)
|
||||
parser (>= 3.3.1.0)
|
||||
ruby-lsp (0.23.6)
|
||||
ruby-lsp (0.23.7)
|
||||
language_server-protocol (~> 3.17.0)
|
||||
prism (>= 1.2, < 2.0)
|
||||
rbs (>= 3, < 4)
|
||||
@ -156,7 +156,7 @@ GEM
|
||||
rack-protection (= 4.1.1)
|
||||
rack-session (>= 2.0.0, < 3)
|
||||
tilt (~> 2.0)
|
||||
sorbet-runtime (0.5.11784)
|
||||
sorbet-runtime (0.5.11787)
|
||||
stringex (2.8.6)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@ -183,7 +183,7 @@ DEPENDENCIES
|
||||
rackup (= 2.2.1)
|
||||
rake (= 13.2.1)
|
||||
rubocop (= 1.71.0)
|
||||
ruby-lsp (= 0.23.6)
|
||||
ruby-lsp (= 0.23.7)
|
||||
sass-embedded (= 1.83.4)
|
||||
sass-globbing (= 1.1.5)
|
||||
sassc (= 2.1.0)
|
||||
|
@ -20,6 +20,7 @@
|
||||
@import "plugins/integration_alert";
|
||||
|
||||
@import "base/sidebar";
|
||||
@import "aside/buy_dialog";
|
||||
@import "aside/recent_posts";
|
||||
@import "aside/github";
|
||||
@import "aside/pinboard";
|
||||
|
219
sass/homeassistant/aside/_buy_dialog.scss
Normal file
@ -0,0 +1,219 @@
|
||||
// More specificity
|
||||
#landingpage .page-content .content {
|
||||
.ha-buy-dialog {
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
display: none;
|
||||
inset: 0;
|
||||
padding: 40px;
|
||||
place-items: center;
|
||||
position: fixed;
|
||||
z-index: 1200;
|
||||
|
||||
&.open {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
&-inner {
|
||||
background-color: #ffffff;
|
||||
border-radius: 8px;
|
||||
display: grid;
|
||||
gap: 20px;
|
||||
max-width: 624px;
|
||||
padding: 20px;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&-header {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
|
||||
.product-name {
|
||||
flex-grow: 1;
|
||||
font-size: 20px;
|
||||
|
||||
@media (min-width: 704px) {
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.close {
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 20px;
|
||||
max-height: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
@media (min-width: 704px) {
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
&-sidebar {
|
||||
background-color: #F0F0F3;
|
||||
border-radius: 8px;
|
||||
min-width: 140px;
|
||||
padding: 12px;
|
||||
|
||||
&-label {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
&-tabs {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
|
||||
@media (min-width: 704px) {
|
||||
flex-direction: column;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
&-tab {
|
||||
background-color: transparent;
|
||||
border-radius: 4px;
|
||||
color: #4F606E;
|
||||
cursor: pointer;
|
||||
flex-basis: 40%;
|
||||
flex-grow: 1;
|
||||
font-size: 16px;
|
||||
padding: 8px;
|
||||
text-align: center;
|
||||
transition: background-color 0.1s;
|
||||
user-select: none;
|
||||
|
||||
@media (min-width: 704px) {
|
||||
flex-basis: unset;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: #e1e1e1;
|
||||
}
|
||||
|
||||
&.active {
|
||||
background-color: #FCFCFF;
|
||||
color: #000;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-tab {
|
||||
&-content-wrapper {
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
max-height: 475px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
&-content {
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
gap: 32px;
|
||||
|
||||
&.active {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-distributor {
|
||||
&-countries {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 18px;
|
||||
}
|
||||
|
||||
&-country {
|
||||
&-name {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
gap: 10px;
|
||||
padding-bottom: 12px;
|
||||
}
|
||||
|
||||
&-flag {
|
||||
border-radius: 0;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
$letters: "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
@for $i from 1 through 26 {
|
||||
$letter: str-slice($letters, $i, $i);
|
||||
|
||||
&[data-sort="#{$letter}"] {
|
||||
order: $i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-items {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
justify-content: center;
|
||||
|
||||
@media (min-width: 704px) {
|
||||
gap: 20px;
|
||||
justify-content: flex-start;
|
||||
max-width: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
&-item {
|
||||
border: 1px solid #F0F0F3;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
height: 60px;
|
||||
padding: 4px 16px;
|
||||
place-items: center;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
transition: background-color 0.1s;
|
||||
width: 120px;
|
||||
|
||||
span {
|
||||
color: #4F606E;
|
||||
font-size: 10px;
|
||||
height: 14px;
|
||||
line-height: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: #F0F0F3;
|
||||
}
|
||||
}
|
||||
|
||||
&-logo {
|
||||
border: unset;
|
||||
border-radius: 0;
|
||||
box-shadow: unset;
|
||||
flex-grow: 1;
|
||||
height: 100%;
|
||||
max-height: 50px;
|
||||
object-fit: contain;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
449
source/_data/products.yml
Normal file
@ -0,0 +1,449 @@
|
||||
# Flags rendered via https://flagpedia.net/
|
||||
# ship_from accepts ISO 3166 country code
|
||||
green:
|
||||
name: "<strong>Home Assistant Green</strong>"
|
||||
distributors:
|
||||
# America
|
||||
- name: Amazon US
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://www.amazon.com/dp/B0CXVKSG19?maas=maas_adg_BB51722E249D328CABB2F6DF1F8976CC_afap_abs&ref_=aa_maas&tag=maas
|
||||
logo: /images/distributors/amazon.webp
|
||||
- name: ameriDroid
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://ameridroid.com/products/home-assistant-green
|
||||
logo: /images/distributors/ameridroid.webp
|
||||
- name: CloudFree
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://cloudfree.shop/product/home-assistant-green/
|
||||
logo: /images/distributors/cloudfree.webp
|
||||
# Asia
|
||||
- name: Seeed Studio
|
||||
ship_from: China
|
||||
ship_to: Asia
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Australia
|
||||
- name: Oz Smart Things
|
||||
ship_from: Australia
|
||||
ship_to: Australia
|
||||
url: https://www.ozsmartthings.com.au/products/home-assistant-green-smart-hub
|
||||
logo: /images/distributors/oz-smart-things.webp
|
||||
- name: Smart Guys
|
||||
ship_from: Australia
|
||||
ship_to: Australia
|
||||
url: https://smartguys.com.au/home-assistant-green.html
|
||||
logo: /images/distributors/smart-guys.webp
|
||||
- name: SmartHome
|
||||
ship_from: Australia
|
||||
ship_to: Australia
|
||||
url: https://www.smarthome.com.au/product/home-assistant-green/
|
||||
logo: /images/distributors/smarthome.webp
|
||||
# Europe
|
||||
- name: Alza.cz
|
||||
ship_from: Czechia
|
||||
ship_to: Europe
|
||||
url: https://www.alza.cz/home-assistant-green-d7998187.htm
|
||||
logo: /images/distributors/alza-cz.webp
|
||||
- name: Botland
|
||||
ship_from: Poland
|
||||
ship_to: Europe
|
||||
url: https://botland.com.pl/centralki-i-bramki-sieciowe/24319-home-assistant-green-inteligentna-centralka-nabu-casa-nc-green-1175-794677011758.html
|
||||
logo: /images/distributors/botland.webp
|
||||
- name: DinamoTech
|
||||
ship_from: Italy
|
||||
ship_to: Europe
|
||||
url: https://dinamotech.it/products/home-assistant-green
|
||||
logo: /images/distributors/dinamo-tech.webp
|
||||
- name: Domadoo
|
||||
ship_from: France
|
||||
ship_to: Europe
|
||||
url: https://www.domadoo.fr/fr/box-domotique/7046-nabu-casa-box-domotique-home-assistant-green-0794677011758.html
|
||||
logo: /images/distributors/domadoo.jpg
|
||||
- name: Everything Smart Technology
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://shop.everythingsmart.io/products/home-assistant-green
|
||||
logo: /images/distributors/est.webp
|
||||
- name: eWeLink device store
|
||||
ship_from: Hungary
|
||||
ship_to: Europe
|
||||
url: https://ewelinkstore.com/product/home-assistant-green-hub/
|
||||
logo: /images/distributors/ewelink.png
|
||||
- name: HAshop
|
||||
ship_from: Netherlands
|
||||
ship_to: Europe
|
||||
url: https://www.hashop.nl/Home-Assistant-Green
|
||||
logo: /images/distributors/ha-shop.webp
|
||||
- name: ROBBshop
|
||||
ship_from: Netherlands
|
||||
ship_to: Europe
|
||||
url: https://www.robbshop.nl/home-assistant-green-smart-hub
|
||||
logo: /images/distributors/robb.webp
|
||||
- name: Kjell
|
||||
ship_from: Norway
|
||||
ship_to: Europe
|
||||
url: https://www.kjell.com/no/produkter/smarte-hjem/kontroller/nabu-casa-home-assistant-green-p88430
|
||||
logo: /images/distributors/kjell-company.webp
|
||||
- name: Mauser
|
||||
ship_from: Portugal
|
||||
ship_to: Europe
|
||||
url: https://mauser.pt/catalog/product_info.php?products_id=095-3152
|
||||
logo: /images/distributors/mauser.png
|
||||
- name: mediarath
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://mediarath.de/products/home-assistant-green-smart-home-hub-2x-usb-gigabit-lan-hmdi-microsd-slot
|
||||
logo: /images/distributors/mediarath.de.webp
|
||||
- name: m.nu
|
||||
ship_from: Sweden
|
||||
ship_to: Europe
|
||||
url: https://en.m.nu/controllers-smart-hubs/home-assistant-green
|
||||
logo: /images/distributors/m-nu.webp
|
||||
- name: OkosOtthon Bolt
|
||||
ship_from: Hungary
|
||||
ship_to: Europe
|
||||
url: https://okosotthon.bolt.hu/webaruhaz/termek/home-assistant-green-hub/
|
||||
logo: /images/distributors/okosotthon.png
|
||||
- name: Pi-Shop.ch
|
||||
ship_from: Switzerland
|
||||
ship_to: Europe
|
||||
url: https://www.pi-shop.ch/home-assistant-green
|
||||
logo: /images/distributors/pi-shop.webp
|
||||
- name: Pimoroni
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://shop.pimoroni.com/products/home-assistant-green
|
||||
logo: /images/distributors/pimoroni.webp
|
||||
- name: RaspberryPi.dk
|
||||
ship_from: Denmark
|
||||
ship_to: Europe
|
||||
url: https://raspberrypi.dk/en/product/home-assistant-green/
|
||||
logo: /images/distributors/RaspberryPi-dk.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
- name: SmarterHOME
|
||||
ship_from: Slovakia
|
||||
ship_to: Europe
|
||||
url: https://smarterhome.sk/sk/centralne-jednotky/home-assistant-green-smart-home-hub-1490.html
|
||||
logo: /images/distributors/smarter-home.png
|
||||
- name: Swiss-Domotique
|
||||
ship_from: Switzerland
|
||||
ship_to: Europe
|
||||
url: https://shop.swiss-domotique.ch/smarthome-hub/2295-nabu-casa-home-assistant-green.html
|
||||
logo: /images/distributors/swiss-domotique.webp
|
||||
- name: The Pi Hut
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://thepihut.com/products/home-assistant-green
|
||||
logo: /images/distributors/pi-hut.webp
|
||||
- name: Webhallen
|
||||
ship_from: Sweden
|
||||
ship_to: Europe
|
||||
url: https://www.webhallen.com/se/product/364271-Nabu-Casa-Home-Assistant-Green
|
||||
logo: /images/distributors/webhallen.webp
|
||||
- name: WIFIShop
|
||||
ship_from: Romania
|
||||
ship_to: Europe
|
||||
url: https://www.wifishop.ro/en/homeassistant/home-assistant-green.html
|
||||
logo: /images/distributors/wifishop.webp
|
||||
yellow:
|
||||
name: "<strong>Home Assistant Yellow</strong>"
|
||||
distributors:
|
||||
# America
|
||||
- name: ameriDroid
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://ameridroid.com/products/home-assistant-yellow
|
||||
logo: /images/distributors/ameridroid.webp
|
||||
- name: CloudFree
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://cloudfree.shop/product/home-assistant-yellow/
|
||||
logo: /images/distributors/cloudfree.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Yellow-Kit-with-selectable-CM4.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Asia
|
||||
- name: Seeed Studio
|
||||
ship_from: China
|
||||
ship_to: Asia
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Yellow-Kit-with-selectable-CM4.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Europe
|
||||
- name: Botland
|
||||
ship_from: Poland
|
||||
ship_to: Europe
|
||||
url: https://botland.com.pl/centralki-i-bramki-sieciowe/24698-home-assistant-yellow-standard-kit-inteligenta-centralka-zigbee-thread-nabu-casa-yellow-kit-std-794677011741.html
|
||||
logo: /images/distributors/botland.webp
|
||||
- name: Mauser
|
||||
ship_from: Portugal
|
||||
ship_to: Europe
|
||||
url: https://mauser.pt/catalog/product_info.php?products_id=095-3150
|
||||
logo: /images/distributors/mauser.png
|
||||
- name: Pi-Shop.ch
|
||||
ship_from: Switzerland
|
||||
ship_to: Europe
|
||||
url: https://www.pi-shop.ch/home-assistant-yellow-kit-with-power-supply-cm4-not-included
|
||||
logo: /images/distributors/pi-shop.webp
|
||||
- name: RaspberryPi.dk
|
||||
ship_from: Denmark
|
||||
ship_to: Europe
|
||||
url: https://raspberrypi.dk/en/product/home-assistant-yellow/
|
||||
logo: /images/distributors/RaspberryPi-dk.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Yellow-Kit-with-selectable-CM4.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
- name: The Pi Hut
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://thepihut.com/products/home-assistant-yellow
|
||||
logo: /images/distributors/pi-hut.webp
|
||||
zbt-1:
|
||||
name: "<strong>Home Assistant Connect ZBT-1</strong>"
|
||||
distributors:
|
||||
# America
|
||||
- name: ameriDroid
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://ameridroid.com/products/skyconnect
|
||||
logo: /images/distributors/ameridroid.webp
|
||||
- name: CloudFree
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://cloudfree.shop/product/home-assistant-skyconnect/
|
||||
logo: /images/distributors/cloudfree.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://www.seeedstudio.com/Home-Assistant-SkyConnect-p-5479.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Asia
|
||||
- name: Seeed Studio
|
||||
ship_from: China
|
||||
ship_to: Asia
|
||||
url: https://www.seeedstudio.com/Home-Assistant-SkyConnect-p-5479.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Australia
|
||||
- name: Smart Guys
|
||||
ship_from: Australia
|
||||
ship_to: Australia
|
||||
url: https://smartguys.com.au/home-assistant-skyconnect.html
|
||||
logo: /images/distributors/smart-guys.webp
|
||||
# Europe
|
||||
- name: Alza.cz
|
||||
ship_from: Czech Republic
|
||||
ship_to: Europe
|
||||
url: https://www.alza.cz/home-assistant-skyconnect-usb-hub-d7815713.htm
|
||||
logo: /images/distributors/alza-cz.webp
|
||||
- name: Botland
|
||||
ship_from: Poland
|
||||
ship_to: Europe
|
||||
url: https://botland.com.pl/centralki-i-bramki-sieciowe/22759-home-assistant-skyconnect-usb-stick-zgodny-z-zigbeematterthread-794677011635.html
|
||||
logo: /images/distributors/botland.webp
|
||||
- name: DinamoTech
|
||||
ship_from: Italy
|
||||
ship_to: Europe
|
||||
url: https://dinamotech.it/products/home-assistant-connect-zbt-1
|
||||
logo: /images/distributors/dinamo-tech.webp
|
||||
- name: Domadoo
|
||||
ship_from: France
|
||||
ship_to: Europe
|
||||
url: https://www.domadoo.fr/fr/box-domotique/6938-dongle-usb-zigbee-30-sky-connect-pour-home-assistant-nabu-casa-0794677011635.html
|
||||
logo: /images/distributors/domadoo.jpg
|
||||
- name: Everything Smart Technology
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://shop.everythingsmart.io/products/home-assistant-skyconnect
|
||||
logo: /images/distributors/est.webp
|
||||
- name: eWeLink device store
|
||||
ship_from: Hungary
|
||||
ship_to: Europe
|
||||
url: https://ewelinkstore.com/product/home-assistant-connect-zbt-1-a-zigbee-thread-matter-usb-stick/
|
||||
logo: /images/distributors/ewelink.png
|
||||
- name: HAshop
|
||||
ship_from: Netherlands
|
||||
ship_to: Europe
|
||||
url: https://www.hashop.nl/Home-Assistant-SkyConnect
|
||||
logo: /images/distributors/ha-shop.webp
|
||||
- name: Kjell
|
||||
ship_from: Norway
|
||||
ship_to: Europe
|
||||
url: https://www.kjell.com/no/produkter/smarte-hjem/kontroller/nabu-casa-home-assistant-skyconnect-p88431
|
||||
logo: /images/distributors/kjell-company.webp
|
||||
- name: Mauser
|
||||
ship_from: Portugal
|
||||
ship_to: Europe
|
||||
url: https://mauser.pt/catalog/product_info.php?products_id=095-1222
|
||||
logo: /images/distributors/mauser.png
|
||||
- name: mediarath
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://mediarath.de/products/home-assistant-connect-zbt-1-zigbee-thread-matter-usb-stick-fur-home-assistant-skyconnect
|
||||
logo: /images/distributors/mediarath.de.webp
|
||||
- name: m.nu
|
||||
ship_from: Sweden
|
||||
ship_to: Europe
|
||||
url: https://en.m.nu/zigbee/controllers-zigbee/home-assistant-skyconnect-zigbee-matter-thread
|
||||
logo: /images/distributors/m-nu.webp
|
||||
- name: OkosOtthon Bolt
|
||||
ship_from: Hungary
|
||||
ship_to: Europe
|
||||
url: https://okosotthon.bolt.hu/webaruhaz/termek/home-assistant-connect-zbt-1-zigbee-thread-matter-usb-kulcs/
|
||||
logo: /images/distributors/okosotthon.png
|
||||
- name: Pimoroni
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://shop.pimoroni.com/products/home-assistant-connect-zbt-1
|
||||
logo: /images/distributors/pimoroni.webp
|
||||
- name: RaspberryPi.dk
|
||||
ship_from: Denmark
|
||||
ship_to: Europe
|
||||
url: https://raspberrypi.dk/en/product/home-assistant-skyconnect/
|
||||
logo: /images/distributors/RaspberryPi-dk.webp
|
||||
- name: Robbshop
|
||||
ship_from: Netherlands
|
||||
ship_to: Europe
|
||||
url: https://www.robbshop.nl/home-assistant-skyconnect-zigbee-en-thread-usb
|
||||
logo: /images/distributors/robb.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://www.seeedstudio.com/Home-Assistant-SkyConnect-p-5479.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
- name: SmarterHOME
|
||||
ship_from: Slovakia
|
||||
ship_to: Europe
|
||||
url: https://smarterhome.sk/sk/zwave-pc-adaptery/home-assistant-connect-zbt-1-zigbee-a-thread-usb-adapter-1646.html
|
||||
logo: /images/distributors/smarter-home.png
|
||||
- name: Swiss-Domotique
|
||||
ship_from: Switzerland
|
||||
ship_to: Europe
|
||||
url: https://shop.swiss-domotique.ch/de/smarthome-zentrale/2118-nabu-casa-home-assistant-skyconnect.html
|
||||
logo: /images/distributors/swiss-domotique.webp
|
||||
- name: The Pi Hut
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://thepihut.com/collections/latest-raspberry-pi-products/products/home-assistant-skyconnect
|
||||
logo: /images/distributors/pi-hut.webp
|
||||
- name: Webhallen
|
||||
ship_from: Sweden
|
||||
ship_to: Europe
|
||||
url: https://www.webhallen.com/se/product/357205-Home-Assistant-SkyConnect-ZigbeeMatterThread
|
||||
logo: /images/distributors/webhallen.webp
|
||||
- name: WIFIShop
|
||||
ship_from: Romania
|
||||
ship_to: Europe
|
||||
url: https://www.wifishop.ro/en/homeassistant/home-assistant-skyconnect.html
|
||||
logo: /images/distributors/wifishop.webp
|
||||
voice-pe:
|
||||
name: "<strong>Home Assistant Voice</strong> Preview Edition"
|
||||
distributors:
|
||||
# America
|
||||
- name: ameriDroid
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://ameridroid.com/products/home-assistant-voice-preview-edition/
|
||||
logo: /images/distributors/ameridroid.webp
|
||||
- name: CloudFree
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://cloudfree.shop/product/home-assistant-voice-preview-edition/
|
||||
logo: /images/distributors/cloudfree.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: US
|
||||
ship_to: America
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Voice-p-6998.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Asia
|
||||
- name: Seeed Studio
|
||||
ship_from: China
|
||||
ship_to: Asia
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Voice-p-6998.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
# Australia
|
||||
- name: OZ Smart Things
|
||||
ship_from: Australia
|
||||
ship_to: Australia
|
||||
url: https://www.ozsmartthings.com.au/products/ha-voice-preview-edition
|
||||
logo: /images/distributors/oz-smart-things.webp
|
||||
- name: Smart Guys
|
||||
ship_from: Australia
|
||||
ship_to: Australia
|
||||
url: https://smartguys.com.au/product/home-assistant-voice-preview-edition/
|
||||
logo: /images/distributors/smart-guys.webp
|
||||
# Europe
|
||||
- name: Alza.cz
|
||||
ship_from: Czechia
|
||||
ship_to: Europe
|
||||
url: https://www.alza.cz/home-assistant-voice-preview-edition-d12741248.htm
|
||||
logo: /images/distributors/alza-cz.webp
|
||||
- name: RaspberryPi.dk
|
||||
ship_from: Denmark
|
||||
ship_to: Europe
|
||||
url: https://raspberrypi.dk/en/product/home-assistant-voice-preview-edition/
|
||||
logo: /images/distributors/RaspberryPi-dk.webp
|
||||
- name: Domadoo
|
||||
ship_from: France
|
||||
ship_to: Europe
|
||||
url: https://www.domadoo.fr/fr/box-domotique/7558-nabu-casa-home-assistant-voice-preview-edition-0860011789727.html
|
||||
logo: /images/distributors/domadoo.jpg
|
||||
- name: Mediarath
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://mediarath.de/products/home-assistant-voice-preview-edition-open-source-privacy-focused-voice-assistant-with-esphome
|
||||
logo: /images/distributors/mediarath.de.webp
|
||||
- name: Seeed Studio
|
||||
ship_from: Germany
|
||||
ship_to: Europe
|
||||
url: https://www.seeedstudio.com/Home-Assistant-Voice-p-6998.html
|
||||
logo: /images/distributors/seeed-studio.webp
|
||||
- name: Dinamotech
|
||||
ship_from: Italy
|
||||
ship_to: Europe
|
||||
url: https://dinamotech.it/products/home-assistant-voice
|
||||
logo: /images/distributors/dinamo-tech.webp
|
||||
- name: Botland
|
||||
ship_from: Poland
|
||||
ship_to: Europe
|
||||
url: https://botland.com.pl/asystenci-glosowi/25872-home-assistant-voice-preview-edition-asystent-glosowy-860011789727.html
|
||||
logo: /images/distributors/botland.webp
|
||||
- name: Mauser.pt
|
||||
ship_from: Portugal
|
||||
ship_to: Europe
|
||||
url: https://mauser.pt/catalog/product_info.php?products_id=095-4747
|
||||
logo: /images/distributors/mauser.png
|
||||
- name: SmarterHOME
|
||||
ship_from: Slovakia
|
||||
ship_to: Europe
|
||||
url: https://smarterhome.sk/sk/hlasovi-asistenti/home-assistant-voice-preview-edition-1714.html
|
||||
logo: /images/distributors/smarter-home.png
|
||||
- name: Webhallen
|
||||
ship_from: Sweden
|
||||
ship_to: Europe
|
||||
url: https://www.webhallen.com/377166
|
||||
logo: /images/distributors/webhallen.webp
|
||||
- name: Swiss-Domotique
|
||||
ship_from: Switzerland
|
||||
ship_to: Europe
|
||||
url: https://shop.swiss-domotique.ch/de/sound/2667-nabu-casa-home-assistant-voice-preview-edition.html
|
||||
logo: /images/distributors/swiss-domotique.webp
|
||||
- name: The Pi Hut
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://thepihut.com/products/home-assistant-voice-preview-edition
|
||||
logo: /images/distributors/pi-hut.webp
|
||||
- name: Everything Smart Technology
|
||||
ship_from: UK
|
||||
ship_to: Europe
|
||||
url: https://shop.everythingsmart.io/products/home-assistant-voice-preview-edition
|
||||
logo: /images/distributors/est.webp
|
138
source/_includes/custom/buy-dialog.html
Normal file
@ -0,0 +1,138 @@
|
||||
{% if include.product and site.data.products[include.product] %}
|
||||
{% assign product = site.data.products[include.product] %}
|
||||
{% assign distributor_regions = product.distributors | group_by: 'ship_to' %}
|
||||
{% endif %}
|
||||
|
||||
<div class="ha-buy-dialog">
|
||||
<div class="ha-buy-dialog-inner">
|
||||
<div class="ha-buy-dialog-header">
|
||||
<div class="product-name">{{ product.name }}</div>
|
||||
<div class="close">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ha-buy-dialog-content">
|
||||
<div class="ha-buy-dialog-sidebar">
|
||||
<div class="ha-buy-dialog-sidebar-label">Shipping to</div>
|
||||
<div class="ha-buy-dialog-sidebar-tabs">
|
||||
{% for distributor_region in distributor_regions %}
|
||||
<div class="ha-buy-dialog-sidebar-tab {% if forloop.first %}active{% endif %}" aria-role="tab" aria-selected="true" aria-controls="#{{ distributor_region.name | slugify }}" data-tab="#{{ distributor_region.name | slugify }}">
|
||||
{{ distributor_region.name }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ha-buy-dialog-tab-content-wrapper">
|
||||
{% for distributor_region in distributor_regions %}
|
||||
<div class="ha-buy-dialog-tab-content {% if forloop.first %}active{% endif %}" id="{{ distributor_region.name | slugify }}">
|
||||
{% assign az_ship_distributors = distributor_region.items | sort: 'name' | sort: 'ship_from'%}
|
||||
<div class="ha-buy-dialog-distributor-items">
|
||||
{% for distributor in az_ship_distributors %}
|
||||
<a href="{{ distributor.url }}" target="_blank" rel="noreferrer" class="ha-buy-dialog-distributor-item">
|
||||
{% if distributor.logo %}
|
||||
<img src="{{ distributor.logo }}" alt="{{ distributor.name }} logo" class="ha-buy-dialog-distributor-logo">
|
||||
{% else %}
|
||||
{{ distributor.name }}
|
||||
{% endif %}
|
||||
<span>
|
||||
Ships from {{ distributor.ship_from }}
|
||||
</span>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<link rel="stylesheet" href="/voice-pe/nice-select2.css" />
|
||||
<script src="/voice-pe/nice-select2.js" defer></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
let dialog = document.querySelector('.ha-buy-dialog');
|
||||
let tabs = dialog.querySelectorAll('.ha-buy-dialog-sidebar-tab');
|
||||
let tabContents = dialog.querySelectorAll('.ha-buy-dialog-tab-content');
|
||||
|
||||
tabs.forEach(tab => {
|
||||
tab.addEventListener('click', function () {
|
||||
tabs = dialog.querySelectorAll('.ha-buy-dialog-sidebar-tab');
|
||||
|
||||
tabs.forEach(tab => tab.classList.remove('active'));
|
||||
tabContents.forEach(tabContent => tabContent.classList.remove('active'));
|
||||
|
||||
let tabContent = dialog.querySelector(tab.getAttribute('data-tab'));
|
||||
if(!tabContent) return;
|
||||
|
||||
tab.classList.add('active');
|
||||
tabContent.classList.add('active');
|
||||
})
|
||||
});
|
||||
|
||||
let close = dialog.querySelector('.close');
|
||||
close.addEventListener('click', function () {
|
||||
dialog.classList.remove('open');
|
||||
document.documentElement.style.overflow = "";
|
||||
});
|
||||
|
||||
let openTargets = document.querySelectorAll('.buy');
|
||||
openTargets.forEach(target => {
|
||||
target.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
dialog.classList.add('open');
|
||||
document.documentElement.style.overflow = "hidden";
|
||||
focusDistributors(dialog);
|
||||
});
|
||||
});
|
||||
|
||||
if (window.location.hash === '#buy') {
|
||||
dialog.classList.add('open');
|
||||
document.documentElement.style.overflow = "hidden";
|
||||
focusDistributors(dialog);
|
||||
}
|
||||
|
||||
dialog.addEventListener('click', function (e) {
|
||||
if (!e.target.closest('.ha-buy-dialog-inner')) {
|
||||
dialog.classList.remove('open');
|
||||
document.documentElement.style.overflow = "";
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('keydown', function (e) {
|
||||
if (e.key === 'Escape') {
|
||||
dialog.classList.remove('open');
|
||||
document.documentElement.style.overflow = "";
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function focusDistributors(dialog){
|
||||
let tabs = dialog.querySelectorAll('.ha-buy-dialog-sidebar-tab');
|
||||
let tabContents = dialog.querySelectorAll('.ha-buy-dialog-tab-content');
|
||||
let timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
let region = timezone.split('/')[0].toLowerCase();
|
||||
let locale = Intl.DateTimeFormat().resolvedOptions().locale;
|
||||
let countryCode = locale.split('-')[1].toLowerCase();
|
||||
|
||||
|
||||
let defaultTab = dialog.querySelector(`.ha-buy-dialog-sidebar-tab[data-tab="#${region}"]`);
|
||||
if (defaultTab) {
|
||||
tabs.forEach(tab => tab.classList.remove('active'));
|
||||
tabContents.forEach(tabContent => tabContent.classList.remove('active'));
|
||||
|
||||
defaultTab.classList.add('active');
|
||||
let tabContent = document.querySelector(defaultTab.getAttribute('data-tab'));
|
||||
tabContent.classList.add('active');
|
||||
|
||||
let country = tabContent.querySelector(`.ha-buy-dialog-distributor-country[data-code="${countryCode}"]`);
|
||||
if (country) {
|
||||
country.scrollIntoView({ behavior: 'instant', block: 'center' });
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
@ -14,8 +14,84 @@ ha_platforms:
|
||||
ha_integration_type: device
|
||||
---
|
||||
|
||||
The `enigma2` platform allows you to control a Linux based set-top box which is running [Enigma2](https://github.com/oe-alliance/oe-alliance-enigma2) with the OpenWebif plugin installed.
|
||||
The **Enigma2** {% term integration %} allows you to control a Linux based set-top box which is running [Enigma2](https://github.com/oe-alliance/oe-alliance-enigma2) with the OpenWebif plugin installed.
|
||||
|
||||
[OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open source web interface for Enigma2 based set-top boxes.
|
||||
[OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open-source web interface for Enigma2 based set-top boxes.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
Your device needs to have the OpenWebif plugin installed. On most devices it is installed by default, if not, it is available via the Plugins menu within your Enigma2 distribution.
|
||||
|
||||
Please beware that the OpenWebif setting "Require client cert for HTTPS" is not supported.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
{% configuration_basic %}
|
||||
Host:
|
||||
description: "The IP address or hostname of your device."
|
||||
Port:
|
||||
description: "The port number of the OpenWebif service running. (default: 80)."
|
||||
Username:
|
||||
description: "The username, if HTTP(S) authentication is enabled."
|
||||
Password:
|
||||
description: "The password, if HTTP(S) authentication is enabled."
|
||||
Uses an SSL certificate:
|
||||
description: "Whether HTTPS is enabled."
|
||||
Verify SSL certificate:
|
||||
description: "Whether the SSL certificate should be verified."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Configuration options
|
||||
|
||||
The integration provides the following configuration options:
|
||||
|
||||
{% configuration_basic %}
|
||||
Turn off to deep standby:
|
||||
description: "Shuts the device down (called Deep Standby) on turning off the device. **Important**: When the device is in *Deep Standby*, it can no longer be reached! Turning on the device is only possible via one of the following methods: Wake on LAN, Power button on the device, or the Remote control."
|
||||
Bouquet to use as media source:
|
||||
description: "Sets the bouquet to use for the source list."
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Entities
|
||||
|
||||
Currently, the following entity is exposed:
|
||||
|
||||
### Media player
|
||||
|
||||
The following actions are supported:
|
||||
|
||||
- Play/Pause
|
||||
- Channel up and down (using the previous/next track buttons in the media player controls)
|
||||
- Volume control
|
||||
- Channel switching via source list
|
||||
|
||||
The bouquet for the source list can be configured via the Configuration options.
|
||||
|
||||
## Data updates
|
||||
|
||||
This integration fetches data from the device every 15 seconds by default.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Getting a 403.6 IP address rejected error on setup
|
||||
|
||||
#### Description
|
||||
|
||||
OpenWebif has a protection by default, so that only devices in the same subnet can connect to the device.
|
||||
|
||||
#### Resolution
|
||||
|
||||
There are two possible solutions to resolve this problem:
|
||||
|
||||
- Enable HTTP(S) authentication (recommended for security)
|
||||
- Enable the OpenWebif setting "Enable access from VPNs"
|
||||
|
||||
{% note %}
|
||||
If you choose to enable VPN access without authentication, ensure your network is properly secured as OpenWebif is not designed for publicly facing the internet.
|
||||
{% endnote %}
|
||||
|
||||
## Remove integration
|
||||
|
||||
This integration follows standard integration removal, no extra steps are required.
|
||||
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -24,6 +24,8 @@ You need to register for an API key by following the instructions [here](https:/
|
||||
|
||||
A quota can be set against the API to avoid exceeding the free credit amount. Set the 'Elements per day' to a limit of 645 or less. Details on how to configure a quota can be found [here](https://developers.google.com/maps/documentation/distance-matrix/usage-and-billing#set-caps)
|
||||
|
||||
**Starting March 2025** Google will change the pricing scheme from the US$200 per month credit to 10,000 free requests. You should adjust your limit to 322 or less. You can find more information on the pricing changes in the [Google developer documentation](https://developers.google.com/maps/billing-and-pricing/faq#pricing-sheet).
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
Notes:
|
||||
|
@ -368,12 +368,12 @@ The component specific options are placed as mappings under the `components` key
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
"hw": "1.0rev2"
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
"url": "https://bla2mqtt.example.com/support"
|
||||
},
|
||||
"cmps": {
|
||||
"some_unique_component_id1": {
|
||||
@ -381,18 +381,18 @@ The component specific options are placed as mappings under the `components` key
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
"unique_id":"temp01ae_t"
|
||||
},
|
||||
"some_unique_id2": {
|
||||
"p": "sensor",
|
||||
"device_class":"humidity",
|
||||
"unit_of_measurement":"%",
|
||||
"value_template":"{% raw %}{{ value_json.humidity}}{% endraw %}",
|
||||
"unique_id":"temp01ae_h",
|
||||
"unique_id":"temp01ae_h"
|
||||
}
|
||||
},
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
"qos": 2
|
||||
}
|
||||
```
|
||||
|
||||
@ -411,12 +411,12 @@ An empty config can be published as an update to remove a single component from
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
"hw": "1.0rev2"
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
"url": "https://bla2mqtt.example.com/support"
|
||||
},
|
||||
"cmps": {
|
||||
"some_unique_component_id1": {
|
||||
@ -424,14 +424,14 @@ An empty config can be published as an update to remove a single component from
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
"unique_id":"temp01ae_t"
|
||||
},
|
||||
"some_unique_id2": {
|
||||
"p": "sensor",
|
||||
"p": "sensor"
|
||||
}
|
||||
},
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
"qos": 2
|
||||
}
|
||||
```
|
||||
|
||||
@ -448,12 +448,12 @@ After removing a component, you should send another update with the removed comp
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
"hw": "1.0rev2"
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
"url": "https://bla2mqtt.example.com/support"
|
||||
},
|
||||
"cmps": {
|
||||
"some_unique_component_id1": {
|
||||
@ -461,11 +461,11 @@ After removing a component, you should send another update with the removed comp
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
"unique_id":"temp01ae_t"
|
||||
}
|
||||
},
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
"qos": 2
|
||||
}
|
||||
```
|
||||
|
||||
@ -583,7 +583,7 @@ Discovery payload device:
|
||||
"state_topic": "foobar/sensor/sensor1",
|
||||
"unique_id": "bla_sensor001"
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@ -626,19 +626,19 @@ Example discovery payload:
|
||||
"mdl": "xya",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
"hw": "1.0rev2"
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
"url": "https://bla2mqtt.example.com/support"
|
||||
},
|
||||
"device_class":"temperature",
|
||||
"unit_of_measurement":"°C",
|
||||
"value_template":"{% raw %}{{ value_json.temperature}}{% endraw %}",
|
||||
"unique_id":"temp01ae_t",
|
||||
"state_topic":"sensorBedroom/state",
|
||||
"qos": 2,
|
||||
"qos": 2
|
||||
}
|
||||
```
|
||||
|
||||
@ -1297,12 +1297,12 @@ Setting up a [light that takes JSON payloads](/integrations/light.mqtt/#json-sch
|
||||
"mdl_id": "ABC123",
|
||||
"sw": "1.0",
|
||||
"sn": "ea334450945afc",
|
||||
"hw": "1.0rev2",
|
||||
"hw": "1.0rev2"
|
||||
},
|
||||
"o": {
|
||||
"name":"bla2mqtt",
|
||||
"sw": "2.1",
|
||||
"url": "https://bla2mqtt.example.com/support",
|
||||
"url": "https://bla2mqtt.example.com/support"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -38,15 +38,11 @@ Cameras and doorbells use [Automation and device triggers](#automation-and-devic
|
||||
|
||||
You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow.
|
||||
|
||||
{% caution %}
|
||||
The Nest Smart Device Management (SDM) API **requires a US$5 fee**. Before buying, make sure your device is [supported](https://developers.google.com/nest/device-access/supported-devices).
|
||||
{% endcaution %}
|
||||
# Prerequisites
|
||||
|
||||
{% note %}
|
||||
The Google Nest integration uses a Cloud Pub/Sub subscription with a 15-minute retention period by default. The Google Cloud Pub/Sub billing changes, effective June 30, 2024, do not apply. The billing changes only apply to subscriptions with a 24-hour retention period. See the [Pub/Sub console](https://console.cloud.google.com/cloudpubsub/subscription/list) to view your subscriptions if you previously created one manually.
|
||||
{% endnote %}
|
||||
- The Nest Device Access Console Pub/Sub setup process has changed as of January 23rd 2025. **Please make sure you are using the latest version of Home Assistant.**
|
||||
|
||||
<lite-youtube videoid="RwZmQ7QfhsM" videotitle="Finally! A WORKING NEST Integration with Home Assistant using Oauth!" posterquality="maxresdefault"></lite-youtube>
|
||||
- The Nest Smart Device Management (SDM) API **requires a US$5 fee**. Before buying, make sure your device is [supported](https://developers.google.com/nest/device-access/supported-devices).
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -163,24 +159,78 @@ Now that you have authentication configured, you will create a Nest Device Acces
|
||||
Read the warnings on the page before proceeding, including Google Account type limitations.
|
||||
{% endnote %}
|
||||
|
||||
1. Click on the button **[Go to the Device Access Console](https://console.nest.google.com/device-access/)**.
|
||||
2. Select the button **[Go to the Device Access Console](https://console.nest.google.com/device-access/)**.
|
||||

|
||||
|
||||
2. Check the box to "Accept the Terms of Service" and click **Continue to Payment** where you need to pay a fee (currently US$5).
|
||||
3. Check the box to "Accept the Terms of Service" and select **Continue to Payment** where you need to pay a fee (currently US$5).
|
||||

|
||||
|
||||
3. Now the [Device Access Console](https://console.nest.google.com/device-access/project-list) should be visible. Click on **Create project**.
|
||||
4. Now the [Device Access Console](https://console.nest.google.com/device-access/project-list) should be visible. Select **Create project**.
|
||||
|
||||
4. Give your Device Access project a name and click **Next**.
|
||||
5. Give your Device Access project a name and select **Next**.
|
||||

|
||||
|
||||
5. Next you will be asked for an *OAuth client ID* which you created in the previous step and click **Next**.
|
||||
6. Next you will be asked for an **OAuth client ID** which you created in the previous step and select **Next**.
|
||||

|
||||
|
||||
6. Enable Events by clicking on **Enable** and **Create project**.
|
||||

|
||||
7. Leave **Enable Events** unchecked for now and **Create project**. You need a Pub/Sub topic
|
||||
(created in the next section) to enable events. This requires additional setup in the
|
||||
Google Cloud Pub/Sub console so we will skip that step for now then come back to it in
|
||||
the next section.
|
||||
|
||||
7. You now have a *Device Access Project ID* needed by Home Assistant.
|
||||
8. You now have a *Device Access Project ID* needed by Home Assistant.
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Enable events and Pub/Sub topic [Device Access & Cloud Console]" %}
|
||||
|
||||
The Nest Device Access Console Pub/Sub setup process has changed as of January 23rd 2025. **Please make sure you are using the latest version of Home Assistant.**.
|
||||
|
||||
This section describes how to configure your Device Access Project with a Pub/Sub topic
|
||||
to publish events for devices in your home. Home Assistant and the Device Access Project must be configured to use the *Topic Name* otherwise you will not receive events.
|
||||
|
||||
If you previously set up events, then your Device Access Project may have already created a topic for you and you can use that topic name. For new projects, or if you disable events, you need to create the topic yourself following the instructions below.
|
||||
|
||||
1. Go to the [Pub/Sub Google Cloud Console](https://console.cloud.google.com/cloudpubsub/topic/list).
|
||||
|
||||
2. Select **Create Topic**.
|
||||
|
||||
3. Enter a **Topic ID** such as `home-assistant-nest`. You may leave the default settings.
|
||||
|
||||

|
||||
|
||||
4. Select **Create** to create the topic.
|
||||
|
||||
5. You now have a **Topic Name** needed by the Device Access Console and Home Assistant. The full **Topic Name** that contains your Cloud Project ID and the **Topic ID** such as `projects/<cloud console id>/topics/home-assistant-nest`.
|
||||
|
||||
6. Next, you need to give the Device Access Console permission to publish to your Topic. From the Pub/Sub Topic page select **Add Principal**.
|
||||
|
||||

|
||||
|
||||
7. In **New Principals** enter `sdm-publisher@googlegroups.com`
|
||||
|
||||
8. In **Select a Role** under **Pub/Sub** select **Pub/Sub Publisher** and **Create**.
|
||||
|
||||

|
||||
|
||||
9. Next you can configure the Device Access Console to use this topic. Visit the [Device Access Console](https://console.nest.google.com/device-access/).
|
||||
|
||||
10. Select the Device Access Project you previously created. It should show the Pub/Sub topic
|
||||
as disabled. If there is an existing topic shown, then you may delete it and use
|
||||
the one you just created to avoid getting them mixed up.
|
||||
|
||||

|
||||
|
||||
11. Select *...* next to **Pub/Sub topic**, then **Enable events with PubSub topic**.
|
||||
|
||||
12. Enter the full Pub/Sub **Topic Name** and select **Add & Validate**. If you see an error, then
|
||||
review the previous steps again and configure the topic and permissions.
|
||||
|
||||

|
||||
|
||||
13. You have successfully configured events and the Pub/Sub topic used by Home Assistant.
|
||||
|
||||

|
||||
|
||||
{% enddetails %}
|
||||
|
||||
@ -190,9 +240,6 @@ In this section you will authorize Home Assistant to access your account by gene
|
||||
|
||||
See [Troubleshooting](#troubleshooting) below for steps to resolve the common misconfigurations that result in errors such as *Can't link...* or *Error 400* from Google.
|
||||
|
||||
Note that *OAuth for Apps* has been [deprecated](https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html) by Google and will break by October 2022.
|
||||
|
||||
|
||||
1. In Home Assistant, you should already be going through the setup flow. If not, go back and click the *My: Add Integration* button above to start the setup. The integration will ask you for all of the necessary integration configuration.
|
||||
|
||||
2. Once all configuration information is entered in Home Assistant, a new tab opens, allowing you to choose a Google account. This should be the same developer account you configured above.
|
||||
@ -216,7 +263,19 @@ Note that *OAuth for Apps* has been [deprecated](https://developers.googleblog.c
|
||||
|
||||
8. You will now see a page hosted by *My Home Assistant* asking if you would like to *Link account to Home Assistant?* Click **Link Account** to continue.
|
||||
|
||||
9. If all went well, you are ready to go!
|
||||
9. If all went well, you will next configure events and Pub/Sub topic. Nest will attempt
|
||||
to automatically find a Pub/sub topic either created by the Device Access Console
|
||||
or manually by you.
|
||||
|
||||

|
||||
|
||||
10. If you instead see the error message *No eligible Pub/Sub topics found, please ensure Device Access Console has a Pub/Sub topic.* then follow the steps in the previous section to enable events and create a Pub/Sub topic in another browser tab. Once you have created and configured the topic, you may press on this screen **Submit** to refresh the list of topics and continue.
|
||||
|
||||
11. Home Assistant uses a *Subscription* to subscribe to device events published on the topic. You can select the subscription you created in the Device Access Console or the integration will automatically create one for you if you don't have one already.
|
||||

|
||||
|
||||
|
||||
12. If all went well, you are ready to go!
|
||||
|
||||

|
||||
|
||||
@ -465,56 +524,6 @@ This feature is enabled by the following permissions:
|
||||
|
||||
{% endnote %}
|
||||
|
||||
## Deprecated App Auth Credentials
|
||||
|
||||
To improve security and reduce phishing risk Google has [deprecated](https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html) a previous authentication method used by Home Assistant. **This requires action by you to resolve** if you previously configured *Nest* using *App Auth*.
|
||||
|
||||
{% details "Reconfigure the integration" %}
|
||||
|
||||
1. Make sure to upgrade to the latest version of Home Assistant.
|
||||
2. Go to **{% my integrations title="Settings > Devices & services" %}**.
|
||||
3. The **Nest** integration should appear with alert.
|
||||
|
||||

|
||||
|
||||
4. Click **Reconfigure**.
|
||||
|
||||

|
||||
|
||||
|
||||
If the *Nest* integration does not have an Alert then you probably used *Web Auth* and have nothing to do.
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Create new Web Auth Application Credentials" %}
|
||||
|
||||
1. In the Home Assistant flow confirm your *Google Cloud Project ID* and proceed to the next step.
|
||||
2. You will be prompted to enter new *Application Credentials*.
|
||||
3. In another tab visit the [Google Cloud Console](https://console.cloud.google.com/apis/credentials)
|
||||
4. On the *Credentials* page click **Create Credential**.
|
||||
5. From the drop-down list select **OAuth client ID**.
|
||||
6. Enter **Web Application** for the Application type.
|
||||
7. Pick a new name for your credential.
|
||||
8. Add **Authorized redirect URIs** end enter `https://my.home-assistant.io/redirect/oauth`
|
||||
9. Click *Create* to create the credential.
|
||||
10. You now have *OAuth Client ID* and *OAuth Client Secret* needed by Home Assistant.
|
||||
11. Back in Home Assistant, you should now be prompted to create [Application Credentials](/integrations/application_credentials) where you will enter the *Client ID* and *Client Secret*.
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
{% details "Update Device Access Project" %}
|
||||
|
||||
1. Visit the [Device Access Console](https://console.nest.google.com/device-access/)
|
||||
2. Select the *Device Access Project* used by *Home Assistant*
|
||||
3. You need to then delete the old *OAuth Client ID* by clicking the Trash icon to unlink your Nest project from the deprecated Auth method.
|
||||
4. Click the overflow menu `...` then *Add Client ID*
|
||||
5. Enter the new *OAuth Client ID* for *Web App Auth* credentials
|
||||
6. Back in Home Assistant confirm your *Device Access Project ID*
|
||||
|
||||
{% enddetails %}
|
||||
|
||||
Once you have completed the above steps, you can continue through the flow to re-authorize *Home Assistant* to restore access to your Nest Devices.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- *No access to partner information* "Information could not be retrieved" error message during the setup wizard means that the Google Account used is not able to access the Home. Please ensure that you have successfully migrated your Nest Account to a Google Account using the Google Nest App. Additionally, if your home has multiple members, please note that the individual who initially set up the home must complete the migration of their Nest Account to a Google Account before you can establish a connection with Home Assistant.
|
||||
|
@ -14,7 +14,6 @@ ha_release: 0.98
|
||||
ha_codeowners:
|
||||
- '@CoMPaTech'
|
||||
- '@bouwew'
|
||||
- '@frenck'
|
||||
ha_config_flow: true
|
||||
ha_domain: plugwise
|
||||
ha_zeroconf: true
|
||||
@ -28,6 +27,7 @@ ha_platforms:
|
||||
- sensor
|
||||
- switch
|
||||
ha_integration_type: hub
|
||||
ha_quality_scale: platinum
|
||||
---
|
||||
|
||||
[Plugwise](https://www.plugwise.com) provides smart home devices that allow you to monitor and control your climate, energy (including gas) consumption, and energy production. The energy information can be used for the [energy dashboard](/home-energy-management).
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Ring
|
||||
description: Instructions on how to integrate your Ring.com devices within Home Assistant.
|
||||
description: Instructions on integrating Ring.com devices with Home Assistant.
|
||||
ha_category:
|
||||
- Binary sensor
|
||||
- Button
|
||||
@ -32,36 +32,56 @@ ha_codeowners:
|
||||
- '@sdb9696'
|
||||
---
|
||||
|
||||
The Ring integration allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant. Due to recent authentication changes of Ring, you will need to run at least Home Assistant 0.104.
|
||||
The Ring integration allows you to control your [Ring.com](https://ring.com/) doorbell, stick up cam, chime, and intercom devices in Home Assistant.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
## How you can use this integration
|
||||
|
||||
- [Binary sensor](#binary-sensor)
|
||||
- [Button](#button)
|
||||
- [Camera](#camera)
|
||||
- [Saving the videos captured by your Ring Door Bell](#saving-the-videos-captured-by-your-ring-door-bell)
|
||||
- [Event](#event)
|
||||
- [Realtime event stability](#realtime-event-stability)
|
||||
- [Sensor](#sensor)
|
||||
- [Siren](#siren)
|
||||
- [Switch](#switch)
|
||||
- [Light](#light)
|
||||
- [Number](#number)
|
||||
The Ring integration lets you do many things, such as switching devices on and off based on schedules or events, viewing live camera feeds, and controlling device configurations manually or via automations.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need to provision your newly purchased devices via the Ring application, which will require creating a Ring account at [Ring.com](https://ring.com/) or via the official application.
|
||||
After that, you will use your Ring account credentials to log on to the Ring cloud in Home Assistant.
|
||||
|
||||
{% include integrations/config_flow.md %}
|
||||
|
||||
## Binary sensor
|
||||
{% configuration_basic %}
|
||||
|
||||
Username:
|
||||
description: |
|
||||
Your Ring account username.
|
||||
Password:
|
||||
description: |
|
||||
Your Ring account password.
|
||||
2fa:
|
||||
description: |
|
||||
Account verification code via the method selected in your Ring account settings.
|
||||
|
||||
{% endconfiguration_basic %}
|
||||
|
||||
## Supported devices
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- **Doorbells**: Doorbell, Doorbell 2, Doorbell 3, Doorbell 3 Plus, Doorbell 4, Doorbell Pro, Doorbell Pro 2, Doorbell Elite, Doorbell Wired, Battery Doorbell, Doorbell (2nd Gen), Peephole Cam
|
||||
- **Stickup cams**: Floodlight Cam, Floodlight Cam Pro, Floodlight Cam Plus, Indoor Cam, Indoor Cam (2nd Gen), Spotlight Cam Battery, Spotlight Cam Wired, Spotlight Cam Plus, Spotlight Cam Pro, Stick Up Cam, Stick Up Battery, Stick Up Wired, Stick Up Cam (3rd Gen)
|
||||
- **Chimes**: Chime, Chime Pro
|
||||
- **Intercoms**: Intercom
|
||||
|
||||
|
||||
## Supported functionality
|
||||
|
||||
### Binary sensor
|
||||
|
||||
The binary sensor switches off and on when motion, doorbell rings, and intercom unlock events occur.
|
||||
|
||||
The binary sensor is being replaced with the event entity, and you should migrate any automations to the event entity by release 2025.4.0.
|
||||
|
||||
## Button
|
||||
### Button
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the button platform. Currently, it supports intercom to open the door.
|
||||
|
||||
## Camera
|
||||
### Camera
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform.
|
||||
Currently, it supports doorbells and stickup cameras.
|
||||
@ -72,6 +92,134 @@ Two camera entities are provided: `live_view` and `last_recording`.
|
||||
Please note that downloading and playing Ring video from the `last_recording` camera will require a Ring Protect plan.
|
||||
{% endimportant %}
|
||||
|
||||
### Event
|
||||
|
||||
The event entity captures events like doorbell rings, motion alerts, and intercom unlocking.
|
||||
|
||||
### Sensor
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the sensor platform. Currently, it supports battery level and Wi-Fi signal.
|
||||
|
||||
The volume sensors are being replaced with the number entity, which allows setting the volume. You should migrate any automations using the volume sensors to the number entity by release 2025.4.0.
|
||||
|
||||
### Siren
|
||||
|
||||
- Adds a siren entity for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off.
|
||||
- Adds a siren entity for chimes to play the test sound.
|
||||
|
||||
### Switch
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the switch platform.
|
||||
|
||||
- Motion detection - Switches motion detection on and off for cameras.
|
||||
- In-home chime - Switches on and off a mechanical or digital chime connected to a ring doorbell.
|
||||
|
||||
### Light
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the light platform. This will add a light for every camera that supports a light (such as a floodlight).
|
||||
|
||||
### Number
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the number platform.
|
||||
Currently, it supports showing and setting the volume of the doorbell/chime ring, intercom voice volume, and intercom microphone volume.
|
||||
|
||||
## Data updates
|
||||
|
||||
The Ring cloud API is {% term polling polled %} for data updates every 60 seconds. When you make changes through Home Assistant (for example by switching motion detection on), the device's state is updated immediately rather than waiting for the next {% term polling poll %}.
|
||||
The Ring integration does not connect locally to devices, all communication goes via the cloud.
|
||||
|
||||
## Known limitations
|
||||
|
||||
### Two-way audio
|
||||
|
||||
Two-way audio in camera live view is not currently supported.
|
||||
|
||||
### Last recording
|
||||
|
||||
To view the last recording entity you will need a Ring subscription.
|
||||
|
||||
### Multiple alerts
|
||||
|
||||
Some device models send two alerts for a single doorbell ring event.
|
||||
The integration will provide a workaround for this in a future release.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Realtime event stability
|
||||
|
||||
Home Assistant requires outbound TCP access to port 5228 to connect to Ring's real-time event service.
|
||||
Ensure your firewall and network configuration allow this connection.
|
||||
|
||||
Below are steps to follow if realtime events are not working.
|
||||
|
||||
#### Step 1
|
||||
|
||||
Issues with Ring alerts may be caused by having too many authenticated devices on your Ring account. Before version 2023.12.0, the Home Assistant Ring integration would register a new entry in `Authorized Client Devices` in the `Control Center` at [ring.com](https://account.ring.com/account/control-center/authorized-devices) on every restart.
|
||||
|
||||
{% important %}
|
||||
When cleaning up devices:
|
||||
|
||||
1. Only delete entries that start with `ring-doorbell:HomeAssistant` or `Python`.
|
||||
2. Do NOT delete entries for your phones or other Ring apps.
|
||||
3. If there are too many devices to delete individually, you can use the **Remove all devices** option, but you'll need to re-authorize all your devices afterward.
|
||||
|
||||
{% endimportant %}
|
||||
|
||||
#### Step 2
|
||||
|
||||
If you're still experiencing issues after Step 1, try generating a new unique ID for the Home Assistant Ring integration instance.
|
||||
To do this, select the three dots {% icon "mdi:dots-vertical" %} menu on the integration entry and select the **Reconfigure** option.
|
||||
Do not try this step before clearing down all the excess `Authorized Client Devices` as per Step 1, or it will simply invalidate the reconfigured entry.
|
||||
|
||||
#### Step 3
|
||||
|
||||
If alerts are still not working after Steps 1 and 2, try toggling the Motion Warning setting:
|
||||
|
||||
1. Go to [ring.com](https://ring.com) and sign in.
|
||||
2. Select your device.
|
||||
3. Navigate to **Device Settings**.
|
||||
4. Find the **Motion Warning** toggle.
|
||||
5. Turn it off and wait for 30 seconds.
|
||||
6. Turn it back on.
|
||||
|
||||
This has successfully restored alerts for many users.
|
||||
|
||||
## Examples
|
||||
|
||||
### Automation ideas
|
||||
|
||||
- Turn on motion detection for internal cameras when you leave home (with geofencing) and turn off when you get home.
|
||||
- Start a live feed on a device when the doorbell rings.
|
||||
- Turn up the volume on a digital chime when you are in the garden.
|
||||
|
||||
### Setting up doorbell alerts
|
||||
|
||||
You can set an automation up in the Home Assistant UI.
|
||||
|
||||
1. Find the correct **event** entity under **Entity triggers**.
|
||||
2. For **From** choose the setting **Any state (ignoring attribute changes)**.
|
||||
3. Then add a **Send notification** action under **Notifications**.
|
||||
|
||||
This will result in yaml similar to the following:
|
||||
|
||||
```yaml
|
||||
alias: Doorbell alerts
|
||||
description: ""
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id:
|
||||
- event.front_door_ding
|
||||
from: null
|
||||
conditions: []
|
||||
actions:
|
||||
- device_id: internalhadeviceid
|
||||
domain: mobile_app
|
||||
type: notify
|
||||
message: Front door ding
|
||||
title: Front door ding
|
||||
mode: single
|
||||
```
|
||||
|
||||
### Saving the videos captured by your Ring Door Bell
|
||||
|
||||
You can save locally the latest video captured by your Ring Door Bell using the [downloader](/integrations/downloader) along with either an [automation](/integrations/automation) or [python_script](/integrations/python_script).
|
||||
@ -148,69 +296,8 @@ data = {
|
||||
hass.services.call("downloader", "download_file", data)
|
||||
```
|
||||
|
||||
## Event
|
||||
## Removing the integration
|
||||
|
||||
The event entity captures events like doorbell rings, motion alerts, and intercom unlocking.
|
||||
This integration follows standard integration removal. No extra steps are required.
|
||||
|
||||
### Realtime event stability
|
||||
|
||||
Home Assistant requires outbound TCP access to port 5228 to connect to Ring's real-time event service.
|
||||
Ensure your firewall and network configuration allow this connection.
|
||||
|
||||
Below are steps to follow if realtime events are not working.
|
||||
|
||||
#### Step 1
|
||||
|
||||
Issues with Ring alerts may be caused by having too many authenticated devices on your Ring account. Before version 2023.12.0, the Home Assistant Ring integration would register a new entry in `Authorized Client Devices` in the `Control Center` at [ring.com](https://account.ring.com/account/control-center/authorized-devices) on every restart.
|
||||
{% warning %}
|
||||
When cleaning up devices:
|
||||
1. Only delete entries that start with `ring-doorbell:HomeAssistant` or `Python`
|
||||
2. Do NOT delete entries for your phones or other Ring apps
|
||||
3. If there are too many devices to delete individually, you can use the `Remove all devices` option, but you'll need to re-authorize all your devices afterward
|
||||
{% endwarning %}
|
||||
|
||||
#### Step 2
|
||||
|
||||
If you're still experiencing issues after Step 1, try generating a new unique ID for the Home Assistant Ring integration instance.
|
||||
To do this, click the three-dot menu on the integration entry and select the `Reconfigure` option.
|
||||
Do not try this step before clearing down all the excess `Authorized Client Devices` as per Step 1, or it will simply invalidate the reconfigured entry.
|
||||
|
||||
#### Step 3
|
||||
|
||||
If alerts are still not working after Steps 1 and 2, try toggling the Motion Warning setting:
|
||||
|
||||
1. Go to [ring.com](https://ring.com) and sign in
|
||||
2. Select your device
|
||||
3. Navigate to Device Settings
|
||||
4. Find the Motion Warning toggle
|
||||
5. Turn it off, wait 30 seconds
|
||||
6. Turn it back on
|
||||
|
||||
This has successfully restored alerts for many users.
|
||||
|
||||
## Sensor
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the sensor platform. Currently, it supports battery level and Wi-Fi signal.
|
||||
|
||||
The volume sensors are being replaced with the number entity which allows setting the volume. You should migrate any automations using the volume sensors to the number entity by release 2025.4.0.
|
||||
|
||||
## Siren
|
||||
|
||||
- Adds a siren entity for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off.
|
||||
- Adds a siren entity for chimes to play the test sound.
|
||||
|
||||
## Switch
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the switch platform.
|
||||
|
||||
- Motion detection - Switches motion detection on and off for cameras.
|
||||
- In-home chime - Switches on and off a mechanical or digital chime connected to a ring doorbell.
|
||||
|
||||
## Light
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the light platform. This will add a light for every camera that supports a light (such as a floodlight).
|
||||
|
||||
## Number
|
||||
|
||||
Once you have enabled the [Ring integration](/integrations/ring), you can start using the number platform.
|
||||
Currently, it supports showing and setting the volume of the doorbell/chime ring, intercom voice volume, and intercom microphone volume.
|
||||
{% include integrations/remove_device_service.md %}
|
||||
|
@ -137,15 +137,15 @@ unique_id:
|
||||
required: false
|
||||
type: string
|
||||
condition:
|
||||
description: Define conditions that have to be met after a trigger fires and before any actions are executed or sensor updates are performed. Optional. [See condition documentation](/docs/automation/condition).
|
||||
description: Define conditions that have to be met after a trigger fires and before any actions are executed or sensor updates are performed (for trigger-based entities only). Optional. [See condition documentation](/docs/automation/condition).
|
||||
required: false
|
||||
type: list
|
||||
action:
|
||||
description: Define actions to be executed when the trigger fires. Optional. Variables set by the action script are available when evaluating entity templates. This can be used to interact with anything using actions, in particular actions with [response data](/docs/scripts/perform-actions#use-templates-to-handle-response-data). [See action documentation](/docs/automation/action).
|
||||
description: Define actions to be executed when the trigger fires (for trigger-based entities only). Optional. Variables set by the action script are available when evaluating entity templates. This can be used to interact with anything using actions, in particular actions with [response data](/docs/scripts/perform-actions#use-templates-to-handle-response-data). [See action documentation](/docs/automation/action).
|
||||
required: false
|
||||
type: list
|
||||
variables:
|
||||
description: Key-value pairs of variable definitions which can be referenced and used in the templates below. Mostly used by blueprints.
|
||||
description: Key-value pairs of variable definitions which can be referenced and used in the templates below (for trigger-based entities only). Mostly used by blueprints.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
|
@ -102,7 +102,7 @@ frontpage_image: /images/frontpage/feature-zbt1.jpg
|
||||
<img src="/images/connectzbt1/connectzbt1_isometric.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="banner-overlay-button" onclick="showBuyDialog()">
|
||||
<div class="banner-overlay-button buy" onclick="showBuyDialog()">
|
||||
<div>Order now</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -237,506 +237,11 @@ frontpage_image: /images/frontpage/feature-zbt1.jpg
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="buy-dialog" class="dialog">
|
||||
<div class="material-card text dialog-content">
|
||||
<div class="close-container"></div>
|
||||
<div class="dialog-header">
|
||||
<span>Home Assistant Connect ZBT-1</span>
|
||||
<span class="dialog-close" onclick="closeDialog()" title="close">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
|
||||
/>
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="distributors">
|
||||
<details id="dist_america">
|
||||
<summary class="region">Shipping to America</summary>
|
||||
<div>
|
||||
|
||||
<a href="https://ameridroid.com/products/skyconnect" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>ameriDroid</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://cloudfree.shop/product/home-assistant-skyconnect/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>CloudFree</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-SkyConnect-p-5479.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_asia">
|
||||
<summary class="region">Shipping to Asia</summary>
|
||||
<div>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-SkyConnect-p-5479.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_australia">
|
||||
<summary class="region">Shipping to Australia</summary>
|
||||
<div>
|
||||
|
||||
<a
|
||||
href="https://smartguys.com.au/home-assistant-skyconnect.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇦🇺</div>
|
||||
<div>Smart Guys</div>
|
||||
<div>Shipping from Australia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_europe">
|
||||
<summary class="region">Shipping to Europe</summary>
|
||||
<div>
|
||||
|
||||
<a href="https://www.alza.cz/home-assistant-skyconnect-usb-hub-d7815713.htm" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇿</div>
|
||||
<div>ALZA</div>
|
||||
<div>Shipping from the Czech Republic</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://botland.com.pl/centralki-i-bramki-sieciowe/22759-home-assistant-skyconnect-usb-stick-zgodny-z-zigbeematterthread-794677011635.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇱</div>
|
||||
<div>Botland</div>
|
||||
<div>Shipping from Poland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://dinamotech.it/products/home-assistant-connect-zbt-1"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇮🇹</div>
|
||||
<div>DinamoTech</div>
|
||||
<div>Shipping from Italy</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://www.domadoo.fr/fr/box-domotique/6938-dongle-usb-zigbee-30-sky-connect-pour-home-assistant-nabu-casa-0794677011635.html" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇫🇷</div>
|
||||
<div>Domadoo</div>
|
||||
<div>Shipping from France</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://shop.everythingsmart.io/products/home-assistant-skyconnect"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>Everything Smart Technology</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://ewelinkstore.com/product/home-assistant-skyconnect-a-zigbee-thread-matter-usb-stick-for-home-assistant/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇭🇺</div>
|
||||
<div>eWeLink device store</div>
|
||||
<div>Shipping from Hungary</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.hashop.nl/Home-Assistant-SkyConnect"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇳🇱</div>
|
||||
<div>HAshop</div>
|
||||
<div>Shipping from the Netherlands</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.kjell.com/no/produkter/smarte-hjem/kontroller/nabu-casa-home-assistant-skyconnect-p88431"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇳🇴</div>
|
||||
<div>Kjell</div>
|
||||
<div>Shipping from Norway</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://mauser.pt/catalog/product_info.php?products_id=095-1222"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇹</div>
|
||||
<div>Mauser</div>
|
||||
<div>Shipping from Portugal</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://mediarath.de/products/home-assistant-skyconnect-zigbee-thread-matter-usb-stick-fur-home-assistant"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇪</div>
|
||||
<div>mediarath</div>
|
||||
<div>Shipping from Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://en.m.nu/zigbee/controllers-zigbee/home-assistant-skyconnect-zigbee-matter-thread"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇪</div>
|
||||
<div>m.nu</div>
|
||||
<div>Shipping from Sweden</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://okosotthon.bolt.hu/webaruhaz/termek/home-assistant-skyconnect-egy-zigbee-thread-matter-usb-kulcs-home-assistant-hoz/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇭🇺</div>
|
||||
<div>OkosOtthon Bolt</div>
|
||||
<div>Shipping from Hungary</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://shop.pimoroni.com/products/home-assistant-connect-zbt-1"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>Pimoroni</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://raspberrypi.dk/en/product/home-assistant-skyconnect/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇰</div>
|
||||
<div>RaspberryPi.dk</div>
|
||||
<div>Shipping from Denmark</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.robbshop.nl/home-assistant-skyconnect-zigbee-en-thread-usb"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇳🇱</div>
|
||||
<div>Robbshop</div>
|
||||
<div>Shipping from the Netherlands</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-SkyConnect-p-5479.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://smarterhome.sk/sk/zwave-pc-adaptery/home-assistant-connect-zbt-1-zigbee-a-thread-usb-adapter-1646.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇰</div>
|
||||
<div>SmarterHOME</div>
|
||||
<div>Shipping from Slovakia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://shop.swiss-domotique.ch/de/smarthome-zentrale/2118-nabu-casa-home-assistant-skyconnect.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇭</div>
|
||||
<div>Swiss-Domotique</div>
|
||||
<div>Shipping from Switzerland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://thepihut.com/collections/latest-raspberry-pi-products/products/home-assistant-skyconnect"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>The Pi Hut</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.webhallen.com/se/product/357205-Home-Assistant-SkyConnect-ZigbeeMatterThread"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇪</div>
|
||||
<div>Webhallen</div>
|
||||
<div>Shipping from Sweden</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.wifishop.ro/en/homeassistant/home-assistant-skyconnect.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇷🇴</div>
|
||||
<div>WIFIShop</div>
|
||||
<div>Shipping from Romania</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include custom/buy-dialog.html product="zbt-1" %}
|
||||
|
||||
<div
|
||||
class="fab" style="position: fixed; top: 116px; height: 48px;"
|
||||
onclick="showBuyDialog()"
|
||||
class="fab buy" style="position: fixed; top: 116px; height: 48px;"
|
||||
title="Order Home Assistant Connect ZBT-1"
|
||||
>
|
||||
<svg style="width: 32px; height: 32px" viewBox="0 0 32 32">
|
||||
@ -748,41 +253,6 @@ frontpage_image: /images/frontpage/feature-zbt1.jpg
|
||||
ORDER
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const buyDialog = document.getElementById("buy-dialog");
|
||||
const buyFab = document.querySelector(".fab");
|
||||
|
||||
function showBuyDialog() {
|
||||
buyDialog.style.display = "flex";
|
||||
buyFab.style.display = "none";
|
||||
}
|
||||
|
||||
function closeDialog() {
|
||||
buyDialog.style.display = "none";
|
||||
buyFab.style.display = "flex";
|
||||
}
|
||||
|
||||
window.onclick = function (event) {
|
||||
if (event.target === buyDialog) {
|
||||
closeDialog();
|
||||
}
|
||||
};
|
||||
|
||||
if (document.location.search === "?order") {
|
||||
showBuyDialog();
|
||||
}
|
||||
|
||||
try {
|
||||
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
const continent = tz.replace( /^(Asia|America|Australia|Europe)\/.*$/, '$1' );
|
||||
|
||||
if ( continent != tz ) {
|
||||
document.querySelector( `#dist_${continent.toLowerCase()}` ).open = true;
|
||||
}
|
||||
} catch ( ev ) {
|
||||
// Ignore...
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
if (window.location.hash === "#from-skyconnect") {
|
||||
const banner = document.createElement("div");
|
||||
|
@ -2295,564 +2295,6 @@ dark_header: true
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="buy-dialog" class="dialog">
|
||||
<div class="material-card text dialog-content">
|
||||
<div class="close-container"></div>
|
||||
<div class="dialog-header">
|
||||
<span>Home Assistant Green</span>
|
||||
<span class="dialog-close" onclick="closeDialog()" title="close">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
|
||||
/>
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="distributors">
|
||||
<details id="dist_america">
|
||||
<summary class="region">Shipping to America</summary>
|
||||
<div>
|
||||
<a href="https://www.amazon.com/dp/B0CXVKSG19?maas=maas_adg_BB51722E249D328CABB2F6DF1F8976CC_afap_abs&ref_=aa_maas&tag=maas" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>Amazon US</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://ameridroid.com/products/home-assistant-green" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>ameriDroid</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://cloudfree.shop/product/home-assistant-green/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>CloudFree</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_asia">
|
||||
<summary class="region">Shipping to Asia</summary>
|
||||
<div>
|
||||
<a href="https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_australia">
|
||||
<summary class="region">Shipping to Australia</summary>
|
||||
<div>
|
||||
<a href="https://www.ozsmartthings.com.au/products/home-assistant-green-smart-hub"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇦🇺</div>
|
||||
<div>Oz Smart Things</div>
|
||||
<div>Shipping from Australia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://smartguys.com.au/home-assistant-green.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇦🇺</div>
|
||||
<div>Smart Guys</div>
|
||||
<div>Shipping from Australia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://www.smarthome.com.au/product/home-assistant-green/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇦🇺</div>
|
||||
<div>SmartHome</div>
|
||||
<div>Shipping from Australia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_europe">
|
||||
<summary class="region">Shipping to Europe</summary>
|
||||
<div>
|
||||
<a href="https://www.alza.cz/home-assistant-green-d7998187.htm" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇿</div>
|
||||
<div>Alza.cz</div>
|
||||
<div>Shipping from the Czech Republic</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://botland.com.pl/centralki-i-bramki-sieciowe/24319-home-assistant-green-inteligentna-centralka-nabu-casa-nc-green-1175-794677011758.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇱</div>
|
||||
<div>Botland</div>
|
||||
<div>Shipping from Poland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://dinamotech.it/products/home-assistant-green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇮🇹</div>
|
||||
<div>DinamoTech</div>
|
||||
<div>Shipping from Italy</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.domadoo.fr/fr/box-domotique/7046-nabu-casa-box-domotique-home-assistant-green-0794677011758.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇫🇷</div>
|
||||
<div>Domadoo</div>
|
||||
<div>Shipping from France</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://shop.everythingsmart.io/products/home-assistant-green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>Everything Smart Technology</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://ewelinkstore.com/product/home-assistant-green-hub/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇭🇺</div>
|
||||
<div>eWeLink device store</div>
|
||||
<div>Shipping from Hungary</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.hashop.nl/Home-Assistant-Green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇳🇱</div>
|
||||
<div>HAshop</div>
|
||||
<div>Shipping from the Netherlands</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.robbshop.nl/home-assistant-green-smart-hub"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇳🇱</div>
|
||||
<div>ROBBshop</div>
|
||||
<div>Shipping from the Netherlands</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.kjell.com/no/produkter/smarte-hjem/kontroller/nabu-casa-home-assistant-green-p88430"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇳🇴</div>
|
||||
<div>Kjell</div>
|
||||
<div>Shipping from Norway</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://mauser.pt/catalog/product_info.php?products_id=095-3152"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇹</div>
|
||||
<div>Mauser</div>
|
||||
<div>Shipping from Portugal</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://mediarath.de/products/home-assistant-green-smart-home-hub-2x-usb-gigabit-lan-hmdi-microsd-slot"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇪</div>
|
||||
<div>mediarath</div>
|
||||
<div>Shipping from Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://en.m.nu/controllers-smart-hubs/home-assistant-green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇪</div>
|
||||
<div>m.nu</div>
|
||||
<div>Shipping from Sweden</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://okosotthon.bolt.hu/webaruhaz/termek/home-assistant-green-hub/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇭🇺</div>
|
||||
<div>OkosOtthon Bolt</div>
|
||||
<div>Shipping from Hungary</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.pi-shop.ch/home-assistant-green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇭</div>
|
||||
<div>Pi-Shop.ch</div>
|
||||
<div>Shipping from Switzerland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://shop.pimoroni.com/products/home-assistant-green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>Pimoroni</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://raspberrypi.dk/en/product/home-assistant-green/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇰</div>
|
||||
<div>RaspberryPi.dk</div>
|
||||
<div>Shipping from Denmark</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-Green-p-5792.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://smarterhome.sk/sk/centralne-jednotky/home-assistant-green-smart-home-hub-1490.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇰</div>
|
||||
<div>SmarterHOME</div>
|
||||
<div>Shipping from Slovakia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://shop.swiss-domotique.ch/smarthome-hub/2295-nabu-casa-home-assistant-green.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇭</div>
|
||||
<div>Swiss-Domotique</div>
|
||||
<div>Shipping from Switzerland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://thepihut.com/products/home-assistant-green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>The Pi Hut</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.webhallen.com/se/product/364271-Nabu-Casa-Home-Assistant-Green"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇪</div>
|
||||
<div>Webhallen</div>
|
||||
<div>Shipping from Sweden</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.wifishop.ro/en/homeassistant/home-assistant-green.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇷🇴</div>
|
||||
<div>WIFIShop</div>
|
||||
<div>Shipping from Romania</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include custom/buy-dialog.html product="green" %}
|
||||
|
||||
<script src="/green/script.js" type="text/javascript"></script>
|
||||
|
@ -86,32 +86,6 @@ window.addEventListener(
|
||||
false
|
||||
);
|
||||
|
||||
const buyDialog = document.getElementById("buy-dialog");
|
||||
const buyFabs = document.querySelectorAll(".buy");
|
||||
|
||||
buyFabs.forEach(btn => btn.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
showBuyDialog();
|
||||
}));
|
||||
|
||||
function showBuyDialog() {
|
||||
buyDialog.style.display = "flex";
|
||||
}
|
||||
|
||||
function closeDialog() {
|
||||
buyDialog.style.display = "none";
|
||||
}
|
||||
|
||||
window.onclick = function (event) {
|
||||
if (event.target === buyDialog) {
|
||||
closeDialog();
|
||||
}
|
||||
};
|
||||
|
||||
if (document.location.search === "?order") {
|
||||
showBuyDialog();
|
||||
}
|
||||
|
||||
const menuMobileBtn = document.getElementById("open-mobile-menu");
|
||||
const mobileMenu = document.querySelector(".w-nav-overlay");
|
||||
const mobileMenuLinks = document.querySelectorAll(".w-nav-overlay a");
|
||||
|
BIN
source/images/distributors/RaspberryPi-dk.webp
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
source/images/distributors/alza-cz.webp
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
source/images/distributors/amazon.webp
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
source/images/distributors/ameridroid.webp
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
source/images/distributors/botland.webp
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
source/images/distributors/cloudfree.webp
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
source/images/distributors/dinamo-tech.webp
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
source/images/distributors/domadoo.jpg
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
source/images/distributors/est.webp
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
source/images/distributors/ewelink.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
source/images/distributors/ha-shop.webp
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
source/images/distributors/kjell-company.webp
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
source/images/distributors/m-nu.webp
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
source/images/distributors/mauser.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
source/images/distributors/mediarath.de.webp
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
source/images/distributors/okosotthon.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
source/images/distributors/oz-smart-things.webp
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
source/images/distributors/pi-hut.webp
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
source/images/distributors/pi-shop.webp
Normal file
After Width: | Height: | Size: 872 B |
BIN
source/images/distributors/pimoroni.webp
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
source/images/distributors/robb.webp
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
source/images/distributors/seeed-studio.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
source/images/distributors/smart-guys.webp
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
source/images/distributors/smarter-home.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
source/images/distributors/smarthome.webp
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
source/images/distributors/swiss-domotique.webp
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
source/images/distributors/webhallen.webp
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
source/images/distributors/wifishop.webp
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
source/images/integrations/nest/cloud_pubsub_add_principal.png
Normal file
After Width: | Height: | Size: 281 KiB |
After Width: | Height: | Size: 161 KiB |
BIN
source/images/integrations/nest/cloud_pubsub_create_topic.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
source/images/integrations/nest/config_flow_no_topic.png
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
source/images/integrations/nest/config_flow_subscription.png
Normal file
After Width: | Height: | Size: 107 KiB |
BIN
source/images/integrations/nest/config_flow_with_topic.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
source/images/integrations/nest/device_access_complete.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
source/images/integrations/nest/device_access_topic_disabled.png
Normal file
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 18 KiB |
@ -28,7 +28,7 @@ frontpage_image: /images/frontpage/voice-pe-frontpage.jpg
|
||||
<a href="#specs">Specs</a>
|
||||
<a href="#faq">FAQ</a>
|
||||
<a href="https://voice-pe.home-assistant.io/" target="_blank" rel="noopener">Docs</a>
|
||||
<a href="#buy" class="cta">Buy now</a>
|
||||
<a href="#" class="cta buy">Buy now</a>
|
||||
</div>
|
||||
<div class="burger">
|
||||
<div class="burger__icon"></div>
|
||||
@ -41,7 +41,7 @@ frontpage_image: /images/frontpage/voice-pe-frontpage.jpg
|
||||
<a href="#specs">Specs</a>
|
||||
<a href="#faq">FAQ</a>
|
||||
<a href="https://voice-pe.home-assistant.io/" target="_blank" rel="noopener">Docs</a>
|
||||
<a href="#buy" class="cta">Buy now</a>
|
||||
<a href="#" class="cta buy">Buy now</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1381,275 +1381,6 @@ frontpage_image: /images/frontpage/voice-pe-frontpage.jpg
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="buy-dialog" class="dialog">
|
||||
<div class="material-card text dialog-content">
|
||||
<div class="close-container"></div>
|
||||
<div class="dialog-header">
|
||||
<span>Home Assistant Voice <small>Preview Edition</small></span>
|
||||
<span class="dialog-close" onclick="closeDialog()" title="close">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" />
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="distributors">
|
||||
<details id="dist_america">
|
||||
<summary class="region">Shipping to America</summary>
|
||||
<div>
|
||||
<a href="https://ameridroid.com/products/home-assistant-voice-preview-edition/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>ameriDroid</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://cloudfree.shop/product/home-assistant-voice-preview-edition/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>CloudFree</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://www.seeedstudio.com/Home-Assistant-Voice-p-6998.html" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from US, Germany and China</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_asia">
|
||||
<summary class="region">Shipping to Asia</summary>
|
||||
<div>
|
||||
<a href="https://www.seeedstudio.com/Home-Assistant-Voice-p-6998.html" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_australia">
|
||||
<summary class="region">Shipping to Australia</summary>
|
||||
<div>
|
||||
<a href="https://www.ozsmartthings.com.au/products/ha-voice-preview-edition" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇦🇺</div>
|
||||
<div>OZ Smart Things</div>
|
||||
<div>Shipping from Australia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://smartguys.com.au/product/home-assistant-voice-preview-edition/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇦🇺</div>
|
||||
<div>Smart Guys</div>
|
||||
<div>Shipping from Australia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_europe">
|
||||
<summary class="region">Shipping to Europe</summary>
|
||||
<div>
|
||||
<a href="https://www.alza.cz/home-assistant-voice-preview-edition-d12741248.htm" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇿</div>
|
||||
<div>Alza.cz</div>
|
||||
<div>Shipping from Czech Republic</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://raspberrypi.dk/en/product/home-assistant-voice-preview-edition/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇰</div>
|
||||
<div>RaspberryPi.dk</div>
|
||||
<div>Shipping from Denmark</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://www.domadoo.fr/fr/box-domotique/7558-nabu-casa-home-assistant-voice-preview-edition-0860011789727.html"
|
||||
target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇫🇷</div>
|
||||
<div>Domadoo</div>
|
||||
<div>Shipping from France</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://mediarath.de/products/home-assistant-voice-preview-edition-open-source-privacy-focused-voice-assistant-with-esphome"
|
||||
target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇪</div>
|
||||
<div>Mediarath</div>
|
||||
<div>Shipping from Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://www.seeedstudio.com/Home-Assistant-Voice-p-6998.html" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from Germany, US and China</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://dinamotech.it/products/home-assistant-voice" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇮🇹</div>
|
||||
<div>Dinamotech</div>
|
||||
<div>Shipping from Italy</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://botland.com.pl/asystenci-glosowi/25872-home-assistant-voice-preview-edition-asystent-glosowy-860011789727.html"
|
||||
target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇱</div>
|
||||
<div>Botland</div>
|
||||
<div>Shipping from Poland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://mauser.pt/catalog/product_info.php?products_id=095-4747" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇹</div>
|
||||
<div>Mauser.pt</div>
|
||||
<div>Shipping from Portugal</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://smarterhome.sk/sk/hlasovi-asistenti/home-assistant-voice-preview-edition-1714.html"
|
||||
target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇰</div>
|
||||
<div>SmarterHOME</div>
|
||||
<div>Shipping from Slovakia</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://www.webhallen.com/377166" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇪</div>
|
||||
<div>Webhallen</div>
|
||||
<div>Shipping from Sweden</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://shop.swiss-domotique.ch/de/sound/2667-nabu-casa-home-assistant-voice-preview-edition.html"
|
||||
target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇭</div>
|
||||
<div>Swiss-Domotique</div>
|
||||
<div>Shipping from Switzerland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://shop.everythingsmart.io/products/home-assistant-voice-preview-edition" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>Everything Smart Technology</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://thepihut.com/products/home-assistant-voice-preview-edition" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>The Pi Hut</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" />
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include custom/buy-dialog.html product="voice-pe" %}
|
||||
|
||||
<script src="/voice-pe/script.js" type="text/javascript"></script>
|
@ -19,7 +19,6 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
registerLanguageSelectChange();
|
||||
registerFeatureCycle();
|
||||
registerFaqItems();
|
||||
registerBuyDialog();
|
||||
registerLazySections();
|
||||
});
|
||||
|
||||
@ -697,23 +696,6 @@ function registerFaqItems() {
|
||||
|
||||
}
|
||||
|
||||
const buyDialog = document.getElementById("buy-dialog");
|
||||
function registerBuyDialog() {
|
||||
const buyButtons = document.querySelectorAll('a[href="#buy"]');
|
||||
if (!buyButtons) return;
|
||||
|
||||
buyButtons.forEach(button => {
|
||||
button.addEventListener('click', function () {
|
||||
showBuyDialog();
|
||||
});
|
||||
});
|
||||
|
||||
// if the url contains #buy, show the dialog
|
||||
if (window.location.hash === '#buy') {
|
||||
showBuyDialog();
|
||||
}
|
||||
}
|
||||
|
||||
function showBuyDialog() {
|
||||
buyDialog.style.display = "flex";
|
||||
document.documentElement.style.overflow = "hidden";
|
||||
|
@ -135,7 +135,7 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
|
||||
<img src="/images/yellow/yellow-preview.jpg" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="banner-overlay-button" onclick="showBuyDialog()">
|
||||
<div class="banner-overlay-button buy">
|
||||
<div>Order now</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -338,236 +338,10 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="buy-dialog" class="dialog">
|
||||
<div class="material-card text dialog-content">
|
||||
<div class="close-container"></div>
|
||||
<div class="dialog-header">
|
||||
<span>Home Assistant Yellow</span>
|
||||
<span class="dialog-close" onclick="closeDialog()" title="close">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
|
||||
/>
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="distributors">
|
||||
<details id="dist_america">
|
||||
<summary class="region">Shipping to America</summary>
|
||||
<div>
|
||||
|
||||
<a href="https://ameridroid.com/products/home-assistant-yellow" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>ameriDroid</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://cloudfree.shop/product/home-assistant-yellow/" target="_blank">
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇺🇸</div>
|
||||
<div>CloudFree</div>
|
||||
<div>Shipping from US</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-Yellow-Kit-with-selectable-CM4.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_asia">
|
||||
<summary class="region">Shipping to Asia</summary>
|
||||
<div>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-Yellow-Kit-with-selectable-CM4.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
<details id="dist_europe">
|
||||
<summary class="region">Shipping to Europe</summary>
|
||||
<div>
|
||||
|
||||
<!--a
|
||||
href="https://en.m.nu/controllers-smart-hubs-3/home-assistant-yellow-with-cm4-module"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇸🇪</div>
|
||||
<div>m.nu</div>
|
||||
<div>Shipping from Sweden. Yellow Standard only.</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a-->
|
||||
|
||||
<a
|
||||
href="https://botland.com.pl/centralki-i-bramki-sieciowe/24698-home-assistant-yellow-standard-kit-inteligenta-centralka-zigbee-thread-nabu-casa-yellow-kit-std-794677011741.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇱</div>
|
||||
<div>Botland</div>
|
||||
<div>Shipping from Poland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://mauser.pt/catalog/product_info.php?products_id=095-3150"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇵🇹</div>
|
||||
<div>Mauser</div>
|
||||
<div>Shipping from Portugal</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.pi-shop.ch/home-assistant-yellow-kit-with-power-supply-cm4-not-included"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇭</div>
|
||||
<div>Pi-Shop.ch</div>
|
||||
<div>Shipping from Switzerland</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://raspberrypi.dk/en/product/home-assistant-yellow/"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇩🇰</div>
|
||||
<div>RaspberryPi.dk</div>
|
||||
<div>Shipping from Denmark</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://www.seeedstudio.com/Home-Assistant-Yellow-Kit-with-selectable-CM4.html"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇨🇳</div>
|
||||
<div>Seeed Studio</div>
|
||||
<div>Shipping from China, US and Germany</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a
|
||||
href="https://thepihut.com/products/home-assistant-yellow"
|
||||
target="_blank"
|
||||
>
|
||||
<div class="distributor">
|
||||
<div>
|
||||
<div>🇬🇧</div>
|
||||
<div>The Pi Hut</div>
|
||||
<div>Shipping from the United Kingdom</div>
|
||||
</div>
|
||||
<svg width="24" height="24" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include custom/buy-dialog.html product="yellow" %}
|
||||
|
||||
<div
|
||||
class="fab" style="position: fixed; top: 78px; height: 48px;"
|
||||
onclick="showBuyDialog()"
|
||||
class="fab buy" style="position: fixed; top: 78px; height: 48px;"
|
||||
title="pre-order Home Assistant Yellow"
|
||||
>
|
||||
<svg style="width: 32px; height: 32px" viewBox="0 0 32 32">
|
||||
@ -578,39 +352,3 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
|
||||
</svg>
|
||||
ORDER
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const buyDialog = document.getElementById("buy-dialog");
|
||||
const buyFab = document.querySelector(".fab");
|
||||
|
||||
function showBuyDialog() {
|
||||
buyDialog.style.display = "flex";
|
||||
buyFab.style.display = "none";
|
||||
}
|
||||
|
||||
function closeDialog() {
|
||||
buyDialog.style.display = "none";
|
||||
buyFab.style.display = "flex";
|
||||
}
|
||||
|
||||
window.onclick = function (event) {
|
||||
if (event.target === buyDialog) {
|
||||
closeDialog();
|
||||
}
|
||||
};
|
||||
|
||||
if (document.location.search === "?order") {
|
||||
showBuyDialog();
|
||||
}
|
||||
|
||||
try {
|
||||
const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
const continent = tz.replace( /^(Asia|America|Australia|Europe)\/.*$/, '$1' );
|
||||
|
||||
if ( continent != tz ) {
|
||||
document.querySelector( `#dist_${continent.toLowerCase()}` ).open = true;
|
||||
}
|
||||
} catch ( ev ) {
|
||||
// Ignore...
|
||||
}
|
||||
</script>
|