Einbindung von Tuya-Devices ohne Löten - Tuya-Api

Begonnen von thburkhart, 17 November 2019, 16:43:03

Vorheriges Thema - Nächstes Thema

thburkhart

hier nun mein Versuch von soeben, den den Flash-Vorgang auszuführen:


Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Nov 23 20:53:29 2019
pi@raspberrypi:~ $ cd tuya-convert
pi@raspberrypi:~/tuya-convert $ sudo ./start_flash.sh
Checking for network interface wlan0... Found.
Checking UDP port 53... Occupied by dnsmasq with PID 512.
Port 53 is needed to resolve DNS queries
Do you wish to terminate dnsmasq? [y/N] y
Attempting to stop dnsmasq.service
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Occupied by mosquitto with PID 460.
Port 1883 is needed to run MQTT
Do you wish to terminate mosquitto? [y/N] y
Attempting to stop mosquitto.service
Checking TCP port 8886... Available.
======================================================
  Starting AP in a screen......

und da hängen wir ...
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

JörgK

#76
Moin zusammen,

die Stecker hatte ich mir am Donnerstag auch als 4er-Pack geholt.
Die original FW kam bei mir nach einer kurzen Recherche durch den China-Cloud-Zwang nicht mehr in Frage.

Ich hatte mich schon auf die Fummelei https://www.bastelbunker.de/gosund-sp111-mit-tasmota/ beim Flachen eingestellt.  ;)
Aber dann bin ich über C't auf diese Seite https://github.com/ct-Open-Source/tuya-convert gestoßen.

Und es hat mit einigen Verzögerungen alles geklappt.

Konfiguration:
- 1 Raspberry 4 4GB
- Frisch aufgesetztes "Raspbian Buster with desktop"
- 1 iPhone

Folgende Hürden hatte ich beim Flashen:
1. SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................

Hier mußte ich den Stecker einfach über den Taster (5s drücken) reseten.

2. Handy mußte mit dem WLAN "vtrust-flash" verbunden sein.

3. Die Frage "Do you wish to terminate dnsmasq? [y/N]" und "Do you wish to terminate mosquitto? [y/N]" mit Y beantworten und das Flash-Skript neu starten.

4. Nach dem FW-Backup hatte das Skript nach der FW.bin gefragt. Bei der Installation wurde schon eine Tasmota Version installiert. Diese hatte ich auch genommen und erfolgreich beenden.

Das war eigentlich alles was mir zum Flashen so einfällt.

Ich hänge jetzt an einem anderen Problem.
Wie binde ich die Steckdosen richtig in FHEM ein?
Die Dosen habe ich konfiguriert als "BlitzWolf SHP (45)"
In der Web-Oberfläche vom Stecker kann ich jetzt alles richtig bedienen und auch die Leistungsmessung gibt Werte zurück.
Welche Konfiguration muss ich jetzt in FHEM wählen?
Mit "Tasmota-basic" kann ich Schalten aber ich bekomme keine Readings für die Leistung   :(
Bei anderen Konfigurationen geht gar nichts.

Kennt jemand die richtige Konfiguration?

Gruss
Jörg

Bartimaus

#77
Moin,

interessant, das es mit einem iPhone geklappt hat. Ich musste letztendlich auf ein Android ausweichen.

Ich habe die Gosund SP1. Bei denen habe ich nach dem flashen noch "Flash3" gem. CT-Anleitung ausgeführt.

Jetzt ist auf den Dingern die FW 7.0.0.3 installiert. Diese beinhaltet auch ein Template für Gosund SP1 v23 (55). Ausgewählt, und ich bekomme im Device schonmal die richtigen Daten.

unter "Configure MQTT" habe ich je Device bei Topic noch einen für mich eindeutigen Namen eingetragen. z.B. Trockner.

Jetzt die Konfig in FHEM:



Das Device wird per Autocreate angelegt. Dannn wähle ich das Template "tasmota_basic_state_power1"

Im Device setze ich das Attribut "autocreate" auf "1".

Attribut: ReadingList

DVES_XXX:tele/Trockner/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
DVES_XXX:tele/Trockner/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }
DVES_XXX:tele/Trockner/SENSOR:.* { json2nameValue($EVENT, 'INFO_', $JSONMAP) }
DVES_XXX:stat/Trockner/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
DVES_XXX:tele/Trockner/LWT:.* LWT
DVES_XXX:cmnd/Trockner/POWER:.* POWER
DVES_XXX:tele/Trockner/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
DVES_XXX:tele/Trockner/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }
DVES_XXX:tele/Trockner/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }
DVES_XXX:stat/Trockner/POWER:.* POWER
DVES_XXX:stat/Trockner/UPGRADE:.* UPGRADE




Attribut "setList"

off:noArg    cmnd/Trockner/POWER1 0
  on:noArg     cmnd/Trockner/POWER1 1
  toggle:noArg cmnd/Trockner/POWER1 2
  on-for-timer {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/Trockner/Backlog pulseTime1 '.$duration.'; POWER1 1'}
  setOtaUrl:textField cmnd/Trockner/OtaUrl $EVTPART1
  upgrade:noArg   cmnd/Trockner/upgrade 1


setStateListe: on off toggle

StateFormat: POWER1


LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

JörgK

Ja super.
Der Tipp mit autocreate hat geholfen :-)
Jetzt hab ich alle Readings in FHEM.

Die Konfiguration "Gosund SP1 v23 (55)" hat leider nicht geklappt. Damit schaltet sie nicht. Nutze gerade noch die von Blitzwolf.
Beim Suchen bin ich auf die Tasmota-Seite gestoßen, dort gibt es für viele Geräte die Konfigurationen.
https://blakadder.github.io/templates/gosund_SP111_v1_1.html
Für meine SP111 gibt es drei Versionen. Wie man sie unterscheidet, weiß ich noch nicht. Auf den Steckern gibt es keinen Aufdruck. Ich werde sie einfach heute Abend testen :-)

Weitere Readings oder die Setlist muss ich doch nicht extra konfigurieren, oder?

Eine Frage hätte ich da noch.
Für die Nutzung mit iobroker würde ich ein Reading benötigen, welches ich zum Setzen des State beschreiben kann, also auf  "true" oder "false" setzen und dieser gleichzeitig den aktuellen Schalterzustand ausgibt, wenn ich am Stecker selber schalte.
Hintergrund ist das Yahka-Modul in ioBroker welches ich nur auf eine Variable setzen kann.

Gruß
Jörg


Beta-User

Zitat von: Bartimaus am 24 November 2019, 09:52:24
Das Device wird per Autocreate angelegt. Dannn wähle ich das Template "tasmota_basic_state_power1"

Im Device setze ich das Attribut "autocreate" auf "1".

Attribut: ReadingList

DVES_XXX:tele/Trockner/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
DVES_XXX:tele/Trockner/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }
DVES_XXX:tele/Trockner/SENSOR:.* { json2nameValue($EVENT, 'INFO_', $JSONMAP) }
DVES_XXX:stat/Trockner/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
DVES_XXX:tele/Trockner/LWT:.* LWT
DVES_XXX:cmnd/Trockner/POWER:.* POWER
DVES_XXX:tele/Trockner/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
DVES_XXX:tele/Trockner/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }
DVES_XXX:tele/Trockner/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }
DVES_XXX:stat/Trockner/POWER:.* POWER
DVES_XXX:stat/Trockner/UPGRADE:.* UPGRADE




Attribut "setList"

