From b90be7be6229d828f6dfcbcf6b9509c17dab440b Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 21 Dec 2018 21:56:22 +0100 Subject: [PATCH] Add more info --- ...-logitech-harmony-removes-local-api.markdown | 10 +++++----- .../forum-post-5.png | Bin 0 -> 22747 bytes 2 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 source/images/blog/2018-12-logitech-harmony-removes-local-api/forum-post-5.png diff --git a/source/_posts/2018-12-17-logitech-harmony-removes-local-api.markdown b/source/_posts/2018-12-17-logitech-harmony-removes-local-api.markdown index d77fdf94723..c565237c44c 100644 --- a/source/_posts/2018-12-17-logitech-harmony-removes-local-api.markdown +++ b/source/_posts/2018-12-17-logitech-harmony-removes-local-api.markdown @@ -1,6 +1,6 @@ --- layout: post -title: "[Update: resolved] Logitech Harmony removes local API" +title: "[Update: resolved, API reinstated and commitment to keep it around] 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" @@ -14,8 +14,6 @@ categories: Public-Service-Announcement Logitech is also working on a new version of the hub firmware that fixes the vulnerabilities. This is great and this restores our trust in Logitech. Thanks Logitech for turning around and working with your users. -Home Assistant users are suggested to update to the latest Home Assistant version instead. Starting with version 0.84.5, we have migrated to the websockets API and no longer rely on the XMPP API. -

Screenshot of the developer-only firmware reinstating the local XMPP API. Also includes a disclaimer that it voids your warranty. The developer-only firmware that reinstates the local XMPP API. Voids warranty if installed. @@ -23,9 +21,11 @@ Home Assistant users are suggested to update to the latest Home Assistant versio Tenable, the cyber security firm that discovered the security vulnerabilities, has released [a Research Advisory](https://www.tenable.com/security/research/tra-2018-47) detailing the issues and the disclosure timeline. +**Update 7 (21 dec):** Even better news! Someone from Harmony posted [in our forums](https://community.home-assistant.io/t/logitechs-stance-on-local-apis/85842/18?u=balloob) and stated that they are now committed to maintaining their local XMPP API. +

- The vulnerability disclosure timeline from Tenable. - Vulnerability Disclosure Timeline + Screenshot of someone from Harmony stating that they are going to keep the local XMPP API around. + Forum post by Harmony employee on the Home Assistant forums.

_Original Post:_ diff --git a/source/images/blog/2018-12-logitech-harmony-removes-local-api/forum-post-5.png b/source/images/blog/2018-12-logitech-harmony-removes-local-api/forum-post-5.png new file mode 100644 index 0000000000000000000000000000000000000000..045297dc4ec5656976075ed7a82987208fa8a815 GIT binary patch literal 22747 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 literal 0 HcmV?d00001