Google Home ab 8 August in Deutschland

Begonnen von CoolTux, 18 Juli 2017, 12:24:16

Vorheriges Thema - Nächstes Thema

ReneH87

Mal noch eine Frage: wie sinnvoll / notwendig ist es, einen Reverse Proxy davor zu setzen? Prinzipiell ist der Zugriff ja schon per PSW/OAuth abgesichert?

pattex

#556
Wenn ich nicht irre gab es einen Parameter in der config.json indem du ssl=off setzen kannst. Bin mir aber nicht sicher ob das dein Thema bedient.
Du könntest dem apache auch sagen, das er die "lokale" ssl Verbindung zum ghome einfach nicht überprüft.
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
und du nimmst dann halt das Snake Oil Certificate für den ghome.

Soweit ich weiß ist Invertierung mit ghome / google nicht möglich. Du könntest einen Dummy in Fhem erstellen, das die Sache invertiert.

Ich sehe meine contact Sachen auch nicht. Ich denke diese sind noch nicht implementiert. Hier könnte evtl. dominik etwas zu sagen.

kadettilac89

Zitat von: klausw am 25 November 2018, 23:56:49

Ich habe parallel den Apache2 mit auf dem System laufen und würde diesen auch gern als ReverseProxy nutzen.

Gibt es eine Möglichkeit ghome ohne TLS laufen zu lassen? Das hätte den Charme das der Apache sich dann um dei TLS kümmern könnte und man sich keine Gedanken um weitere Zertifikatseinbindungen machen muss.

Mit ssl:false in der config.json funktioniert das. Die beiden Zeilen der Zertifikate brauchst dann auch nicht mehr. Habe ich mit nginx so laufen. Funktioniert ....