off:noArg    cmnd/Trockner/POWER1 0
  on:noArg     cmnd/Trockner/POWER1 1
  toggle:noArg cmnd/Trockner/POWER1 2
  on-for-timer {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/Trockner/Backlog pulseTime1 '.$duration.'; POWER1 1'}
  setOtaUrl:textField cmnd/Trockner/OtaUrl $EVTPART1
  upgrade:noArg   cmnd/Trockner/upgrade 1


setStateListe: on off toggle

StateFormat: POWER1
Irgendwie paßt die readingList und die Aussage, das das genannte Template angewendet wurde, für mich nicht so recht zusammen; das obere müßte die rL gewesen sein vor Anwendung des templates, und dann war da auch noch autocreate auf "complex" gesetzt. Letzteres ist in der Regel nicht erforderlich, und von daher dürften Einsteiger durch solche Angaben eventuell verwirrt werden, weil sie annehmen könnten, sie hätten etwas wichtiges übersehen....

(Ich muß mir (bzw. besser: jemand, der die Dinger ausgiebig nutzt, sollte sich) mal noch Gedanken zur Doku an der Stelle machen: Eigentlich ist das template "tasmota_basic" das, das für die einkanaligen Tasmota angewendet werden kann/sollte. Das scheint aber irgendwie unterzugehen...
Vorschläge nehme ich gerne entgegen, ich kenne tasmota (fast) nur vom Hörensagen...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Bartimaus

#80
Ich habe auch keinen Anspruch auf Vollständigkeit erhoben...  ::), ich hatte halt einiges ausprobiert und bin da momentan hängengeblieben. Wenn ich irgendwie mit Datenlieferung helfen kann, gerne.
Momentan habe ich nur das (Luxus)Problem, das das Powerreading nur gem. TelePeriod (300s) aktualisiert wird, und nicht gem. PowerDelta (80). Das liegt aber bestimmt an dem internen GosundTemplat in Tasmota. Leider kann ich PowerDelta auch nicht über die Konsole ändern...

Edith: Das Template "tasmota_basic" liefert in der Tat alle gewünschten Readings.... incl. Energy_*

Edith2: Problem gelöst, installiert war "tasmota-basic.bin" Firmware, die beherrschte keine PowerDelta. Neue FW geflasht (7.0.0.6 -DE), die beinhaltet auch PowerDelta, alles ist gut.
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Bartimaus

Moin,

weil die Gosunds jetzt stressfrei laufen, habe ich einen weiteren Satz Steckdosen bei Amazon gekauft.

https://www.amazon.de/Koogeek-Intelligente-Steckdose-Kompatibel-Assistant/dp/B07YQSBRV8/ref=asc_df_B07YQSBRV8/?tag=googshopde-21&linkCode=df0&hvadid=380215545085&hvpos=1o1&hvnetw=g&hvrand=4048727847608031017&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9060673&hvtargid=pla-834169269266&psc=1&th=1&psc=1&tag=&ref=&adgrpid=74966709822&hvpone=&hvptwo=&hvadid=380215545085&hvpos=1o1&hvnetw=g&hvrand=4048727847608031017&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9060673&hvtargid=pla-834169269266

Gab es mit Gutschein für 28€.

Zwei davon habe ich auch schon erfolgreich mit Tuya-Convert auf Tasmota geflasht.

Jedoch ist es noch etwas Frickelei, die richtige GPIO/Template-Config hinzubekommen. Dieses https://blakadder.github.io/templates/kogeek_W-DEXI.html habe ich probiert, jedoch noch nicht zufriedenstellend.

Also habe ich div. probiert. Hängen geblieben bin ich beim "Gosund SP1". Damit kann ich über die Weboberfläche schalten, aber die Readings zum Stromverbrauch sind noch extremst "krumm". Da werde ich noch etwas kalibrieren müssen.

Die LED leuchtet auch blau, sobald die Dinger "off" sind. Bei "on" ist die LED aus.

Falls jemand Tipps zur Konfig hat, gerne.
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Chris489

Zitat von: Bartimaus am 04 Dezember 2019, 11:00:07
Moin,

weil die Gosunds jetzt stressfrei laufen, habe ich einen weiteren Satz Steckdosen bei Amazon gekauft.

https://www.amazon.de/Koogeek-Intelligente-Steckdose-Kompatibel-Assistant/dp/B07YQSBRV8/ref=asc_df_B07YQSBRV8/?tag=googshopde-21&linkCode=df0&hvadid=380215545085&hvpos=1o1&hvnetw=g&hvrand=4048727847608031017&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9060673&hvtargid=pla-834169269266&psc=1&th=1&psc=1&tag=&ref=&adgrpid=74966709822&hvpone=&hvptwo=&hvadid=380215545085&hvpos=1o1&hvnetw=g&hvrand=4048727847608031017&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9060673&hvtargid=pla-834169269266

Gab es mit Gutschein für 28€.

Zwei davon habe ich auch schon erfolgreich mit Tuya-Convert auf Tasmota geflasht.

Jedoch ist es noch etwas Frickelei, die richtige GPIO/Template-Config hinzubekommen. Dieses https://blakadder.github.io/templates/kogeek_W-DEXI.html habe ich probiert, jedoch noch nicht zufriedenstellend.

Also habe ich div. probiert. Hängen geblieben bin ich beim "Gosund SP1". Damit kann ich über die Weboberfläche schalten, aber die Readings zum Stromverbrauch sind noch extremst "krumm". Da werde ich noch etwas kalibrieren müssen.

Die LED leuchtet auch blau, sobald die Dinger "off" sind. Bei "on" ist die LED aus.

Falls jemand Tipps zur Konfig hat, gerne.

bzgl. der LEDs ... bei Gosund geht es im Template in der eckigen Klammer

Configuration>Configure Other> bei Template
{"NAME":"Gosund SP111","GPIO":[57,0,0,0,132,134,0,0,131,17,0,21,0],"FLAG":0,"BASE":45}

mach mal bei dir aus der 90 eine Null
{"NAME":"W-DEXI","GPIO":[0,0,0,0,134,132,0,0,130,52,21,0,0],"FLAG":0,"BASE":18}

Bartimaus

@Chris,

danke für den Schubs. Aber mit dem originalen "W-DEXI" funktioniert es jetzt korrekt. Power + Voltage kalibriert, und alles gut.

Wie fast immer, sass das Problem (wie auch immer) vor der Tastatur  ;D
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Bartimaus

Moin,

ich brauche bitte nochmal einen Tip....

Die Koogeeks haben/liefern in FHEM als "STATE" "POWER1"
Die Gosunds "on" oder "off".

Beide mit dem Tasmota-Basic-Template.

Dadurch bekomme ich kein ZustandsIcon, und schalten via FHEM-iOS-Widget klappt auch noch nicht..
Das schalten via Weboberfläche klappt hingegen.

Im Tasmota-Webinterface der Koogeeks steht als Zustand: "ON/OFF", bei den Gosunds "on/off".

Hat jemand ne Idee ?
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

swsmily

Ob on/off oder ON/OFF kannst du in der Konsole mit statetext1 und statetext2  ändern.
statetext1 steht für off, 2 für on, 3 für toggle, 4 für hold.

Oder besser: schau mal im Device in FHEM unter set attrTemplate, dort gibt es eins mit set_lowercase_texts_and_state1 - wenn du das auf das Gerät anwendest werden die Texte auf Kleinschreibung geändert und SetOption26 auf 1 gesetzt. Das bewirkt, dass nicht mehr POWER sondern POWER1 als state geliefert wird.
Nutzt das mal und dann sollte alles passen.

Beta-User

Zitat von: swsmily am 08 Dezember 2019, 00:42:24
Oder besser: schau mal im Device in FHEM unter set attrTemplate, dort gibt es eins mit set_lowercase_texts_and_state1
Das Thema hatten wir ein paar Beiträge weiter oben schon, dieses attrTemplate wird intern aufgerufen, wenn man das nimmt, das Bartimaus gewählt hat. Scheint eher so zu sein, dass es da ein Kommunikationsproblem zum ESP gegeben hat, warum auch immer...

@Bartimaus: Kannst das ja nochmal versuchen (ggf. auch nur mit dem Umstellungstemplate wie vorgeschlagen), vielleicht ist es jetzt besser?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Bartimaus

Hallo,

ich danke Euch. Statetext und das entsprechende Template waren zielführend.
Somit kann ich die Koogeeks (W-Dexi) als günstige Alternative zu den Gosund SP1 empfehlen !
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

johndoe

Zitat von: Bartimaus am 08 Dezember 2019, 16:29:21
Hallo,

ich danke Euch. Statetext und das entsprechende Template waren zielführend.
Somit kann ich die Koogeeks (W-Dexi) als günstige Alternative zu den Gosund SP1 empfehlen !

Du hast die ganz kleinen Koogeek im Einsatz (kleiner als die Gosund SP1), Flaschen mit tuya-convert OTA kein Problem und mit dem oben angegebenen Template funktionieren sie einwandfrei, inklusive Strommessung, nachdem du mit statetext auf Kleinschreibung für on/off gestellt hast?

Bartimaus

LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly