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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. setState String vs. Number

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    291

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

setState String vs. Number

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
10 Beiträge 3 Kommentatoren 1.8k Aufrufe 2 Watching
  • Ä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.
  • mrFenyxM Offline
    mrFenyxM Offline
    mrFenyx
    schrieb am zuletzt editiert von
    #1

    Ich habe ein script dass mit setState einem DP ein Wert gibt:

    var delayDP = "0_userdata.0.piHole.timer";
    var deactDP = "pi-hole.0.deactPiHoleTime";
    var delay = getState(delayDP).val;
    setState(deactDP, delay);
    

    Die Definition vom delayDP sieht so aus:

    {
      "_id": "0_userdata.0.piHole.timer",
      "type": "state",
      "common": {
        "name": "piHole.timer",
        "role": "",
        "type": "number",
        "desc": "Manually created",
        "min": 0,
        "def": 0,
        "read": true,
        "write": true
      }
    

    Meine Frage ist wieso ich diese Meldung im Log bekomme:

    javascript.0
    2021-05-24 21:19:46.114	warn	You are assigning a string to the state "pi-hole.0.deactPiHoleTime" 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.
    

    Danke für eure Tipps!

    amg_666A 1 Antwort Letzte Antwort
    0
    • mrFenyxM mrFenyx

      Ich habe ein script dass mit setState einem DP ein Wert gibt:

      var delayDP = "0_userdata.0.piHole.timer";
      var deactDP = "pi-hole.0.deactPiHoleTime";
      var delay = getState(delayDP).val;
      setState(deactDP, delay);
      

      Die Definition vom delayDP sieht so aus:

      {
        "_id": "0_userdata.0.piHole.timer",
        "type": "state",
        "common": {
          "name": "piHole.timer",
          "role": "",
          "type": "number",
          "desc": "Manually created",
          "min": 0,
          "def": 0,
          "read": true,
          "write": true
        }
      

      Meine Frage ist wieso ich diese Meldung im Log bekomme:

      javascript.0
      2021-05-24 21:19:46.114	warn	You are assigning a string to the state "pi-hole.0.deactPiHoleTime" 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.
      

      Danke für eure Tipps!

      amg_666A Offline
      amg_666A Offline
      amg_666
      schrieb am zuletzt editiert von
      #2

      @mrfenyx sagte in setState String vs. Number:

      var delay = getState(delayDP).val;

      was passiert denn wenn du den Wert von der getstate Anweisung nochmal nach Typ "number" konvertierst?

      var delay = number(getState(delayDP).val);
      

      iobroker auf proxmox container

      mrFenyxM 1 Antwort Letzte Antwort
      0
      • amg_666A amg_666

        @mrfenyx sagte in setState String vs. Number:

        var delay = getState(delayDP).val;

        was passiert denn wenn du den Wert von der getstate Anweisung nochmal nach Typ "number" konvertierst?

        var delay = number(getState(delayDP).val);
        
        mrFenyxM Offline
        mrFenyxM Offline
        mrFenyx
        schrieb am zuletzt editiert von mrFenyx
        #3

        @amg_666 ja, das geht, muss man aber Number() benutzen ;) genau so auch mit parseInt(). Die Frage wäre nun, konvertiert getState() eine "number" zu "string" oder wieso kommt der Fehler ohne es "manuell" zu konvertieren?

        amg_666A paul53P 2 Antworten Letzte Antwort
        0
        • mrFenyxM mrFenyx

          @amg_666 ja, das geht, muss man aber Number() benutzen ;) genau so auch mit parseInt(). Die Frage wäre nun, konvertiert getState() eine "number" zu "string" oder wieso kommt der Fehler ohne es "manuell" zu konvertieren?

          amg_666A Offline
          amg_666A Offline
          amg_666
          schrieb am zuletzt editiert von
          #4

          @mrfenyx Wenn du in der Adminoberfl#che auf Objekte gehst und da dann auf den Datenpunkt, was sagt er dir denn da was das f+r ein Typ ist?

          iobroker auf proxmox container

          mrFenyxM 1 Antwort Letzte Antwort
          0
          • amg_666A amg_666

            @mrfenyx Wenn du in der Adminoberfl#che auf Objekte gehst und da dann auf den Datenpunkt, was sagt er dir denn da was das f+r ein Typ ist?

            mrFenyxM Offline
            mrFenyxM Offline
            mrFenyx
            schrieb am zuletzt editiert von
            #5

            @amg_666 steht im ersten Post:

            "type": "number"
            
            amg_666A 1 Antwort Letzte Antwort
            0
            • mrFenyxM mrFenyx

              @amg_666 steht im ersten Post:

              "type": "number"
              
              amg_666A Offline
              amg_666A Offline
              amg_666
              schrieb am zuletzt editiert von
              #6

              @mrfenyx Dann bin ich mit meinem Latein am Ende. Ich habe ein Skript in dem ich diverse Stromverbräuche addiere. Die "Summe" habe ich angelegt mit

              var idStromverbraucher_Summe = 'StromverbraucherSumme';
              var Summe;
              createState(idStromverbraucher_Summe, Summe, {type: 'number', name: 'Stromverbrauch', unit: 'W', role: 'value'});
              

              das funktioniert tadellos und ohne Fehlermeldungen, wenn ich da andere Werte vom Typ Number draufaddiere bzw zuweise. Vielleicht mal den Datenpunkt löschen und neu anlegen? Wäre aber eher die Kategorie "letzte verzweifelte Versuche" :-)

              iobroker auf proxmox container

              1 Antwort Letzte Antwort
              0
              • mrFenyxM mrFenyx

                @amg_666 ja, das geht, muss man aber Number() benutzen ;) genau so auch mit parseInt(). Die Frage wäre nun, konvertiert getState() eine "number" zu "string" oder wieso kommt der Fehler ohne es "manuell" zu konvertieren?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @mrfenyx sagte: konvertiert getState() eine "number" zu "string"

                Nein. Der Wert wird als "string" in den Datenpunkt geschrieben (durch ein Script?).

                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

                mrFenyxM 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @mrfenyx sagte: konvertiert getState() eine "number" zu "string"

                  Nein. Der Wert wird als "string" in den Datenpunkt geschrieben (durch ein Script?).

                  mrFenyxM Offline
                  mrFenyxM Offline
                  mrFenyx
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 hmm, der Wert wird in Vis durch ein "jqui-input" Widget eingegeben. In den Settings vom Widget ist "as string" nicht ausgewählt:
                  b6912aa5-908a-481b-8c78-7dfb3eb36d36-image.png

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • mrFenyxM mrFenyx

                    @paul53 hmm, der Wert wird in Vis durch ein "jqui-input" Widget eingegeben. In den Settings vom Widget ist "as string" nicht ausgewählt:
                    b6912aa5-908a-481b-8c78-7dfb3eb36d36-image.png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @mrfenyx sagte: der Wert wird in Vis durch ein "jqui-input" Widget eingegeben. In den Settings vom Widget ist "as string" nicht ausgewählt

                    Gerade getestet: Es wird bei der Eingabe trotzdem ein String geschrieben, auch wenn vorher eine Zahl enthalten war.

                    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

                    mrFenyxM 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @mrfenyx sagte: der Wert wird in Vis durch ein "jqui-input" Widget eingegeben. In den Settings vom Widget ist "as string" nicht ausgewählt

                      Gerade getestet: Es wird bei der Eingabe trotzdem ein String geschrieben, auch wenn vorher eine Zahl enthalten war.

                      mrFenyxM Offline
                      mrFenyxM Offline
                      mrFenyx
                      schrieb am zuletzt editiert von
                      #10

                      @paul53 yeah, I thought so. Created a new issue for vis: https://github.com/ioBroker/ioBroker.vis/issues/372

                      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

                      448

                      Online

                      32.7k

                      Benutzer

                      82.5k

                      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