{
    "ghome": {
        "port": 3005,
        "name": "Google Home",
"ssl": false, <------------

kadettilac89

#558
Zitat von: ReneH87 am 26 November 2018, 00:49:54
Mal noch eine Frage: wie sinnvoll / notwendig ist es, einen Reverse Proxy davor zu setzen? Prinzipiell ist der Zugriff ja schon per PSW/OAuth abgesichert?

Sinnvoll .... ?

Jeder zusätzlich geöffnete Port ist ein zusätzlicher Angriffspunkt. Wenn noch dazu der Port 3000 offen ist, kann jeder der gezielt nach alexa / ghome sucht hier ansetzen.

Auf der anderen Seite kann jede zusätzliche, vermeintliche, Sicherheitsvorkehrung das Gegenteil bewirken wenn die Konfiguration nicht gut gemacht ist.

Wenn du keinen reverse Porxy hast / willst mach dann vielleicht einen anderen Port nach außen auf (ungleich 443 und ungleich 3000). Port musst du dann bei gactions Account linking (client information) und bei Actions angeben. Z. B. .... .spdns.de:4430/oauth. Dann laufen Scans auf default-Ports wahrscheinlich ins Leere.

pattex

#559
Bezüglich der Proxy Konfiguration ist noch was im Source zu ändern, wenn man ghome z.B. in einem Unterverzeichnis nutzen möchte.

Die Verweise auf die login Seite sind nicht relativ sondern absolut.

Folgende Dateien habe ich geändert:
auth-provider.js Zeile 182 /login in login
login.html Zeile 195 /login in login
manifest.json "start_url" in ""
Somit ist es beispielsweise nun möglich mit einer ProxyPass /ghome http://192.168.2.2:3000 zu arbeiten. Dran denken das im Google Actions Projekt der Pfad auch das Unterverzeichnis enthält.

dominik

Zitat von: klausw am 25 November 2018, 23:56:49
Den Duofern Raffstore Aktor habe ich mit dem genericDeviceType blind versehen, nachdem er nicht in der Google Home App auftauchte.
Nun wird er allerdings als dimmbare Lampe angezeigt und ist invertiert (geöffnet, also 0% werden als an angezeigt und geschlossen bei 99% als 1%)
Lässt sich das wieder invertieren?

Dann habe ich noch Homematic Fensterkontakte. Die tauchen überhaupt nicht in der App auf. Ganz gleich ob mit genericDeviceType (contact) oder ohne.
Muss ich da noch irgend etwas beachten?

Blind invertieren sollte möglich sein. Kannst du mir noch paar Details zum Device nennen? Welches Reading enthält den Prozent Wert? Bei welchen Prozentwert soll an/aus angezeigt werden? Wenn der Reading Prozentwert = 0% ist, soll in der App auch 0% dargestellt sein?

Fensterkontakte werden von Google leider noch nicht unterstützt. Ich kann nur versuchen diese als Schalter darzustellen, wobei dann auch die Möglichkeit des Schaltens besteht.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

klausw

Zitat von: dominik am 26 November 2018, 21:49:30
Blind invertieren sollte möglich sein. Kannst du mir noch paar Details zum Device nennen? Welches Reading enthält den Prozent Wert? Bei welchen Prozentwert soll an/aus angezeigt werden? Wenn der Reading Prozentwert = 0% ist, soll in der App auch 0% dargestellt sein?

Hallo Dominik,

Das reading ist "position"
0 bedeutet komplett geöffnet
100 komplett geschlossen
also ja, reading = Appdarstellung

hier das List eines der Raffstore:
Internals:
   CODE       23B002
   DEF        23B002
   Duofern_MSGCNT 1
   Duofern_TIME 2018-11-26 20:42:41
   IODev      Duofern
   LASTInputDev Duofern
   MODEL      Connect-Aktor
   MSGCNT     1
   NAME       DUOFERN_23B002
   NR         457
   STATE      opened
   SUBTYPE    Connect-Aktor
   TYPE       DUOFERN
   READINGS:
     2018-11-26 20:42:41   blindsMode      on
     2018-11-26 20:42:41   dawnAutomatic   off
     2018-11-26 20:42:41   defaultSlatPos  25
     2018-11-26 20:42:41   duskAutomatic   off
     2018-11-26 20:42:41   manualMode      on
     2018-11-26 20:42:41   motorDeadTime   off
     2018-11-26 20:42:41   moving          stop
     2018-11-26 20:42:41   position        0
     2018-11-26 20:42:41   rainAutomatic   off
     2018-11-26 20:42:41   rainDirection   up
     2018-11-26 20:42:41   rainMode        off
     2018-11-26 20:42:41   reversal        off
     2018-11-26 20:42:41   runningTime     59
     2018-11-26 20:42:41   slatPosition    0
     2018-11-26 20:42:41   slatRunTime     8
     2018-11-26 20:42:41   state           opened
     2018-11-26 20:42:41   sunAutomatic    off
     2018-11-26 20:42:41   sunMode         off
     2018-11-26 20:42:41   sunPosition     50
     2018-11-26 20:42:41   tiltAfterMoveLevel on
     2018-11-26 20:42:41   tiltAfterStopDown on
     2018-11-26 20:42:41   tiltInSunPos    on
     2018-11-26 20:42:41   tiltInVentPos   on
     2018-11-26 20:42:41   timeAutomatic   off
     2018-11-26 20:42:41   ventilatingMode off
     2018-11-26 20:42:41   ventilatingPosition 80
     2018-11-26 20:42:41   version         2.2
     2018-11-26 20:42:41   windAutomatic   on
     2018-11-26 20:42:41   windDirection   up
     2018-11-26 20:42:41   windMode        off
   helper:
Attributes:
   IODev      Duofern
   alias      Raffstore Garten
   cmdIcon    down:control_centr_arrow_down stop:rc_STOP up:control_centr_arrow_up
   devStateIcon opened:fts_shutter_1w_0 closed:fts_shutter_1w_100 1\d.*:fts_shutter_1w_10 2\d.*:fts_shutter_1w_20 3\d.*:fts_shutter_1w_30 4\d.*:fts_shutter_1w_40 5\d.*:fts_shutter_1w_50 6\d.*:fts_shutter_1w_60 7\d.*:fts_shutter_1w_70 8\d.*:fts_shutter_1w_80 9\d.*:fts_shutter_1w_90
   event-on-change-reading .*
   genericDeviceType blind
   room       Beschattung,GoogleHome
   webCmd     down:stop:up


Ist es normal das "blind" als Lampe angezeigt wird?
Es gibt noch das Reading "slatPosition" damit lässt sich die Lamellenstellung verändern. Hättest du eine Idee, wie man diese in GHome integrieren könnte?

Zitat von: dominik am 26 November 2018, 21:49:30
Fensterkontakte werden von Google leider noch nicht unterstützt. Ich kann nur versuchen diese als Schalter darzustellen, wobei dann auch die Möglichkeit des Schaltens besteht.

Naja, das Fenster geht davon ja nicht auf ;)
Gibt es eine Alternative, z.B einfach Text zurückliefern? In diesem Fall kann man selbst was basteln.
Das Fenster kann ja auch gekippt sein.

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

klausw

Zitat von: kadettilac89 am 26 November 2018, 06:49:15
Mit ssl:false in der config.json funktioniert das. Die beiden Zeilen der Zertifikate brauchst dann auch nicht mehr. Habe ich mit nginx so laufen. Funktioniert ....

Danke, das behalte ich mal im Hinterkopf

Zitat von: pattex am 26 November 2018, 00:58:17
Wenn ich nicht irre gab es einen Parameter in der config.json indem du ssl=off setzen kannst. Bin mir aber nicht sicher ob das dein Thema bedient.
Du könntest dem apache auch sagen, das er die "lokale" ssl Verbindung zum ghome einfach nicht überprüft.
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
und du nimmst dann halt das Snake Oil Certificate für den ghome.

SSLProxyCheckPeer kannte ich auch noch nicht, danke  :)

Zitat von: pattex am 26 November 2018, 09:16:27
Bezüglich der Proxy Konfiguration ist noch was im Source zu ändern, wenn man ghome z.B. in einem Unterverzeichnis nutzen möchte.

Die Verweise auf die login Seite sind nicht relativ sondern absolut.

Folgende Dateien habe ich geändert:
auth-provider.js Zeile 182 /login in login
login.html Zeile 195 /login in login
manifest.json "start_url" in ""
Somit ist es beispielsweise nun möglich mit einer ProxyPass /ghome http://192.168.2.2:3000 zu arbeiten. Dran denken das im Google Actions Projekt der Pfad auch das Unterverzeichnis enthält.


Würdest du das noch ändern Domonik?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

dominik

@klausw, ist im development Branch gefixed, bitte mal testen.
blind als Lampe ist korrekt, leider gibt es noch keinen eigenen Typ bei Google.
slatPosition: Welche Werte kann das annehmen? Ich würde es als Mode vorschlagen, wenn es mal auf Deutsch funktioniert. Da könnte man dann sagen "stelle die Rollo auf halboffen" oder ähnlich.

Fensterkontakte: Leider sind Texte als Rückgabewert nicht möglich. Also nur an/aus könnte man machen.

Wegen der Proxy Anpassungen mit dem führenden "/": Haben diese Änderungen Auswirkungen auf User ohne Reverse Proxy?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

SouzA

Oder Leuten, wo der Proxy schon läuft?

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

ReneH87

Zitat von: kadettilac89 am 26 November 2018, 06:59:34
Wenn du keinen reverse Porxy hast / willst mach dann vielleicht einen anderen Port nach außen auf (ungleich 443 und ungleich 3000). Port musst du dann bei gactions Account linking (client information) und bei Actions angeben. Z. B. .... .spdns.de:4430/oauth. Dann laufen Scans auf default-Ports wahrscheinlich ins Leere.

Sicher, dass das funktioniert? Ich habe gerade mal mit dem Port probiert und bei mir hat es nicht funktioniert. Ohne Portangabe klappt es sofort wieder? Ich sehe mit Portangabe auch keine eingehenden Requestst mehr...

klausw

Zitat von: dominik am 26 November 2018, 22:19:48
@klausw, ist im development Branch gefixed, bitte mal testen.
blind als Lampe ist korrekt, leider gibt es noch keinen eigenen Typ bei Google.
slatPosition: Welche Werte kann das annehmen? Ich würde es als Mode vorschlagen, wenn es mal auf Deutsch funktioniert. Da könnte man dann sagen "stelle die Rollo auf halboffen" oder ähnlich.
wow, das ging schnell
slatPosition kann auch 0-100 annehmen

Zitat von: dominik am 26 November 2018, 22:19:48
Fensterkontakte: Leider sind Texte als Rückgabewert nicht möglich. Also nur an/aus könnte man machen.
closed = zu und alles andere offen lässt sich auch gut verwenden

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

kadettilac89

Zitat von: ReneH87 am 26 November 2018, 22:48:08
Sicher, dass das funktioniert? Ich habe gerade mal mit dem Port probiert und bei mir hat es nicht funktioniert. Ohne Portangabe klappt es sofort wieder? Ich sehe mit Portangabe auch keine eingehenden Requestst mehr...

Habe ich im Einsatz. Haben für Fhem einen Port ungleich 443 nach außen offen. Ist dann wie geschrieben in Google actions konfiguriert. Fhem und Ghome läuft über selben Port über reverse-proxy. Tut aber nichts zur Sache. Port ist beliebig. Welchen Branch von Dominik hast du, master wie in der Anleitung, oder development? Mit master und development vor ein paar Tagen gehts bei mir.

Du musst es nur an allen Stellen eintragen. Ganz wichtig, nach jeder Änderung auch Save und Test ausführen (in Account linking). Erst nach Test wird auch der neue Port, oder allgemein die Änderung an der Url. übernommen.

Wenn es nicht geht Portforwarding im Router aktiviert?

Test einfach mal ob  die Pfade /login  /oauth /token  erreichbar sind. Hierzu https://<deine_url>:<dein Port>/login ... aufrufen. Wenn das geht ist Portforwarding aktiv. Wenn nicht musst du nochmal ran. Prüfe auch, ob dein Browser einen Zertifkatsfehler anzeigt.

ReneH87

Ich muss nochmal in Ruhe testen. Das Verhalten ist irgendwie nicht ganz durchgängig. Jetzt komme ich gerade weiter, dafür hängt er nach dem Login. Seiten sind aber alle erreichbar. Aber danke für die Hilfe :)

klausw

Zitat von: dominik am 26 November 2018, 22:19:48
@klausw, ist im development Branch gefixed, bitte mal testen.

Danke, funktioniert super.
Auch ohne genericDeviceType getestet.

An/Aus hat keine Funktion, oder?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280