Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst]Skript meldet Warning bei Ausführung

    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

    [gelöst]Skript meldet Warning bei Ausführung

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

      Hi, ein Skript meldet bei mir ein Warning, den ich nicht verstehe. Und das wurmt mich
      Ich habe eine einfache Rollo-Gruppensteuerung, bei denen ich die Position (numeric) mit verschiedenen Functionel-Enums versehen habe. User-Datenpunkt wird mit einem Wert gesetzt, darauf wird reagiert und die entsprechenden Rollo-Positionen in der entsprechenden Funktionsgruppe gesetzt:

      on({id: /^0_userdata\.0\.Rollos\..+/, change: "any", ack: false}, async function (dp) {
          let value = getState(dp.id).val;
          log('Group-Point = ' + dp.id);
          var aId = dp.id.split(".")
          var enumName = aId.pop();
          let enumContent = getObject("enum.functions." + enumName);
          let aMembers = enumContent.common.members
          log("Enums: " + aMembers)
          for(let i = 0; i < aMembers.length; i++){
              log("Steuere: " + aMembers[i] + " auf Position " + value);
              setState(aMembers[i], value);
          }
      });
      

      Die Steuerung funktioniert, aber trotzdem wird eine Warnmeldung ausgegeben:

      07:47:34.309	info	javascript.0 (162683) Stop script script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung
      07:47:34.315	info	javascript.0 (162683) Start javascript script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung
      07:47:34.322	info	javascript.0 (162683) script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      07:47:48.797	info	javascript.0 (162683) script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung: Group-Point = 0_userdata.0.Rollos.Roll-Sued
      07:47:48.797	info	javascript.0 (162683) script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung: Enums: alias.0.Buero.Rollos.Fenster.position,alias.0.Wohnzimmer.Rollos.Fenster_Sued.position
      07:47:48.797	info	javascript.0 (162683) script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung: Steuere: alias.0.Buero.Rollos.Fenster.position auf Position 20
      07:47:48.798	warn	javascript.0 (162683) at Object.<anonymous> (script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung:15:9)
      07:47:48.798	info	javascript.0 (162683) script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung: Steuere: alias.0.Wohnzimmer.Rollos.Fenster_Sued.position auf Position 20
      07:47:48.799	warn	javascript.0 (162683) at Object.<anonymous> (script.js.Steuerung.Allgemein.Rollo-Gruppen-Steuerung:15:9)
      

      Die Zeilen 6 und 8 loggen, welcher Datenpunkt mit welchem Wert gesetzt werden
      Die Zeilen 7 und 9 melden den Fehler, anscheinend mit einem Objekt.<anonymous>.
      Warum?
      Reicht die Angabe des Datenpunktes alleine nicht für das Setzen des Values?
      Oder gibt es einen anderen Befehl zum Setzen eines numerischen Wertes?

      paul53 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO last edited by

        @diwoma

        der Befehl sollte eigentlich nur irgendeinen Text in das log von iobroker Schreiben.
        Die zusätzliche Zeile gehört zum Stacktrace, der eigentlich nur bei anderen Loglevels ausgegeben werden sollte.

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

          @diwoma
          Schau mal die Objektdaten der beiden Alias-DP an. Enthalten sie "native"? Falls nicht, bitte ergänzen.

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

            @paul53
            So sieht der Datenpunkt aus:

            {
              "type": "state",
              "common": {
                "name": "Position of this cover",
                "role": "state",
                "type": "number",
                "max": 100,
                "read": true,
                "write": true,
                "alias": {
                  "id": "zigbee.0.a4c1380bcc7198fc.position"
                }
              },
              "_id": "alias.0.Buero.Rollos.Fenster.position",
              "native": {},
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1657120467870,
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            

            Sollte im native was drinnen stehen?

            paul53 1 Reply Last reply Reply Quote 0
            • D
              diwoma @OliverIO last edited by

              @oliverio Die Frage ist ja, warum da ein Stacktrace geschrieben ist, d.h. warum hier eine Warnung kommt.

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

                @diwoma sagte: Sollte im native was drinnen stehen?

                Das ist so korrekt.

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

                  @diwoma sagte: warum hier eine Warnung kommt.

                  Im Tab "Protokolle" sind meist noch weitere Informationen zu Warnungen zu finden.

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

                    @paul53 said in Skript meldet Warning bei Ausführung:

                    Im Tab "Protokolle" sind meist noch weitere Informationen zu Warnungen zu finden.

                    Danke, habe ich auch nachgeschaut. Erst nach Deiner Message habe ich nochmal nachgeschaut und gesehen, dass ich auf NSPanel gefiltert habe.
                    Natürlich steht da drin, was ihn aufregt:

                    You are assigning a string to the state "alias.0.Wohnzimmer.Rollos.Fenster_Sued.position" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                    

                    Hätte so einfach sein können.

                    Danke.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    389
                    Online

                    31.8k
                    Users

                    80.0k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    287
                    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