Google Home Anfänger

Begonnen von Chridd, 17 Januar 2018, 22:15:37

Vorheriges Thema - Nächstes Thema

Chridd

Joachim, Du bist der Beste!

Aufruf aus dem Handy Netz klappt!!!  :)

Chridd

Zitat von: MadMax-FHEM am 17 Januar 2018, 23:22:46
Wenn der klappt, dann noch csrfToken setzen und dann sind wir auch schon bei IFTTT :)
Und daher hatte ich eine NEUE, EIGENS für DIESEN Zweck angelegte FHEMWEB-Instanz empfohlen!

csrfToken? sagt mir leider gar nix. Sorry!

MadMax-FHEM

Hmmm, Leseabneigung und Selbstsuchenallergie ;)

https://wiki.fhem.de/wiki/CsrfToken-HowTo

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Chridd

Zitat von: MadMax-FHEM am 17 Januar 2018, 23:31:21
Hmmm, Leseabneigung und Selbstsuchenallergie ;)

https://wiki.fhem.de/wiki/CsrfToken-HowTo

Gruß, Joachim

Sorry, hatte es inzwischen schon selbst gefunden.

Hab leider trotzdem Fragen. Kann ich das einfach kopieren oder muss ich das auf mich anpassen?

Chridd

Ist dieser Token denn wirklich notwendig?

MadMax-FHEM

#20
Was um Himmelswillen willst du denn kopieren?

Das dient der Erläuterung WORUM es sich dabei handelt und WARUM du etwas tun musst, da du ja Web-Aufrufe machen willst.

Siehe Einleitung: das ging früher und das geht jetzt nicht mehr...

Die Dinge die dann dort stehen benötigen dann ja Dinge wie curl, awk, ...

Das gibt es bei IFTTT NICHT!

Daher musst du wohl oder übel die Variante mit "festem" csrfToken nutzen (oder auf none setzen: empfehle ich aber immer noch nicht!)...

Lesen, verstehen, handeln!

Daher ja (wieder mal der Hinweis) eine eigene Webinstanz mit eingeschränkten Rechten (allowedCommands) User/Passwort https und Zugriff nur genau durch IFTTT (nicht IP-Einschränkung das wird nicht gehen sondern durch "Nutzung" also diese WebInstanz wird sonst zu GAR NICHTS genutzt außer IFTTT)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Chridd

sudo curl --data "fwcsrf=$(curl -s -D - 'http://localhost:8083/fhem?XHR=1' | awk '/X-FHEM-csrfToken/{print $2}')" http://localhost:8083/fhem?cmd=set%20Office%20on

curl: (56) Recv failure: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt

MadMax-FHEM

#22
Zitat von: Chridd am 17 Januar 2018, 23:38:13
Ist dieser Token denn wirklich notwendig?

Wenn du genau gelesen hättest und verstanden wozu er dient (der Name sagt es eigentlich), dann würdest du diese Frage nicht stellen...

Vertretbare Ausnahme wäre eben eine eigene FHEMWEB-Instanz auf die sonst nie nicht zugegriffen wird (also nie aus Browser oder sonstwie) aber selbst dann ist setzen auf none eigentlich keine gute Idee...

Besser eben auf einen fixen Wert und den dann im Aufruf mitgeben (wie schon mal [anderer Thread?] geschrieben)...

Und trotzdem immer wieder: ich würde eine eigene FHEMWEB-Instanz für diesen IFTTT-Google-Zweck anlegen...

EDIT: aber das kannst du immer noch machen, wenn es mal läuft...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Chridd

Heißt ich muss "nur" den Teil machen? bei FHEM, nicht auf dem Pi?

csrfToken festlegen
Dies kann man tun, falls die dynamische Abfrage zur Laufzeit des Tokens nicht möglich ist.

attr WEB.* csrfToken <beliebige Folge aus Zeichen und Zahlen>
Damit können feste URLs verwendet werden:

http://localhost:8083/fhem?cmd=set%20Office%20on&fwcsrf=<fester token>

MadMax-FHEM

Jep so in der Art...

Oder eben den Aufruf von mir:

https://username:password@DynName:Port/fhem?cmd=setreading%20Dummyname%20Readingname%20Wert&fwcsrf=DeinGewaehltesToken

Vorher nat. den Dummy anlegen ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Wenn das dann geht fehlt nur noch den Aufruf dann per IFTTT-Activity für Google Home und WebHook dann an fhem zu senden :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Chridd

Zitat von: MadMax-FHEM am 17 Januar 2018, 23:52:36
Jep so in der Art...

Oder eben den Aufruf von mir:

https://username:password@DynName:Port/fhem?cmd=setreading%20Dummyname%20Readingname%20Wert&fwcsrf=DeinGewaehltesToken

Vorher nat. den Dummy anlegen ;)

Gruß, Joachim


Oh Mann. Peinlich, aber ich muss schon wieder fragen...
https://username:password@DynName:Port/
username und Passwort von NoIP
DynName ist der Hostname von NoIP
Port ist 8083


MadMax-FHEM

#27
Zur Peinlichkeit äußere ich mich jetzt nicht... ;)

Du willst per https auf dein fhem zugreifen...
...welchen user und welches Passwort wirst du da wohl dann brauchen?

DynName ist der von no-ip und Port ist der den du im Router bei "Öfentlicher Port" eingetragen hast weil der Aufruf ja "aus der Öffentlichkeit des Internets" kommt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Chridd

Passiert nix. Darf ich ein @ in meinem Passwort und in meinem Token haben oder kann das zu Problemen führen?

So hab ich es versucht:
https://FHEMusername:FHEMpasswort@noip-url:8083/fhem?cmd=set%20Stehlampe%20off&fwcsrf=<gewählter token>

MadMax-FHEM

Hatte ich nicht schon mal wo geschrieben, dass das passwort gegebenenfalls per urlencode codiert werden muss, damit es "richtig" per http/https übertragen wird...

...gut, dann jetzt... ;)

Du kannst dein Passwort hier encoden (lassen): https://www.urlencoder.org/

Das was da dann encoded rauspurzelt halt dann dort hin kopieren wo Passwort hinkommt...

EDIT: im fhem Log sollte aber etwas stehen von wegen Zugriff verweigert. Weil sonst passt evtl. noch mehr nicht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)