NEWS
Tuya TS0121_plug Zigbee kalibrieren (resetten)
-
Guten Morgen,
nachdem ich nun meine Tuya's in meinen Zigbee-Adapter einbinden konnte, stellt sich mir die Frage, ob man die Werte irgendwie kalibrieren kann.
Es sind gebrauchte Plugs mit Leistungsmessung und ich hätte gerne den Gesamtverbrauch auf 0 gestellt, bzw. die Spannung an die tatsächlichen Werte angepasst, da die 240V (die teilweise angezeigt werden) zu hoch sind.
So was wie Commands, wie sie für die Tasmota geflashten WiFi-Plugs gibt, habe ich bei keiner Suche gefunden.Danke.
-
Die Implementierung des Zigbee Protokolls durch die Zigbee-Herdsman-Converters lassen eine Kalibrierung / einen Reset der Leistungsdaten aktuell nicht zu. Siehe auch hier
In wie weit die Steckdose das unterstützt ist schwer zu sagen, da TuYa sich nur bedingt an die standard Zigbee Cluster Definitionen hält. Hier könnte ich anbieten das zu untersuchen - bräuchte aber Zugriff auf eine Steckdose (zumindest per remote).
@diwoma sagte in Tuya TS0121_plug Zigbee kalibrieren (resetten):
So was wie Commands, wie sie für die Tasmota geflashten WiFi-Plugs gibt, habe ich bei keiner Suche gefunden.
Generell gibt es so etwas für Zigbee Devices auch - auf 2 Arten:
- den einfachen weg, wo die Struktur der Nachricht entsprechend gut dokumentiert ist:
Mittels "sendTo" und der Funktion 'SendToDevice' lassen sich die auf zigbee2mqtt.io definierten "Device type specific configurations" in der Regel ansteuern. Es gibt Ausnahmen - mir ist aktuell allerdings nur eine bekannt da ich das nur an gefühlt 2 - 5 % der Geräte habe testen können: dasmeasurement_poll_intervall
bei Geräten vom TypTS0201_plug
lässt sich nicht einstellen da es nicht an das device gesandt wird sondern in der Kombination "Zigbee-Herdsman-Converters" und "zigbee2mqtt" abgefangen und behandelt wird. Ob sich dieses in naher Zukunft ändert ist noch nicht klar - es ist aber auf der Liste.
Im unten stehenden Beispiel würde an Stelle von <yourpayload> das stehen was lt. zigbee2mqtt.io an das Gerät gesandt werden kann.
sendTo('zigbee.0', 'SendToDevice', {'device':'<device id>', 'payload':<yourpayload>}, function(res) { if (res.success) console.log("success") else console.log(res.error); });
- den komplizierten Weg, auf dem die Struktur der Nachricht über den Expertenmodus des Adapters ermittelt werden muss:
In diesem Fall baut man sich die gewünschten Parameter auf dem Experten / Entwickler Tab des Zigbee Adapters zusammen, testet da auch gleich ob das angeschlossene Gerät entsprechend reagiert und übernimmt den JSON string als 3. Parameter für die Funktion "sendTo". Was da genau in welcher Form gesandt werden muss muss aus der Zigbee Cluster Definition ermittelt werden, wobei zusätzlich noch die in der Software definierten Clusternamen identifiziert werden müssen damit das geht. Solange nur Werte ausgelesen werden sollen geht das zumeist. Beim Schreiben von Werten auf dem Gerät / senden von Befehlen an das Gerät ist das leider nicht trivial.
sendTo("admin.0", "sendToZigbee", { "id": "zigbee.0.842e14fffedb8ae5", "ep": "1", "cid": "haElectricalMeasurement", "cmd": "read", "cmdType": "foundation", "zclData": { "activePower": {} } });
Beide Optionen lassen sich im Übrigen auch per Blockly nutzen.
A.
- den einfachen weg, wo die Struktur der Nachricht entsprechend gut dokumentiert ist:
-
@asgothian said in Tuya TS0121_plug Zigbee kalibrieren (resetten):
In wie weit die Steckdose das unterstützt ist schwer zu sagen, da TuYa sich nur bedingt an die standard Zigbee Cluster Definitionen hält. Hier könnte ich anbieten das zu untersuchen - bräuchte aber Zugriff auf eine Steckdose (zumindest per remote).
Ja auf der verlinkten Web-Site habe ich gelesen, dass get und write auf den Wert Energie nicht geht. Aber es ist nicht so wichtig, um da speziell eingreifen oder untersuchen zu müssen.
Aber vielleicht werde ich mich mal mit dem Vorschlag des SendTo beschäftigen.
Auf jeden Fall danke ich Dir für diese ausführliche Erklärung.
-
@diwoma @Asgothian - hat das mal jemand gelöst bekommen? Den links folgend nicht... aber ich fand ein Du-Röhre-Video auf Russisch (?) mit Untertiteln wo der Kollege beschreibt, dass man die TS0121 "nullen" kann wenn man sie an eine Tuya(kompatible) bridge anmeldet und sie dann dort "löscht" und dabei die Option "inkl. löschen aller Werte" wählt. Also "im tuya Protokoll" muss es offenbar einen Abmelde-Kommando-String geben, der funktionieren würde... hätte "erwartet" (ohne sowas erwarten zu dürfen, so ist das nicht gemeint!), dass das schon irgendwer "reverse engineered" hat mittlerweile, sodass es auch ohne Tuya-Base geht. So eine hab' ich nämlich nicht und will ich natürlich auch nicht anschaffen.
Hat jemand eine Lösung?
LG
FiddlePS: ich mach diesen alten Thread bewusst wieder auf, weil's der erste ist, den Dr G**gle dazu findet
-
-
@fredf D-A-N-K-E-E-E-E!!! Das hat funktioniert.
Um nicht erst dort in den Posts/Screenshots nachlesen zu müssen hier die Text-Fassung:
ioBroker Admin => Instanzen => Zigbee => Entwickler
Dort einstellen:- Gerät => das Gerät für den Reset
- Endpunkt => 1
- ClusterID => genBasic (0)
- Befehlstyp => functional
- Befehl => resetFactDefault (0)
- AttributID => powerSource (7, type 48)
Dann auf “Ausführen”, und warten, bis über dem Button "OK" und "Finished" steht. Wenn "we go no response" o.ä. kommt, einfach nochmal machen. Sobald das erfolgreich war ggf. nächstes Gerät auswählen und nochmal Feuer frei.
Das mit "Attribut-ID" auf "powerSource (7, type 48)" soll, wenn ich den von FredF verlinkten Thread richtig verstehe, wohl verhindern, dass die Dose “verschwindet” oder einen Power Cycle (aus der Steckdose ziehen) / re-pairing benötigt.
Scheint bei meiner ersten BW-SHP13 nicht direkt funktioniert zu haben, musste doch einmal neu koppeln (aber nicht löschen / neu anlernen).
Hab's dann bei ~7 weiteren genauso gemacht, und dort hat es wunderbar funktioniert, musste nichts weiter machen. Sie haben kurz nicht reagiert, aber nach ein paar Sekunden gingen sie von allein wieder. Top!Zähler sollten danach auf 0 kWh sein. Wenn nicht ggf. Objekte-Liste im iob 1x neu laden (F5 im browser).
Wenn eine Dose doch nicht direkt wieder erreichbar wird, dann:
- ist vmtl die blaue “koppeln-LED” im Power-Button der BW-SHP13 (aka TS0121) dauer-blau
- neu koppeln, fertig.
Super. Danke nochmals!
-
@fiddle
Vielen Dank, das hat super funktioniert -> bookmarked