Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Tuya-Adapter Datenpunkt per Skript editieren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Tuya-Adapter Datenpunkt per Skript editieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      leonracer last edited by

      Hallo zusammen,
      Ich bin meist ein „Mitleser“ der sich mit Begeisterung durch die Posts liest. Leider habe ich ein Problem, welches ich nicht gelöst bekomme:

      Ich habe 4 TuyaSmart-Thermostate mit denen ich meine Infrarotheizungen steuere. Jedoch ist es so, dass die Temperaturwerte in den DP durch 5 geteilt sind. Das bedeutet, ein Wert von 4 sind 20 Grad Celsius. Ich rechne dann alles für meine Vis und Yahka mit Blocklys um. So weit so gut.

      Im DP ist jedoch der Min-Wert mit 10 angegeben. Diesen Wert lösche ich raus, damit ich die Temperaturen regeln kann. Ein Wert von 10 bedeutet ja 50 Grad.
      Nun bekommen die DP immer automatisch die Eigenschaften von TuyaSmart übermittelt. Alle paar Tage ist dieser Min-Wert mit 10 immer wieder da und die Thermostate nicht mehr regelbar.

      Lange Rede, kurzer Sinn...
      Kann ich die DP per Skript editieren, also auf die Eigenschaft triggern um den Wert automatisch per Skript zu überschreiben und auf 0 setzen?

      Danke im Voraus

      paul53 1 Reply Last reply Reply Quote 0
      • X
        xbow42 last edited by xbow42

        guck erst mal nach ob der Datenpunkt beschreibar ist.
        *unter Objekte beim DP rechts auf den Bleistift klicken.
        die Zeile "write": true, ggf nachtragen bei common, und speichern.
        BSP

        {
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1578513762235,
          "common": {
            "name": "BatteryLoadFrom",
            "role": "",
            "type": "number",
            "unit": "%",
            "min": "0",
            "max": "100",
            "desc": "Istwert von dem aus geladen wird",
            "read": true,
            "write": true,
            "def": 0
          },
          "native": {},
          "acl": {
            "object": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator",
            "state": 1636
          },
          "_id": "0_userdata.0.Mobilitaet.eBike.StromerSt1X.BatteryLoadFrom",
          "type": "state"
        }
        

        editieren ist ja dann simpel:blockly_simpel.png


        <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="on" id="Uzcz_V$hT-V2M]ZssfVO" x="38" y="113">
        <field name="OID">Object ID</field>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
        <block type="controls_if" id="WecdzgJoyG)5nF+?vec,">
        <value name="IF0">
        <block type="logic_compare" id="a[y%xGt-xZ:8s5W5R{]"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="8dS+O,*D{lE/;{eM,og">
        <field name="ATTR">state.val</field>
        </block>
        </value>
        <value name="B">
        <block type="math_number" id=":}Wwk40nhk3n,XNF}aKF">
        <field name="NUM">0</field>
        </block>
        </value>
        </block>
        </value>
        <statement name="DO0">
        <block type="update" id="?5SDV{TWM)o4*B1m5}/W">
        <mutation delay_input="false"></mutation>
        <field name="OID">Object ID</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="math_number" id="~3zrm6a/Vn^p598qbd[@">
        <field name="NUM">0</field>
        </block>
        </value>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </xml>

        1 Reply Last reply Reply Quote 0
        • L
          leonracer last edited by

          Hi xbow42,

          Schon mal danke für die Hilfe, aber ich dann ja den DP beschreiben, das klappt ja. Problem ist jedoch der Min-Wert. In deinem Beispiel steht Min auf 0. TuyaSmart setzt mir den Wert aber auf 10!

          Da ich ja werte zwischen 4 und 5 steuern möchte geht das nicht, da der Min-Wert ja 10 beträgt. Steuere ich nun mit 4,4 den DP an, springt dann der Eintrag auf 10 (wegen dem Min-Wert). Das sind dann statt 22 Grad 50 Grad Celsius.

          Mit nem Skript müsste ich also nicht den Wert vom DP ändern sondern den Wert Min der Eigenschaft des DP.

          Hoffe das ist verständlich ausgedruckt. Schreibe vom Handy, kann heute Abend mal Screenshots vom Rechner aus machen.

          Danke

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @leonracer last edited by

            @leonracer sagte:

            auf die Eigenschaft triggern um den Wert automatisch per Skript zu überschreiben und auf 0 setzen?

            Nein, auf common.min kann nicht getriggert werden.

            1 Reply Last reply Reply Quote 0
            • L
              leonracer last edited by

              Danke....

              Ich müsste ja nicht auf common.min triggern. Wenn ich die Temperatur schalten möchte wird der Wert des DP auf 10 gesetzt. Also könnte ich ja darauf triggern. Müsste nur den Common.min wieder auf 0 setzen können. Dann wäre mein Problem beseitigt.

              Schon mal Merci...
              Grüße
              Leonracer

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              433
              Online

              31.8k
              Users

              80.0k
              Topics

              1.3m
              Posts

              javascript
              3
              5
              386
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo