mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-06-02 16:26:50 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
a2d388e7fd
@ -142,8 +142,8 @@ social:
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 84
|
||||
current_patch_version: 1
|
||||
date_released: 2018-12-12
|
||||
current_patch_version: 3
|
||||
date_released: 2018-12-17
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -12,7 +12,7 @@ ha_category: Camera
|
||||
ha_release: 0.47
|
||||
---
|
||||
|
||||
The `onvif` camera platform allows you to use an ONVIF camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
|
||||
The `onvif` camera platform allows you to use an [ONVIF](https://www.onvif.org/) camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -27,7 +27,7 @@ camera:
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: An IP or hostname of the camera.
|
||||
description: The IP address or hostname of the camera.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
@ -53,12 +53,12 @@ profile:
|
||||
type: integer
|
||||
default: 0
|
||||
extra_arguments:
|
||||
description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg)."
|
||||
description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [`ffmpeg` component](/components/ffmpeg)."
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Most of the Onvif cameras support more than one audio/video Profile. Each profile provides different image quality. Usually, the first profile has the highest quality, and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time - especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable.
|
||||
Most of the ONVIF cameras support more than one audio/video profile. Each profile provides different image quality. Usually, the first profile has the highest quality and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time, especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable.
|
||||
|
||||
### {% linkable_title Service `camera.onvif_ptz` %}
|
||||
|
||||
|
@ -24,7 +24,7 @@ Currently, only the standard HA operating modes are supported; the evohome modes
|
||||
The evohome Heating zones support only three operating modes: FollowSchedule, TemporaryOverride, and PermanentOverride. If the zone is in FollowSchedule mode, it inherits its `operating_mode` from the controller; the other modes are mapped to 'Manual' or 'Off'.
|
||||
|
||||
A device's actual operating mode can be tracked via its `device_state_attributes`, which includes a JSON data structure for current state called `status`. For example:
|
||||
```
|
||||
```json
|
||||
{
|
||||
'zoneId': '999999',
|
||||
'temperatureStatus': {
|
||||
@ -39,10 +39,13 @@ A device's actual operating mode can be tracked via its `device_state_attributes
|
||||
'name': 'Main Room'
|
||||
}
|
||||
```
|
||||
|
||||
This data can be accessed in automations, etc., via a value template:
|
||||
{% raw %}
|
||||
```
|
||||
value_template: "{{ state_attr('climate.main_room', 'status').setpointStatus.setpointMode }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [evohome component](/components/evohome/) page.
|
||||
|
@ -49,7 +49,7 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is
|
||||
2. Change your `configuration.yaml` file:
|
||||
- Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed.
|
||||
3. Restart Home Assistant, open the `Google Home` app on your mobile phone then go to `Account > Settings > Assistant > Home Control`, press the `3 dot icon in the top right > Manage accounts > [test] your app name > Unlink account` Then relink your account by selecting `[test] your app name` again.
|
||||
4. A browser will be open and asking you to login to your Home Assistant instance, it will redirect back to `Google Assistant` app right afterward.
|
||||
4. A browser will open and ask you to login to your Home Assistant instance and will redirect back to the `Google Assistant` app right afterward.
|
||||
|
||||
<p class='note'>
|
||||
If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app.
|
||||
@ -89,7 +89,7 @@ If you've added Home Assistant to the home screen, you have to first remove it f
|
||||
2. Click `Test -> Simulator`, then click `Share` icon in the right top corner. Follow the on-screen instruction:
|
||||
1. Add team members: Got to `Settings -> Permission`, click `Add`, type the new user's e-mail address and choose `Project -> Viewer` role.
|
||||
2. Copy and share the link with the new user.
|
||||
3. New user clicks the link with their own Google account, it will enable our draft test app under their account.
|
||||
3. When the new user opens the link with their own Google account, it will enable your draft test app under their account.
|
||||
3. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account.
|
||||
8. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
|
||||
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
|
||||
|
@ -41,7 +41,7 @@ server_port:
|
||||
type: integer
|
||||
default: 8123
|
||||
base_url:
|
||||
description: "The URL that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. The iOS app finds local installations, if you have an outside URL use this so that you can auto-fill when discovered in the app."
|
||||
description: "The URL that Home Assistant is available on the internet. For example: `https://hass-example.duckdns.org:8123`. The iOS app finds local installations, if you have an outside URL use this so that you can auto-fill when discovered in the app."
|
||||
required: false
|
||||
type: string
|
||||
default: Your local IP address
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MQTT Light - Default schema"
|
||||
title: "MQTT Light"
|
||||
description: "Instructions on how to setup MQTT lights using default schema within Home Assistant."
|
||||
date: 2015-11-13 08:30
|
||||
sidebar: true
|
||||
|
@ -13,12 +13,7 @@ ha_release: 0.62
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `mychevy` component communicates with
|
||||
the [my.chevrolet](https://my.chevrolet.com) website using the
|
||||
javascript API that the website uses (as of Dec 2018). The mychevy
|
||||
website has been known to be both unstable (interfaces changing
|
||||
somewhat willy nilly) and have substantial outages. So be forwarned in
|
||||
using this component.
|
||||
The `mychevy` component communicates with the [my.chevrolet](https://my.chevrolet.com) website using the javascript API that the website uses (as of Dec 2018). The mychevy website has been known to be both unstable (interfaces changing somewhat willy nilly) and have substantial outages. So be forwarned in using this component.
|
||||
|
||||
This component provides the following platforms:
|
||||
|
||||
@ -54,7 +49,7 @@ The architecture of the GM automotive networking imposes some limitations on the
|
||||
|
||||
The OnStar network link is very slow, and takes 1 - 3 minutes to get information back from the car. As such the mychevy component only polls every 30 minutes to not overwhelms that connection.
|
||||
|
||||
The OnStar network (or more specifically the gateway used by the my.chevrolet website) appears to suffer more than most networks when the car is a) in a garage, and b) it's cold outside (like < 15 degrees F). One of the provided sensors is a status sensor which indicates if we got connectivity with the car on the last polling cycle or not.
|
||||
The OnStar network (or more specifically the gateway used by the my.chevrolet website) appears to suffer more than most networks when the car is a) in a garage, and b) it's cold outside (like < 15 degrees F). One of the provided sensors is a status sensor which indicates if we got connectivity with the car on the last polling cycle or not.
|
||||
|
||||
The "API" for this is written through using some existing API calls from the Javascript web user interfae. As such, it only currently is known to work if you have a Chevy Bolt EV or a Chevy Volt, and only 1 Chevy car connected to OnStar. Patches for extended support should go to the [https://github.com/sdague/mychevy](https://github.com/sdague/mychevy) project first, then Home Assistant can be extended.
|
||||
|
||||
The "API" for this is written through using some existing API calls
|
||||
from the javascript web ui. As such, it only currently is known to work if you have a Chevy Bolt EV, and only 1 Chevy car connected to OnStar. Patches for extended support should go to the https://github.com/sdague/mychevy project first, then Home Assistant can be extended.
|
||||
|
@ -131,21 +131,23 @@ Call the service `recorder.purge` to start a purge task which deletes events and
|
||||
| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the component `purge_keep_days` configuration)
|
||||
| `repack` | yes | Rewrite the entire database, possibly saving some disk space. Only supported for SQLite and requires at least as much disk space free as the database currently uses.
|
||||
|
||||
<p class='note'>
|
||||
Purging does not necessarily remove all entries before a given date. For example, to be able to recover after startup, the last known state for each entry is never purged. This is true even if the entry is already removed from your configuration.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Custom database engines %}
|
||||
|
||||
| Database engine | `db_url` |
|
||||
| :---------------|:---------------------------------------------------------|
|
||||
| SQLite | `sqlite:////PATH/TO/DB_NAME` |
|
||||
| MariaDB | `mysql://SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MariaDB | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MySQL | `mysql://SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MySQL | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MySQL (pymysql) | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MySQL (pymysql) | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MariaDB | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MariaDB | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MySQL | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MySQL | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| PostgreSQL | `postgresql://SERVER_IP/DB_NAME` |
|
||||
| PostgreSQL | `postgresql://scott:tiger@SERVER_IP/DB_NAME` |
|
||||
| PostgreSQL | `postgresql://user:password@SERVER_IP/DB_NAME` |
|
||||
| PostgreSQL (Socket) | `postgresql://@/DB_NAME` |
|
||||
| MS SQL Server | `mssql+pymssql://user:pass@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
| MS SQL Server | `mssql+pymssql://user:password@SERVER_IP/DB_NAME?charset=utf8` |
|
||||
|
||||
<p class='note'>
|
||||
If you use MariaDB 10 you need to add port 3307 (or another port depending on which port is used by, for example: your hosting provider.) to the SERVER_IP, e.g., `mysql://user:password@SERVER_IP:3307/DB_NAME?charset=utf8`.
|
||||
|
@ -7,7 +7,7 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: flunearyou.jpg
|
||||
logo: flunearyou.png
|
||||
ha_category: Health
|
||||
ha_release: 0.83
|
||||
ha_iot_class: "Cloud Polling"
|
||||
|
@ -24,6 +24,7 @@ Supported Firmwares (tested):
|
||||
|
||||
- FRITZ!OS: 06.80 / FRITZ!DECT: 03.83
|
||||
- FRITZ!OS: 06.98-51288 (Beta) / FRITZ!DECT: 03.87
|
||||
- FRITZ!OS: 7.01 / FRITZ!DECT: 04.09
|
||||
|
||||
To use your AVM FRITZ!DECT switch(es) in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -137,7 +137,7 @@ Returns an URL to the generated TTS file. Platform and message are required.
|
||||
|
||||
```json
|
||||
{
|
||||
"plaform": "amazon_polly",
|
||||
"platform": "amazon_polly",
|
||||
"message": "I am speaking now"
|
||||
}
|
||||
```
|
||||
|
@ -25,7 +25,7 @@ condition:
|
||||
state: 'home'
|
||||
- condition: numeric_state
|
||||
entity_id: 'sensor.temperature'
|
||||
below: '20'
|
||||
below: 20
|
||||
```
|
||||
|
||||
If you do not want to combine AND and OR conditions, you can also just list them sequentially, by default all conditions have to be true.
|
||||
@ -38,7 +38,7 @@ condition:
|
||||
state: 'home'
|
||||
- condition: numeric_state
|
||||
entity_id: 'sensor.temperature'
|
||||
below: '20'
|
||||
below: 20
|
||||
```
|
||||
|
||||
Currently you need to format your conditions like this to be able to edit them using the [automations editor](/docs/automation/editor/).
|
||||
@ -56,7 +56,7 @@ condition:
|
||||
state: 'home'
|
||||
- condition: numeric_state
|
||||
entity_id: 'sensor.temperature'
|
||||
below: '20'
|
||||
below: 20
|
||||
```
|
||||
|
||||
### {% linkable_title MIXED AND and OR conditions %}
|
||||
@ -78,7 +78,7 @@ condition:
|
||||
state: 'rain'
|
||||
- condition: numeric_state
|
||||
entity_id: 'sensor.temperature'
|
||||
below: '20'
|
||||
below: 20
|
||||
```
|
||||
|
||||
### {% linkable_title Numeric state condition %}
|
||||
|
@ -148,7 +148,7 @@ $ dmesg | grep USB
|
||||
If Home Assistant (`hass`) runs with another user (e.g., *homeassistant* on Hassbian) give access to the stick with:
|
||||
|
||||
```bash
|
||||
$ sudo usermod -a -G dialout homeassistant
|
||||
$ sudo usermod -aG dialout homeassistant
|
||||
```
|
||||
|
||||
<p class='Note'>
|
||||
@ -249,7 +249,7 @@ $ groups homeassistant
|
||||
That should include `dialout`, if it doesn't then:
|
||||
|
||||
```bash
|
||||
$ sudo usermod -G dialout homeassistant
|
||||
$ sudo usermod -aG dialout homeassistant
|
||||
```
|
||||
|
||||
### {% linkable_title Device path changes %}
|
||||
|
@ -110,9 +110,9 @@ Title and Script Service Example:
|
||||
name: Turn Off Lights
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.turn_on
|
||||
service_data:
|
||||
entity_id: script.turn_off_lights
|
||||
service: script.turn_on
|
||||
service_data:
|
||||
entity_id: script.turn_off_lights
|
||||
entity: script.turn_off_lights
|
||||
```
|
||||
|
||||
|
@ -80,7 +80,7 @@ Title and Unit of Measurement Example:
|
||||
|
||||
```yaml
|
||||
- type: gauge
|
||||
title: CPU Usuage
|
||||
name: CPU Usuage
|
||||
unit: '%'
|
||||
entity: sensor.cpu_usage
|
||||
```
|
||||
@ -94,7 +94,7 @@ Define the severity map:
|
||||
|
||||
```yaml
|
||||
- type: gauge
|
||||
title: With Severity
|
||||
name: With Severity
|
||||
unit: '%'
|
||||
entity: sensor.cpu_usage
|
||||
severity:
|
||||
|
@ -64,6 +64,4 @@ theme:
|
||||
- type: sensor
|
||||
entity: sensor.illumination
|
||||
name: Illumination
|
||||
height: 75
|
||||
line_color: "#3498db"
|
||||
```
|
||||
|
@ -75,6 +75,72 @@ Editor UI is now further processed. You can manage your Lovelace UI without leav
|
||||
[logbook docs]: /components/logbook/
|
||||
[owntracks docs]: /components/owntracks/
|
||||
|
||||
## {% linkable_title Release 0.84.2 - December 14 %}
|
||||
|
||||
- Don't avoid async_schedule_update_ha_state by returning false ([@syssi] - [#19102]) ([binary_sensor.xiaomi_aqara docs])
|
||||
- Always add friendly name attribute to ZHA entities ([@damarco] - [#19141]) ([zha docs])
|
||||
- Bump aioasuswrt ([@kennedyshead] - [#19229]) ([asuswrt docs])
|
||||
- Add automation and script events to logbook filter events ([@luca-angemi] - [#19253]) ([logbook docs])
|
||||
- Fix list (fixes #19235) ([@fabaff] - [#19258]) ([tts docs])
|
||||
- Fix OwnTracks deadlocking ([@balloob] - [#19260]) ([owntracks docs])
|
||||
- Fix call to super() ([@marchingphoenix] - [#19279]) ([light.lutron docs])
|
||||
- Improve check for duplicated entity_id ([@emontnemery] - [#19194])
|
||||
- Fix race in entity_platform.async_add_entities ([@emontnemery] - [#19222])
|
||||
|
||||
[#19102]: https://github.com/home-assistant/home-assistant/pull/19102
|
||||
[#19141]: https://github.com/home-assistant/home-assistant/pull/19141
|
||||
[#19222]: https://github.com/home-assistant/home-assistant/pull/19222
|
||||
[#19229]: https://github.com/home-assistant/home-assistant/pull/19229
|
||||
[#19253]: https://github.com/home-assistant/home-assistant/pull/19253
|
||||
[#19258]: https://github.com/home-assistant/home-assistant/pull/19258
|
||||
[#19260]: https://github.com/home-assistant/home-assistant/pull/19260
|
||||
[#19279]: https://github.com/home-assistant/home-assistant/pull/19279
|
||||
[#19194]: https://github.com/home-assistant/home-assistant/pull/19194
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@damarco]: https://github.com/damarco
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@kennedyshead]: https://github.com/kennedyshead
|
||||
[@luca-angemi]: https://github.com/luca-angemi
|
||||
[@marchingphoenix]: https://github.com/marchingphoenix
|
||||
[@syssi]: https://github.com/syssi
|
||||
[asuswrt docs]: /components/asuswrt/
|
||||
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
|
||||
[light.lutron docs]: /components/light.lutron/
|
||||
[logbook docs]: /components/logbook/
|
||||
[owntracks docs]: /components/owntracks/
|
||||
[tts docs]: /components/tts/
|
||||
[zha docs]: /components/zha/
|
||||
|
||||
## {% linkable_title Release 0.84.3 - December 17 %}
|
||||
|
||||
- Set lock status correctly for Schlage BE469 Z-Wave locks ([@ahayworth] - [#18737]) ([lock.zwave docs])
|
||||
- Fix restore state for manual alarm control panel ([@liaanvdm] - [#19284]) ([alarm_control_panel.manual docs])
|
||||
- Fix not being able to update entities ([@glentakahashi] - [#19344]) ([config docs])
|
||||
|
||||
#### Frontend
|
||||
|
||||
- Fix setting aspect ratio in percentage ([#2289](https://github.com/home-assistant/home-assistant-polymer/pull/2289)) [@balloob]
|
||||
- Fix opening edit dialog twice when closed by clicking on overlay ([#2290](https://github.com/home-assistant/home-assistant-polymer/pull/2290)) [@balloob]
|
||||
- Fix translations not loading on first load ([#2293](https://github.com/home-assistant/home-assistant-polymer/pull/2293)) [@balloob]
|
||||
- remove Animation for thermostat and light ([#2303](https://github.com/home-assistant/home-assistant-polymer/pull/2303)) [@zsarnett]
|
||||
- Fix for picture element positioning ([#2335](https://github.com/home-assistant/home-assistant-polymer/pull/2335)) [@iantrich]
|
||||
- Fix undefined on plant/weather card ([#2339](https://github.com/home-assistant/home-assistant-polymer/pull/2339)) [@balloob]
|
||||
- Fix service button element ([#2343](https://github.com/home-assistant/home-assistant-polymer/pull/2343)) [@balloob]
|
||||
|
||||
|
||||
[#18737]: https://github.com/home-assistant/home-assistant/pull/18737
|
||||
[#19284]: https://github.com/home-assistant/home-assistant/pull/19284
|
||||
[#19344]: https://github.com/home-assistant/home-assistant/pull/19344
|
||||
[@ahayworth]: https://github.com/ahayworth
|
||||
[@glentakahashi]: https://github.com/glentakahashi
|
||||
[@zsarnett]: https://github.com/zsarnett
|
||||
[@iantrich]: https://github.com/iantrich
|
||||
[@liaanvdm]: https://github.com/liaanvdm
|
||||
[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
|
||||
[config docs]: /components/config/
|
||||
[lock.zwave docs]: /components/lock.zwave/
|
||||
|
||||
## {% linkable_title If you need help... %}
|
||||
|
||||
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
@ -0,0 +1,56 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Logitech Harmony removes local API"
|
||||
description: "Logitech has disabled the local API of the Harmony Hub with their latest software update. For privacy and speed it is important that home automation devices communicate locally, without data leaving the network."
|
||||
date: 2018-12-17 00:01:00
|
||||
date_formatted: "December 17, 2018"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Public-Service-Announcement
|
||||
---
|
||||
|
||||
Logitech has disabled the local API of the Harmony Hub with their latest software update (v4.15.206). For privacy and speed it is important that home automation devices communicate locally, without data leaving the network. With the latest update to the Logitech Harmony Hub, this is no longer possible.
|
||||
|
||||
We hope that this was an oversight on their end and that it will be reverted shortly. We have reached out to Logitech for a clarification and will update this post when available. Until this is resolved, we no longer recommend buying or using Logitech products.
|
||||
|
||||
_This is a developing story that we will update as more information becomes available._
|
||||
|
||||
**Update 1 (17 dec):** still no response on our inquiries but Twitter user [@FlorianNoack](https://twitter.com/FlorianNoack/status/1074744105002037248?s=09) found an answer from Logitech on [a thread on their forums](https://community.logitech.com/s/question/0D55A00008D1oIoSAJ/firmware-update-blocked-api-access) (visible after clicking a few times on "More answers"):
|
||||
|
||||
<p class='img'>
|
||||
<a href='https://community.logitech.com/s/question/0D55A00008D1oIoSAJ/firmware-update-blocked-api-access'><img src='/images/blog/2018-12-logitech-harmony-removes-local-api/forum-post.png' alt='Screenshot of a forum post by a Logitech employee saying that the Harmony team is aware of the feedback and it will provide an update shortly.'></a>
|
||||
Forum post by member of the Harmony Team.
|
||||
</p>
|
||||
|
||||
**Update 2 (18 dec):** the same employee now [created a new post on their forums](https://community.logitech.com/s/question/0D55A00008D2zYDSAZ/harmony-hub-fw-415206) (we assume for more visibility). Message is still that more details will follow soon.
|
||||
|
||||
<p class='img'>
|
||||
<a href='https://community.logitech.com/s/question/0D55A00008D2zYDSAZ/harmony-hub-fw-415206'><img src='/images/blog/2018-12-logitech-harmony-removes-local-api/forum-post-2.png' alt='Screenshot of a forum post by a Logitech employee saying that a few customers are experiencing issues with certain configurations and that they follow up soon with more details.'></a>
|
||||
Thread by member of the Harmony Team.
|
||||
</p>
|
||||
|
||||
**Update 3 (18 dec):** Twitter user [@ChadBeattie](https://twitter.com/ChadBeattie/status/1074770135121125376) has discovered that there seems to be a second undocumented local API that is being used by the Logitech Harmony iOS app. Home Assistant dev [@ehendrix23](https://github.com/ehendrix23) is looking into updating the PyHarmony library to use this. Join #devs_backend on [our chat](https://www.home-assistant.io/join-chat/) if you want to help with development. We can't guarantee that it will work, but if we can get it to work, we will do a hot fix release.
|
||||
|
||||
### {% linkable_title Reverting the software update %}
|
||||
|
||||
If you have already updated your Harmony Hub to v4.15.206, you have probably noticed that Home Assistant and other products communicating with the local API have stopped working. Don’t worry, it’s (still?) possible to downgrade to a previous version using the following steps (source: [Reddit 1](https://www.reddit.com/r/homeassistant/comments/a6u6ep/psa_harmony_hub_firmware_v415206_breaksremoves/), [Reddit 2](https://www.reddit.com/r/homeassistant/comments/a6u6ep/psa_harmony_hub_firmware_v415206_breaksremoves/eby89t8/)):
|
||||
|
||||
1. Download the [MyHarmony Computer Application](https://support.myharmony.com/en-us/download).
|
||||
2. Launch the MyHarmony app.
|
||||
3. Before clicking anywhere inside the window:
|
||||
- Windows users: Press Alt+F9.
|
||||
- Mac users: Press Fn+Option+F9 or Option+F9 (depending on Mac model, either one will work).
|
||||
4. Scroll the window to find your Harmony model.
|
||||
5. Select "Factory Reset" for the appropriate model. This does not do anything immediately.
|
||||
6. Steps 1-4 will be displayed for completing a Factory Reset. We are only doing Step 1. "Restore" here means "Rollback".
|
||||
7. Connect your Harmony hub to the PC via micro-USB.
|
||||
Within a few minutes, it will be detected by MyHarmony and display Remote Model, Firmware Version, and Hardware revision. The Restore 1. button will be enabled.
|
||||
8. Click "Restore" and wait. (Now is the first time that it actually describes that it's a rollback!)
|
||||
9. When it completes, you should be on Firmware Version 4.15.193. Disconnect the hub from the PC and return it to its original location.
|
||||
And the final, important step: eliminate the ability for the Harmony hub to access these domains, or the internet altogether. I used 1. DD-WRT's Access Restrictions feature to disable all internet access, because my specific implementation is entirely intranet-based. YMMV.
|
||||
- svcs.myharmony.com
|
||||
- content.dhg.myharmony.com
|
||||
- logging.dhg.myharmony.com
|
||||
- myharmony.com
|
||||
- sus.dhg.myharmony.com
|
@ -13,19 +13,24 @@ body_id: components-page
|
||||
regenerate: false
|
||||
---
|
||||
|
||||
{% assign count = site.components | size %}
|
||||
{% assign nocat = site.components | where: 'ha_category', null | size %}
|
||||
{% assign tot = count | minus: nocat %}
|
||||
{% assign components = site.components | sort: 'title' %}
|
||||
{% assign categories = components | sort: 'ha_category' | map: 'ha_category' | uniq %}
|
||||
{% 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 %}
|
||||
{% assign added_two_ago_minor_version = site.current_minor_version|minus: 2 %}
|
||||
{% capture added_two_ago_version %}{{ site.current_major_version }}.{{ added_two_ago_minor_version }}{% endcapture %}
|
||||
{% assign current_version_components_count = site.components | where: 'ha_release', current_version | size %}
|
||||
{% assign one_ago_version_components_count = site.components | where: 'ha_release', added_one_ago_version | size %}
|
||||
{% assign two_ago_version_components_count = site.components | where: 'ha_release', added_two_ago_version | size %}
|
||||
{%- comment -%}Can't use where to count nil because of https://github.com/jekyll/jekyll/issues/6038{%- endcomment -%}
|
||||
{%- assign tot = 0 -%}
|
||||
{%- for comp in site.components -%}
|
||||
{%- if comp.ha_category -%}
|
||||
{%- assign tot = tot | plus: 1 -%}
|
||||
{%- endif %}
|
||||
{%- endfor -%}
|
||||
|
||||
{%- assign components = site.components | sort: 'title' -%}
|
||||
{%- assign categories = components | sort: 'ha_category' | map: 'ha_category' | uniq -%}
|
||||
{%- 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 -%}
|
||||
{%- assign added_two_ago_minor_version = site.current_minor_version|minus: 2 -%}
|
||||
{%- capture added_two_ago_version -%}{{ site.current_major_version }}.{{ added_two_ago_minor_version }}{% endcapture -%}
|
||||
{%- assign current_version_components_count = site.components | where: 'ha_release', current_version | size -%}
|
||||
{%- assign one_ago_version_components_count = site.components | where: 'ha_release', added_one_ago_version | size -%}
|
||||
{%- assign two_ago_version_components_count = site.components | where: 'ha_release', added_two_ago_version | size -%}
|
||||
|
||||
<p class='note'>
|
||||
Support for these components is provided by the Home Assistant community.
|
||||
@ -68,8 +73,9 @@ Support for these components is provided by the Home Assistant community.
|
||||
{%- endfor -%}
|
||||
{% endcomment %}
|
||||
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.js"></script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/2.3.0/mustache.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/2.3.0/mustache.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/vanilla-lazyload/10.17.0/lazyload.min.js"></script>
|
||||
|
||||
{% raw %}
|
||||
<script id="component-template" type="text/x-custom-template">
|
||||
@ -134,6 +140,9 @@ allComponents.pop(); // remove placeholder element at the end
|
||||
* filter all components, based on the location's hash and render them into the component box
|
||||
*/
|
||||
function applyFilter() {
|
||||
var logoLazyLoad = new LazyLoad({
|
||||
elements_selector: ".option-card img"
|
||||
});
|
||||
var rendered, i, filter, search;
|
||||
var hash = location.hash || '';
|
||||
var data = {
|
||||
@ -142,7 +151,7 @@ allComponents.pop(); // remove placeholder element at the end
|
||||
if(this.logo === '') {
|
||||
return '';
|
||||
} else {
|
||||
return '<img src="/images/supported_brands/' + this.logo + '">';
|
||||
return '<img data-src="/images/supported_brands/' + this.logo + '">';
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -201,6 +210,7 @@ allComponents.pop(); // remove placeholder element at the end
|
||||
|
||||
// remove previous elements and css classes, add the new stuff and then trigger the fade-in css animation
|
||||
$('#componentContainer').html('').removeClass('show-items remove-items').html(rendered).addClass('show-items');
|
||||
logoLazyLoad.update();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
@ -11,6 +11,7 @@ footer: true
|
||||
## {% linkable_title Changes in 0.84.0 %}
|
||||
|
||||
### Breaking Changes
|
||||
- ⚠️ [views]: Renamed `id` to `path`
|
||||
- ⚠️ [sensor card]: Removed configs `height`, `line_color` and `line_width`
|
||||
- ⚠️ [gauge card]: Renamed config `title` to `name`
|
||||
- ⚠️ [alarm panel card]: Renamed config `title` to `name`
|
||||
@ -205,6 +206,7 @@ footer: true
|
||||
|
||||
- ❤️ Initial release of the Lovelace UI
|
||||
|
||||
[views]: /lovelace/views/
|
||||
[alarm panel card]: /lovelace/alarm-panel/
|
||||
[conditional card]: /lovelace/conditional/
|
||||
[entities card]: /lovelace/entities/
|
||||
|
Loading…
x
Reference in New Issue
Block a user