ZMAi-90 und Tasmota

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Benutzeravatar
guinnes
Beiträge: 146
Registriert: 21. Apr 2020 19:46

ZMAi-90 und Tasmota

Beitrag von guinnes »

Hi
Ich habe für meine Klimaanlage einen WLan-Schalter mit Energiemessung gesucht ( Klimaanlage ist mit 25A abgesichert, da kann man keine Shellies nehmen ) und u.a. Hier gefunden. Das Teil kann 60 !! Ampere schalten !
Nun mußte da auch noch Tasmota drauf, eine gute Anleitung zum Flashen gibts Hier. Leider kann man die da vorgestellte Konfiguration komplett in die Tonne treten. Weder die Rules noch die Telegramme, die da verschickt werden haben bei mir auch nur eine Antwort ausgelöst.
Die Lösung gibts direkt bei Tasmota . Als Gerät muß Tuya MCU ( 54 ) gewählt werden.
Damit stehen die GPIO's für Rx und Tx fest, die Baudrate wird richtig gesetzt und auch das Tuya-Protokoll wird implementiert

Nachträglich müßen nur noch 3 Kommandos für die Verbindung Tuya Komponente -> Tasmota Komponente eingegeben werden :

TuyaMCU 33,20 für die Verbindung Tuya Spannung -> Tasmota Spannung
TuyaMCU 32,18 für die Verbindung Tuya Strom -> Tasmota Strom
und
TuyaMCU 31,19 für die Verbindung Tuya Leistung -> Tasmota Leistung
Das Relay ist schon durch die Wahl Tuya MCU verbunden
Für die richtige Zeitzone :
Timezone 99 für Berlin
und Voltres 1 für die Darstellung der Spannung mit einer Nachkommastelle
Das wars. Wenn der Schalter eingeschalter ist und ein Verbraucher angeschlossen ist, ist auch die Web-Oberfläche komplett :
Tasmota Web.jpg
MQTT ist natürlich auch schon fertig :
22:07:25 MQT: tele/tasmota_46D511/SENSOR = {"Time":"2020-07-23T22:07:25","ENERGY":{"TotalStartTime":"2020-07-23T16:11:41","Total":0.016,"Yesterday":0.000,"Today":0.016,"Period":0,"Power":11,"ApparentPower":17,"ReactivePower":13,"Factor":0.63,"Voltage":235.3,"Current":0.073}}

Vielleicht hilfts ja jemandem :)

Glückauf
guinnes
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

power-dodge
Beiträge: 6
Registriert: 30. Jul 2020 12:14

Re: ZMAi-90 und Tasmota

Beitrag von power-dodge »

Hallo,

danke für die Anleitung. War erst im Forum nicht registriert, daher zeigte er mir nicht die Version der Tasmota, also eigentlich das Bild wurde nicht angezeigt.

Nach Ihrer Anleitung funktioniert es bei mir nicht. Habe den ZMAi-90, aber leider kriege ich nur Nullen angezeigt.

Tasmota ist jetzt 8.2.0 drauf wie bei Ihnen.
Als Gerät muß Tuya MCU ( 54 ) gewählt werden.
erlädigt
TuyaMCU 33,20 für die Verbindung Tuya Spannung -> Tasmota Spannung
TuyaMCU 32,18 für die Verbindung Tuya Strom -> Tasmota Strom
und
TuyaMCU 31,19 für die Verbindung Tuya Leistung -> Tasmota Leistung
Das Relay ist schon durch die Wahl Tuya MCU verbunden
Für die richtige Zeitzone :
Timezone 99 für Berlin
und Voltres 1 für die Darstellung der Spannung mit einer Nachkommastelle
auch alles kopiert und in die Zeile eingefügt.

So sieht es danach bei mir aus:

Code: Alles auswählen

stat/test_zaehler/RESULT = {"TuyaMCU":[{"fnId":11,"dpId":1},{"fnId":33,"dpId":20},{"fnId":32,"dpId":18},{"fnId":31,"dpId":19}]}
Das Relais lässt sich nicht über Web Oberfläche und nicht über die Taste schalten.

https://ibb.co/k8BYcXL

Eine Idee woran es liegen kann? Über die englische Anleitung geht es mehr oder wenig da habe ich gaaanz langen String.
Diese Lösung ist feiner, aber irgendwo hack es.
Können Sie vielleicht Rules einstellen wo es bei Ihnen geht:

Code: Alles auswählen

