Heute hat mich die Companion App nach einem Update gefragt, ob sie mich orten darf, um festzustellen, ob ich in meinem Zuhause-Netzwerk bin. Sorry, aber welcher Idiot kommt auf solche Ideen? Ich weiß es. Die Entwickler der Companion App haben keine Idee, warum sie so etwas wie anpacken sollen.
Wenn ich wissen will, ob ich mich in dem Intranet befinde, in dem ich mich mit einem bestimmten Host ohne Verschlüsselung verbinden kann, dann frage ich doch nicht den Ort ab! Will jemand eine man-in-the-middle-attack auf mich gezielt durchführen, stellt er bei meinem Zuhause ein gleichnamiges WLAN auf. Oder ein offenes.
Es schadet auch. Wenn ich gerade 200km entfernt bin und mein Wireguard-VPN aktiviere, dann bin ich - ganz ortsunabhängig - in meinem Intranet. Wozu soll man den Ort abfragen? Das behindert nur die Benutzer, ohne vor Angreifern nennenswert zu schützen.
Aber gut, die Detektion, ob ich im Heimnetz bin funktioniert ja eh von vorne bis hinten nicht. So toll Home Assistant bei vielen Ansätzen auch ist, im Bereich Netzwerk ist es von vorne bis hinten eine Katastrophe. Insbesondere die Companion-App.
Ich habe IMMER ein VPN aktiv, weil ich eines (DNSNet) als Adblocker nutze. Bin ich im Heimnetz durch Wireguard, nutze ich ein ANDERES VPN. Aber die Companion App kann zur Bestimmung, ob ich in meinem Intranet bin, abfragen ob ein VPN aktiv ist, nicht welches. Die Companion App hat sich nicht dafür zu interessieren, ob ich mein Intranet via Infrarot, VPN, WLAN, USB-Ethernet oder Brieftaube erreiche! Die soll nur schauen, ob die interne URL erreichbar ist - vielleicht ein benutzerdefinierbarer Host eine bestimmte Antwort gibt oder ein bestimmtes Zertifikat verwendet oder sowas - also eine Eigenschaft des Netzes/Hosts abfragen, die im Zweifelsfall der Anwender/Betreiber des Home Assistant definiert, aber nicht die Kommunikationswege und Orte abfragen, das hat einfach nichts damit zu tun!
Wenn eine Eigenschaft der Kommunikationswege sich ändert (USB verbunden, VPN Änderung, WLAN Änderung, Fehlversuch bei Erreichen der internen HA-URL etc. als Trigger), dann fragt man neu ab, ob man die interne URL erreichen kann. Wenn ja, ist man intern verbunden, wenn nein, extern. Und schon geht alles richtig. Ohne dass man WLAN definieren muss, ein VPN ja/nein-Schalter oder gar den Ort. (Edit: Lieber was benutzerdefiniertes statt der interrnen URL oder zumindest bei einem Wechsel von extern nach intern noch ein weiteres Sicherheitsmerkmal, denn http://homeassistant:8123 kann jeder einfach mal offen hinstellen, da muss nicht bedeuten, dass es ok ist)
Das musste ich gerade mal irgendwo loswerden, und wenn ich mich beruhigt habe, schaue ich mal, wo ich ein Issue eintragen muss (und vielleicht einen Fix vorschlagen, wenn ich tiefer reinschaue), damit das repariert werden kann. Wenn es diesmal jemand ernst nimmt.
Sorry, ich bin ja dankbar, dass es das gibt und als Open Source umgesetzt wird, aber gelegentlich nerven mich die Marschrichtungen gewaltig. Insbesondere wenn man auf konstruktive Kritik mit Verbesserungsvorschlägen nicht reagiert und es als Reaktion einfach noch schlechter macht.
