Homee Apps und die Kommunikation mit den Würfeln

„Tue Gutes und sprich darüber“ ist nicht gerade das Steckenpferd der homee GmbH.
Nach der offenen Kommunikation bzgl. der Abkündigung der „lokalen“ WebApp, gefolgt von Entrüstung und wilden Diskussionen in der Community, hat CA in Rekordzeit einen adäquaten und in meinen Augen zukunftsfähigeren Ersatz geliefert. Leider hat hierzu seitens homee GmbH bis auf kurzgeratene HowTo-Artikel über Zertifikate keinerlei zentrale, umfassende Information an die User stattgefunden.

Dies zum Anlass hier, frei nach dem Motto „dann muss es die Communitiy eben richten“, eine Wissenssammlung zu den homee Apps im allgemeinen und der Webapp im Speziellen.
Alles nach bestem Wissen und Gewissen zusammengetragen und vereinfacht dargestellt. Ohne Anspruch auf Vollständigkeit und Korrektheit.

Grundprinzip des Verbindungsaufbaus zwischen App und homee:

Als eindeutiger Identifier wird die homeeID zum Verbinden angegeben.
1. Die App sucht den Würfel im lokalen Netzwerk, in dem sich dein Endgerät befindet und verbindet sich direkt mit ihm.
2.Ist ein direktes Verbinden nicht möglich z.B. wenn du mit dem Handy unterwegs und somit nicht im heimischen WLAN bist, nutzt die App die Verbindung über den homee Proxy.

Alternativ ist es teilweise möglich homee im lokalen Netzwerk, statt über die homeeID zu suchen, direkt per IP-Adresse anzusprechen. In diesem Fall wird nie eine Verbindung über den homee Proxy aufgebaut.

Aufstellung der App-Funktionen und damit verbundene Wirkung:

App Android App iOS App WebApp embedded-WebApp (EOL ab 2.30)
Beschreibung native Android App native iOS-App Progressive Web App (PWA) von den homee-Servern Progressive Web App (PWA), integriert im homee Brain Cube
Bezugsort Google Playstore Apple AppStore https://my.hom.ee http://<Lokale IP>:7681/webapp
Version „alle“ „alle“ vor 2.30/ab 2.30 vor 2.30/ab 2.30
verbinden mit homeeID … ja ja ja nein/-
… über Proxy ja ja ja nein/-
… direkt ja ja nein/ja* nein/-
verbinden mit IP-Adresse (direkt) nein ja nein/ja* ja/-
Auswirkung:
Nutzbarkeit aus dem Internet ja ja ja nein/-
Nutzbarkeit lokal ohne Internet/Proxy ja ja nein/ja* ja/-
Nutzbarkeit aus anderem VLAN ohne Internet/via VPN nein ja nein/ja* ja/-

*manuelle Konfiguration auf Endgerät notwendig

