diff --git a/_config.yml b/_config.yml index c2f323a8ff4..d08fca10a6c 100644 --- a/_config.yml +++ b/_config.yml @@ -144,8 +144,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 86 -current_patch_version: 0 -date_released: 2019-01-23 +current_patch_version: 1 +date_released: 2019-01-24 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index f0c233ec106..af314eff8b9 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -411,6 +411,8 @@ p.note { .brand-logo-container { text-align: center; height: 87px; + margin-top: 50px; + margin-bottom: 25px; img { max-height: 67px; diff --git a/source/_components/gpslogger.md b/source/_components/gpslogger.md index d458c5d55a7..a0739c3098b 100644 --- a/source/_components/gpslogger.md +++ b/source/_components/gpslogger.md @@ -49,17 +49,23 @@ Right after enabling, the app will take you to the **Log to custom URL** setting The relevant endpoint starts with: `/api/webhook/` and ends with a unique sequence of characters. This is provided by the integrations panel in the configuration screen (configured above). ```text -https://YOUR.DNS.HOSTNAME:PORT/api/webook/WEBHOOK_ID?latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT +https://YOUR.DNS.HOSTNAME:PORT/api/webook/WEBHOOK_ID ``` -Add the above URL after you modified it with your settings into the **URL** field. Remove the line breaks as they are only there to make the URL readable here. - -- Make sure to check the `Use POST method` checkbox. +- Add the above URL (updating YOUR.DNS.HOSTNAME:PORT to your details) into the **URL** field. - It's HIGHLY recommended to use SSL/TLS. - Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network. - Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using. -- For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters. +- Add the following to **HTTP Body** +```text +latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT +``` - You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`. +- Check that the **HTTP Headers** setting contains +```text +Content-Type: application/x-www-form-urlencoded +``` +- Make sure that **HTTP Method** is changed to `POST` If your battery drains too fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers** diff --git a/source/_components/input_select.markdown b/source/_components/input_select.markdown index 826ddb9f7c7..92a27d6c851 100644 --- a/source/_components/input_select.markdown +++ b/source/_components/input_select.markdown @@ -23,8 +23,8 @@ input_select: who_cooks: name: Who cooks today options: - - Paulus - - Anne Therese + - Paulus + - Anne Therese initial: Anne Therese icon: mdi:panda living_room_preset: diff --git a/source/_components/light.tradfri.markdown b/source/_components/light.tradfri.markdown deleted file mode 100644 index e7b44cdfd2b..00000000000 --- a/source/_components/light.tradfri.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "IKEA Trådfri lights" -description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Lights." -date: 2017-04-12 22.04 -sidebar: true -comments: false -sharing: true -footer: true -logo: ikea.svg -ha_category: Light -ha_iot_class: "Local Polling" -ha_release: 0.43 ---- - -For installation instructions, see [the Trådfri component](/components/tradfri/). diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown index 60a2a1e0824..1be1081a97f 100644 --- a/source/_components/nest.markdown +++ b/source/_components/nest.markdown @@ -9,10 +9,14 @@ sharing: true footer: true logo: nest.png ha_category: Hub -featured: true +featured: false ha_iot_class: "Cloud Push" --- +
+Nest is [no longer accepting new developer accounts](/blog/2019/01/24/nest-cannot-access-data/). If you don't have an account already, you will not be able to sign up and access your own data. +
+ The Nest component is the main component to integrate all [Nest](https://nest.com/) related platforms. To connect Nest, you will have to [sign up for a developer account](https://developers.nest.com/products) and get a `client_id` and `client_secret`. ### {% linkable_title Setting up developer account %} diff --git a/source/_components/openuv.markdown b/source/_components/openuv.markdown index 10ef2e1a6ac..fe70de77001 100644 --- a/source/_components/openuv.markdown +++ b/source/_components/openuv.markdown @@ -141,7 +141,7 @@ usage is to only retrieve data during the daytime: automation: - alias: Update OpenUV every 30 minutes during the daytime trigger: - platform: time + platform: time_pattern minutes: "/30" seconds: 00 condition: @@ -163,7 +163,7 @@ etc.) might be to simply query the API less often: automation: - alias: Update OpenUV every hour (24 of 50 calls per day) trigger: - platform: time + platform: time_pattern minutes: "/60" seconds: 00 action: diff --git a/source/_components/plum_lightpad.markdown b/source/_components/plum_lightpad.markdown index 9270f86b9dc..04f0865ef90 100644 --- a/source/_components/plum_lightpad.markdown +++ b/source/_components/plum_lightpad.markdown @@ -9,7 +9,7 @@ sharing: true footer: true ha_category: Switch ha_iot_class: "Local Push" -featured: true +featured: false logo: plum.png ha_release: 0.85 redirect_from: diff --git a/source/_components/sense.markdown b/source/_components/sense.markdown index 63611b0b7be..72028c097e3 100644 --- a/source/_components/sense.markdown +++ b/source/_components/sense.markdown @@ -27,24 +27,24 @@ sense: password: CLIENT_SECRET ``` +{% configuration %} +email: + description: The email associated with your Sense account/application. + required: true + type: string +password: + description: The password for your Sense account/application. + required: true + type: string +timeout: + description: Seconds for timeout of API requests. + required: false + type: positive_int +{% endconfiguration %} + Sensors are added for both usage and production with the following names: - **Active Usage/Production**: Current active power usage/production in Watts. Updated every 60 seconds. - **Daily/Weekly/Monthly Usage/Production**: Daily/Weekly/Monthly power usage/production in kWh. Updated every 5 minutes. Binary sensors are created for each of the devices detected by your Sense monitor to show their power state. - -{% configuration %} -email: - description: The email associated with your Sense account/application. - required: true - type: string -password: - description: The password for your Sense account/application. - required: true - type: string -timeout: - description: Seconds for timeout of API requests - required: false - type: positive_int -{% endconfiguration %} diff --git a/source/_components/sensor.dsmr.markdown b/source/_components/sensor.dsmr.markdown index 0c47292e9cb..e2220b3a2f2 100644 --- a/source/_components/sensor.dsmr.markdown +++ b/source/_components/sensor.dsmr.markdown @@ -119,16 +119,22 @@ or [HASSbian](/getting-started/installation-raspberry-pi-image/) users have to give dialout permission to the user `homeassistant`: -``` +```bash $ sudo usermod -a -G dialout homeassistant ``` and after that you need to reboot! -``` +```bash $ sudo reboot ``` +Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command: + +```hass +$ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant +``` + ### {% linkable_title Technical overview %} DSMR is a standard to which Dutch smartmeters must comply. It specifies that the smartmeter must send out a 'telegram' every 10 seconds (every second for DSMR 5.0 devices) over a serial port. diff --git a/source/_components/sensor.sense.markdown b/source/_components/sensor.sense.markdown deleted file mode 100644 index f66a91a8639..00000000000 --- a/source/_components/sensor.sense.markdown +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: page -title: Sense -description: "Instructions on how to integrate Sense within Home Assistant." -date: 2018-01-11 13:50 -sidebar: true -comments: false -sharing: true -footer: true -logo: sense.png -ha_category: Energy -ha_iot_class: "Cloud Polling" -ha_release: 0.65 ---- - -Integrate your [Sense](https://sense.com) electricity meter information into Home Assistant. - -## {% linkable_title Configuration %} - -To enable this integration in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sense: - email: CLIENT_ID - password: CLIENT_SECRET -``` - -In addition to binary sensors for individual devices, two types of sensors will be created with the following names: - -- **Active Usage/Production**: Current active power usage/production in Watts. Updated every 1 minute. -- **Daily/Weekly/Monthly/Yearly Usage/Production**: Daily power usage/production in kWh. Updated every 5 minutes. - -{% configuration %} -email: - description: The email associated with your Sense account/application. - required: true - type: string -password: - description: The password for your Sense account/application. - required: true - type: string -timeout: - description: Timeout for the connection in seconds. - required: false - default: 5 - type: integer -{% endconfiguration %} - -Full example: - -```yaml -# Example configuration.yaml entry -sense: - email: CLIENT_ID - password: CLIENT_SECRET - timeout: 5 -``` diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown deleted file mode 100644 index a6aebf4e5b6..00000000000 --- a/source/_components/sensor.tradfri.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "IKEA Trådfri Sensor" -description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Sensors." -date: 2017-04-12 22.04 -sidebar: true -comments: false -sharing: true -footer: true -logo: ikea.svg -ha_category: Sensor -ha_iot_class: "Local Polling" -ha_release: 0.67 ---- - -For installation instructions, see [the Trådfri component](/components/tradfri/). diff --git a/source/_components/switch.homematic.markdown b/source/_components/switch.homematic.markdown index 7902ae4974d..ceaa29fc9e6 100644 --- a/source/_components/switch.homematic.markdown +++ b/source/_components/switch.homematic.markdown @@ -13,7 +13,6 @@ ha_release: 0.23 ha_iot_class: "Local Push" --- - The `homematic` switch platform lets you control [Homematic](http://www.homematic.com/) switches through Home Assistant. Devices will be configured automatically. Please refer to the [component](/components/homematic/) configuration on how to setup Homematic. \ No newline at end of file diff --git a/source/_components/switch.hook.markdown b/source/_components/switch.hook.markdown index fbfeef75b4b..71ef1bc45c6 100644 --- a/source/_components/switch.hook.markdown +++ b/source/_components/switch.hook.markdown @@ -14,7 +14,7 @@ ha_release: 0.34 The `hook` component allows you to control the [Hook Smart Home Hub](http://www.hooksmarthome.com/) from within Home Assistant. -Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://www.amazon.com/Etekcity-Wireless-Electrical-Household-Appliances/dp/B00DQELHBS). +Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://www.amazon.com/Etekcity-Wireless-Electrical-Household-Appliances/dp/B00DQELHBS). In short, Hook is an RF to Wi-Fi bridge, controlling devices that receive commands at 315MHz and 433MHz. Unfortunately, this does not allow Hook to determine if the command was successful, so the state is assumed. @@ -28,7 +28,7 @@ To enable this platform in your installation, add the following to your `configu ```yaml # Example configuration.yaml entry -switch: +switch: - platform: hook username: YOUR_E_MAIL_ADDRESS password: YOUR_HOOK diff --git a/source/_components/switch.hydrawise.markdown b/source/_components/switch.hydrawise.markdown index fc584f75a7e..2fc830e844c 100644 --- a/source/_components/switch.hydrawise.markdown +++ b/source/_components/switch.hydrawise.markdown @@ -27,7 +27,7 @@ switch: {% configuration %} watering_minutes: - description: When manual watering is enabled this will determine the length of time in minutes that irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60. + description: When manual watering is enabled this will determine the length of time in minutes that the irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60. required: false type: integer default: 15 @@ -63,5 +63,4 @@ switch: monitored_conditions: manual_watering ``` - Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise) and [Hydrawise sensor](/components/sensor.hydrawise/) documentation. diff --git a/source/_components/switch.ihc.markdown b/source/_components/switch.ihc.markdown index 0830439c8e1..21b2e5ecdcc 100644 --- a/source/_components/switch.ihc.markdown +++ b/source/_components/switch.ihc.markdown @@ -24,6 +24,8 @@ project and setup as switch devices: - Mobile wireless relay - Dataline plug outlet +## {% linkable_title Configuration %} + To manually configure IHC switches insert the "switch" section in your IHC configuration: @@ -32,7 +34,7 @@ ihc: - url: 'http://192.168.1.3' username: YOUR_USERNAME password: YOUR_PASSWORD - info: true + info: true switch: - id: 12345 - id: 12346 diff --git a/source/_components/switch.insteon.markdown b/source/_components/switch.insteon.markdown index 0af789e8a3e..216837be65b 100644 --- a/source/_components/switch.insteon.markdown +++ b/source/_components/switch.insteon.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Insteon Switch" -description: "Instructions on how to setup the Insteon switches locally within Home Assistant." +description: "Instructions on how to set up the Insteon switches locally within Home Assistant." date: 2018-08-20 16:00 sidebar: true comments: false @@ -13,7 +13,7 @@ ha_iot_class: "Local Push" ha_version: 0.77 --- -The `insteon` switch platform lets you control your on/off switches through +The `insteon` switch platform lets you control on/off switches through an INSTEON Modem (PLM and Hub) device connected directly to your system on a USB, serial port or TCPIP connection. To add support, set up the primary [insteon] component. diff --git a/source/_components/switch.kankun.markdown b/source/_components/switch.kankun.markdown index 264a6b98a45..68e715784a5 100644 --- a/source/_components/switch.kankun.markdown +++ b/source/_components/switch.kankun.markdown @@ -12,13 +12,14 @@ ha_release: 0.36 ha_iot_class: "Local Polling" --- - The `kankun` switch platform allows you to toggle customized Kankun SP3 Wifi switches. Switches are modified to include the [json.cgi](https://github.com/homedash/kankun-json/blob/master/cgi-bin/json.cgi) script to provide an HTTP API. Details of the necessary modifications can be found [here](http://www.homeautomationforgeeks.com/openhab_http.shtml#kankun) (be sure to install the JSON version of the script as linked above). +## {% linkable_title Configuration %} + To enable it, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/switch.knx.markdown b/source/_components/switch.knx.markdown index 47e9e720d4c..5b712dc043a 100644 --- a/source/_components/switch.knx.markdown +++ b/source/_components/switch.knx.markdown @@ -13,7 +13,6 @@ ha_release: 0.24 ha_iot_class: "Local Polling" --- - The `knx` switch component is used as in interface to switching actuators. The `knx` component must be configured correctly, see [KNX Component](/components/knx). @@ -47,4 +46,3 @@ state_address: Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. For switching actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address. - diff --git a/source/_components/switch.konnected.markdown b/source/_components/switch.konnected.markdown index 8eecdd41801..e3c02df87dc 100644 --- a/source/_components/switch.konnected.markdown +++ b/source/_components/switch.konnected.markdown @@ -15,5 +15,4 @@ ha_iot_class: "Local Push" The `konnected` switch platform allows you to actuate an alarm system siren, strobe light, buzzer or any other wired device using a [Konnected Alarm Panel board](https://konnected.io) or relay module and a NodeMCU ESP8266 WiFi module running the [open source Konnected software](https://github.com/konnected-io/konnected-security). -See the [`konnected`](/components/konnected/) component for configuration and setup instructions. - +See the [`konnected`](/components/konnected/) component for configuration and setup instructions. diff --git a/source/_components/switch.linode.markdown b/source/_components/switch.linode.markdown index f0afd3dd84b..f996d96959e 100644 --- a/source/_components/switch.linode.markdown +++ b/source/_components/switch.linode.markdown @@ -31,4 +31,3 @@ switch: required: true type: string {% endconfiguration %} - diff --git a/source/_components/switch.markdown b/source/_components/switch.markdown index 6e93003ceeb..0ea76993aaa 100644 --- a/source/_components/switch.markdown +++ b/source/_components/switch.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Switches" -description: "Instructions on how to setup your switches with Home Assistant." +description: "Instructions on how to set up your switches with Home Assistant." date: 2015-01-24 14:39 sidebar: true comments: false @@ -11,10 +11,10 @@ footer: true Keeps track which switches are in your environment, their state and allows you to control them. - * Maintains a state per switch and a combined state `all_switches`. - * Registers services `switch.turn_on`, `switch.turn_off`, and `switch.toggle` to control switches. +- Maintains a state per switch and a combined state `all_switches`. +- Registers services `switch.turn_on`, `switch.turn_off`, and `switch.toggle` to control switches. -### {% linkable_title Use the services %} +## {% linkable_title Use the services %} In the frontend open the sidebar. At the bottom, under **Developer Tools**, click **Services**. From the Service dropdown menu choose `switch.turn_on` or `switch.turn_off` from the list of available services. In the Entity dropdown menu choose or enter the entity ID you want to work with. This will enter something like the sample below into the **Service Data** field. Now hit **CALL SERVICE**. @@ -24,4 +24,4 @@ In the frontend open the sidebar. At the bottom, under **Developer Tools**, clic | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | Only act on a specific switch. Otherwise it targets all switches. +| `entity_id` | yes | Only act on a specific switch. Otherwise, it targets all switches. diff --git a/source/_components/switch.mfi.markdown b/source/_components/switch.mfi.markdown index 03841394858..19a5f58d8d4 100644 --- a/source/_components/switch.mfi.markdown +++ b/source/_components/switch.mfi.markdown @@ -12,7 +12,6 @@ ha_category: Switch ha_iot_class: "Local Polling" --- - The `mfi` switch platform to allow you to control [mFi Controllable Power Outlets](https://www.ubnt.com/mfi/mpower/). ## {% linkable_title Configuration %} diff --git a/source/_components/switch.modbus.markdown b/source/_components/switch.modbus.markdown index c6219ed3ee1..4e897a296b3 100644 --- a/source/_components/switch.modbus.markdown +++ b/source/_components/switch.modbus.markdown @@ -13,7 +13,6 @@ ha_release: pre 0.7 ha_iot_class: "Local Push" --- - The `modbus` switch platform allows you to control [Modbus](http://www.modbus.org/) coils or registers. ## {% linkable_title Configuration %} diff --git a/source/_components/switch.tradfri.markdown b/source/_components/switch.tradfri.markdown deleted file mode 100644 index 95069570664..00000000000 --- a/source/_components/switch.tradfri.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: page -title: "IKEA Trådfri Switch" -description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Switches." -date: 2018-09-30 19.22 -sidebar: true -comments: false -sharing: true -footer: true -logo: ikea.svg -ha_category: Switch -ha_iot_class: "Local Polling" -ha_release: 0.80 ---- - -For installation instructions, see [the Trådfri component](/components/tradfri/). diff --git a/source/_components/tradfri.markdown b/source/_components/tradfri.markdown index a642a1959a9..fb234f2e928 100644 --- a/source/_components/tradfri.markdown +++ b/source/_components/tradfri.markdown @@ -9,9 +9,17 @@ comments: false sharing: true footer: true logo: ikea.svg -ha_category: Hub ha_iot_class: "Local Polling" +ha_config_flow: true ha_release: 0.43 +ha_category: + - Light + - Sensor + - Switch +redirect_from: + - /components/light.tradfri/ + - /components/sensor.tradfri/ + - /components/switch.tradfri/ --- The `tradfri` component support the IKEA Trådfri Gateway (a.k.a. IKEA Tradfri hub/bridge). The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it and Home Assistant will automatically discover the gateways presence on your local network, if `discovery:` is present in your `configuration.yaml` file. diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index a7931e22cf0..b98ec5ddd80 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -10,7 +10,7 @@ footer: true logo: mqtt.png --- -The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/components/binary_sensor.http/) and the [HTTP sensor](/components/sensor.http/). The basic idea is that the device itself adds its configuration into your `configuration.yaml` automatically. To prevent multiple identical entries if a device reconnects a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier and the remaining device configuration without the device type. +The discovery of MQTT devices will enable one to use MQTT devices with only minimal configuration effort on the side of Home Assistant. The configuration is done on the device itself and the topic used by the device. Similar to the [HTTP binary sensor](/components/binary_sensor.http/) and the [HTTP sensor](/components/sensor.http/). To prevent multiple identical entries if a device reconnects a unique identifier is necessary. Two parts are required on the device side: The configuration topic which contains the necessary device type and unique identifier and the remaining device configuration without the device type. Supported by MQTT discovery: diff --git a/source/_includes/asides/component_navigation.html b/source/_includes/asides/component_navigation.html index bd64fc7efe3..d9c4b26c9ce 100644 --- a/source/_includes/asides/component_navigation.html +++ b/source/_includes/asides/component_navigation.html @@ -50,6 +50,12 @@ {%- endif -%} + {%- if page.ha_config_flow -%} +Home Assistant will track the state of all the devices in your home, so you don't have to.
diff --git a/source/components/index.html b/source/components/index.html index eea09566104..d6d9ade957f 100644 --- a/source/components/index.html +++ b/source/components/index.html @@ -17,12 +17,16 @@ regenerate: false {%- assign tot = 0 -%} {%- for comp in site.components -%} {%- if comp.ha_category -%} - {%- assign tot = tot | plus: 1 -%} + {%- if comp.ha_category.first -%} + {%- assign tot = tot | plus: comp.ha_category.size -%} + {%- else -%} + {%- assign tot = tot | plus: 1 -%} + {%- endif -%} {%- endif %} {%- endfor -%} {%- assign components = site.components | sort: 'title' -%} -{%- assign categories = components | sort: 'ha_category' | map: 'ha_category' | uniq -%} +{%- assign categories = components | map: 'ha_category' | join: ',' | join: ',' | split: ',' | uniq | sort -%} {%- capture current_version -%}{{ site.current_major_version }}.{{ site.current_minor_version }}{% endcapture -%} {%- assign added_one_ago_minor_version = site.current_minor_version|minus: 1 -%} {%- capture added_one_ago_version -%}{{ site.current_major_version }}.{{ added_one_ago_minor_version }}{% endcapture -%} @@ -51,7 +55,7 @@ Support for these components is provided by the Home Assistant community. {%- endif -%} {%- endfor -%} - Other + Other ({{ components | where: 'ha_category', 'Other' | size }})We're currently restructuring our developer program and are no longer accepting new developers to the program or performing client integration reviews for existing developers until the new program is implemented. Stay tuned for further details and announcements.
— Nest (@nest) January 16, 2019