Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Fehlermeldung "Wrong type of…: "string"

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Fehlermeldung "Wrong type of…: "string"

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
12 Beiträge 2 Kommentatoren 2.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    Kunibert
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    vielleicht habt ihr eine Idee, ich finde gerade den Fehler nicht :shock:

    Ich bekomme im Log folgenden Hinweis:

    javascript.0	2018-08-22 09:15:06.166	warn	at Object. (script.js.Status.Wetter-und-Klima.Variablen-Wetter-befuellen:31:3)
    javascript.0	2018-08-22 09:15:06.157	warn	Wrong type of javascript.0.Status.Wetter-Klima.TempMax-Today: "string". Please fix, while deprecated and will not work in next versions.
    

    Wenn ich nun mir die Variable anschaue ist das aber definitiv kein String-Objekt sondern vom Typ Nummer:

    {
      "from": "system.adapter.cloud.0",
      "ts": 1534500143293,
      "common": {
        "name": "TempMax-Today",
        "role": "",
        "type": "number",
        "desc": "Manuell erzeugt",
        "unit": "°C",
        "min": -50,
        "max": 100,
        "def": 0,
        "read": true,
        "write": true
      },
      "native": {},
      "acl": {
        "object": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator",
        "state": 1636
      },
      "_id": "javascript.0.Status.Wetter-Klima.TempMax-Today",
      "type": "state"
    }
    

    Im Blockly-Skript wird einfach nur der Wert aus Weatherunderground in diese Variable geschrieben:

      setState("javascript.0.Status.Wetter-Klima.TempMax-Today"/*TempMax-Today*/, getState("weatherunderground.0.forecast.0d.tempMax").val, true);
    

    Wie kommt denn nun ioBroker darauf, dass der Wert TempMax-Today ein String-Wert ist?

    Den Fehler habe ich noch bei vier weiteren Variablen, die aber ebenfalls nach dem gleichen Muster wie dieser Fall ist.

    Habt ihr eine Idee?

    Liebe Grüße

    David

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2
      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)
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Kunibert
        schrieb am zuletzt editiert von
        #3

        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 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @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.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            Kunibert
            schrieb am zuletzt editiert von
            #5

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

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              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);
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                Kunibert
                schrieb am zuletzt editiert von
                #7

                @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 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  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
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    Kunibert
                    schrieb am zuletzt editiert von
                    #9

                    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 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @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

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @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.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          Kunibert
                          schrieb am zuletzt editiert von
                          #12

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

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          755

                          Online

                          32.4k

                          Benutzer

                          81.4k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe