Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Dimmer Synchronisation gibt Fehler aus

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Dimmer Synchronisation gibt Fehler aus

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

      Hallo zusammen,

      ich habe ein Skript, dass die Helligkeit einer Yeelight an eine deconz Gruppe geben soll.
      Das funktiontioniert auch soweit, nur im Log bekomme ich folgende Warnung:

      javascript.0	2020-10-08 13:42:46.259	warn	(879) at processImmediate (internal/timers.js:456:21)
      javascript.0	2020-10-08 13:42:46.259	warn	(879) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
      javascript.0	2020-10-08 13:42:46.259	warn	(879) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
      javascript.0	2020-10-08 13:42:46.259	warn	(879) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
      javascript.0	2020-10-08 13:42:46.259	warn	(879) at Object.<anonymous> (script.js.common.Licht.KUE_sync:14:3)
      javascript.0	2020-10-08 13:42:46.258	warn	(879) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20)
      javascript.0	2020-10-08 13:42:46.256	warn	(879) You are assigning a string to the state "deconz.0.Groups.3.level" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an e
      

      Skript sieht wie folgt aus:

      fd260da4-8b95-4309-9fc5-9d7b7bd88f68-grafik.png

      on({id: 'yeelight-2.0.KUE_ceiling10-0x00000000065b8a48.control.active_bright', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        setState("deconz.0.Groups.3.level"/*Küche level*/, getState("yeelight-2.0.KUE_ceiling10-0x00000000065b8a48.control.active_bright").val);
      });
      

      Wie kann ich das am prakmatischsten lösen?

      Dankbar für Hinweise,
      Philipp

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Phil Ipp last edited by Asgothian

        @Phil-Ipp

        Am einfachsten setzt du ein
        Screenshot 2020-10-08 at 15.04.23.png
        dazu.

        Und wenn du es richtig machen willst stellst du noch sicher das der numerische Wert der dabei raus kommt auch zwischen 0 und 100 ist.

        Phil Ipp 1 Reply Last reply Reply Quote 1
        • Phil Ipp
          Phil Ipp @Asgothian last edited by

          @Asgothian
          genau das hatte ich gesucht. So einfach. Dank Dir!

          Die Wert-zwischen-0-und-100-Validierung ergibt Sinn. Allerdings weiß ich ad hoc noch nicht, wie ich das bauen soll. #erstesscript

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @Phil Ipp last edited by

            @Phil-Ipp
            Liegen denn die Werte die vom Yeelight kommen zwischen 0 und 100 oder gibt der andere Werte heraus ?

            Wenn die schon richtig liegen reicht es,

            1. eine Variable "Yeelight" zu definieren
            2. Dieser den numerischen (toNumber) wert des Objektes active_bright zuzuweisen
            3. dann ein Falls block: Falls "Yeelight" < 0 mache Setze "Yeelight" auf 0
            4. und noch einen Falls Block: Falls "Yeelight" > 100 mache Setze "Yeelight" auf 100

            Wenn das nicht so ist, dann brauchst du den minimalen und maximalen Wert der bei Yeelight auftreten kann (hier mal yMin und yMax genannt)
            Zwischen 2. und 3. kommt dann noch ein
            Setze "Yeelight" auf ("Yeelight" - "yMin") / ("yMin-yMax") * 100

            Das wars 🙂

            In Blockly musst du dir das aktuell selber bauen - ich bin unterwegs 😉

            A.

            Phil Ipp 1 Reply Last reply Reply Quote 1
            • Phil Ipp
              Phil Ipp @Asgothian last edited by

              @Asgothian

              danke für die Denkanstöße, das probier ich gern selbst aus! Macht ja auch Spaß ein bisschen selbst zu denken, und nicht alles fertig abzuschreiben ,)
              Melde mich dann lieber, falls es nicht klappt.

              Soweit ich das sehe, sind die Werte aber eh zwischen 0 und 100.
              Ist gerade reines Interesse, weil Du es erwähnt hattest.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              844
              Online

              32.0k
              Users

              80.4k
              Topics

              1.3m
              Posts

              2
              5
              302
              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