WebApps -Begriffserklärung/schärfung & Funktionsweise:
Gebräuchlicher Weise wurde/wird oft von der „lokalen“ WebApp und der („Cloud“) WebApp gesprochen. Da diese Bezeichnungen sehr schwammig und missverständlich sind, versuche ich in diesem Wiki die Bezeichnung embedded-WebApp zu etablieren.
Denn, was ist schon lokal? Wo ist lokal?
Die embedded-WebApp wurde im homee Brain Würfel ausgeliefert und ließ sich im Browser direkt über die URL des eigenen homees aufrufen. Die „normale“ WebApp ist hingegen für alle User unter https://my.hom.ee/ erreichbar. Was jedoch beide gemeinsam hatten… Mit dem initialen Aufruf der jeweiligen URL wurden beide Varianten im Browser heruntergeladen und liefen anschließend „lokal“ im Browser des jeweiligen Endgeräts. D.h. einmal geladen, lässt sich anschließend auch ohne Internet die WebApp unter https://my.hom.ee aufrufen.
Der entscheidende Unterschied war: die normale WebApp konnte sich nur über den homee Proxy mit deinem Würfel verbinden und war daher ohne Internet nutzlos. Die embedded-WebApp funktionierte nur im lokalen Netzwerk für den jeweiligen homee-Brain-Cube, von dem sie aufgerufen wurde.
Ab homee 2.30 kann die „normale“ WebApp optional auch direkt mit homee kommunizieren und ist daher nicht mehr zwingend auf eine funktionsfähige Internetverbindung angewiesen, um homee zu steuern. Die embedded-WebApp wurde im Gegenzug komplett aus dem Würfel entfernt.

  • Warum tickt die WebApp in Bezug auf lokale Verbindungen anders wie Android und iOS? Warum sind manuelle Schritte notwendig?
    „Alles eine Frage der Sicherheit“ :wink: Wie bereits erwähnt handelt es sich bei der WebApp um keine native App für das jeweilige Betriebssystem, sondern sie läuft im Browser und muss sich daher auch mit dem einhergehenden Rahmenbedingungen arrangieren. Neben toller, neuer Features kommen moderne Browser mit immer mehr Sicherheitsfunktionen um die Ecke, die Hackern und Entwicklern das Leben schwer machen.
    Die nativen Apps können eine unverschlüsselte Verbindung zum homee nutzen, die WebApp nicht! Denn was moderne Browser noch weniger mögen als unsichere, unverschlüsselte Kommunikation ist das Mischen von sicheren HTTPS (Aufruf der WebApp) und unsicheren Aufrufen (Anfragen zum homee) (weiterführender Link). homee selbst verstand bis vor kurzem im Gegensatz zum homee Proxy u.a. kein HTTPS.
    Dies hat sich nun mit 2.30 geändert, bringt aber weitere Nebenbedingungen mit sich. Denn an dieser Stelle kommen Zertifikate ins Spiel. Zertifikate sind einerseits für das Ver-/und Entschlüsseln der Kommunikation relevant, dienen darüber hinaus aber auch als Ausweis, um die Identität des Kommunikationspartners zu verifizieren. Der Name/die IP-Adresse mit dem wir das Gegenüber ansprechen, muss mit dem Namen auf seinem Ausweis(Zertifikat) übereinstimmen. (weiterführender Link). Ob wir der Echtheit des Zertifikats vertrauen sollten, geben uns im allgemeinen die Betriebssystem- und Browserhersteller vor, indem sie gewissen Ausstellern von Zertifikaten Vertrauenswürdigkeit einräumen. Im Internet lassen sich daher problemlos allgemein als „vertrauenswürdig“ erachtete Zertifikate besorgen.
    Im privaten Netzwerk ist das leider nicht der Fall. Hier gibt es für uns nichts Vorgekautes. homee muss sich seine Ausweise in gewisser Weise selbst malen und wir müssen unserem Browser beibringen, dass wir eben jenen Zertifikaten vertrauen schenken. Tun wir das nicht, verhindert der Browser die Kommunikation mit der Gegenstelle.
    Und genau mit dem Einrichten dieses „Vertrauens“ beschäftigt sich diese homee-HowTos:
    Windows
    macOS

  • Woran erkenne ich, dass sich die App direkt mit homee (ohne Proxy) verbindet?
    Einfachster Fall: Du nutzt die IP-Adresse zum Verbinden. Wenn’s klappt, hast du eine lokale funktionierende Verbindung. :wink:
    Alternativ, wenn du dich mit der homeeID über die WebApp z. b. im Chrome verbindest, kannst du in den Entwicklertools (F12-Taste) im Netzwerk-Tab sehen, ob eine Verbindung zur homee-IP existiert oder eben zum Proxy (homeeID.hom.ee).


    Genauere Troubleshooting-Infos in @hrgbr PDF (450,5 KB)

  • Kann ich die WebApp noch „lokal“ (Direktverbindung zum homee ohne Internet) nutzen?
    Ja, https://my.hom.ee aufrufen und IP-Adresse statt homeeID eingeben (Voraussetzungen beachten).

  • Welche Voraussetzungen/Vorarbeiten müssen zur Nutzung einer direkten Verbindung zum homee erfüllt sein?
    Für iOS und Android-App: keine
    Für WebApp:
    "Lokale Verbindung in den homee Einstellungen unter App aktivieren & Zertifikate einspielen entsprechend der Anleitung (Windows ,
    macOS, Anleitung von @hrgbr (PDF) (450,5 KB))

  • Funktioniert die direkte Verbindung der WebApp auch auf mobilen Geräten?
    Ja, in der Theorie schon. In der Praxis scheint es sich je nach Smartphone-Hersteller nicht so einfach zu gestalten, das die eingespielten Zertifikate auch wirklich greifen.
    On Top kommen z.b. Samsung Smartphones mit solchen ulkigen Warnungen daher, die gekonnt ignoriert werden können:


    Selbst alles überwachen, aber dann den Nutzer nervös machen, wenn er eigene Entscheidungen trifft.

  • Kann ich auf dem mobilen Gerät testen, ob der Verbindung vertraut wird? Gibts einen Workaround, falls nicht?
    Ja, zwar nicht schön, aber simpel. Einfach eine URL des homees mit HTTPS (welche ist egal) aufrufen. Gibts eine Zertifikatswarnung wie hier, greift das Zertifikat für die Vertrauensstellung nicht.


    Als Workaround die angezeigte Warnung einfach unter „Erweitert“ --> „weiter zu …“ ignorieren. Danach sollte auch das Verbinden mit der WebApp, zumindest temporär/max. 1 Jahr, funktionieren.

  • Kann man die WebApp installieren?
    Jein, moderne Browser erkennen „installierbare“ WebApps und bieten die Installation wie z.b. hier zu sehen direkt in der Adressleiste an (neue Edge/Chrome unter Windows).


    Bei anderen Browsern oder Betriebssystemen wie Linux und Android ist die Installation ggf. über die Menüoptionen im Browser möglich.
    Durch die Installation wird eine Verknüpfung auf dem Desktop, im App Drawer etc angelegt und die App lässt sich „eigenständig“ in einem eigenen Fenster ohne Adressleiste und Menüs des Browsers öffnen. Im Hintergrund werkelt aber dennoch weiterhin der Browser. Werden Cookies, Cache und Websitedaten im Browser gelöscht, ist die Webapp „kaputt“ und benötigt beim nächsten Aufruf Internet um erneut heruntergeladen werden zu können.

