(Lösung) Tasmota-Einstellungen für ProfiCook PC-WKS 1167G 1.5L Wasserkocher

  • Lösung (03.07.2020):

    Vorbemerkung: Ich schreibe den Code deshalb hierhin, weil blakadder ihn in seiner Template-Datenbank irgendwie nicht haben möchte. Ich finde es schade, wenn ich mein Ergebnis nicht teilen kann.

    Es ging um den ProfiCook PC-WKS 1167G 1.5L Wasserkocher. Zuerst habe ich nach folgender Einleitung Tasmota eingerichtet.

    Danach war es, wie gesagt, mein Ziel, dass über ioBroker Sprachbefehle an Alexa gesendet werden, wenn z.B. ein Kochvorgang abgeschlossen ist. Hierzu habe ich nun eine zweite Regel definiert, welche einen Wert in ioBroker unter dem Namen "Kettle_Status" anlegt. Mögliche Variablen sind "REMOVED", "HEATING", "STANDBY" und "MAINTAINING". Dieser ändert sich, wenn (1) der Behälter entfernt wird, (2) ein Kochvorgang gestartet wird, (3) ein Kochvorgang abgeschlossen ist, (4) die Temperatur auf einem Wert gehalten wird.

    Es folgt der komplette Aufbau zur Einrichtung des Wasserkochers. Zuerst sollte jedoch das Template gesetzt werden:

    Code
    {"NAME":"ProfiCook PC-WKS 1167 G","GPIO":[0,107,0,108,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":54}

    Alle nun folgenden Schritte sind nacheinander über die Konsole durchzuführen. Dabei wird auch das WebUI und die Zeitzone angepasst. "SetOption66 1" ist unabdinglich, sonst wird "Kettle_Status" nicht an ioBroker gesendet.

    Code
    SetOption53 1
    WebColor {"WebColor":["#eaeaea","#252525","#282531","#eaeaea","#282531","#d7ccff","#1d1b26","#ff5661","#008000","#faffff","#694fa8","#4d3e7f","#b73d5d","#822c43","#1f917c","#156353","#faffff","#716b7f","#eaeaea"]}
    SetOption66 1
    sleep 250
    Timezone +2
    PowerOnState 0
    Rule1 ON Power1#State=1 DO TuyaSend4 101,4 ENDON ON Power1#State=0 DO TuyaSend4 101,6 ENDON
    Rule2 ON TuyaReceived#DpType4Id106=1 DO Publish stat/tasmota_94C8A4/RESULT {"Kettle_Status":"REMOVED"} ENDON ON TuyaReceived#DpType4Id101<=4 DO Publish stat/tasmota_94C8A4/RESULT {"Kettle_Status":"HEATING"} ENDON ON TuyaReceived#DpType4Id106=5 DO Publish stat/tasmota_94C8A4/RESULT {"Kettle_Status":"MAINTAINING"} ENDON ON TuyaReceived#DpType4Id101=6 DO Publish stat/tasmota_94C8A4/RESULT {"Kettle_Status":"STANDBY"} ENDON
    Backlog WebButton1 Wasserkocher (an/aus)
    Backlog Rule1 1; Rule2 1

    Wichtig: Bei "Publish stat/tasmota_94C8A4/RESULT" muss "tasmota_94C8A4" mit eurem %topic% ersetzt werden, zu finden unter den MQTT-Einstellungen. Außerdem können insgesamt nicht mehr als 4-5 TuyaReceived-Befehle konfiguriert werden, ansonsten stürtzt das Gerät ab und die Regeln werden beim Neustart deaktiviert.

    Die Möglichen weiteren Befehle wären jedoch:

    In ioBroker benutze ich den sonoff-Adapter, um die Werte zu empfangen: https://github.com/ioBroker/ioBroker.sonoff

    Ich hoffe, ich konnte damit jemandem helfen. Es hat einige Stunden gedauert, das herauszufinden. Vielleicht war ich aber auch einfach nur zu blöd...

    Spoiler anzeigen


    _____________________________________________________

    Edit (02.07.2020): So, das war eine Geburt, ich habe es hinbekommen. Ihr könnt euch also das Überlegen sparen. Ich schreibe morgen die Lösung hier hinein, damit andere vielleicht bei ähnlichen Problemen daran anknüpfen können.


    ____________________________________________________

    Guten Abend,

    ich habe ein Problem, welches ich einfach nicht gelöst bekomme. Ich habe einen Wasserkocher gekauft, dann Tasmota geflasht und nach folgender Einleitung in Tasmota Relays in WebUI angelegt.

    Code
    Rule ON Power1#State=1 DO TuyaSend4 101,0 ENDON ON Power1#State=0 DO TuyaSend4 101,6 ENDON

    Der obige Code erzeugt also nun einen Button, welcher das Gerät auf 45°C einstellt. Ebenso habe ich Buttons für 60, 85°C usw. erstellt:

    Code
    Rule1 ON Power1#State=1 DO TuyaSend4 101,0 ENDON ON Power1#State=0 DO TuyaSend4 101,6 ENDON ON Power2#State=1 DO TuyaSend4 101,1 ENDON ON Power2#State=0 DO TuyaSend4 101,6 ENDON ON Power3#State=1 DO TuyaSend4 101,2 ENDON ON Power3#State=0 DO TuyaSend4 101,6 ENDON ON Power4#State=1 DO TuyaSend4 101,3 ENDON ON Power4#State=0 DO TuyaSend4 101,6 ENDON ON Power5#State=1 DO TuyaSend4 101,5 ENDON ON Power5#State=0 DO TuyaSend4 101,6 ENDON ON Power6#State=1 DO TuyaSend4 101,4 ENDON ON Power6#State=0 DO TuyaSend4 101,6 ENDON

    In ioBroker (sonoff Modul) wurden die entsprechenden Power1 bis Power6 auch automatisch angelegt. Das Gerät kann also von dort aus gesteuert werden. Das Problem ist jedoch, dass nun keine Veränderungen in ioBroker angezeigt werden, wenn ich das Gerät direkt an den eigenen Tasten bediene. Man kann folglich nur Befehle zum Gerät senden, Statusänderungen vom Gerät kommen aber nicht bei ioBroker an. Das ist ja irgendwie auch klar, habe ich ja Power1-Power6 mit den Werten 101,0 bis 101,5 verknüpft. In ioBroker bekomme ich wenn überhaupt nur true oder false angezeigt.

    Meine Frage also: Was muss ich machen, damit ich von fnId 101 einfach dpId als Wert (in diesem Fall zwischen 0 und 5) in ioBroker angezeigt bekomme. Ich möchte nämlich eine Sprachausgabe bei Alexa einstellen, wenn das Wasser fertig ist, also der Wert wieder auf 101,6 zurückwechselt.

    Ich hoffe, ich habe mich nicht zu umständlich ausgedrückt.

    Vielen Dank schon einmal für die Hilfe. Liebe Grüße, Novalis

  • NovalisVonHardenberg 3. Juli 2020 um 15:39

    Hat den Titel des Themas von „Einen Wert von Tasmota in ioBroker anzeigen lassen“ zu „(Lösung) Tasmota-Einstellungen für ProfiCook PC-WKS 1167G 1.5L Wasserkocher“ geändert.
  • Hallo,

    ich habe mir auch diesen Wasserkocher zugelegt und versuche ihn nun in iobroker einzubinden, bzw. mir diese Statusmeldungen anzeigen zu lassen.

    Ich habe die obige Anleitung Schritt für Schritt befolgt, allerdings leider ohne Erfolg.

    Es ist die aktuellste Tasmota Version (9.1.0) auf dem Gerät.

    Der Topic lautet: tasmota_pc_wks_1167_g

    Die eigentliche Anbindung an iobroker hat nach dem Flashen mit Tasmota ohne Probleme funktioniert.


    Rule1 scheint zu funktionieren. Beim betätigen des On/Off Schalters wird ein normaler Kochvorgang gestartet bzw. beendet und der Status auch mit iobroker synchronisiert.

    Was nicht funktioniert ist die Übertragung des "Kettle_Status".

    In den Logs des Wasserkochers sieht man, dass die Regel korrekt ausgeführt wird, z.B.

    stat/tasmota_pc_wks_1167_g/RESULT = {"Kettle_Status":"HEATING"}

    stat/tasmota_pc_wks_1167_g/RESULT = {"Kettle_Status":"STANDBY"}

    Im iobroker kommt aber nichts an und es wird auch kein Datenpunkt "Kettle_Status" angelegt.

    SetOption66 1 ist definitiv gesetzt.

    Wenn ich manuell "Publish stat/tasmota_pc_wks_1167_g/RESULT = {"Kettle_Status":"HEATING"}" eingebe, passiert auch nichts, dabei sollte das dann doch ebenfalls am iobroker ankommen oder verstehe ich das falsch?

    Hat jemand eine Idee, woran das liegen könnte?

    Gruß,

    ambal