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
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)
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
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
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.
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.
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)
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
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.
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
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,
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
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
Wie alt sind deine Dosen? Neuere Modelle haben die Sicherheitslücke leider gefixt :-(
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
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ß
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
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 ....?
Hallo
klappt hier tuya-convert nicht?
Sind die Steckdosen sonst ok ?