Tasmota und Google Home mini

  • Hallo,

    Infos zu Grundlagen des HTTP-Protokolls, speziell zur Funktionsweise findest du hier:

    https://de.m.wikipedia.org/wiki/Hypertext…#Funktionsweise

    Der Tasmota-Sonoff fungiert als Webserver. Mit der selektiven Portweiterleitung wird auch nur zum und vom spezifizierten Gerät und Port durchgeleitet. Weitere Webserver hinter dem Router auf anderen IP-Adressen werden dadurch nicht über das Internet erreichbar. D. h. jeder Tasmota-Sonoff benötigt eine eigene Weiterleitung auf eigenem Port.

    Das klappt natürlich auch verschlüsselt, macht aber nur wirklich Sinn wenn dann ein Zertifikat eingebunden wird.

    Gruß

    Mike

  • Hi Kandi,

    soweit ich informiert bin unterstützt Tasmota aktuell kein https. Generell ist der Webserver eher unsicher und in meinen Augen nicht dazu gedacht von außerhalb deines Netzwerkes angesprochen zu werden. Das fängt dabei an, dass keinerlei verschlüsselung unterstützt wird. D.h. das dein Passwort im Klartext übertragen wird. Wenn du von einem fremden Wlan aus Befehle an deinen Tasmota schickst ist es damit möglich deinen kompletten Tasmota zu übernehmen. Im Extremfall könnte jemand damit deinen Tasmota "kaputt" flaschen.

    Außerdem ist es möglich dir direkt von deinem Tasmota den Wlan Namen sowie das Wlan passwort ausgeben zu lassen. Tippe mal folgende Befehle in deinen Browser ein:

    http://HOST/cm?user=BENUTZERNAME&password=PASSWORT&cmnd=Ssid1

    http://HOST/cm?user=BENUTZERNAME&password=PASSWORT&cmnd=Ssid2

    http://HOST/cm?user=BENUTZERNAME&password=PASSWORT&cmnd=Password1

    http://HOST/cm?user=BENUTZERNAME&password=PASSWORT&cmnd=Password2

    D.h. sobald jemand das Passwort für das Admininterface deines Tasmotas kennt hat er auch automatisch die Zugangsdaten für dein Wlan Netzwerk. Natürlich ist immer die Frage, ob jemand überhaupt interesse daran hat, sich Zugriff auf deine Hardware bzw. dein Netzwerk zu verschaffen. Falls es jemand will, ist es damit ein leichtes.

    Beste Grüße,

    Charly

  • Hallo Charly,

    ach du Sch.. da wandern ja meine Ssids und Passwörter in Klartext durchs www. Das geht gar nicht.||


    Frage:

    Ist es möglich, den user und das password des Tasmota webservers zu verschlüsseln wie es bei fhem gemacht wird?

    https://fhem.de/commandref_DE.html#basicAuth

    Soweit ich es verstanden habe hast du recht Tasmota untersützt kein https

    https://github.com/arendst/Sonoff…-binary-sources

    @all: Könnt ihr euere Sonoffs per Sprachbefehl mit Google Home steuern?

    Vielen Dank,

    Andreas

  • Hi Kandie,

    leider gibt es aktuell keine Möglichkeit den Webserver irgendwie abzusichern. D.h. es gibt auch keine anderen besseren oder sicheren Authentifizierungsmöglichkeiten. Ich würde wirklich empfehlen diesen nicht zu nutzen am besten sogar zu deaktivieren bzw. in den User Modus zu setzen und stattdessen eher auf MQTT zu setzen.

    Viele Grüße,

    Charly

  • So habe jetzt die Hue Bridge Emulator aktivirt und mit der Android App gesucht braucht man um den Sonoff mit tasmota zu verbinden die Orginal Hue Bridge? Was ist wemo? Wie kan ich ohne zusatzgeräte mein Sonoff mit Google Home normal verbinden? Iftt? Wen ich z.b. Wemo auswähle und die Mac von dem Sonoff und meine Fritzbox eingebe geht nichts. in der Google Home App

  • Nach langem probieren und stöbern habe ich noch eine Möglichkeit gefunden wie man ohne Port Forwarding von "Tasmota > MQTT > HTTP Bridge > IFTTT > Google Home" kommt

    Bei interesse kann ich das näher erläutern allerdings setzt man hierbei auf 3 Services außerhalb des netzwerkes

  • Nach langem probieren und stöbern habe ich noch eine Möglichkeit gefunden wie man ohne Port Forwarding von "Tasmota > MQTT > HTTP Bridge > IFTTT > Google Home" kommt

    Bei interesse kann ich das näher erläutern allerdings setzt man hierbei auf 3 Services außerhalb des netzwerkes

    Servus,

    also ich wäre interessiert - hab im Moment zwei ungeflashte S20 und nutze die Google Home Mini.

    Ich möchte die natürlich gerne darüber steuern und wäre über eine Möglichkeit - die vielleicht nicht gerade meine SSIDs offenlegt, etc. - sehr dankbar.

    LG
    Daniel

    1. Man benötigt Sonoff mit Tasmota
    2. CloudMQTT account
      1. https://www.cloudmqtt.com/
      2. neue instanz erstellen
      3. die Daten in Sonoff eintragen und verbinden lassen
      4. die Verbindung per Websocket UI testen (topic: cmnd/sonoff/power, message: toggle)
    3. Hook.io account
      1. https://hook.io/
      2. neuen Hook erstellen
      3. namen eingeben (z.B. sonoff)
      4. JS runterladen die Infos mit den CloudMQTT Daten ausfüllen und bei Hook.io eintragen
      5. testen einschalten: http://hook.io/LOGINNAME/sonoff?auth=DEINKEY&power=on
      6. testen ausschalten: http://hook.io/LOGINNAME/sonoff?auth=DEINKEY&power=off
    4. IFTTT account
      1. https://ifttt.com/
      2. zwei Applets erstellen mit Webhook (für an und aus)
      3. entsprechende Hook.io Links eintragen
    5. ???
    6. Profit
  • Hallo @ckret,

    vielen Dank für deine Anleitung.

    Ich bin jetzt nicht der Security Experte, aber so wie ich deinen MQTT http request sehe

    http://hook.io/DEINNAME/sonoff?auth=DEINKEY&power=on

    wird dieser im Klartext übertragen. Wenn nun der Befehl power=on durch den Befehl SIDD abfragen erstetzt wird, können deine WLAN Zugangsdaten ausgelesen werden, oder sehe ich das falsch?

    Ich bin mittlerweile über den Umweg IOBroker ans Ziel gekommen.

    D.h. Google Home Mini -> IFTTT -> IOBroker -> Sonoff

    Leider ist mein Rasperry PI Gen1 fast zu schwach.

    Zumindest is die Weboberfläche IP:8081 nicht immer erreichbar.

    Frage ans Forum:

    Kommt es bei euch auch zu WLAN aussetzern die eventuell auf Google Geräte zurückzuführen sind?

    https://t3n.de/news/google-ho…robleme-911100/

    Grüße Andreas

  • Hallo @ckret,

    vielen Dank für deine Anleitung.

    Ich bin jetzt nicht der Security Experte, aber so wie ich deinen MQTT http request sehe

    http://hook.io/DEINNAME/sonoff?auth=DEINKEY&power=on

    wird dieser im Klartext übertragen. Wenn nun der Befehl power=on durch den Befehl SIDD abfragen erstetzt wird, können deine WLAN Zugangsdaten ausgelesen werden, oder sehe ich das falsch?

    Das ist in dem Sinne falsch, dass ich einen "Hook" geschrieben hab der nur auf "power=on" oder "power=off" reagiert.

    Sobald der auth=KEY falsch ist oder ein anderer Befehl übergeben wird passiert gar nichts.

  • Das ist in dem Sinne falsch, dass ich einen "Hook" geschrieben hab der nur auf "power=on" oder "power=off" reagiert.

    Sobald der auth=KEY falsch ist oder ein anderer Befehl übergeben wird passiert gar nichts.

    Danke, werde das demnächst mal austesten - muss erst flashen und dann alles einrichten.

  • Kandie

    Habe die IFTTT Befehle mal als Applet hinterlegt.

    Der Google Ass. sagt zwar den Antworttext, wenn ich ihm den Befehl sage. Aber er führt die Schaltung nicht durch. Die http Befehlszeile in der App ist richtig.

    Habe sie kopiert und im Smartphone im Browser ausgeführt. Funktioniert.

    Woran könnte es liegen?

  • HI vocaris,

    entschuldige die späte Antwort. Ich habe leider schon eine ganze Weile nichts mehr mit Tasmota bzw. Google Assistant gemacht. Seiner Zeit hat Tasmota nur das http ud nicht das http und nicht das https Protokoll unterstützt, d.h. die Zugangsdaten für mein privates Heimnetzwerk habe ich unverschlüsselt durchs www verteilt.

    Außerdem war es Sommer da zieht es den Mountainbiker natürlich raus. :)

    Aber jetzt wird es ja wieder nass und kalt, da werde ich mich wieder damit beschäftigen.

    @all: Gibt es mittlerweile eine Google Assitant Erweiterung für den ioBroker?

    Grüße

  • wie lauten die HTTP Befehle um die Sonoff Tasmota Geräte direkt über WEB im Homenetz zu schalten

    So wie du selbst geschrieben hast. Du musst nur für jedes Gerät dessen IP-Adresse benutzen, also in der Regel ändert sich nur was bei dem vierten Abschnitt der IP-Nummer: 192.168.178.XXX. Alles andere bleibt gleich, wenn es um das Anschalten geht, wenn du ausschalten willst, muss am Ende statt On (oder 1) eben OFF (oder 0) stehen. Der Name oder das Modell spielt zunächst keine Rolle - bis auf das CH4. Aber schau dir die Beispiele an.

    Alles klar? Du musst also nur wissen, welche IPs deine Sonoffs haben

  • Rene

    Ist mir als HTTP-Request für Android oder im Browser nicht bekannt. Man kann über das Backlog-Kommando an ein Gerät mehrere Befehle übertragen. Du kannst aber in den Sonoffs mit dem Kommando rule bis zu drei Regeln anlegen, die dann z. B. bedeuten: "Wenn dieses Gerät angeschaltet wird, schalte auch Gerät 2 an". Aber damit schaffst du feste Abhängigkeiten. Eine weitere Möglichkeit wären kleine Skripte, die mehrere Befehle enthalten, die du abschicken kannst. Was davon über Android-Apps geht, entzieht sich meiner Kenntnis. Eine weitere Möglichkeit ist das Group-Topic, das Tasmota kennt. Damit kannst du mehrere Geräte, die alle dasselbe Group-Topic haben, mit einem Befehl ansprechen. Dann brauchst du in deinem lokalen Netz eben einen MQTT-Broker, der die Nachrichten verteilt.

    Hab mal kurz recherchiert: Also im Android Playstore gibt es die Mqtt Broker App von Anshul Katta, die ist ein Broker und ein Client. In Verbindung mit dem oben beschrieben Group-Topic (und/oder rules) kannst du dir Kommandos einrichten, die auf einen Tap mehrere Geräte ansprechen.

    Aber dazu must du dich etwas tiefer in die Materie einarbeiten.

    So, bin jetzt wieder Laub harken :)

  • Die IP Adresse 192.168.8.28 ist eine interne, nur innerhalb des Routers nutzbare Adresse und funktioniert daher nur innerhalb des eigenen Netzwerks.

    Um von außen (z. B. IFTTT) erreichbar zu sein, muß die externe IP Adresse verwendet werden mit der der Router im Internet ist. Diese kann man z. B. hier auslesen lassen:

    http://touch.whatsmyip.org

    Da Provider meist täglich die IP-Adresse erneuern damit man nicht permanent von außen unter einer Adresse erreichbar ist, benötigt man Dienste, welche einem die ständig wechselnden IP Adressen auf eine permanente Adresse umleiten. Sogenannte DynDNS. Das Vorgehen dazu habe ich bereits hier erlâutert.

    Gruß

    Mike