FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Kingmaddi am 26 November 2018, 20:32:01

Titel: Einbindung von Teckin Wifi Steckdosen
Beitrag von: Kingmaddi am 26 November 2018, 20:32:01
Liebe Community,

ich bin noch relativ neu bei FHEM.
Ich habe bereits im Internet geschaut - jedoch noch keine passende Lösung erhalten.
Gibt es die Möglichkeit die Teckin Wifi Steckdosen in FHEM zu integrieren?

Wer nicht weiß welche Steckdosen gemeint sind:
https://www.amazon.de/TECKIN-Intelligente-fernbedienbar-Stromverbrauch-funktioniert/dp/B07CDCYLQ6/ref=sr_1_1_sspa?ie=UTF8&qid=1543260648&sr=8-1-spons&keywords=teckin+wlan+smart+steckdose&psc=1

Vielen Dank für eure Hilfe
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Hollo am 27 November 2018, 12:36:08
Zitat von: Kingmaddi am 26 November 2018, 20:32:01
...Ich habe bereits im Internet geschaut - jedoch noch keine passende Lösung erhalten...
Nicht im Internet Du schauen musst, das Forum Dir Antworten gibt.  ;D

Klickst Du hier... https://forum.fhem.de/index.php/topic,90220.msg826734.html#msg826734 (https://forum.fhem.de/index.php/topic,90220.msg826734.html#msg826734)
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Skjall am 13 Dezember 2018, 00:11:04
Moin zusammen,

ich möchte das Thema noch mal aufgreifen. Die verlinkten Steckdosen sind leider mit dem Thread der geposted wurde nicht erschlagen.
Die Dinger sind mittlerweile verklebt und damit nicht (praktikabel) zu flashen. Ich freage mich ohnehin, ob das nötig ist. Die dinger kommunizieren mit JSON und es scheint auch eine lib dafür zu geben.

https://github.com/codetheweb/tuyapi

Die Frage ist, ob sich jemand für ein Modul anbieten würde?

VG Jan
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Skjall am 13 Dezember 2018, 00:30:53
Moin nochmal,

ich schaue mir gerade die sache mit Tuya (der Cloudservices der dahinter steckt) hinsichtlich der Teckin Steckdose an. Nach der Auswertung meines Netzwerk-Logs kam ich auf die Idee, einfach den Traffic umzuleiten.
Denn es stimmt: Der MQTT-Server ist Hardcoded. Aber auf einen FQDN und nicht auf eine IP.

Ich habe jetzt auf meinem DNS eine Zone für "tuyaeu.com." mit folgenden Records erstellt:

a.tuyaeu.com.               A      [IP-meines-FHEM]
mq.gw.tuyaeu.com.         A      [IP-meines-FHEM]

Und Zack meldet sich das ding beim FHEM und legt sich per Autocreate an.

Da kommt jetzt das bei heraus:


Internals:
   CFGFN     
   CID        10470280dc4f2290b3dd
   DEF        10470280dc4f2290b3dd
   DEVICETOPIC MQTT2_10470280dc4f2290b3dd
   IODev      Connector_MQTT
   NAME       MQTT2_10470280dc4f2290b3dd
   NR         3643
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-12-13 00:18:50   10470280dc4f2290b3dd 2.1113085fed464fa77SQrwXroQbrnpTSj9hCsOBqloZNQ9k2vfb4IJPmjZGKYn0yU7ALx/HjfFQfU1DKeoij4PiidyRAleNMa/VhNyrIaUE+b5ei69byVURAmW7UMSCTRZrnThiiuZUaUbTov1kI1jVKZzeuWe9JJzqzrAx4GJwk0kSh+lgh4qcHjFnkM=
Attributes:
   IODev      Connector_MQTT
   readingList 10470280dc4f2290b3dd:smart/device/out/10470280dc4f2290b3dd:.* 10470280dc4f2290b3dd
   room       MQTT2_DEVICE


Da ich von MQTT keine Ahnung habe ist die Frage: Wie kann das jetzt in etwas sinnvolles umwandeln / decoden?

Edit 1: Es scheint wohl möglich zu sein, den encryption Key auszulesen:

https://github.com/codetheweb/tuyapi/blob/master/docs/SETUP.md

Könnte man das decoden (bzw. sogar das auslesen des Keys) irgendwie ins modul integrieren?

VG Jan
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: andy_lox am 17 Dezember 2018, 15:45:43
Hab jetzt auch so zwei Steckdosen, gibt es schon was neues? Hab es mit tuyapi schon probiert und eigenen Python Skripten, aber bisher hat es nicht geklappt.
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Skjall am 17 Dezember 2018, 17:54:16
Hallo Andy,

ich schaue mir gerade die struktur an, scheitere jedoch noch an der Enstschlüsselung.
Offenbar wird der Key beim Connect übertragen. (s. Screenshot)
Ich scheitere aber noch an der Entschlüsselung der Nachricht.

Die sieht in etwa so aus:

2.1113085fed464fa77SQrwXroQbrnpTSj9hCsOBqloZNQ9k2vfb4IJPmjZGKYn0yU7ALx/HjfFQfU1DKeoij4PiidyRAleNMa/VhNyrIaUE+b5ei69byVURAmW7UMSCTRZrnThiiuZUaUbTov1kI1jVKZzeuWe9JJzqzrAx4GJwk0kSh+lgh4qcHjFnkM=

Lt. Lib teilt sich das ding in mehrere abschnitte:

2.1 = Version
113085fed464fa77 = Teil eines MD5 Hash (Ab Zeichen 8, Länge 16)
SQrwXroQbrnpTSj9hCsOBqloZNQ9k2vfb4IJPmjZGKYn0yU7ALx/HjfFQfU1DKeoij4PiidyRAleNMa/VhNyrIaUE+b5ei69byVURAmW7UMSCTRZrnThiiuZUaUbTov1kI1jVKZzeuWe9JJzqzrAx4GJwk0kSh+lgh4qcHjFnkM= = Payload

Ich scheitere aber noch am entschlüsseln.


Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: andy_lox am 18 Dezember 2018, 11:17:40
Also meine ID und den Key habe ich. Habe es so gemacht: https://github.com/codetheweb/tuyapi/blob/master/docs/SETUP.md

Nur bekomme ich jetzt die tuyapi nicht zum laufen. ist alles installiert auf dem Loxberry aber wenn ich was starten will bekomme ich nur Fehlermeldungen. Bin mit Linux allerdings auch nicht so bewandert:
(node:29212) UnhandledPromiseRejectionWarning: Ä8ª�¦�O»�&S©▒�
    at emitWarning (internal/process/promises.js:67:17)
    at emitPendingUnhandledRejections (internal/process/promises.js:109:11)
    at process._tickCallback (internal/process/next_tick.js:190:7)
(node:29212) UnhandledPromiseRejectionWarning: Unhandled promise rejection. T                his error originated either by throwing inside of an async function without a                 catch block, or by rejecting a promise which was not handled with .catch().                 (rejection id: 1)
    at emitWarning (internal/process/promises.js:75:21)
    at emitPendingUnhandledRejections (internal/process/promises.js:109:11)
    at process._tickCallback (internal/process/next_tick.js:190:7)
(node:29212) [DEP0018] DeprecationWarning: Unhandled promise rejections are d                eprecated. In the future, promise rejections that are not handled will termin                ate the Node.js process with a non-zero exit code.
    at emitWarning (internal/process/promises.js:92:15)
    at emitPendingUnhandledRejections (internal/process/promises.js:109:11)
    at process._tickCallback (internal/process/next_tick.js:190:7)
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Skjall am 29 Dezember 2018, 10:19:10
Hallo zusammen,

es gibt einen hochinteressanten Vortrag vom 35c3 über die Tuya Cloud Devices (Er sagt den Namen nicht, aber es ist m.E. deutlich erkennbar) und deren "Sicherheit" und "Datenschutz".

https://www.youtube.com/watch?v=urnNfS6tWAY (https://www.youtube.com/watch?v=urnNfS6tWAY)

Für mich interessant ist, dass er sagt, man könne ohne direkten Zugriff (aufschrauben) auf den ESP eine neue Firmware flashen.

VG Jan
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: linuxuser am 30 Dezember 2018, 00:59:14
Ich habe auch 2 verklebte Teckin SP22-Steckdosen. Ich verstehe noch nicht wie man den DNS-Server "umbiegt". DNS-Server ist bei mir eine Fritzbox 7390. Am Port 4 (als Gastnetz definiert) der FB hängt ein Ethernet-Kabel das zu einem Openwrt-Router führt. Dieser OpenWRT-Router dient als AP für IoT-Geräte.
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Skjall am 30 Dezember 2018, 01:23:36
Hallo,

Bei mir ist es etwas anders, weil ich ein recht komplexes Netz habe, aber ich erkläre es mal für dein Setup:

Alle deine Geräte (Rechner, IoT, etc.) bekommen von deiner FritzBox per DHCP auch einen DNS-Server zugewiesen. In der Regel ist das die FritzBox selbst.
Du brauchst nun zunächst einen eigenen kleinen DNS-Server. Das kann man einfach und billig mit nem Raspberry Pi lösen. Tutorials gibts dazu genug.
In deinem neuen DNS-Server legst du nun eine neue Zone (also eine neue Domain) "tuyaeu.com." an.
Diese Zone bekommt (zusätzlich zu den üblichen Pflicht-Records (NS)) zwei A-Records (Also Einträge, die einen Namen in eine IP auflösen):

a.tuyaeu.com.               A      [IP-deines-FHEM]
mq.gw.tuyaeu.com.           A      [IP-deines-FHEM]


Wobei natürlich [IP-deines-FHEM] die IP deines FHEM ist. :)

Als Forward-Server gibst du die IP deiner FritzBox an.

Abschließend gehst du in deiner FritzBox auf:

Heimnetz -> Netzwerk -> Netzwerk-Einstellungen -> IPv4-Adressen

Da ist dann der Haken bei "DHCP-Server aktivieren" gesetzt und darunter steht ein Eintrag: "Lokaler DNS-Server". Das ist die Adresse die deinen Rechnern per DHCP mitgegeben wird.
Aktuell sollte da die IP der FritzBox stehen. Stattdessen trägst du da jetzt die IP deines neuen DNS-Servers ein.

Jetzt passiert folgendes: Sobald sich ein Gerät (also auch die Steckdosen) im Netzwerk "anmelden", bekommen Sie von der FritzBox eine IP und diverse andere Einstellungen, darunter auch den DNS-Server, den sie verwenden sollen - Sprich: deinen neuen DNS-Server.  Wenn die Steckdose sich jetzt mit seinem MQTT-Broker unter "mq.gw.tuyaeu.com" verbinden will, schickt sie eine DNS-Anfrage an deinen DNS-Server. Da du eine Zone für "tuyaeu.com." angelegt hast und für die Adresse "mq.gw.tuyaeu.com" ein Record existiert, antwortet der Server der Steckdose und sagt: Die IP von "mq.gw.tuyaeu.com" ist [IP-deines-FHEM]. Als Nächstes baut die Steckdose nun eine Verbindung zum FHEM auf und wenn im MQTT2 autocreate gesetzt ist, legt er die Steckdose an.
Andere DNS-Anfragen (du willst z.B. auf "fhem.de") leitet der DNS-Server weiter an deine FritzBox und die wiederum weiter an einen öffentlichen DNS-Server im Internet. (Forward)

Die Daten kommen derzeit nur verschlüsselt an, da das MQTT2_DEVICE Modul offenbar noch keine Entschlüsselungsfunktion hat. Wenn wir mehr wissen, kann Rudi als Maintainer dieses Moduls uns vllt eine schreiben.

VG Jan

Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: linuxuser am 30 Dezember 2018, 01:54:14
Danke, so grob habe ich verstanden was du meinst, kann es aber bei mir noch nicht umsetzen. Mein Netz ist auch etwas komplizierter ;-) Das sollte aber hier egal sein. Ich habe 4 OpenWrt-Router und die Fritzbox. Iot habe ich ein eigenes Netz spendiert, nämlich das Gastnetz der FB. Das war ganz schön komplex damit die 3 Openwrt-Server mit DNS zurecht kamen, es passte alles bei den Clients, nur die Router selber hatten ein DNS-Problem bzw. wenn es bei den Routern passte, dann passten die Routen nicht mehr überall. Insofern bin ich da jetzt sehr vorsichtig, wenn ich da was ändere.

Ich denke mir aber, dass meine Probleme im normalen-FB-Netz hier gar keine Rolle spielen, es geht nur um das Gastnetz, wo auch 1 openwrt-Router hängt. Mit einer schnellen Suche, fand ich, dass es bind für openwrt gibt. Also müsste ich wohl bei openwrt weitermachen, oder? Einen Rasperry kaufe ich mir, wenn ich es mit vorhandener Hardware geschafft habe, eine Steckdose zu schalten. Mir stehen neben dem openwrt-Router (TP-Link TL-WR1043ND v1.8 ) für die IOT-Devices noch weitere TL-WR1043ND zur Verfügung, da soll dann vorübergehend FHEM installiert werden.

Ich habe mittlerweile ziemlich viele Puzzle-Teile zu den Steckdosen. Was ich noch nicht verstanden habe, ob man die überhaupt flashen muss, wenn man den DNS-Server wie beschrieben anpasst bzw. ob man die nicht sowieso per WLAN flashen kann, ohne die verklebten aufzumachen? Vgl. zB https://github.com/mirko/SonOTA und auch hier gibt es einen Thread dazu: https://forum.creationx.de/forum/index.php?thread/116-neues-flash-vervahren-ohne-hardware-nur-%C3%BCber-wlan/ Mir fehlt aber bis jetzt der Durchblick,
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Skjall am 26 Januar 2019, 12:16:24
Moin zusammen,

gute neuigkeiten! Durch diese risige Sicherheitslücke, kann man Tasmota auf die Teckins flashen ohne sie aufzumachen. Es lebe die "military-grade-security" (Ich frage mich, wessen Militär die damit meinen)

https://www.heise.de/ct/artikel/Tuya-Convert-IoT-Geraete-ohne-Loeten-vom-Cloud-Zwang-befreien-4283623.html

Da ist alles beschrieben. (das mti dem "undo" hab ich weggelassen, da das bei mir nicht wollte)

VG Jan
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: spot73 am 16 September 2019, 10:58:29
Hallo in die Runde,
ich hatte mir vorgenommen Teckin Steckdosen nach der Anleitung zu flashen.

Leider funktioniert es nicht so wie erwartet.

Ich habe alles so gemacht wie beschrieben.
Das Script wird gestartet.
Ich verbinde mein Telefon mit dem Raspi
Die Steckdose blinkt brav.
Und nun passiert nichts weiter als das der Raspi Punkte in der Anzeige erzeugt.

Wer kann mir helfen oder hat jemand einen Tip?

Gruß Dirk
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Bapt. Reverend Magersuppe am 16 September 2019, 16:24:48
Wie alt sind deine Dosen? Neuere Modelle haben die Sicherheitslücke leider gefixt :-(
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Otto123 am 17 September 2019, 16:30:53
Hallo Dirk,

ich habe heute zwei SP111 geliefert bekommen, beim zweiten Versuch hat es geklappt.
Beim ersten lief es wie bei Dir.
Dann habe ich Dose raus, nochmal rein und dann das script gestartet -> läuft.

Gruß Otto
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: spot73 am 18 September 2019, 21:53:43
Hallo in die Runde,
das mich die Teckin Steckdosen in Sachen flashen ausgesperrt haben bin ich am überlegen wie die Steckdosen unverändert in FHEM eingebunden werden können.

Ich traue mich noch nicht an die Oben beschriebene Anleitung zum umleiten der DNS Anfragen traue und Respekt davor habe etwas kaputt zu machen.

Gibt es hierzu eine "einfache" Anleitung für einen Anfänger wie mich?

Gruß
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: Otto123 am 18 September 2019, 22:42:42
Guten Abend,

Hier gibt es ein Video im Link
https://github.com/arendst/Sonoff-Tasmota/wiki/Teckin-SP23
Aufmachen und mit serial Adapter flashen wäre meine Empfehlung.

Viel Erfolg
Otto
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: flor62 am 29 Januar 2020, 19:12:15
Zitat von: spot73 am 18 September 2019, 21:53:43
Hallo in die Runde,
das mich die Teckin Steckdosen in Sachen flashen ausgesperrt haben bin ich am überlegen wie die Steckdosen unverändert in FHEM eingebunden werden können.

Ich traue mich noch nicht an die Oben beschriebene Anleitung zum umleiten der DNS Anfragen traue und Respekt davor habe etwas kaputt zu machen.

Gibt es hierzu eine "einfache" Anleitung für einen Anfänger wie mich?

Gruß

Hallo, ich bin ebenfalls Anfänger und am Thema interessiert.
Kann die DNS-Abfrage nicht auch leicht mit einem entsprechenden Eintrag in der hosts-Datei umgeleitet werden?
siehe https://beyond.lol/webseiten-lokal-umleiten-mittels-hosts-datei-eintraegen/
Bleibt aber die weiter oben beschriebene und nicht gelöste Decodierung des übermittelten Befehls.
Mir stellt sich aber grundsätzlich die Frage, wie die WIFI-Steckdose in das WLAN-Netz (Netzwerkschlüssel!) kommt, damit die DNS-Umleitung überhaupt greift und FHEM sie sieht ....?
Titel: Antw:Einbindung von Teckin Wifi Steckdosen
Beitrag von: riker1 am 31 Januar 2020, 09:32:57
Hallo

klappt hier tuya-convert nicht?

Sind die Steckdosen sonst ok ?