stat/test_zaehler/RESULT = {"TuyaMCU"
Und eine PN oder Mail kann ich Ihnen nicht zukommen lassen, da erst registriert. Hoffe sie bekommen eine Benachrichtigung zu dem Antwort.

Gruß

Benutzeravatar
guinnes
Beiträge: 146
Registriert: 21. Apr 2020 19:46

Re: ZMAi-90 und Tasmota

Beitrag von guinnes »

Hallo
Hast du mal versucht, die Konfiguration zurückzusetzen und nochmal bei 0 anzufangen ?
Oder hast du vielleicht eine ältere Version des ZMAI ? Das Datum auf meinem Garantiesiegel ist 06/2020
Bei mir hat die Konfiguration in der Englischen Erklärung überhaupt nichts getan.

Mein MQTT-String sieht so aus :

Code: Alles auswählen

16:44:35 MQT: stat/tasmota_46D511/RESULT = {"TuyaMCU":[{"fnId":11,"dpId":1},{"fnId":33,"dpId":20},{"fnId":32,"dpId":18},{"fnId":31,"dpId":19}]}
Mein Thing :

Code: Alles auswählen

	Thing topic plug68 "MQTT Plug 68 Klimaanlage" 
	{
		Channels:
		  Type switch : power_sw     "Klimaanlage"                    [ stateTopic="stat/tasmota_46D511/POWER", commandTopic="cmnd/tasmota_46D511/POWER", on="ON", off="OFF" ]
		  Type string : Sensor       "Sensor Plug 68"                 [ stateTopic="tele/tasmota_46D511/SENSOR"]
	}
meine Items :

Code: Alles auswählen

Switch   Plug68_SW            " Power"                                               <klimaanlage>              (mqtt) {channel="mqtt:topic:guinnes:plug68:power_sw"}
String   Plug68_Time_json      (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.Time"] }
String   Plug68_Total_json     (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Total"] }
String   Plug68_Gestern_json   (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Yesterday"] }
String   Plug68_Heute_json     (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Today"] }
String   Plug68_Period_json    (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Period"] }
String   Plug68_Power_json     (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Power"] }
String   Plug68_Voltage_json    (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Voltage"] }
String   Plug68_Current_json    (mqtt) {channel="mqtt:topic:guinnes:plug68:Sensor"[profile="transform:JSONPATH", function="$.ENERGY.Current"] }
// In diese Items wird der durch die Rules gewandelte Wert reingeschrieben
DateTime Plug68_Time          "Letzte Aktualsierung [%1$td.%1$tm.%1$tY %1$tH:%1$tM:%1$tS]" <time>                (mqtt)
Number   Plug68_Total         "Verbrauch Total  [%s kw/h]"                           <energy_consumption>  (mqtt,P_15Min)
Number   Plug68_Gestern       "Verbrauch Gestern  [%s kw/h]"                         <dayly>               (mqtt,P_1Day)
Number   Plug68_Heute         "Verbrauch Heute  [%s kw/h]"                           <dayly>               (mqtt)
Number   Plug68_Period        "Plug 68 Periode  [%.0f]"                                                    (mqtt)
Number   Plug68_Power         "Aktuelle Leistung Klimaanlage [%d W]"                            <energy_consumption>  (mqtt,P_1Min)
Number   Plug68_Voltage       "Spannung Klimaanlage [%.1f V]"               <voltage>             (mqtt)
Number   Plug68_Current       "Strom Klimaanlage [%.3f A]"                  <current>             (mqtt)
Und die Rules :

Code: Alles auswählen

rule "Convert Plug68_Total_json to Plug68_Total"
  when
    Item Plug68_Total_json changed
 then
    Plug68_Total.postUpdate( Plug68_Total_json.state.toString )
 end

rule "Convert Plug68_Gestern_json to Plug68_Gestern"
  when
    Item Plug68_Gestern_json changed
 then
    Plug68_Gestern.postUpdate( Plug68_Gestern_json.state.toString )
 end

rule "Convert Plug68_Heute_json to Plug68_Heute"
  when
    Item Plug68_Heute_json changed
 then
    Plug68_Heute.postUpdate( Plug68_Heute_json.state.toString )
 end

rule "Convert Plug68_Period_json to Plug68_Period"
  when
    Item Plug68_Period_json changed
 then
    Plug68_Period.postUpdate( Plug68_Period_json.state.toString )
 end

rule "Convert Plug68_Power_json to Plug68_Power"
  when
    Item Plug68_Power_json changed
 then
    Plug68_Power.postUpdate( Plug68_Power_json.state.toString )
 end
rule "Convert Plug68_Time_json to Plug68_Time"
  when
    Item Plug68_Time_json changed
 then
    Plug68_Time.postUpdate( Plug68_Time_json.state.toString )
 end
rule "Convert Plug68_Voltage_json to Plug68_Voltage"
  when
    Item Plug68_Voltage_json changed
 then
    Plug68_Voltage.postUpdate( Plug68_Voltage_json.state.toString )
 end

rule "Convert Plug68_Current_json to Plug68_Current"
  when
    Item Plug68_Current_json changed
 then
    Plug68_Current.postUpdate( Plug68_Current_json.state.toString )
 end

Wenn du nach der anderen Erklärung einen langen String bekommst, hilft dir das hier weiter
Glückauf
guinnes

power-dodge
Beiträge: 6
Registriert: 30. Jul 2020 12:14

Re: ZMAi-90 und Tasmota

Beitrag von power-dodge »

Hallo Guinnes,

vielen Dank für Antwort! Meine Zähler sind gestern angekommen, bei denen steht 05/2020.

Ich verstehe leider das überhaupt nicht wieso das nicht funktionieren will.
Habe sehr oft von vorne angefangen, sitze 2 Tage schon da dran. Mit der Tasmota 8.2.0 sendet er mir
über MQTT doch nicht den langen String, mit der 7.2.0 hatte er es getan.

Mit der 8.2.0 bekomme ich folgendes, dies Wird aber nicht ausgefüllt über Tasmota:

Code: Alles auswählen

17:56:28 RUL: RULES#TIMER=1 performs "backlog SerialSend5 fe010f080000001c; RuleTimer1 10"
17:56:28 MQT: stat/Waermepumpen_Zaehler/RESULT = {"SerialSend":"Done"}
17:56:29 MQT: stat/Waermepumpen_Zaehler/RESULT = {"T1":10,"T2":0,"T3":0,"T4":0,"T5":0,"T6":0,"T7":0,"T8":0}
Diese T´s werden nach MQTT gesendet, vermutlich daher klappt Ihre Methode nicht. Aber wieso?

Die Anleitungen zu OpenHab helfen mir da nicht viel, komme von anderen System. Wollte mich mit
Ihnen in Kontakt setzen. Es gibt im Netz sonst nichts zu dem Zähler und Tasmota.

Edit: habe eben auf die 7.2.0 geflasht und es sendet mit per MQTT zusätzlich:

Code: Alles auswählen

18:37:19 MQT: tele/Heizstab_Zaehler/RESULT = {"SerialReceived":"FE0108000000004423000000000000005000000000000000000000000000000010000064"}

Benutzeravatar
guinnes
Beiträge: 146
Registriert: 21. Apr 2020 19:46

Re: ZMAi-90 und Tasmota

Beitrag von guinnes »

Hallo, power-dodge

1. Wie flashst du ? Ich flashe mit dieser Batch-Datei :

Code: Alles auswählen

D:\Python\Scripts\esptool.py --p COM15 --baud 74880 --after no_reset write_flash --flash_size 1MB --flash_mode dio 0x00000 Tasmota.bin --erase-all
Pause
Wobei das erase-all wahrscheinlich wichtig ist
2. Nach dem Flashen Nix mit Rules, nix Baudrate und nix sonst was sondern nur Tuya MCU ( 54 ) einstellen, sichern und danach probieren, ob der Schalter geht

Was du in der Konsole siehst, ist genau das, was ich auch erhalten habe, wenn ich irgentwelche Rules eingestellt habe !
Also : entweder Tuya MCU oder Serialsend5 und die Rule
Ich verstehe leider das überhaupt nicht wieso das nicht funktionieren will. Habe sehr oft von vorne angefangen, sitze 2 Tage schon da dran.
Ich habe 2 Wochen mindestens 4 Stunden pro Tag versucht, habe die Telegramme aufgezeichnet, die mit der Original-Firmware verschickt worden sind bin nicht weitergekommen und habe eine mittlere Katasrofe ausgelöst, als ich die Telegramme aufzeichnen wollte, während der ZMai am Netz war :oops: ( Netzsicherung raus, ZMai platt, USB-Stick platt, USB-Hub platt ). Ich bin dann per Zufall auf die Tasmota-Seite mit der Anleitung für Tuya-MCU gestoßen, weil ich eine Serial-Bridge gesucht hatte, Danach war die Sache innerhalb 1 Stunde in trockenen Tüchern.
Das schlimmst war danach, als ich meine Klimaanlage eingeschaltet habe und festgestellt habe, daß das Teil nicht mal 10 A aufnimmt !! Da hätte ich auch gleich einen weiteren Shelly 1PM nehmen können :roll:
Zuletzt geändert von guinnes am 31. Jul 2020 11:04, insgesamt 1-mal geändert.
Glückauf
guinnes

power-dodge
Beiträge: 6
Registriert: 30. Jul 2020 12:14

Re: ZMAi-90 und Tasmota

Beitrag von power-dodge »

Moin,

Oha da ist aber was passiert...

Bin gerade auf der Arbeit und kann die Programme aus dem Kopf nicht nennen.

Benutze 2 Programme, mit einem kann man beim flashen alle Daten kippen, erkennt aber 2MB Chip automatisch.
Mit dem 2ten Programme flasche ich nach die selbe BIN.

Viele Versionen der Tasmota probierte ich aus und bei jeder war es nach dem flashen, so das man das Relais sofort steuern kann. Über Web und die Taste.
Wähle ich Tuya MCU aus, nach speichern und neu starten. Geht die Steuerung des Relais nicht mehr.

Jetzt habe ich die 7.2.0 drauf und habe den sau langen String in der Steuerung. Muss noch schauen ob und wie ich diese mit PHP splitte.

Ich dachte bis 60A können die messen, obwohl es ist kein messen sondern eher schätzen.

Kann mir gut vorstellen das wir verschiedene Chips zum messen der Werte haben. Daher können die unterschiede kommen.

Meiner ist dieser:
https://www.amazon.de/dp/B083BFGHPQ/ref ... iFb89SE0BW

Vielleicht können wir vergleichen unsere Geräte? Zumindest mit Bildern.

Gruß

Benutzeravatar
guinnes
Beiträge: 146
Registriert: 21. Apr 2020 19:46

Re: ZMAi-90 und Tasmota

Beitrag von guinnes »

Moin
Meiner sieht fast genauso aus, es fehlt nur das "eMylo"-Logo unten links.
erkennt aber 2MB Chip automatisch
Wenn ich das richtig verstanden habe, sollte da nur 1 MB drin sein
Viele Versionen der Tasmota probierte ich aus und bei jeder war es nach dem flashen, so das man das Relais sofort steuern kann. Über Web und die Taste.
Wähle ich Tuya MCU aus, nach speichern und neu starten. Geht die Steuerung des Relais nicht mehr.
Dann werden wir wohl verschiedene Versionen haben, ich konnte das Relais nie steuern
Ich dachte bis 60A können die messen, obwohl es ist kein messen sondern eher schätzen.
Laut Spezifikation ist schätzen sicherlich nicht richtig.
Less than 0.1% error on active energy metering over dynamic range of 5000:1
Kann mir gut vorstellen das wir verschiedene Chips zum messen der Werte haben
Bei mir ist ein V9821 verbaut, alle Taster, Led's und das Relais daran angeschlossen, der TYWE3S macht nur die Kommunikation mit dem WLan
Glückauf
guinnes

power-dodge
Beiträge: 6
Registriert: 30. Jul 2020 12:14

Re: ZMAi-90 und Tasmota

Beitrag von power-dodge »

Moin,

so ein paar Bilder habe ich gemacht. Scheint der selbe Chip zu sein, vielleicht haben diese unterschiedliche Treiber oder Software drauf? Ich weiß ehrlich es nicht.
Das komische ist ja, das die englische Methode bei Ihnen gar nicht ging und bei mir Ihre gar nicht wollte.

Bild

Bild

Bild

Bild

Bild

Benutzeravatar
guinnes
Beiträge: 146
Registriert: 21. Apr 2020 19:46

Re: ZMAi-90 und Tasmota

Beitrag von guinnes »

Du hast eine etwas ältere obere Platine, bei dir 2010 bei mir 2011, bei dir sind auf der Seite des TYW3S, die zum Display zeigt, jeden Pin angeschlossen, bei mir sind die mittleren 4 Pins frei, du hast oberhalb vom R10 noch einen R6, der fehlt bei mir.
Hab ich wohl Pech gehabt, beides Mal die wohl neuste Revision erwischt zu haben.
Dann wünsch ich dir viel Erfolg

Hier ist recht gut beschrieben, wie der String zerlegt werden muß ( ist wohl Java )

Glückauf
guinnes
Glückauf
guinnes

power-dodge
Beiträge: 6
Registriert: 30. Jul 2020 12:14

Re: ZMAi-90 und Tasmota

Beitrag von power-dodge »

Moin,

danke für die Antwort! Na jetzt wissen wir wohl woran es lag.
Es gibt dazu noch keine Infos im Netz, kein Wunder das wir so viel Zeit vergeudet haben.

Die Änderungen scheinen wohl überschaubar zu sein, was denken Sie über Umbau auf die neuere Version?

Hauptsache die Daten kommen per MQTT rein, rest muss man dann schauen.

Danke noch mal für die Hilfe.

Gruß

Antworten