Dieser Artikel ist noch alles andere als rund. Ich selbst vermisse noch den roten Faden. Also bitte ergänzen, verbessern und umstrukturieren wie es sich für ein Wiki gehört.

48 „Gefällt mir“

Wow - da hast du dir echt Mühe gemacht.
:coffee:

Sehr guter Wiki-Eintrag.
Danke dir!

Danke - @Steffen - das meinte ich mit einem FAQ-Artikel

2 „Gefällt mir“

Vielen dank @annaeymnd für deine mühe und dein Einsatz das FAQ weiter aufzubauen.

Es musste aber auch natürlich viel Arbeit und Zeit in diese Bereitstellungen der neuen Schnittstelle gehen und eine Grund-Anleitung :wink: war dann auch noch machbar :sunglasses:.

Ich werde gerne noch weiterhelfen, dieses FAQ weiter auszuarbeiten und genau das macht doch eine Community aus. :+1:

2 „Gefällt mir“

Bei so einer Funktion sollte es von der Herstellerseite eine bessere Anleitung geben. Gerade nach den ersten 5 Threads in denen immer versucht wurde die lokale WebApp aufzurufen statt über my.hom.ee.

Die Community zieht den Karren nur aus dem Graben weil man nicht alles nochmal schreiben und erklären möchte…

2 „Gefällt mir“

Hau rein. :wink:
Du und natürlich auch @Pascal , @Volker etc und die ganze Communitiy sind herzlich eingeladen, das Wiki zu verbessern.

Entweder direkt editieren oder Anmerkungen/Anregungen als Antwort auf das Thema posten.

@annaeymnd
Danke dir für deine Super Anleitung, die ich leider erst zu spät gefunden habe.
Hatte für mich selbst nochmal die notwendigen Schritte aufgeschrieben als pdf,
vielleicht hilft es jemand. Lokalzugriff_ab_FW_2.30.pdf (450,5 KB)

Merci, ich habe dein Dokument mal oben an zwei Stellen verlinkt. Wenn du willst, kannst du die Infos auch gerne direkt einpflegen. :wink:

Ich glaube ich darf noch nichts ändern, habe es zumindest nicht geschafft:
„…Wiki-Beiträge können von Nutzern mit Vertrauensstufe 3 oder höher angelegt und von Nutzern mit Vertrauensstufe 1 oder höher bearbeitet werden…“
Noch ein Tipp zu Linux:
Desktop Shortcut für die Web App unter Linux erzeugen:
Web App installieren
Von den Web App Einstellungen aus aufrufen in Chromium öffnen
In Chromium →Einstellungen→Weitere Tools→Verknüpfung erstellen
Erzeugt einen Desktop Short Cut wie unter Windows
Tipp ist von hier:

In der Anleitung der Schritt über „Weitere Tools“ scheint mir etwas sinnfrei. Im Screenshot wird „Twitter installieren“ direkt einen Menüpunkt weiter oben angezeigt.

Der verlinkte Screenshot ist nicht von mir. Twitter installieren ist nirgends gefordert, steht halt zufällig darüber. Aber ich denke der Pfad ist klar: More Tools -> Create Shortcut (Weitere Tools→Verknüpfung erstellen)