Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Fehlermeldung "Wrong type of…: "string"

    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

    Fehlermeldung "Wrong type of…: "string"

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

      getState("weatherunderground.0.forecast.0d.tempMax").val
      

      liefert einen String, der in eine Zahl gewandelt werden muss.

      parseFloat(getState("weatherunderground.0.forecast.0d.tempMax").val)
      
      1 Reply Last reply Reply Quote 0
      • K
        Kunibert last edited by

        Komischerweise benutze ich aber einfach diese Standard-Blockly-Funktion und es wird ja auch nicht bei jeder Variablen angemerkt:
        1129_2018-08-22_11_15_20-window.png

        Hier die Quell-Variable:

        {
          "from": "system.adapter.weatherunderground.0",
          "ts": 1534497303725,
          "common": {
            "name": "high temperature",
            "type": "number",
            "unit": "°C",
            "role": "value.temperature.max.forecast.0",
            "read": true,
            "write": false
          },
          "native": {
            "id": "forecast.0d.high.celsius"
          },
          "acl": {
            "object": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator",
            "state": 1636
          },
          "_id": "weatherunderground.0.forecast.0d.tempMax",
          "type": "state"
        }
        

        Einen Wert aus einer Variablen (Typ: Number) in ein anderes Variablen-Feld (Typ Number) schreiben muss doch auch via Blockly ohne Skripting funktionieren, oder nicht?

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

          @Kunibert:

          Einen Wert aus einer Variablen (Typ: Number) in ein anderes Variablen-Feld (Typ Number) schreiben muss doch auch via Blockly ohne Skripting funktionieren, oder nicht? `
          Ja, aber nur dann, wenn der Quell-Datenpunkt tatsächlich einen Wert vom Typ "number" enthält. Das ist nicht in jedem Fall sicher.

          1 Reply Last reply Reply Quote 0
          • K
            Kunibert last edited by

            In diesem Fall sind jedoch Quell-Datenpunkt und Ziel-Datenpunkt identisch vom Typ "number" > siehe Screenshot. Daher verstehe ich die Meldung auch nicht.

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

              Wo "number" drauf steht muss nicht "number" drin sein. Einige Adapter sind recht schlampig programmiert. Überprüfe was drin ist:

              log(typeof getState("weatherunderground.0.forecast.0d.tempMax").val);
              
              1 Reply Last reply Reply Quote 0
              • K
                Kunibert last edited by

                @paul53:

                Wo "number" drauf steht muss nicht "number" drin sein. Einige Adapter sind recht schlampig programmiert. Überprüfe was drin ist:

                log(typeof getState("weatherunderground.0.forecast.0d.tempMax").val);
                ```` `  
                

                Die Ausgabe ergibt:
                > script.js.Status.test: getState(id=weatherunderground.0.forecast.0d.tempMax, timerId=1210) => {"val":"30","ack":true,"ts":1534932909441,"q":0,"from":"system.adapter.weatherunderground.0","lc":1534932

                Kannst du daraus erkennen, welcher Variablentyp es ist? Auf jeden Fall scheint das Feld ja den Inhalt "30" und damit klar eine Nummer zu haben.

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

                  Das ist nicht die Log-Ausgabe.
                  @Kunibert:

                  Auf jeden Fall scheint das Feld ja den Inhalt "30" und damit klar eine Nummer zu haben. `
                  Nein, der Wert kann 30 (number) oder "30" (string) sein. In der Log-Ausgabe des Wertes kann man es nicht unterscheiden. Deshalb

                  log(typeof getState("weatherunderground.0.forecast.0d.tempMax").val);
                  

                  wird die Logausgabe wahrscheinlich sein

                  string
                  
                  1 Reply Last reply Reply Quote 0
                  • K
                    Kunibert last edited by

                    Danke, du hast es vorhergesehen 🙂

                    Das Log sagt String. Komisch, wo doch die Variable in der Definition "number" ist. Macht es Sinn das auf Github als Fehler zu melden?

                    Und bekomme ich das mit Blockly dennoch gelöst oder muss ich dann ein Javascript daraus bauen? Blockly wäre schön 🙂

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

                      @Kunibert:

                      Und bekomme ich das mit Blockly dennoch gelöst oder muss ich dann ein Javascript daraus bauen? Blockly wäre schön `
                      Ja, Konvertierung: nach Zahl

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

                        @Kunibert:

                        Macht es Sinn das auf Github als Fehler zu melden? `
                        Ja, es ist ein Fehler, wenn common.type: "number" und der Wert als String übergeben wird.

                        1 Reply Last reply Reply Quote 0
                        • K
                          Kunibert last edited by

                          Vielen Dank für deine Hilfe! Ich teste teste das mal mit Blockly und eröffne bei Github einen Issue.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          648
                          Online

                          31.7k
                          Users

                          79.9k
                          Topics

                          1.3m
                          Posts

                          2
                          12
                          2081
                          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